1 / 14

Using MDA in Web Software Architectures

Using MDA in Web Software Architectures. Santiago Meliá Cristina Cachero Jaime Gómez Universidad de Alicante Spain. Content. Introduction Motivation Work Context & Goals. WebSA: Web Software Architecture. WebSA expressed with MDA. The view Model. Logical Architecture View in MDA.

buck
Download Presentation

Using MDA in Web Software Architectures

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Using MDA in Web Software Architectures Santiago Meliá Cristina Cachero Jaime Gómez Universidad de Alicante Spain

  2. Content Introduction Motivation Work Context & Goals. WebSA: Web Software Architecture. WebSA expressed with MDA. The view Model. Logical Architecture View in MDA. Generation strategy. Extension of the Architecture for MDA Models. Conclusions & Future Work

  3. 1. Introduction The new challenges posed by Internet Market imply: Development of more sophisticated Web Applications in a shorter period of time. Higher quality level to satisfy more demanding clients. The possibility to cover a vast diversity of web applications with different non functional requirements like number of clients, security, maintenance,etc.

  4. 1. Introduction Work context: Up to now, Web methodologies (OO-H [Cachero03], UWE[Koch03], OOHDM, [Schwabe99],etc) have paid little attention to non functional requirements for web applications. Web generation techniques are only used to obtain code for a predefined architecture of web applications. Objectives: Integrate software architecture into Web Applications in order to cover the gap between web design and non functional requirements. Have the ability to generate code able to cover the vast diversity of web applications.

  5. 2. Web Software Architecture • A new proposal called WebSA (Web Software Architecture) which is based on two main aspects: • The definition of specific software architecture models for Web (DSSA) to complement other UML proposals in the specification of Web Applications. • The use of the MDA standard [OMG 2001] to formalize and describe such models.

  6. 3. WebSA expressed with MDA [OMG2001] MDA defines an architecture for models and provides aset of guidelines for structuring specifications expressed as models. It defines concepts as View, Refinement, Abstract. WebSA splits the web software architecture description in several concurrent views as other authors dowith UML [Krunchen95] [Hofmeister et all. 1999]. WebSA does this using also MDA and focusing on the web domain, which allows for a higher level of details in the specification process.

  7. 3.1 The WebSA view model This view model represents briefly the reference model of WebSA.

  8. 3.2 Logical architecture view in MDA The Logical Architecture defines the set of logical components (subsystems, modules and/or software components) and the relationships between them. The WebSA logical architecture is subdivided in three models: Subsystem Model: determines which are the subsystems that make up our application and the best distribution in layers of our system. Web Component Configuration Model: provides an ontology of web abstract components and connectors that are particular to the web domain. Web Component Integration Model: connects the functional and the architectural views under a common set of concrete components, modules and connectors.

  9. 3.2 Logical architecture view in MDA The three architectural models are Independent from the Platform. Integration Model is defined at a level of abstraction similar to that of the EDOC profile[OMG 2002]. WebSA is capable of automatically providing different mappings platforms such as EJB, CORBA or .NET. Subsystem Model Subsystem Model Web Component Configuration Model <<Presentation>> <<Dialog Control>> D1 <<ControlACW>> <<Server PageACW>> 1..1 1..n CWD1 {card=1} SWD1 {card=*} <<local>> <<Dialog Control>> 1..1 1..n <<refined>> <<local>> <<local>> 1..n 1..n <<ModelACW>> <<ViewACW>> 1..n 1..n <<Business Logic>> M1 {card=*} VWD1 {card =1} <<local>> <<refined>> Functional Viewpoint Web Component Integration Model <<ModelCCW>> <<ControlCCW>> <<ModelWeb>> CCW1 Client <<refined>> <<local>> (from ModuleModel1) checkClient serviceRequest() navigationRequest() newClient() deleteClient() <<local>> checkClient() newCart <<local>> getClient() generateOrder <<ModelWeb>> Cart (from ModuleModel1) <<local>> <<ModelWeb>> newCart() Order newOrder addItem() (from ModuleModel1) deleteItem() showAllItems() newOrder() generateOrder()

  10. 3.3. WebSA Generation Strategy Web Integration Component Model <<ModelCCW>> <<ControlCCW>> <<ModelWeb>> CCW1 Client <<local>> (from ModuleModel1) checkClient serviceRequest() navigationRequest() newClient() deleteClient() <<local>> checkClient() newCart <<local>> getClient() generateOrder <<ModelWeb>> Cart (from ModuleModel1) <<local>> <<ModelWeb>> newCart() Order newOrder addItem() (from ModuleModel1) deleteItem() showAllItems() newOrder() generateOrder() Template-Code Generator XML Interface J2EE .NET CORBA... Standard PSM

  11. 4. The Problem with Traditional MDA MDA, [OMG 2001] when referring to quality attributes says “it is desirable to support and integrate such features in the modeled applications”. Such integration can only be achieved, as stated in [Bass et al. 2000], by specifying the software architecture system. The subsystem model and the web component configuration model cannot be integrated in the traditional views of MDA because they are independent from the problem domain, and are exclusively influenced by the non functional requirements or quality attributes.

  12. 4. Extension of the architecture for MDA Models Extended architecture provides: A more rigorous mapping between the analysis phase and the design phase. A better quality of the generated code, because it allows the definition of a generation mechanism where both the functional and the architectural parts are combined TRADITIONAL ARCHITECTURE EXTENDED ARCHITECTURE FOR MDA MODELS FOR MDA MODELS Computation Independent Computation Independent Software Architectural Business Model Business Model Model Incomplete Analysis-Design Complete Mapping (Analisys+Architecture)- Platform Independent Platform Independent Design mapping Component View Component View Platform Platform Specific Specific

  13. Conclusions & Future Works Conclusions We have presented a new proposal called WebSA for the development of web applications. Its aim is to extend the traditional MDA so as to capture the non functional requirements. We have proposed a code generation approach for mapping a WebSA specification to an implementation. Future Works We are in the process of defining the UML profile of WebSA. We are going to extend the VisualWADE CASE Tool to support this approach. We intend to generate an XML specification to feed template-code generators.

  14. For further comments... santi@dlsi.ua.es ccachero@dlsi.ua.esjgomez@dlsi.ua.es Thanks for your attention!! Questions?

More Related