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. 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.
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,
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
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
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
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
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
25. “
Ultra-Large-Scale Systems will be
designed beyond human
comprehension by design methods
”
that we don‘t completely
understand.
– Richard P. Gabriel
27. Broker
Event Sub
Topic
A 1
Pub Event
1 A
Event Sub
A 2
Simple Publish/Subscribe Messaging
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. Broker
Event Sub
A 1
Topic
Event
Pub Event B
1 A
Event
CEP
A
Rules
Complex Event Processing
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. 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)
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
Hinweis der Redaktion
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.