On Event-Driven Architecture


Published on

SOA India 2008 - Introduction into Event-Driven Architectures

Published in: Technology
1 Like
  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

  • Tideland is the name of the ecosystem at the coast 50 km north of Oldenburg. Here the tide is high and the coast line is shallow. So about each 12 hours large parts of the coast get flooded. As a result this area is changing constantly, matching to my motto - embrace change.

  • ENIAC, short for Electronic Numerical Integrator And Computer, was the first general-purpose electronic computer. It was the first Turing-complete, digital computer capable of being reprogrammed to solve a full range of computing problems.

  • Tilera TILE64 with 64 cores and Sun Fire E25K with 72 processors and 144 hardware threads. The actual Sun UltraSPARC T2 processor provides 8 cores and 64 threads on one chip.
  • Mobile phones, car navigation, home entertainment, game consoles, new systems based on user interfaces like MS surface.

  • No problem for imperative programming inside a container for parallel sessions (application servers). But when single tasks need the power of multiple cores or processors special environments and algorithms are needed. Languages like Erlang, Clojure and Scala are designed for concurrency, Erlang also reliability and distribution. Problems still have to be parallelized. Algorithms and strategies are map/reduce, pipes and filters, and divide and conquer.

  • Languages like Erlang use message queues internally. External message queue systems like IBM MQSeries or MSMQ operate language independent.

  • Everyone knows the BSOD.
  • Direct calls of web services will fail if the service is down. A message-oriented middleware, for example an enterprise service bus (ESB), works like a parcel service wich tries several times to deliver before giving up.

  • Services will change over time. But not every client can change his application. So several different interfaces fot the same service have to be operated at the same time.

  • System resources are too expensive for idling. Temporary business cases like marketing campaigns or high load situations like extraordinary news traffic can use clouds and special software services on demand.

  • Richard P. Gabriel, born 1949, LISP expert, worked for Park Place Systems, Sun Microsystems, and since 2007 IBM. Major contributor to the Ultra-Large-Scale Systems study led by the CMU Software Engineering Institute.
  • Extreme loose coupling through asynchronous messaging using a broker and following the publish/subscribe paradigm.

  • EDBPM. EPTS started 2008. Processing languages based on SQL or rule languages.

  • On Event-Driven Architecture

    1. 1. On Event-Driven Architecture Frank Mueller / Oldenburg / Germany
    2. 2. Introduction • 43 years, married, two daughters • IT since more than 20 years • Main job as team manager at BTC • Since 1999 side job as IT journalist and consultant • Interestedarchitectures software in agile processes and large
    3. 3. What is Tideland? Tideland is the name of the ecosystem at the coast 50 km north of Oldenburg. Here the tide is high and the coast line is shallow. So about each 12 hours large parts of the coast get flooded. As a result this area is changing constantly, matching to my motto - embrace change.
    4. 4. How did everything start?
    5. 5. In the beginning there have been single systems for single tasks
    6. 6. Today we‘ve got large data centers ...
    7. 7. ... and networked computers
    8. 8. In future we‘ll have systems with a very high number of cores and processors ...
    9. 9. ... working in and for ubiquitous computing devices ...
    10. 10. ... connected world-wide and around the clock in ultra-large-scale systems
    11. 11. New environments implicate new challenges
    12. 12. Challenge How to parallelize work?
    13. 13. How to parallelize work? • No problem in containers • Computing power forand algorithms special environments single jobs needs • Languages like Erlang are designed for concurrency • Algorithms likeand Conquer Pipes and Filters, Divide Map/Reduce,
    14. 14. Challenge How to handle latency in distributed environments?
    15. 15. How to handle latency? • Loose coupling via message-passing • On language and architecture level • Publish/subscribe for events • Replies are also events • Receiver has to deal with timeouts
    16. 16. Challenge How to rely on systems you don‘t own?
    17. 17. How to rely on foreign systems? • Interfaces are contracts between clients and servers • Both have to be designed fault tolerant • Strong governance is needed • Open protocols and standards become more and more important
    18. 18. Challenge How to handle service outages?
    19. 19. How to handle service outages? • Message-driven architectures decouple service providers and clients • Messaging infrastructures take care of the delivery after the outage • Clients have to deal with long runtimes
    20. 20. Challenge How to handle changing services?
    21. 21. How to handle changing services? • Service providers have to maintain changing interfaces in parallel • Coordination as part of the governance gets more and more complex • Downside of the flexibility • Open standards for common interfaces
    22. 22. Challenge How to use resources only temporarily?
    23. 23. How to use resources only temporarily? • Resources aren‘t needed linearly • Systems can start and stop services depending on business cases and load • Clouds and SaaS allow the flexible usage of resources on demand • Google, Amazon, Salesforce
    24. 24. Challenge And Ultra-Large Scale Systems?
    25. 25. “ Ultra-Large-Scale Systems will be designed beyond human comprehension by design methods ” that we don‘t completely understand. – Richard P. Gabriel
    26. 26. An approach: See the world driven by events
    27. 27. Broker Event Sub Topic A 1 Pub Event 1 A Event Sub A 2 Simple Publish/Subscribe Messaging
    28. 28. Broker Pub Event Event Sub 1 A A 1 Topic Pub Event Event Sub 2 B A/B/C 2 Pub Event Event Sub 3 C A&B 3 Complex Publish/Subscribe Messaging
    29. 29. Broker Event Sub A 1 Topic Event Pub Event B 1 A Event CEP A Rules Complex Event Processing
    30. 30. Event Event Su Su A B bs bs h h is is cr cr bl bl ib ib Pu Pu e e Service Service Service 1 2 3 Business Process Chain
    31. 31. Event-Driven Business Process Management • Combination of BPM and CEP • Standardization through Event Processing Technical Society (EPTS) • Modelling based on BPMN • Currently only proprietary Event Processing Languages (EPL)
    32. 32. Finally ...
    33. 33. Future scenario • Less shrink-wrapped applications • More internal and external services • Enterprise landscapes change to end- user individual service mashups • Increasing business intelligence through monitoring and aggregation