Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

A Conceptual Modeling Approach to Business Service Mashup Development


Published on

Professional mashups that include complex choreographies, data mediation, and result publishing within Web pages are still affected by implementation and design practices that rely either on very simple models or on low-level scripting and programming skills of developers, thus hampering the use of mashups in business context as rapid solution to immediate problems. Indeed, industrialization of their development is still a hard objective to achieve.

We propose a design methodology based on visual models to improve the quality and the productivity of service mashups and presentation of the results, thus increasing their acceptance as professional applications in the business scenario. Existing software engineering methods are combined together in an innovative mix, comprising standard business process modeling languages (namely, BPMN) to describe a high-level view of the mashup orchestration and on WebML (Web Modeling Language) to specify the detailed Web application model, including Web service interactions, hypertext navigation, event management, and rich user interfaces.
Model Driven Development (MDD) techniques allow to apply top down design and semi-automatic code generation.

Published in: Technology
  • Be the first to comment

A Conceptual Modeling Approach to Business Service Mashup Development

  1. 1. A Conceptual Modeling Approach to Business Service Mashup Development Alessandro Bozzon, Marco Brambilla – Politecnico di Milano – Milano - Italy Federico Michele Facca - Semantic Technology Institute, Innsbruck - Austria Giovanni Toffetti Carughi - University of Lugano, Lugano - Switzerland Los Angeles, July 9 th, 2009
  2. 2. Agenda <ul><li>Introduction </li></ul><ul><li>Development Process </li></ul><ul><li>MDD Mashup Design </li></ul><ul><li>Conclusions </li></ul>
  3. 3. Introduction <ul><li>Mashups are applications that leverage creative com- position of </li></ul><ul><ul><li>existing functionalities </li></ul></ul><ul><ul><li>data (taken from different services, possibly wrapped as WS) </li></ul></ul><ul><ul><li>interfaces (Web based, AJAX) </li></ul></ul><ul><li>Very popular in consumer scenario, with a plethora of online building tool (e.g. Yahoo Pipes) </li></ul><ul><li>Not exploited in professional applications as business scenario </li></ul><ul><ul><li>Lack of industrialized development process </li></ul></ul><ul><ul><li>Tedious low-level programming for professional service composition (REST or SOAP services) and interfaces </li></ul></ul><ul><li>We propose MDE approach for business service mashup development </li></ul>
  4. 4. Model-driven Development Process <ul><li>Business Process Model </li></ul><ul><ul><li>The business manager specifies the high-level view of the mashup orchestration </li></ul></ul><ul><li>Web-service orchestration model </li></ul><ul><ul><li>Set of automatic MDD transformations generates a view of the orchestration in a Domain Specific Language (DSL) </li></ul></ul><ul><li>Rich navigation model </li></ul><ul><ul><li>The interaction designer specifies the logics and the navigation paths of the Webpage that shows the results of the service mashup </li></ul></ul>
  5. 5. The contribution <ul><li>Modeling framework </li></ul><ul><li>Combination of existing software engineering methods to </li></ul><ul><ul><li>specify the service composition </li></ul></ul><ul><ul><li>integrate the resulting service invocations within user- oriented Web application interfaces </li></ul></ul><ul><ul><li>system-generated and user-generated events as gluing elements </li></ul></ul><ul><li>Sound mix of </li></ul><ul><ul><li>standard specification languages </li></ul></ul><ul><ul><li>model transformations </li></ul></ul><ul><li>A formalized development process </li></ul><ul><li>Combination of mashups and traditional conceptual modeling  prosumer mashups . </li></ul>
  6. 6. Background <ul><li>Business Process Design </li></ul><ul><ul><li>representing processes (of heterogeneous nature) in terms of related, structured activities or tasks that produce a specific service or product </li></ul></ul><ul><ul><li>several proposals for visual modeling languages (e.g., UML, YAML, BPMN ) </li></ul></ul><ul><li>Model Driven Architectures </li></ul><ul><ul><ul><li>raise of abstraction (separation of platform independent and platform dependent concerns) in Web application design and development </li></ul></ul></ul><ul><li>Web Engineering </li></ul><ul><ul><li>use of models (and model transformations) as the key artifacts for application developments </li></ul></ul><ul><ul><li>several proposals (e.g., UML, Hera, OOHDM, UWE, W2000, WebML ) </li></ul></ul>
  7. 7. Rich Navigation Model Specification (WebML) <ul><li>Web Modeling Language </li></ul><ul><li>Specification of interactive, integrated Web applications through orthogonal models. </li></ul><ul><li>Domain and Event Models (ER or UML class diagrams) </li></ul><ul><ul><li>Temporary and persistent server/client data </li></ul></ul><ul><li>Navigation Models: server- and client- side content publication and manipulation, page computation, hypertextual links, event production and consumption ) </li></ul><ul><li>Service definition and composition Models ( Web service invocation and publication, XML management, event production and consumption ) </li></ul>
  8. 8. Business Process design with BPMN <ul><li>Business Process Model Notation </li></ul><ul><li>Description of business activities (technology- and platform- independent) </li></ul><ul><li>Activities </li></ul><ul><ul><li>Service invocation task annotated with an implementation tag </li></ul></ul><ul><ul><ul><li>internal (service modeled and implemented within the system) </li></ul></ul></ul><ul><ul><ul><li>external (existing third-party service) </li></ul></ul></ul><ul><ul><ul><li>semantic (service searched and invoked by means of semantic discovery and invocation techniques) </li></ul></ul></ul><ul><li>Flows Constraints (OR-XOR-AND gateways) </li></ul><ul><ul><li>To define the logic of the service composition flow (e.g., whether two service have to be invoked in parallel or as an alternative) </li></ul></ul><ul><li>Events </li></ul><ul><ul><li>From UI can issue events (e.g., upon user interaction) </li></ul></ul><ul><ul><li>From service mashup (e.g., upon completion of a service call) </li></ul></ul>
  9. 9. Running Example Travel agency application for organizing travels for a specific event
  10. 10. From the business model to the process orchestration <ul><li>Automatic translation of BPMN model (XSLT or ATL transformations) </li></ul><ul><li>BPMN Start events  WebML ReceiveEvent primitives </li></ul><ul><li>BPMN Intermediate and End events  WebML SendEvent </li></ul><ul><li>Workflow activities  service invocation chains </li></ul><ul><ul><li>Data marshalling primitive (lowering of the application content model to the web service SOAP request) </li></ul></ul><ul><ul><li>Request-Response primitive (the actual service invocation) </li></ul></ul><ul><ul><li>Data marshalling primitive (lifting Web service SOAP response to the ap- plication data model) </li></ul></ul><ul><li>Workflow constraints  WebML hypertext constraints defined on the content model. Links to the invocation chains may include condition checking primitives. </li></ul>
  11. 11. Example <ul><li>Several concrete services can be invoked for obtaining a good result </li></ul><ul><li>The model may include interaction with other kinds of remote services, such as RSS feeds or REST web services. </li></ul>
  12. 12. BPMN*  WebML transformation <ul><li>Transformation rules </li></ul><ul><ul><li>finer-grained Application Model, needing few refinements by the designer </li></ul></ul><ul><ul><ul><li>typed activities enables reusable application models </li></ul></ul></ul><ul><ul><ul><li>data dependencies are specified at a higher level </li></ul></ul></ul><ul><ul><li>less errors in Application Model design </li></ul></ul><ul><ul><li>Faster development </li></ul></ul>(1) One control siteview per pool: Human interaction (2) One control serviceview per pool: WS Choreography (3) One site view per lane: user navigation (4) One site view per lane: business logics of activities and gateways (4) One site view per lane: business logics of activities and gateways (5) Orchestration view: a controller component invokes the activities
  13. 13. Example of Rich Navigation Model (WebML)
  14. 14. Implementation <ul><li>Extensions to WebRatio, a commercial tool for the automatic generation of Web applications </li></ul><ul><li>Application in the context of an EU founded project </li></ul><ul><li> </li></ul><ul><li>Creation of an on-line BPMN editor for the </li></ul><ul><li>specification of multimedia query and result </li></ul><ul><li>presentation mash-ups </li></ul><ul><li>Set of model to model and model to text transformations </li></ul>
  15. 15. Conclusions and future work <ul><li>A methodology , a set of models , and a toolsuite implementation for supporting top-down, model-driven design of professional service mashups. </li></ul><ul><ul><li>Helps the design of mashups </li></ul></ul><ul><ul><li>Helps for its evolution when requirements change </li></ul></ul><ul><li>The availability of well-established code generation technology </li></ul><ul><ul><li>great improvement in productivity </li></ul></ul><ul><li>Ongoing and future work </li></ul><ul><li>industrial implementation </li></ul><ul><li>integration of Semantic Web capabilities </li></ul>
  16. 16. Thank You! Questions? Contact: Alessandro Bozzon [email_address]