a new model for provisioning blackboard
Mon, Jul 16, 2012
Following on from my initial Blackboard SIS research I had a clearer idea of how to plumb it into my new Matrix Provisioning system which is based on ActiveMQ and Camel. The main problem I had was the lack of any status coming back from the SIS. You can send it what you like, even garbage and it replies with ‘OK’. Although the garbage ingestion is due to be fixed in SP9 or SP10 I think. The status won’t though. It will still return ‘OK’ even though the account wasn’t created. I had a chat with Behind the Blackboard and it’s fair to say that because it ingests feed files containing possibly thousands of users a single result isn’t suitable. It is in my case though as the users come in real time in JMS messages, one per message. So I decided to develop a small Building Block to wrap the SIS endpoint. The flow is shown in the diagram.
It builds on the error topics I came up with earlier to isolate bum messages but the IMS messages go to the SIS Wrapper building block instead of the SIS itself. So the Matrix Blackboard module consumes the JMS message, transforms it to IMS 1.1 Enterprise format and punts it to the SIS Wrapper. The wrapper forwards the IMS message to the real SIS endpoint, waits a few seconds and then uses the Blackboard API to check if the user was created/updated/deleted and returns a JSON result to the Matrix Blackboard module. The wrapper uses Basic Auth with the same credentials as the real SIS endpoint so the module thinks it’s talking to an intelligent SIS.