Your SlideShare is downloading. ×
JUSG - Event Driven Architectures by Alexander Schatten
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Saving this for later?

Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime - even offline.

Text the download link to your phone

Standard text messaging rates apply

JUSG - Event Driven Architectures by Alexander Schatten

2,125
views

Published on

visit http://jsug.fsinf.at

visit http://jsug.fsinf.at

Published in: Technology

0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
2,125
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
74
Comments
0
Likes
2
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Event Driven Architectures Java Usergroup (TU Wien) 2. Feb 2009 Alexander Schatten .................................................
  • 2. Agenda Basics: Message Integration Patterns   Enterprise Service Bus   Enterprise Integration Patterns   Event Driven Architecture   Command vs. Event Messages   Event-Driven Business   Showcase/Example illustrating EDA   EDA vs. (?) SOA   Java Frameworks   .................................................
  • 3. Basics: Messaging Integration Patterns .................................................
  • 4. Example: Java Messaging Service Broker Msg Msg Queue Client Client Request/Reply Msg Msg Send Queue Client Client Receive Queue Msg Msg Publish/Subscribe Topic Client Client Msg Client Msg Persistence Client JMS Broker .................................................
  • 5. Enterprise Integration Patterns   See Website and Book from Gregor Hohpe: http://www.integrationpatterns.com/   Patterns to provide guidance in many “typical” enterprise integration scenarios   Organisation of Patterns –  Integration Style –  Channel Patterns –  Message Construction Patterns –  Routing Patterns –  Transformation Patterns –  Endpoint Patterns –  System Management Patterns .................................................
  • 6. Enterprise Service Bus? Example: Apache Service Mix Figure taken from Apache Service Mix documentation .................................................
  • 7. JBI Standard Java Business Integration   Container for integration components and services   WSDL-Based Messaging Model   Normalized Message Service and Router   Components   –  Binding Components (e.g., JMS, Jabber, REST, ...) –  Service Engines (BPEL, Camel, Quartz, Drools, ...)   JMX Based Administration (Admin Tools)   JBI Components independent of ESB Implementation .................................................
  • 8. Example: Content-based Router Creditcard Processing Payment Method? Debit Processing Order Paypal Processing Coupon Processing Message Content-based Router .................................................
  • 9. Example: MOM, ESB and Apache Camel Camel Endpoints Endpoints Processors Camel Camel Components Components JMS JMS Komponente Komponente “File” “File” Routing Komponente Komponente XMPP XMPP Komponente Komponente ... ... Filtering Transformation ... XMPP Server JMS Broker ... File(s) .................................................
  • 10. Enterprise Integration Patterns Image taken from Hohpe and Woolf .................................................
  • 11. Scenario: Hospital .................................................
  • 12. Scenario: Railway Splitter .................................................
  • 13. Weather Information System .................................................
  • 14. Event-Driven Architecture .................................................
  • 15. Command vs. Event Command Event Calculate Exchange from X $  € Concentration Level of Substance X     on Sensor Y exceeded threshold Get Temperature at Sensor X   Airplane X landed   Store new Address in Database   Customer X orders book Y   Send Email to …   Bell rings   Print Document …   Credit Check of order X failed   Lock account of customer   Container with ID X loaded   .................................................
  • 16. Command  Command-Message <xml … <rpc:storeCustomer …> Command: <customer> <firstname> Alexander Store new Customer </firstname> “Alexander Schatten” to <lastname> Database Schatten </lastname> … </customer> </rpc:storeCustomer> Message: Representation of Command .................................................
  • 17. Event  Event-Message <xml … <landing> <flight nr=“1234” /> <passengers> … </passengers> … </landing> Event: Message: Airplane Flight Nr 1234 lands Representation of Event .................................................
  • 18. Event Driven Business   Real World Systems get more and more enriched with “sensory components” like RFID   Every process step in the real world (particularly when multiple companies are involved) has an according step in the IT System (traditionally paper-flow)   Towards Event-Driven Architectures: –  Events in “real world” trigger IT Systems .................................................
  • 19. .................................................
  • 20. Event-Driven Architecture   Event (Type) not commands and Receiver in the centre of attention   Decoupling of Sender/Receiver   Publish/Subscribe or Routing   Sender does not necessarily know Receiver   No hard top-down modeling but “emergent” behaviour   Very high flexibility of architecture   Potential issue: Keeping overview on running processes   Alternative or addition to close coupled architectures   Addition to SOA .................................................
  • 21. Showcase Requirements Webshop   Customer orders products   Check customer credit   Check availability of product(s), order products from contractor(s) if   required Calculate shipping time   Start delivery procedure, invoke other systems like ERP, CRM,   logistics systems Notify Customer about progress   Perform delivery   Charge Customer   .................................................
  • 22. Traditional Architecture Central controler component   Interacts with several services to perform tasks   ...   ...   ...   .................................................
  • 23. Event-Driven Architecture (motivational example-fragment) CC Result Credit Check (queues,topics) Msg New Order Event: MOM Customer Check Availability Order Product Available Product Not Available CC Result Notify Consumer: Credit Problem/OK Order Product from Contractor Product Not Available Shipping Time Calculation New Order Product Not Available Product Available .................................................
  • 24. SOA and EDA Figure taken from Jack van Hoof, “How EDA extends SOA and why it is important” .................................................
  • 25. Complex Event Processing (CEP) ? New Year in Vienna! .................................................
  • 26. Java Frameworks   Message Broker –  Apache Active MQ –  Glassfish Open MQ   Enterprise Service Bus –  Apache Service Mix (JBI) –  Mule –  Glassfish Open ESB   Enterprise Integration Patterns Support –  ESB Level: e.g. Mule –  Apache Camel .................................................
  • 27. Contact Dr. Alexander Schatten Institute for Software Technology and Interactive Systems Vienna University of Technology http://www.schatten.info .................................................