As part of the LEAD project, our infrastructure is currently being integrated with the LEAD portal. This agent represents the first of several steps to achieve this integration. Its position in our messaging system can be seen in the NCSA message bus diagram.
Purpose
- To store workflow and file metadata associated with brokered submissions using the MyLEAD Metadata Catalog.
- To translate our LocalEvents into WS-Events and place them on the IU Message Bus used in connection with the portal.
Design & Implementation
The structure of the relay agent is straightforward. The main component listens for events on our event bus with the header property 'metadataTo=MyLEAD', and delegates them to the appropriate event handler. Each handler has a reference to the notifier factory and/or workspace manager, responsible for instantiating and invoking the Notifier
and MyLEADAgent
clients.
Actions are taken on these clients, as indicated in the following table:
Event | Status | IU/LEAD Client | Action |
---|---|---|---|
Debug |
|
|
|
Error |
|
|
|
Status | WORKFLOW SUBMITTED |
|
|
Status | WORKFLOW CANCELLED |
|
|
Status | WORKFLOW FAILED |
|
|
Status | WORKFLOW DONE |
|
|
Status | NODE PENDING |
|
|
Status | NODE SUBMITTED |
|
|
Status | NODE ATTEMPTED |
|
|
Status | NODE QUEUED |
|
|
Status | NODE ACTIVE |
|
|
Status | NODE CANCELLED |
|
|
Status | NODE FAILED |
|
|
Status | NODE DONE |
|
|
Progress |
|
|
|
Node | WORKFLOW |
|
|
Node | WORKFLOW |
|
|
Node | NODE |
|
|
Node | NODE |
|
|
Property |
|
|
|
File | TRANSFERRED (bulk) |
|
|
File | CREATED |
|
|
File | NAMELIST |
|
|
The relay agent is booted with a properties file indicating the appropriate endpoints for WS Event notifications and the MyLEAD Agent service:
Code Block |
---|
#NCSA event bus eventListener.tag.1=loggingListener eventSender.0=tcp://tb1.ncsa.uiuc.edu:61616,ncsa.tools.jms.localevent.JMSLocalEventSender eventReceiver.0=tcp://tb1.ncsa.uiuc.edu:61616,ncsa.tools.jms.localevent.JMSLocalEventReceiver receiveTopic.0=TROLL #IU Message Broker wsmg.broker.url=http://tyr11.cs.indiana.edu:12346/ #loopback=false #MyLEAD agent mylead.agent.url=https://tyr03.cs.indiana.edu:20243/myleadagent?wsdl credential.file=hostcertkey-tb1.ncsa.uiuc.edu.pem trusted.certs.file=trusted_cas.pem fixed.properties.file=fixed.properties dn.properties.file=dn.properties #JDBC gridmap db gridmap.connection.url=jdbc:mysql://localhost/brokerstore gridmap.connection.username=mysql gridmap.connection.password=mysql |
Authentication & Authorization
The MyLEAD server security model is GSS; currently, the certificate used for this purpose must be the one obtained through the LEAD portal. Until this mechanism is changed to accept multiple certificates for a given user name, all users wishing to have workflows registered in the MyLEAD Metadata Catalogue must be mapped in a special properties file visible to the relay agent. This mapping is done by hand. In the future, it should be sufficient simply for the agent to access the Workflow Broker's persistent store for the DN associated with the submission.