1 / 36

The PADRES Enterprise Services Bus

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/

clancy
Télécharger la présentation

The PADRES Enterprise Services Bus

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 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

  2. 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

  3. 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

  4. Motivation: Applications Supported The PADRES project is funded by CANARIE Workshop, Ottawa, June 2007

  5. 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

  6. Large Business Processes CANARIE Workshop, Ottawa, June 2007

  7. 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

  8. 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

  9. 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

  10. Management of LightPath CANARIE Workshop, Ottawa, June 2007

  11. 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

  12. 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

  13. 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

  14. 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

  15. PADRES System Architecture Business Process Execution Layer CANARIE Workshop, Ottawa, June 2007

  16. Illustration of In-network Filtering CANARIE Workshop, Ottawa, June 2007

  17. PADRES on PlanetLab CANARIE Workshop, Ottawa, June 2007

  18. 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

  19. 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

  20. P A D R E S Questions? CANARIE Workshop, Ottawa, June 2007

  21. CANARIE Workshop, Ottawa, June 2007

  22. 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

  23. 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

  24. 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

  25. 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

  26. 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

  27. 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

  28. 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

  29. 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]

  30. 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

  31. 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

  32. 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

  33. While Activity CANARIE Workshop, Ottawa, June 2007

  34. 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

  35. Broker Protocol Stack BPEL Business Process XML Representation PRT & SRT Publish/Subscribe ORT Overlay Java RMI Transport CANARIE Workshop, Ottawa, June 2007

  36. 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

More Related