1 Successful Middleware Integration Using a Common Domain Model October, 2000 Gregor Hohpe.

Slides:



Advertisements
Similar presentations
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 12Slide 1 Software Design l Objectives To explain how a software design may be represented.
Advertisements

7M701 1 Information Systems Modelling and Design with.
Chapter 4 - Object-Oriented Analysis and Design in a Nutshell1 Chapter 4 Object-Oriented Analysis and Design in a Nutshell.
Chapter 22 Object-Oriented Systems Analysis and Design and UML Systems Analysis and Design Kendall and Kendall Fifth Edition.
Introduction To System Analysis and Design
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 8 Slide 1 System models.
S.R.F.E.R.S. State, Regional, and Federal Enterprise Retrieval System Inter-Agency & Inter-State Integration Using GJXML.
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 7 Data Modeling Using the Entity- Relationship (ER) Model.
IMS1805 Systems Analysis Topic 3: Doing Analysis (continued from previous weeks)
Itntroduction to UML, page 1 Introduction to UML.
Page 1Prepared by Sapient for MITVersion 0.1 – August – September 2004 This document represents a snapshot of an evolving set of documents. For information.
12-1 © Prentice Hall, 2004 Chapter 12: Design Elements Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich, Jeffrey.
2-1 © Prentice Hall, 2004 Chapter 2: Introduction to Object Orientation (Adapted) Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra,
Chapter 1 The Systems Development Environment Modern Systems Analysis and Design Sixth Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich.
The Role of Modeling in Systems Integration and Business Process Analysis © Sparx Systems Pty Ltd 2011 Ben Constable Sparx Systems.
David Harrison Senior Consultant, Popkin Software 22 April 2004
PRJ566: PROJECT PLANNING AND MANAGEMENT Class Diagrams.
Chapter 1 The Systems Development Environment
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 1 System models l Abstract descriptions of systems whose requirements are being.
Data Integration in Service Oriented Architectures Rahul Patel Sr. Director R & D, BEA Systems Liquid Data – XML-based data access and integration for.
Introduction To System Analysis and design
CSE314 Database Systems Data Modeling Using the Entity- Relationship (ER) Model Doç. Dr. Mehmet Göktürk src: Elmasri & Navanthe 6E Pearson Ed Slide Set.
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 10 Practical Database Design Methodology and Use of UML Diagrams.
Systems Analysis and Design in a Changing World, Fifth Edition
Chapter 1 The Systems Development Environment
Metadata Tools and Methods Chris Nelson Metanet Conference 2 April 2001.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 1 System models l Abstract descriptions of systems whose requirements are being.
CIT UPES | Sept 2013 | Unified Modeling Language - UML.
System models Abstract descriptions of systems whose requirements are being analysed Abstract descriptions of systems whose requirements are being analysed.
Information Systems: Modelling Complexity with Categories Four lectures given by Nick Rossiter at Universidad de Las Palmas de Gran Canaria, 15th-19th.
Chapter 1 The Systems Development Environment Modern Systems Analysis and Design Sixth Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich.
UNIT – II ARCHITECTING WEB SERVICES. WHAT ARE WEB SERVICES ? Web Services are loosely coupled, contracted components that communicate via XML-based interfaces.
Introduction to MDA (Model Driven Architecture) CYT.
Copyright 2002 Prentice-Hall, Inc. Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich Chapter 20 Object-Oriented.
Introduction To System Analysis and Design
Object-Oriented Analysis and Design An Introduction.
1 Software Design Reference: Software Engineering, by Ian Sommerville, Ch. 12 & 13, 5 th edition and Ch. 10, 6 th edition.
1 Software Design Overview Reference: Software Engineering, by Ian Sommerville, Ch. 12 & 13.
System models l Abstract descriptions of systems whose requirements are being analysed.
Modified by Juan M. Gomez Software Engineering, 6th edition. Chapter 7 Slide 1 Chapter 7 System Models.
Systems Analysis and Design in a Changing World, 3rd Edition
1 Geospatial and Business Intelligence Jean-Sébastien Turcotte Executive VP San Francisco - April 2007 Streamlining web mapping applications.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 14 Slide 1 Object-oriented Design.
ARCH-2: UML From Design to Implementation using UML Frank Beusenberg Senior Technical Consultant.
EXtreme Semantics Realize the Potential Today Dave Hollander CTO, Contivo Standards –Co-Founder of XML –Co-Chair W3C XML Schema Working.
PowerPoint Presentation for Dennis & Haley Wixom, Systems Analysis and Design, 2 nd Edition Copyright 2003 © John Wiley & Sons, Inc. All rights reserved.
CIS 112 Exam Review. Exam Content 100 questions valued at 1 point each 100 questions valued at 1 point each 100 points total 100 points total 10 each.
1/26 On-demand Learning Series Software Engineering of Web Application - Object-Oriented Development & UML Hunan University, Software School.
Design Model Lecture p6 T120B pavasario sem.
Introduction to UML CS A470. What is UML? Unified Modeling Language –OMG Standard, Object Management Group –Based on work from Booch, Rumbaugh, Jacobson.
The Unified Modeling Language (UML)
1 Technical & Business Writing (ENG-715) Muhammad Bilal Bashir UIIT, Rawalpindi.
Analysis Yaodong Bi. Introduction to Analysis Purposes of Analysis – Resolve issues related to interference, concurrency, and conflicts among use cases.
UML - Development Process 1 Software Development Process Using UML.
UML Course Instructor: Rizwana Noor. Overview  Modeling  What is UML?  Why UML?  UML Diagrams  Use Case  Components  Relationships  Notations.
Executive Overview. Software modeling is essential, because it is the map that guides your developers. Additionally: Modeling Software  Visual information.
Copyright (C), No Magic, Inc Welcome to No Magic!
Ontologies Reasoning Components Agents Simulations An Overview of Model-Driven Engineering and Architecture Jacques Robin.
The Relational Model Lecture #2 Monday 21 st October 2001.
Introduction to UML and Rational Rose UML - Unified Modeling Language Rational Rose 98 - a GUI tool to systematically develop software through the following.
SWE 214 (071) Introduction to UML Slide 1 Introduction to UML.
Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 14 Slide 1 Object-Oriented Design.
1 An Overview of UML. 2 The Unified Modeling Language UML is a graphical language used by software engineers to model software systems during development.
11 Systems Analysis and Design in a Changing World, Fifth Edition.
Introduction to UML.
Unified Modeling Language—UML A Very Brief Introduction
Technology Landscape and Enterprise Objectives
Database Design Hacettepe University
CMPE/SE 131 Software Engineering March 7 Class Meeting
Presentation transcript:

