A Model-based Approach for Integrating Third Party Systems with ...

Reviews
ICWE 2005 A Model-based Approach for Integrating Third Party Systems with Web Applications Nathalie Moreno, Antonio vallecillo Universidad de Málaga {vergara,av} @ lcc.uma.es Agenda 1 2 Web Engineering & MDA Concerns involved in the development of a Web Application 3 Proof of concept: The Travel Agency System 4 Concluding Remarks ICWE 2005 1 Background  Web applications are moving from stand-alone systems to distributed applications  They need to interoperate with third party systems, such as external Web services, portlets or legacy applications in order to properly exchange information and services with them  Currently, integration of pre-developed systems is mostly achieved at implementation level (not at model level)  Integration needs to be considered at all phases of the development process ICWE 2005 1 Requirements for a proper integration  A proper integration approach requires:  the provision of mechanisms for making explicit provided and required interfaces of external systems, data, process, choreography or presentation models, etc.  the identification of the main concerns involved in modeling Web applications that interact third party systems… • ….using separate models (so portability, interoperability and reusability can be obtained through architectural separation of concerns) • ….in a platform-independent fashion ICWE 2005 1 “MDA to the rescue” “MDA is suitable for developing distributed systems that are made up of components running on different platforms/tiers. For example, there may be web tier implemented on ASP.Net, but which talks to a middle-tier using EJBs, with a back-end being a Sybase RDBMS. MDA can generate the software for the tiers, plus the code to glue it all together.” [Haywood, 2004] ICWE 2005 Agenda 1 2 Web Engineering & MDA Concerns involved in the development of a Web Application 3 Proof of concept: The Travel Agency System 4 Concluding Remarks ICWE 2005 2 Concerns involved in the development of a Web Application  A framework specifically designed to integrate third party applications and legacy systems into Web systems by separating independent concerns into a set of views on the system, each one focusing on one particular viewpoint  A viewpoint is an abstraction of a system focusing on one concern. Viewpoints are expressed using a selected set of concepts and structuring rules USER INTERFACE VIEWPOINT BUSINESS LOGIC VIEWPOINT DATA VIEWPOINT ICWE 2005 2.1 The Framework User Interface USER <> PRESENTATION CONCEPTUAL MODEL ADAPTATION CONTEXT NAVIGATION <> <> <> <> Business Logic STRUCTURE PROCESSES COMPONENT + ARCHITECTURAL STYLE INTERNAL PROCESSES CHOREOGRAPHY DISTRIBUTION Data INFORMATION STRUCTURE INFORMATION DISTRIBUTION <> ICWE 2005 LEVEL MODEL Information Structure Info. Location Structure Internal Processes CONCEPTS UserInformationUnits, Attributes, Associations, Constraint, ExternalUserInformationUnit, ExternalRelationship,… Node, ExternalNode, Link, ExternalLink,… BusinessProcessInformation, Attribute, Signature, Association, ExternalBusinessProcessInformation,… Activity, ExternalActivity, ControlStructure, ConditionalStructure, Flow, ExternalFlow,… PartialCoreography, GlobalCoreography, Activity, Exception, ControlStructure, ConditionalStructure, … Component, Module, Client, Server, Master, Slave, View, Controller, Adapter, Interpreter, …. Node, StaticLink, DynamicLink, Device, ComputingNode, MovileNode, … UserInformationUnit, Attribute, Association, ExternalUserInformationUnit, ExternalAssociation,… NavigationUnit, NavigationLink, ExternalNavigationUnit, Index, Menu, Event, ExternalNavigationLink,… SinglePresentationUnit, Text, Image, InputElement, Transition, GroupPresentationUnit, Section, Page, Form, ExternalPage,… Device, Network, Location, Time History, Session, User, Role, UserFeature, Preference, … Event, Rule, Condition, Action, Entity,… ICWE 2005 Data Business Logic Choreography Architecture Distribution Conceptual Navigation User Interface Presentation Context User Adaptation 2.2 How the Framework is used  The development of a typical Web application with data, business process and hypertext involves the definition of at least three PIMs, each one for a viewpoint PIM User Interface Viewpoint PIM Business Logic Viewpoint PIM Data Viewpoint PSM User Interface Viewpoint PSM Business Logic Viewpoint PSM Data Viewpoint Code User Interface Viewpoint Code Business Logic Viewpoint Code Data Viewpoint ICWE 2005 2.3 Methodological guidelines Step 4 Internal process model Step 3 Structure model Step 4 Component model Step 5 Step 6 Distribution model Choreography model PIM Business Logic Viewpoint Step 1 Identify the framework metamodels that need to be instantiated Step 2 Information Structure model Step 3 Information Location model PIM Data Viewpoint Step 3 Conceptual model Step 4 Navigation model PIM User Interface Viewpoint Step 6 Step 3 Context model Step 4 User model Step 5 Adaptation model Navigation model ICWE 2005 2.4 PIM Business Logic The MDA Chain PIM Marks Transf. Create class diagram (PIM) describing object model 1 Marked PIM Annotations Transf. Mark PIM elements with stereotypes 2 Annotated PIM Customize the marked PIM with annotations Mappings 3 Transf. PSM Business Logic Specify the target platform PSM 4 Mappings Transf. Generate a PSM 5 Code Business Logic Code Generate the Code ICWE 2005 6 2.4.1 Identifying the system scope and boundaries PIM Marks Transf. Marked PIM ICWE 2005 2.4.2 Specifying particular communication mechanisms PIM Marks Transf. Marked PIM Annotations Transf. Annotated PIM ICWE 2005 2.4.3 Specifying a particular platform technology (e.g., WS) PIM Marks Transf. Dt2T Marked PIM P2D Annotations Transf. C2T P2Part Annotated PIM Mappings Transf. I2Pt PSM O2O ICWE 2005 Agenda 1 2 Web Engineering & MDA Concerns involved in the development of a Web Application 3 Proof of concept: The Travel Agency System 4 Concluding Remarks ICWE 2005 3.1 The Travel Agency System (TAS) ICWE 2005 3.2 Applying the methodology Step 4 Internal process model Step 3 Structure model Step 4 Component model Step 5 Step 6 Distribution model Choreography model PIM Business Logic Viewpoint Step 1 Identifying framework metamodels that need to be instantiated. Step 2 Information Structure model Step 3 Information Location model PIM Data Viewpoint Step 3 Conceptual model Step 4 Navigation model PIM User Interface Viewpoint Step 6 Step 3 Context model Step 4 User model Step 5 Adaptation model Presentation model ICWE 2005 Step 3 3.3 The PIM of the Business Logic Viewpoint (I) Structure model PIM 1 Create class diagram (PIM) describing object model Marks Marked PIM Annotations Annotated PIM Mappings PSM ICWE 2005 Step 3 3.3 The PIM of the Business Logic Viewpoint (II) Structure model PIM 2 Mark PIM elements with stereotypes Mark PIM elements with stereotypes Marks 2.1 Marks Marked PIM Annotations Annotated PIM Mappings PSM ICWE 2005 Step 4.1 Step 4.2 Choreography model 3.3 The PIM of the Business Logic Viewpoint (III) Internal process model PIM 2 Mark PIM elements with stereotypes Mark PIM elements with stereotypes 2.1 Marks <> (from Air_Line) find_flight <> [list!=null] [list==null] ListNull Marked PIM Annotations <> (from CarHire) find_car <> (from Hotel) find_room Annotated PIM <> [list==null] Mappings ListNull Combine_FlyList_HotelList_CarList [list!=null] ListHolidayPackage PSM ICWE 2005 3.3 The PIM of the Business Logic Viewpoint (IV) PIM 2 Apply transformation rules Transf. Package P2 C C2 C A2P C Marks Component Class Port Interface 2.2 Class Association Marked PIM Annotations A2 U UsageDepend. ImplementationDepend. AssociationEnd A2I Annotated PIM Mappings Rule A2U { from assoc_end : UML!AssociationEnd (assoc_end.stereotypes-> includes(InternalSystem)) to port : UML!Port Maps to ……. PSM ICWE 2005 3.3 The PIM of the Business Logic Viewpoint (V) PIM 2 The marked PIM Transf. Marks Marked PIM 2.3 Annotations Annotated PIM Mappings PSM ICWE 2005 3.3 The PIM of the Business Logic Viewpoint (VI) PIM 3 Customize the marked PIM with annotations Transf. Summary of the stereotypes used UML Base Element Port Port Port Port Stereotype <> <> <> <> Annotated PIM Marked PIM Marks 3.1 Annotations Port Interface Interface Interface Assembly Adaptor <> <> <> <> <> Mappings PSM ICWE 2005 Step 5 3.3 The PIM of the Business Logic Viewpoint (VII) Component model PIM 3 Customize the marked PIM with annotations Transf. Marks Marked PIM 3.1 Annotations Annotated PIM Mappings PSM ICWE 2005 Step 6 3.3 The PIM of the Business Logic Viewpoint (VIII) PIM Distribution model 3 Customize the marked PIM with annotations Transf. Marks Marked PIM Annotations Transf. Annotated PIM 3.2 Mappings PSM ICWE 2005 3.3 The PIM of the Business Logic Viewpoint (IX) PIM 4 Specify the target platforms Transf. Marks Marked PIM Annotations Transf. Annotated PIM Mappings 4.1 WSDL JAVA CORBA PSM ICWE 2005 3.3 The PIM of the Business Logic Viewpoint (X) PIM 4 Apply the transformation rules Transf. Marks P2P Marked PIM Annotations G2s Ae2F C2C Transf. I2I A2F OM2M Pr2Pr Dt2Pt Annotated PIM Mappings Transf. 4.2 PSM ICWE 2005 3.3 The PIM of the Business Logic Viewpoint (XI) PIM 5 Generate de PSM Transf. Marks Marked PIM Annotations Transf. Annotated PIM Mappings Transf. PSM 5 ICWE 2005 3.1 Applying the methodology Step 4.1 Internal process model Step 3 Structure model Step 4.2 Component model Step 5 Step 6 Distribution model Choreography model PIM Business Logic Viewpoint Step 1 Identifying framework metamodels that need to be instantiated. Step 2 Information Structure model Step 3 Information Location model PIM Data Viewpoint Step 3.1 Conceptual model Step 4.1 Navigation model PIM User Interface Viewpoint Step 6 Step 3.2 Context model Step 4.2 User model Step 5.2 Adaptation model Presentation model ICWE 2005 Step 3.1 3.4 The PIM of the User Interface Viewpoint (I) Conceptual model 1 Conceptual Model ICWE 2005 Step 4.1 3.4 The PIM of the User Interface Viewpoint (II) Navigation model 2 Navigation Model ICWE 2005 Step 5 3.4 The PIM of the User Interface Viewpoint (III) Presentation model 3 Presentation Model ICWE 2005 Agenda 1 2 Web Engineering & MDA Concerns involved in the development of a Web Application 3 Proof of concept: The Travel Agency System 4 Concluding Remarks ICWE 2005 4.1 Concluding Remarks  Web Development methods should address in full the interactions with third party systems  Model-driven Web Engineering proposals should able to incorporate these external applications into their models  In this paper we have presented a model-based framework that covers the aspects that need to be considered for the high-level integration of Web applications with third party systems ICWE 2005 4.2 Future Work  Make use of transformation languages for defining the model transformations, so they can be easily re-used and integrated with MDA tools  Improve the description of the behavioural aspects (suggestions welcome)  Study the (semi-automatic) derivation of adaptors in case incompatibilities are detected (at the PIM level)  Cover the description of QoS information in the models, in order to be able to deal with these aspects ICWE 2005 ICWE 2005

Related docs
Other docs by richman7