a conceptual modeling approach to business service mashup development

15
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

Upload: marco-brambilla

Post on 18-Nov-2014

2.657 views

Category:

Technology


1 download

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

Page 1: A Conceptual Modeling Approach to Business Service Mashup Development

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

Page 2: A Conceptual Modeling Approach to Business Service Mashup Development

2

A Conceptual Modeling Approach to Business Service Mashup Development

Agenda

• Introduction• Development Process• MDD Mashup Design• Conclusions

Page 3: A Conceptual Modeling Approach to Business Service Mashup Development

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

Page 4: A Conceptual Modeling Approach to 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

Page 5: A Conceptual Modeling Approach to Business Service Mashup Development

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.

Page 6: A Conceptual Modeling Approach to Business Service Mashup Development

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)

Page 7: A Conceptual Modeling Approach to Business Service Mashup Development

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 )

Page 8: A Conceptual Modeling Approach to Business Service Mashup Development

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)

Page 9: A Conceptual Modeling Approach to Business Service Mashup Development

9

A Conceptual Modeling Approach to Business Service Mashup Development

9Running Example

Travel agency application for organizing travels for a specific event

Page 10: A Conceptual Modeling Approach to Business Service Mashup Development

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.

Page 11: A Conceptual Modeling Approach to Business Service Mashup Development

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.

Page 12: A Conceptual Modeling Approach to Business Service Mashup Development

13

A Conceptual Modeling Approach to Business Service Mashup Development

13Example of Rich Navigation Model (WebML)

Page 13: A Conceptual Modeling Approach to Business Service Mashup Development

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

Page 14: A Conceptual Modeling Approach to Business Service Mashup Development

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

Page 15: A Conceptual Modeling Approach to Business Service Mashup Development

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