1 Successful Middleware Integration Using a Common Domain Model October, 2000 Gregor Hohpe

2 Middleware Enables Data Exchange Between Applications Application A stores customer information (name, address, …) Application B stores customer information (name, address, …) Changes to the data in Application A are propagated to Application B Application A Application B Customer

3 Generally, a Translation Between the Application Specific Data Formats Is Required Application A stores customer information in a specific format Application B stores customer information in a different format The middleware needs to translate between the formats (the adapters don’t perform this task!) Simple field mapping or structural mapping may be required Middleware packages provide GUI tools to perform field mapping: TIBCO Integration Manager, Vitria Connection Modeler Application A Application B Customer Mapping

4 Adding Another Application Requires Additional Mapping One mapping unit has to be created between each pair of applications Application A Application B Customer Mapping Customer Application C Mapping

5 What Happens If More Than One Application Is Allowed to Update the Information? One mapping unit has to be created between each pair of applications If B is allowed to update customer information, we need to build 4 mapping units With a larger number of applications, this can lead to an effort that is proportional to the square of the number of applications Application A Application B Customer Mapping Customer Application C Mapping

6 This Approach Introduces a Large Number of Tightly Coupled Point-to-point Connections n / 2 * (n – 1) connections between n systems Each mapping depends on two specific packages Customer

7 Define a Common Domain Model to Replace an Unmanageable Number of Point-to-Point Mappings Define a common model for all entities and their relationships When publishing a message, translate each application’s private model into the common model and broadcast the message Manage the Common Domain Model for all entities in a central repository –Provided by the Middleware package or –Through XML and a set of DTDs (or XML Schemas) Application A Application B Customer Mapping Customer Application C Mapping Common Domain Model

8 A Common Domain Model Addresses a Variety of Issues Related to Middleware Integration Applications communicate with each other through a common model rather than through point-to-point translations –Linear effort of integrating an additional application –Loose coupling between application data format The common model is abstract not specific to any application –The model represents the client’s business domain, not a specific package implementation –Improved ability to replace applications (e.g., legacy to best-of-breed app) –Ability to receive data from more than one source The Common Domain Model for all entities can be managed in the Middleware Repository –Single point of reference (and maintenance)

9 A Common Domain Model Is the Platform for Future Extensions The business logic in the middleware (e.g., Automator, Integration Manager) operates on a common, package independent format More meaningful reporting The common model can be (selectively) exposed to external partners for B2B exchanges, Web Services Application A Application B Customer Mapping Customer Application C Mapping Business Logic B2B Integration Reporting / Data Warehousing Common Domain Model External Partners

10 The Common Domain Model Is Described in UML Notation Unified Modeling Language is a standard notation defined by OMG UML Class Diagram defines entities and their relationships Even though we use the same notation, the design process differs from OO design (e.g. a Java program) Customer Location Billing Location Service Location Contact Primary Contact Entity Aggregation (Customer has Sites) Specialization (Billing Location is a type of Location) Association 0..N More info on UML: Book “UML Distilled, 2 nd ed.” by M. Fowler UML Brownbag (wrsc/sf/portal)

11 The Common Domain Model Is Different From the Middleware Message Specification The Domain Model defines entities and their associations Message specifications define actions on the entities –TIBCO Repository Classes or Vitria Event IDL define Message Specifications, not the Domain Model! Message specifications are derived from the Domain Model –Messages act on entity attributes  Message fields –Message need to respect the association between entities  Key management Customer Location Contact Primary Contact 0..N SelectPrimContact LocationID ContactID Message SpecificationDomain Model

12 Using a Common Domain Model Successfully Requires Special Skill and Experience Developing a Common Domain Model is a substantial task –Needs to be integrated into the task plan as a parallel activity –Needs to be part of the development methodology, not an afterthought Simple integration points require 2 translations instead of 1 –Performance considerations –Initial development effort may be higher Dependency on application packages –Should be independent from the applications, but needs to be similar enough to enable mapping –Avoid lowest common denominator Additional expertise and skill sets required –Object modeling –UML or other notation –Tool skill like Rational Rose

13 How to Get Started? Get familiar with UML Class Diagrams –Look at the whole UML spec; it supports a great use-cases driven development cycle –Read the book, not the OMG spec (unless you suffer from insomnia) Get a tool like Rational Rose or Visio Professional Dedicate a resource to be the owner of the Domain Model More in the upcoming presentation: “Middleware Integration Methodology“

14 Resources, Questions, Comments Contact Info: Gregor Hohpe, , Internal Web Site: Internal Web Site: Book: “UML Distilled, 2 nd Edition” by Martin Fowler, Addison-Wesley Book