Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migrated to Confluence 5.3

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

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

 

edu.indiana.extreme.lead.workflow_tracking.Notifier

debug()

Error

 

edu.indiana.extreme.lead.workflow_tracking.Notifier

exception()

Status

WORKFLOW SUBMITTED

edu.indiana.extreme.lead.workflow_tracking.Notifier

workflowInvoked()

Status

WORKFLOW CANCELLED

edu.indiana.extreme.lead.workflow_tracking.Notifier

workflowTerminated()

Status

WORKFLOW FAILED

edu.indiana.extreme.lead.workflow_tracking.Notifier

workflowTerminated()

Status

WORKFLOW DONE

edu.indiana.extreme.lead.workflow_tracking.Notifier

workflowTerminated()

Status

NODE PENDING

edu.indiana.extreme.lead.workflow_tracking.Notifier

invokingService()

Status

NODE SUBMITTED

edu.indiana.extreme.lead.workflow_tracking.Notifier

serviceInvoked

Status

NODE ATTEMPTED

edu.indiana.extreme.lead.workflow_tracking.Notifier

invokingServiceFailed

Status

NODE QUEUED

edu.indiana.extreme.lead.workflow_tracking.Notifier

jobStatus()

Status

NODE ACTIVE

edu.indiana.extreme.lead.workflow_tracking.Notifier

jobStatus()

Status

NODE CANCELLED

edu.indiana.extreme.lead.workflow_tracking.Notifier

sendingResult(); serviceTerminated()

Status

NODE FAILED

edu.indiana.extreme.lead.workflow_tracking.Notifier

sendingResult(); serviceTerminated()

Status

NODE DONE

edu.indiana.extreme.lead.workflow_tracking.Notifier

sendingResult(); serviceTerminated()

Progress

 

edu.indiana.extreme.lead.workflow_tracking.Notifier

jobStatus()

Node

WORKFLOW

edu.indiana.extreme.lead.workflow_tracking.Notifier

workflowInitialized()

Node

WORKFLOW

edu.indiana.dde.mylead.agent.MyLEADAgent_PortType

createExperiment()

Node

NODE

edu.indiana.extreme.lead.workflow_tracking.Notifier

serviceInitialized()

Node

NODE

edu.indiana.dde.mylead.agent.MyLEADAgent_PortType

createCollection()

Property

 

edu.indiana.dde.mylead.agent.MyLEADAgent_PortType

addAttributes(); updateAttributes()

File

TRANSFERRED (bulk)

edu.indiana.dde.mylead.agent.MyLEADAgent_PortType

createCollection(); registerFile() or registerFileMetadata()

File

CREATED

edu.indiana.extreme.lead.workflow_tracking.Notifier

dataProduced()

File

NAMELIST

edu.indiana.dde.mylead.agent.MyLEADAgent_PortType

registerFile()

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.