400 likes | 425 Views
Explore the evolution of software architecture, middleware, EAI, message brokers, and workflow management systems. Learn about layers in architectural design, middleware solutions, message brokers, and advantages of message brokers in EAI. Discover the publish/subscribe interaction model and workflow management systems.
E N D
Enterprise Application Integration Walter Moerkerken Ilona Wilmont Integratie Software Systemen 8 mei 2006
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 Today’s topics
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 • 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
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
Message Broker Problems • No tools provided for debugging and maintenance • Performance decreases if application-specific rules are executed at each delivery • Inability to handle large messages
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 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 • 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 Management Systems • Geschiedenis • Wat is een workflow? • Uitvoering van een workflow • Workflow als programmeertaal • Workflows met andere Middleware • Voordelen/Nadelen
Voordelen: Snel procesontwerp Foutenafhandeling Makkelijk te ondersteunen Nadelen: Een overvloed aan workflows Dure software licenties Complexe installatie en operatie Lange ontwikkelingsfase Voordelen/Nadelen
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?