Enterprise Application Integration
Download
Report
Transcript Enterprise Application Integration
Enterprise Application
Integration
Walter Moerkerken
Ilona Wilmont
Integratie Software Systemen
8 mei 2006
Today’s topics
Evolution of software architecture
Middleware and EAI
Message Brokers
EAI with message brokers
Publish/subscribe model of interaction
History Workflow Management systems
WfMs`s
WfMs als programmeertaal
Conclusions
Evolution of software
architecture
Information system design
Presentation layer
- communication with other entities
Application logic layer
- actual operation
Resource management layer
- data to work with
Architectural design
Information systems are composed of
several layers, or tiers.
One-tier architectures
Two-tier architectures
Three-tier architectures
N-tier architectures
Middleware and EAI
Middleware
Interaction between applications
across heterogeneous platforms
Solution to integrating set of servers
and applications under a common
service interface
Basic infrastucture behind distributed
information system
Enterprise Application
Integration
Extends middleware capabilities to
cope with application integration
Uses application logic layers of
different middleware systems as
building blocks
The supply chain
Customer request
- Querying company
Order processing
- Analysis and verification purchase order
- Scheduling manufacturing of goods
Order fulfillment
- Delivery to customer
- Financial issues
Difficulties
Different operating system
Support for different interfaces and
functionality
Different data format
Different security requirements
Different infrastructure and interaction
protocols
Message Brokers
Traditional MOM
Point-to-point links
No support for routing logic
No support for heterogeneity
Sender identifies receiver
Complexity increases as more
applications are added to the system
Message Brokers
Enhanced MOM-systems
Distribution of messages
Provides flexibility in routing
Filtering of messages
Processing of messages
Adapters for uniform data format
Routing logic moved to middleware
Routing logic
Based on sender’s identity, message
type or message content
Rule-based language
Message broker level
Queue level
MOM vs. Message Brokers
Message Broker Problems
No tools provided for debugging and
maintenance
Performance decreases if applicationspecific rules are executed at each
delivery
Inability to handle large messages
EAI with message
brokers
EAI platform components
Adapters
– map heterogeneous data formats into
common format
Message broker
– facilitates interaction among back-end
systems
Advantages of message
brokers
Lower development cost
Lower opportunity costs
Lower maintenance effort
Publish/subscribe
interaction model
Publish/subscribe
overview
Sender publishes message to
middleware
Receivers subscribe with middleware
to register their interest
Decoupling
Time
– not actively participating in event at the
same time
Space
– no references to each other
Synchronisation
– asynchronous publication and notification
Types of
publish/subscribe
Topic-based
Content-based
Type-based
Topic-based
publish/subscribe
Earliest scheme, based on topics
Identified by keywords
Represented as strings
Improvement: hierarchical addressing
– SupplyChain.newPO
Static scheme with limited expressive
power
Content-based
publish/subscribe
Based on content of message
Attributes
Meta-data associated with message
Subscribe using subscription language
Specify filters for valid events
– type = “newPO” AND quantity = “1200”
Type-based
publish/subscribe
Only a suggestion
Filtering messages according to type
Message kind linked to message type
Closer integration of language and
middleware
Workflow Management
Systems
Workflow Management
Systems
Geschiedenis
Wat is een workflow?
Uitvoering van een workflow
Workflow als programmeertaal
Workflows met andere Middleware
Voordelen/Nadelen
Geschiedenis
WfMs`s in chronologische volgorde
– Administrative workflows
– Production workflows
WfMs`s vs. EAI tools
– Heterogeniteit
– Logica definitie
Perfecte combinatie
Workflow Management
Systems
Geschiedenis
Wat is een workflow?
Uitvoering van een workflow
Workflow als programmeertaal
Workflows met andere Middleware
Voordelen/Nadelen
Wat is een workflow?
Workflow proces:
– Work Nodes
– Routing Nodes
– Start & Completion
Nodes
– Workflow instantie
Workflow Management
Systems
Geschiedenis
Wat is een workflow?
Uitvoering van een workflow
Workflow als programmeertaal
Workflows met andere Middleware
Voordelen/Nadelen
Uitvoering van een
Workflow
Workflow Engine
Workflow Management
Systems
Geschiedenis
Wat is een workflow?
Uitvoering van een workflow
Workflow als programmeertaal
Workflows met andere Middleware
Voordelen/Nadelen
Workflow als
programmeertaal
Variabelen
Uitvoerder van de procedure
Resource regels
Afhandeling van fouten is anders
– Forward Recovery
– Backward Recovery
– Exception-handling Languages
– Deadlines
Workflow Management
Systems
Geschiedenis
Wat is een workflow?
Uitvoering van een workflow
Workflow als programmeertaal
Workflows met andere Middleware
Voordelen/Nadelen
Workflow met andere
middleware
Workflow Management
Systems
Geschiedenis
Wat is een workflow?
Uitvoering van een workflow
Workflow als programmeertaal
Workflows met andere Middleware
Voordelen/Nadelen
Voordelen/Nadelen
Voordelen:
Snel procesontwerp
Foutenafhandeling
Makkelijk te
ondersteunen
Nadelen:
Een overvloed aan
workflows
Dure software
licenties
Complexe installatie
en operatie
Lange
ontwikkelingsfase
Conclusies
Message broker & Workflow in EAI:
Message broker
Workflow modegevoelig
– Lijmen van verschillende systemen
– Bieden (nog) niet wat men verwachtte
Samenvoeging
Waarom zoekt men nog wel naar iets
anders?