360 likes | 472 Views
The PADRES Enterprise Services Bus. Hans-Arno Jacobsen Bell University Laboratory Chair Middleware Systems Research Group University of Toronto. http://www.padres.msrg.utoronto.ca. Middleware Systems Research Group. Middleware for sensor networks http://microToPSS.msrg.utoronto.ca/
E N D
The PADRES Enterprise Services Bus Hans-Arno Jacobsen Bell University Laboratory Chair Middleware Systems Research Group University of Toronto http://www.padres.msrg.utoronto.ca
Middleware Systems Research Group • Middleware for sensor networks • http://microToPSS.msrg.utoronto.ca/ • Aspect-oriented C language compiler • http://www.AspectC.net • The PADRES project • http://padres.msrg.utoronto.ca CANARIE Workshop, Ottawa, June 2007
The Name PADRES • First generation of students, when I looked away • Peng Alex David aRno Eli Serge • PAdres is Distributed REsource Scheduling • Publish/subscribe Applied to Distributed Resource Scheduling CANARIE Workshop, Ottawa, June 2007
Motivation: Applications Supported The PADRES project is funded by CANARIE Workshop, Ottawa, June 2007
Amazon to Chapters to you .... Monday, October 10th in Cyberspace Thursday, November 15th, in Toronto Your book “...” is available at .... $10 off CANARIE Workshop, Ottawa, June 2007
Large Business Processes CANARIE Workshop, Ottawa, June 2007
Business Process Business Process Receive Receive Assign Switch Flow Scope Scope Pick Invoke Reply Scope Wait Reply Business Process Execution & Web Service Composition Client … … Client CANARIE Workshop, Ottawa, June 2007
Client Client Client Web ServiceInvocation Web ServiceCallback Web Services Sensor Gateway • Portability • Web Services gateway collocated with sensor network • Efficiency • Sensors only sense and transmit data that interests clients CANARIE Workshop, Ottawa, June 2007
ESB Sensor Network Integration Manufacturer Assembly line sensors Products completed Environment Road conditions sensorsTraffic sensors • Decouple intra-network and inter-network protocols • Expose sensor network as service • Manage pub/sub messages in sensor network Retailer Store shelf sensorsPoint-of-sale sensors Supplier Warehouse sensors Parts delivery sensors Head office Sales figuresSupply chain tracking Courier Truck location sensors Item checkpoint sensors CANARIE Workshop, Ottawa, June 2007
Management of LightPath CANARIE Workshop, Ottawa, June 2007
Selective information dissemination Location-based services Personalization Alerting services Application integration Job scheduling Workload management Monitoring, surveillance, and control Network and distributed system management Workforce management Scientific workflow management Business activity monitoring Business process management, monitoring, and execution Other “Similar” Applications CANARIE Workshop, Ottawa, June 2007
Asynchronous state transitions captured as events that drive and underlie all afore-mentioned applications and infrastructures implementing these applications Event processing support required Content-based Publish/Subscribe is ideally suited to fulfill these requirements The Common Denominator CANARIE Workshop, Ottawa, June 2007
Publisher Subscriber Publish/Subscribea.k.a. Content-based Routing 1. Advertise 3. Publish 2. Subscribe A: [class, =, stock], [name, =, HP], [price, >, 50] S: [class, =, stock], [name, =, *], [price, >, 50] P: [class, stock], [name, HP], [price, 55] Event-Based Content Routing Flexible Decoupled Declarative Responsive
A E B C F D Applications Supply chain and logistics Workflows, business processes and job scheduling Job A done In flight Trigger Delivered Fault Order Event-Based Callback Razor SKU Invoke Loan Light Transform Temperature Service oriented architecture RFID and sensor networks CANARIE Workshop, Ottawa, June 2007
PADRES System Architecture Business Process Execution Layer CANARIE Workshop, Ottawa, June 2007
Illustration of In-network Filtering CANARIE Workshop, Ottawa, June 2007
PADRES on PlanetLab CANARIE Workshop, Ottawa, June 2007
PADRES Roadmap • Open source release under Eclipse Public License • Alignment with AMQP as transport protocol • Investigation of applications (in progress) • Business process management with CA & Sun • Infrastructure management with CA • Application integration with Bell • Management of service level agreements with IBM • Investigation of applications (planning stage) • Multiplayer online gaming • Virtual city & campus CANARIE Workshop, Ottawa, June 2007
Current Team Alex Cheung, Ph.D. Candidate Guoli Li, Ph.D. Candidate Vinod Muthusamy, Ph.D. Candidate Songlin Hu, Ph.D. (Visitor) Shuang Hou, M.Sc. Matt Medland, M.Sc. Candidate Alex Wun, M.A.Sc. Candidate Reza Sherafat, Ph.D. Candidate Naweed Tajuddin, B.A.Sc. Partner Serge Mankovski, Technical Architect, CA Labs. Alumni Eli Fidler, M.A.Sc., Ferdous Jewel, M.Sc. David Matheson, M.A.Sc. Gerald Chan, B.Sc. Pengcheng Wan, M.Sc. Training Record Phase 1 6 Masters (M.Sc. & M.A.Sc.) Lead to 2 Ph.D. Candidacies 2 Masters in progress 4 Ph.D.s in progress Several openings The Team / Acknowledgements CANARIE Workshop, Ottawa, June 2007
P A D R E S Questions? CANARIE Workshop, Ottawa, June 2007
Monitoring • Monitor is a Pub/Sub client • Visualize topology of broker overlay network • Visualize message routing • Monitor/control workflow execution • Workflow level • Activity level • Support dynamic workflow modification CANARIE Workshop, Ottawa, June 2007
Language and data model Conjunctive Boolean functions over predicates Predicates are attribute-operator-value triples [class,=,trigger] Subscriptions are conjunctions of predicates [class,=,trigger],[appl,=,payroll],[gid,=,g001] Publications are sets of attribute-value pairs [class,trigger],[appl,printer],[gid,g007] Matching semantic A subscription matches if all its predicates are matched The Content-based Model CANARIE Workshop, Ottawa, June 2007
Modeling Processes in Pub/Sub • Dependency in processes and more complex process patterns requires event correlation • Event correlation enabled by the detection of composite events • Composite events are expressed via composite subscriptions • Composite subscription consists of atomic subscriptions • Subscription language features • Operators (AND, OR) and variables ($x) • Example: D can execute, if B and C have completed (D depends on B and C) B C D CANARIE Workshop, Ottawa, June 2007
Composite Subscription Example AND S5 AND OR OR S1 S2 S3 S4 CS={{S1 OR S2} AND {S3 OR S4} AND S5} Composite event is the constellation of events being detected by the composite subscription. CANARIE Workshop, Ottawa, June 2007
AND AND S3 S1 S2 Composite Subscription Routing CS={{S1 AND S2} ANDS3} P Publishers Subscribers S CS’={S1 AND S2} P1 Distributed Overlay Broker Network CS B1 B5 S S1 B3 CS’ B4 S2 S3 B2 B6 P2 P3 CANARIE Workshop, Ottawa, June 2007
AND AND S3 S1 S2 Composite Event Detection CS={{S1 AND S2} ANDS3} P Publishers Subscribers S CS’={S1 AND S2} P1 P1 Distributed Overlay Broker Network S1 CS B1 B5 S CS’ CS P12 B3 B4 P123 B2 B6 P2 S2 P2 S3 P3 P3 CANARIE Workshop, Ottawa, June 2007
E F Executing Processes • Transformation of process into p/s language and data model • Deployment of the transformed process • Triggering and executing the process instances • Monitoring the process execution trigger A B C D CANARIE Workshop, Ottawa, June 2007
trigger The first job(s) subscribe to trigger messages Job dependencies are modeled by subscriptions Workflow Transformation A B C D e.g. Job agent A subscribes to trigger publication: {[class,=,trigger], [workflow,=,foo_example], [instanceID,=,$x]} e.g. Job agent B subscribes to job A success and the output data from A: [class,=,job_info], [workflow,=, foo_example], [instanceID,=,$x], [job,=,A], [status,=,succ] AND [class,=,data_dep][workflow,=, foo_example][instanceID,=,$x][data,=,OA][status,=,ready] e.g. Job agent D subscribes to B and C finished, which is a composite subscription [class,=,job_info],[workflow,=, foo_example], [instanceID,=,$x], [job,=,B], [status,=,succ] AND [class,=,job_info],[workflow,=, foo_example], [instanceID,=,$x], [job,=,C], [status,=,succ]
BPEL A B C D Workflow Deployment sub/advs Job D sub/advs Job C sub/advs Job B sub/advs Job A Deployer sub/advs Job D Distributed Overlay Broker Network Job D Agent B1 B5 B3 B4 sub/advs Job A B2 Job A Agent B6 sub/advs Job C sub/advs Job B Job C Agent Job B Agent CANARIE Workshop, Ottawa, June 2007
BPEL A B C D Workflow Execution (Success) trigger Workflow Manager END Distributed Overlay Broker Network Job D Agent B1 B5 BC B3 A B4 A sub/advs Job D B2 Job A Agent B6 A sub/advs Job A Job C Agent sub/advs Job C Job B Agent B C sub/advs Job B CANARIE Workshop, Ottawa, June 2007
Summary of BPEL Activities • Basic Activities • Receive: blocking wait for a message to arrive • Reply: respond to a synchronous operation • Assign: manipulate state variables • Invoke: synchronous or asynchronous Web service call • Wait: delay execution for duration or deadline • Throw: indicate a fault or exception • Compensate: handle a fault or exception • Terminate: terminate a process instance • Structured Activities • Sequence: sequential execution of a set of activities • While: looping constructs • Switch: conditional execution based on instance state • Pick: conditional execution based on events • Flow: concurrent execution CANARIE Workshop, Ottawa, June 2007
While Activity CANARIE Workshop, Ottawa, June 2007
PADRES Architecture Overview • PADRES consists of 2 major components • Brokers • Forward messages using overlay network • Provide bindings as client connection points • Native RMI binding • Broker & client • JMS binding • DB binding • Clients • Publish, Subscribe, Advertise Broker Broker Broker Binding Clients Broker Binding Clients CANARIE Workshop, Ottawa, June 2007
Broker Protocol Stack BPEL Business Process XML Representation PRT & SRT Publish/Subscribe ORT Overlay Java RMI Transport CANARIE Workshop, Ottawa, June 2007
RMITransportHandler QueueHandler QueueHandler QueueHandler QueueHandler Padres Broker Architecture Broker_Control Message BrokerCore InputQueue OutputQueues Matching Engine JESS … Publication / Subscription Routing Table ClientRMI Controller Lifecycle Manager Overlay Manager QueueHandler JMS … DB BrokerRMI CANARIE Workshop, Ottawa, June 2007