1 Architecture and Modelling of Information Systems (D0I71A) Prof. dr. Monique Snoeck CHAPTER 12: APPLICATION AND COMPONENT INTEGRATION 11:35
2 Application integration What if you already have software ? Software manages its own business objects Software offers services per business objects If you have several software applications same business object may appear in several applications ERP system E-learning Platform Student Budget Course Document Invoice Course Assignment Room Teacher Schedule Planning Software 11:35
3 Shared objects require coordination Each individual application manages its own data business objects + their methods = 1 column of OET Coordination across applications is missing can be achieved based on “events” E-learning platform ERP system Planning Software Course document Assignment Teacher-1 Teacher-2 Teacher-3 Student-1 Student-2 Course-1 Course-2 Course-3 Schedule Room-2 Room-3 Budget Invoice x x cr_student x x end_student x x x cr_course x x x end_course x x cr_room x x end_room cr_schedule x cr_assignment x 11:35
4 Component-event table OET becomes CET 11:35
5 (Recap) A Business Event is ... A request to perform an activity to register something that happens or that you would like to happen in the real world. (c) Monique Snoeck
(Recap) Business Event Handling 1. Tasks Event Dispatcher Check Preconditions of all participants By Event Dispatcher By rule engine By Objects/Components Notify Event (broadcast) to participants Co-ordinate answers Check first – do then Do & compensate 2. How many Event Dispatchers ? Centralised versus Distributed one event handler for all events (maximally centralised) one event handler per event (maximally distributed) (c) Monique Snoeck 30/03/2020
7 (Recap) Event Broadcasting Event handler coordinates the handling of one event across 1-many participant(s) Event PRODUCT TYPE Done Check modify Ok quantity PRODUCT Done modify_quantity Ok Modify Quantity Done Done ORDER Ok modify quantity Done Ok ORDER LINE (c) Monique Snoeck 30/03/2020
Application Integration CASE 1: Intra-enterprise integration layer with Enterprise Layer Enterprise layer used to handle information sharing between different components E-learning Platform ERP system Student Budget Course Document Invoice Course Assignment Room Teacher Schedule Planning Software
9 Application Integration, Case 1 Off-the- Off-the- Off-the- New shelf shelf shelf Input New Software Software Software Services Output 1 2 3 Services 2 5 5 2 2 3 Event Handling event 1 Layer handler 1 4 Domain Layer 11:35
10 Application Integration Architecture services: Off-the-shelf software can inspect the state of business objects (= regular output 1. 1 services). Off-the-shelf software uses the services of the event handlers to trigger business 2. 2 events whenever it wishes to update business objects in the enterprise layer (= regular input service). OR The event handler ‘listens’ to detect the occurrence of a business event in the 3. 3 Off-the-shelf software application. The event handler notifies business events to the business objects residing in the 4. 4 enterprise layer. Off-the-shelf software can subscribe to the corresponding event handler in order 5. 5 to be notified upon occurrence of the event. 11:35
11 Application Integration CASE 2: Integration of Distributed (loosely coupled) Components The enterprise layer may itself be distributed among multiple components, applications or web services, possibly developed and controlled by different authorities. 11:35
12 Application Integration, Case 2 Off-the- Off-the- Off-the- New shelf shelf shelf Input New Software Software Software Services Output 1 2 3 Services Domain Domain Layer Layer Event Handling event Layer handler Domain Layer 11:35
13 Application Integration CASE 2: Integration of Distributed (loosely coupled) Components The enterprise layer may itself be distributed among multiple components, applications or web services, possibly developed and controlled by different authorities. Existing components see architecture case 1 New Components develop with layered architecture Internal domain layer Internal event handling layer IS-layer: Event triggering interface Event listening interface Object Inspection interface 11:35
14 Integration of Distributed Component Global Event Handling Layer Event Event invocation listening interface interface Object Object Event Event inspection inspection triggering triggering interface interface interface interface layered component Local component with other Event Handling Layer internal structure Local Enterprise Layer 11:35
15 Event handling Architecture With Publish-Subscribe Architectures To be combined with coordination protocol No ‘fire & forget’ Different precondition verification patterns Centralised (e.g. in event handler) Distributed Allows for dynamic run-time management of the CET New components can publish new types of events to which existing components can subscribe New components can subscribe to existing types of events 11:35
Contract Management Capabilities SUPPLIER-WS 1 * 1 * SUPPLIER ORDER CUSTOMER 1 * 1 * ORDERLINE PRODUCT CUSTOMER-WS Calculated at design time or at run-time (upon subscrition of new components)
17 Application Integration Use of Enterprise Layer avoids problems associated to data replication Coordination is simplified by the introduction of event handlers Dynamic integration possible with use of publish-subscribe architectures 11:35
Recommend
More recommend