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