When Integrating with PASI, software solutions will need to consider how their system will behave with and without being able to communicate with PASI.
The following questions should be considered when a system wants to Connect to PASI.
PASI recommends that an integrated solution, tracks whether or communication with PASI is successful with each call to PASI. If at anytime a request times out and communication is no longer available, an integrated solution should stop submitted requests to PASI until communication has been restore.
PASI recommends that an integrated solution use the light weight Hello World service if the solution does not use the Is Data Available service on a periodic basis to determine when communication with PASI is available. Once communication has been restored, the integrated solution can continue behaving as normal.
PASI recommends that an integrated solution makes the status of the PASI connection available to its users.
PASI recommends that an integrated solution synchronizes and keeps a local copy of PASI data if business processes will rely on this information. By doing so, the integrated solution will always have access to the most recent PASI data available prior to any communication loss, and that local copy of the PASI data will be automatically refreshed once communication is re-established.
Any processes / functionality that rely on PASI data that is not synchronized locally will not be available if communication with PASI is unavailable.
PASI recommends that the integrated solution allows its users to proceed with their activities even if PASI is not available but provide reminder/notification to its users when action is required to fully complete a transaction when PASI is available.
For example, creation of a new student should still proceed even if PASI cannot be searched to find the student’s ASN or to create a new ASN for the student. The solution is expected to provide a persistent reminder to its users of the incomplete transaction until such time as the transaction has been fully completed. Once PASI is available, users must be able to return to the student in the solution, search PASI to find and record the student’s ASN. Once the ASN has been recorded, the reminder must no longer exist.
PASI recommends integrated solutions have a transaction queue that will hold service requests that cannot be submitted to PASI until such time as connectivity to PASI can be reestablished. Once connection to PASI has been established, queued transactions would be submitted to PASI.
Queued transactions MUST include the reference to the original version number of the entity that the end user was viewing when they created the update transaction. If the entity has a different version number when the transaction is later submitted to PASI, the transaction will be rejected by PASI and the transaction MUST be reviewed by a user to ensure that the update to the entity still makes sense.
For example an update to a student’s address in a SIS should still be completed even if PASI is not available. Once PASI is available, the queued Submit Mailing Address request should be automatically submitted to PASI. Consider this example:
Now consider the case where PASI is unavailable when these transactions are created and that when the SIS finally submits these transactions to PASI, the student entity is now at version 110 and has had a new address of 456 Main Street added as the student’s new preferred mailing address (by some other user in another school authority).
Integrated solutions MUST NOT blindly resubmit the original transactions with the student’s new version number.