© 2018 Capita Business Services Ltd. All rights reserved.

Capita Education Software Solutions is a trading name of Capita Business Services Ltd. Our Registered office is 30 Berners Street, London, W1T 3LR and our registered number is 02299747. Further information about Capita plc can be found in our legal statement.

Local I API - Architectural Overview for TIs

Background

This module is wide ranging and covers the basic principles of interfacing with the SIMS .Net application. The depth of the coverage is however minimal and the object of the module is to create an application that allows a user to login and print the school name on the screen. It does not attempt to cover write back of data – the school name is actually more awkward to update than one might ever imagine but that as they say is another story.

SIMS Architecture

SIMS .Net is written in C# and currently uses .Net Framework 4.5 (or later in parts).  It is possible to interface from non .Net languages but this is outside of the scope for any training offered by ESS. C# is assumed for all samples and can easily be translated by other .net language aficionados into VB .Net or otherwise.  

SIMS7 Architecture
SIMS7 Architecure

In short Partners have access to the Processes and Entities and will provide their own User Interface.

Strong Naming

SIMS.Net DLLs are strong named.  When a partner application is compiled against SIMS .Net that interface will only work against a specific version of SIMS.  Unless advised otherwise the partner application should be version independent and in order to do this, partners will either need to use reflection to late bind to the dlls (which is unpleasant) or maintain a manifest so that the version of a SIMS dll that the application was compiled against may be substituted with the current version of it on the machine. ESS recommends the manifest method although one of the examples shows how reflection can be used.  Partners have used both methods successfully as far as we are aware.

Licensing

Subject to the login process being set up in ‘Partner Mode’; all SIMS Licensing will be bypassed. Ergo, even if a school is not licensed for Lesson Monitor, a partner application will be able to save lesson monitor data back in to SIMS. That does not mean that users will have access to screens to display the data in SIMS. For example if Lesson Monitor is licensed, SIMS will show:

Attendance with full permissions
SIMS 7 with lesson monitor licence

If not

View of attendance with limited permissions
SIMS7 without lesson monitor licence

Hence the partner retains the responsibility of the maintenance and disclosure of this data where appropriate. SIMS Reporting engine would offer access to the lesson monitor data held in SIMS but any errors would need to be addressed in the partner application.

Permissions

SIMS has an extensive management system for user’s access rights. At a basic level there are a set of permission groups aimed at giving the most appropriate access for users in a specific role. For example ‘Class Teacher’ or ‘Assessment Coordinator’; there is also provision for user defined permission groups, this however is not guaranteed to work over a SIMS upgrade if there are any permission changes in that area. We would not recommend that partners use user defined permission groups as a rule; best practice would be to specify the required permission and let the school implement it as they see fit.

The rules however are quite clear.  If you don’t have permission you can’t see the data. The reporting engine is unusual in that it can exclude data from reports where the user lacks permissions and yet still produce a report. For example if a report had staff name and email address; the report may only show staff name if the user has no access to the email address.

Partners cannot bypass permissions and this is correct behavior in our opinion. On occasion partner applications may request ‘Personnel Officer’ rights. This would allow the partner application to access contract data (salary) information as well as the remaining staff data. If a school declines the grant then it is a matter for negotiation between the school and the partner. ESS may be able to advise how code could be changed to reduce the access required. That said, if the application wants the teacher’s email or phone number… This is highly sensitive and the extract needs to be justified to the school.

Login

SIMS Supports NT Logins and SQL Logins. Partner applications should do the same. Login’s of the form <Domain>\<User> are NT logins and names without a ‘\’ are SQL Users. Code samples are provided which show both methods. Typically NT logins are assumed to be the currently logged in Windows user.

NB: Some hosted configurations including the ESS SIMS solution does not support Windows Authentication for Partner applications.

Direct Access to the SIMS Database

It would be naive for ESS to assume that the SIMS database is not accessed via SQL. That said, it is not supported because it circumvents all SIMS security. It also invalidates any warranty that the school has for data corruption. Under no circumstances should partners or schools change the schema of the SIMS databases or the SQL configurations set up by SIMS. If this were done and was demonstrably not of our doing, we would usually charge the school for any fixes required. The school may wish to have a discussion with the partner if this is the case with a view to recovering the charge. This is a matter for the school and the partner.

Sample Code

This can be re-used by partners if they wish on the conditions that:

  • It is not passed on as ‘code’ to others. (Exe’s are fine)
  • It is stripped of references to ESS / SIMS.
  • Partners are responsible for suitability for purpose and the maintenance thereof.

Support and Maintenance Contracts

It would seem inappropriate for partners writing data back to SIMS or interfacing with business objects not to have an S&M contract with SIMS. The access to updates to SIMS are critical if anything breaks and the partner wishes to investigate, or if the partner wants to take advantage of new interfaces.

If Partners don’t wish to have a support contract, ideally they need to have employed someone who knows SIMS intimately.  Again if it fails for some reason, having the Partner support team available to assist should allow for a much faster resolution of issues.