Title: An Architecture Proposal for Enterprise Message Brokers Using Messages to link components and hosts
1An Architecture Proposal for Enterprise Message
BrokersUsing Messages to link components and
hosts
- Jörn Guy SüßComputergestützte Informationssysteme
CISTechnische Universität Berlin - Michael MewesFraunhofer-Institut für Software-
und Systemtechnik ISST - November 2nd, 2000
2Overview
- The field
- Why messaging?
- Why brokers?
- Why broker methods?
- Why a reference architecture proposal?
- The architecture
- Design goals
- Nodes and Queues
- Transformation Engine
- Transformation Engine Features
- Advantages of the Architecture
- Conclusion Outlook
3A typical business scenario
Mail SC
K44
- The customer wants...
- No mistakes (reliable transactions )
- No changes (loose coupling)
- low price
- quick!
4Synchronous does not work
- because we have ...
- Different data types
- Different network protocols
- Different binaries
- No reusable interfaces
5More reasons why Synchronous does not work
- because we have ...
- Orbs on hosts are buggy complex
- Orbs create security problems
- Orbs on hosts are expensive
- Projects are slow and difficult
6Asynchronous does work!
Local TX
Local TX
Mail SC
K44
- because we have...
- ASCII128
- a report writer/ database dumper
- files
- ? We can create XML docs !
- local transactions
7So, where is the problem?
ERPSC
N² stovepipe interfaces No funds for big
vision No plan for big vision
K44
Mail SC
PDM
ERP2
We need a method and a tool to tackle the message
chaos!
8What do we need to solve it?
- ? MethodUnified Process for Messaging
9What do we need to solve it?
- ? MethodUnified Process for Messaging
- ? LanguageXML, UML (Use Cases!)
10What do we need to solve it?
? MethodUnified Process for Messaging ?
LanguageXML, UML (Use Cases!) ? Tool message
transformer (the message broker)
MBMs research program will cover all these
items. This talk is about item ?.
11The Broker Scenario
Creating a structured message Reliable delivery
to the broker Transformation of the
message Reliable delivery to the
subscribers Deciphering a structured message
Creating a structured message
Creating a structured message Reliable delivery
to the broker
Creating a structured message Reliable delivery
to the broker Transformation of the message
Creating a structured message Reliable delivery
to the broker Transformation of the
message Reliable delivery to the subscribers
12MB-Component Shopping
IBM MQ,BEA TUX,TIB/Rendezvous MS MQ
DaimlerChrysler,MICO Orb
?
IBM MQ,BEA TUX,TIB/Rendezvous MS MQ
DaimlerChrysler,MICO Orb
Compile
Build
Build
Node 2
Node 1
13Reference Architecture ComponentsSubmission and
Retrieval Adapters
- link custom synchronous systems
- architecture description
- interface/mesg. description
- platform compiler
- also for retrieval
DCD/DTD
Build
Node 1
DaimlerChrysler Adapter
14Background DaimlerChrysler Language
- Creator Klaus Wissmann
- Context Diploma thesis at the University of Ulm
- Title Erweiterte Konzepte der Funktionsintegratio
n 7/2000 - Content XML-based language FIX describes
15Testing Message Brokers
- Qualitative Test MM99
- Business scenario examination
- Established Enterprise Critical Criteria
- First functionality tests
- Aftermath Product deficiencies!
- Quantitative Test EE01
- Performance Benchmark
- Guidelines to establish ECC-fulfillment
numerically - Products tested
- TIBCO MB,MSI Mercator, MS BizTalk
- No participation
- IBM MQSI V2 Complex, Offered only with
consulting - STC eGate Evolved, Industrial leader
16Test Results
17Our design goals
- Simplicity
- Scalability
- Design Reuse
- Use of Standards / Openness
- Access to Components / Platforms
18Nodes and Queues
??
??
??
??
Node 2
Node1/?
Node 2/?
Node 1
??
??
- Nodes are only represented by their published and
subscribed DTDs
- Nodes can be supervised by the amplitude of their
queues.
- Nodes may attach to / disconnect from the engine
as long as queues are empty
19Transformation Engine - like JSP !
Declarative description
HTML ( Script)
Demand driven compilation
Compile
High-performance executable
20Transformation Engine Activation Policy
21TE Feature Micro Workflow
Mail SC books container space K44 has to reserve
the containers ERP2 has to provide the personal
Overhead avoidable? Yes! - Auto-Queue!
22Engine Trouble Cascading Transformation I
?
?
??
?
?
?
??
??
- Recursion is dangerous
- must run occurs check on insert
- occurs check is NP-complete!
- remedy queue-length-tracking to assist operator
23Engine Trouble Cascading Transform. II
- Wasteful cycles
- dead loops no subscribers
- fruit loops spin-off documents flood queues
- Detecting cycles
- track deviation from queue length statistics
(variance, mean) - operator can trace backlog
- operator must cut cycle manually
24TE Feature Component Binding
- Cant I have the VAT-calculation, part-Number
lookup, I_NEED_IT_DAILY-function in the
TRANSLET?
- YES! XSLT has hooks for middleware
- But
- XSLT-Docs will be proprietary
- No data types
- No error handling, just logging
- Transformations not repeatable
- Time-Out Required for state management
25Load Balancing and Platform Independence
- Design reuse in different project scopes
26Defeating Features
- Matching
- Describe matches by rules
- Handle Transactions/States
- Handle load balancing
- Workflow
- increases complexity
- not well-understood
- dead-lock conditions
27Advantages of the Architecture
Openness, Simplicity XSLT Scalability
JSP-Design Access to Components XSLT-Extion
Functs
28Conclusion Outlook
- Method
- Required for broker to be useful
- Requires a platform architecture with minimum
properties - Should be based on UML
- We will derive, apply and document the method
within the next 2 years - Architecture
- proposed architecture offers the minimum
properties - It is open, scalable, simple and (re-)useful
- We expect similar products/implementations within
the coming year.
29(No Transcript)