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 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 Message Bus used in connection with the LEAD portal.
Design & Implementation
The structure of the relay agent is straight-forward. The main component listens for events on our event bus, and delegates the event to the appropriate event handler. Each handler has a reference to the notifier factory and/or workspace manager, reponsible 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 |
|
|
FILE |
CREATED |
|
|
FILE |
NAMELIST |
|
|
FILE |
NAMELIST |
|
|
The relay agent is booted with a properties file indicating the appropriate endpoints for WS Event notifications and the MyLEAD Agent service:
#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 agent service client requires a GSS Certificate; currently, this must be the certificate 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 currently done by hand. In the future, it should be sufficient simply to access the Workflow Broker's persistent store for the DN associated with the submission.