towards model-driven web services development

28
Towards Model-driven Web Services development Mihir Daptardar Software Engineering 577b Center for Systems and Software Engineering (CSSE) Viterbi School of Engineering 1

Upload: mahsa

Post on 05-Jan-2016

32 views

Category:

Documents


2 download

DESCRIPTION

Towards Model-driven Web Services development. Mihir Daptardar. Software Engineering 577b Center for Systems and Software Engineering (CSSE) Viterbi School of Engineering. Motivation. Developed applications incorporating web services before (class projects and commercial prototype) - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Towards Model-driven Web Services development

1

Towards Model-driven Web Services development

Mihir Daptardar

Software Engineering 577bCenter for Systems and Software Engineering (CSSE)

Viterbi School of Engineering

Page 2: Towards Model-driven Web Services development

2

Developed applications incorporating web services before (class projects and commercial prototype)

More emphasis on getting work done rather than methodology

Desire to learn a more systematic rather generic way to go about implementation

Software Engineering class is a great platform

Motivation

Page 3: Towards Model-driven Web Services development

3

Covered in different lectures

◦ General Idea covered in Model Based Software Engineering (MBSE)

◦ Web Services covered in as a part of the RESTful Architectures

◦ Also highlighted by one of the guest speakers, Mark Goldin, CTO, Cornerstone onDemand

Have I seen this before in the course?

Page 4: Towards Model-driven Web Services development

4

A web service is a collection of open protocols and standards used for exchanging data between applications or systems.

Software applications written in various programming languages and running on various platforms can use web services to exchange data over computer networks like the Internet in a manner similar to inter-process communication on a single computer.

What is a Web Service?

Ref: http://www.tutorialspoint.com/webservices/what_are_web_services.htm

Page 5: Towards Model-driven Web Services development

5

Model-driven engineering (MDE) is a software development methodology which focuses on creating and exploiting domain models (that is, abstract representations of the knowledge and activities that govern a particular application domain), rather than on the computing (or algorithmic) concepts.

What is model-driven engineering?

Ref: http://en.wikipedia.org/wiki/Model-driven_engineering

Page 6: Towards Model-driven Web Services development

6

High advancement in the field of mobile computing

Web services need to be consumed by platform specific clients

There is no general static requirements

MDE is on the rise in the research world with lots of advancement in platforms and tools

Model-driven Web services

Page 7: Towards Model-driven Web Services development

7

Types:◦ Platform Independent Model (PIM)

Abstract representation No Implementation details

◦ Platform Specific Model (PSM) Specific representation Detailed implementation documentation

Model-driven Engineering

Page 8: Towards Model-driven Web Services development

8

“The importance of the proposed framework lies in the high degree of automation achieved, which improves the efficiency of the development process, since is allows developers to generate code for various platforms with limited effort”

Summarizing:◦ Focus on maximum automation rather than the

semantics of transformer

◦ Application of the proposed solution across diverse platforms

Focus

Page 9: Towards Model-driven Web Services development

9

Independence of a specific programming language

Achieve high complexity

Encourages good OO

Can communicate effectively with stakeholders by providing a model.

Create a roadmap for developers to follow.

Track the history of every decision.

Pros Cons More time modeling and

less time coding (if you enjoy coding).

Usability of generated code.

Ref: http://greenbay.usc.edu/csci577/spring2013/uploads/readings/ec/EC04-MBSE.ppt

Page 10: Towards Model-driven Web Services development

10

Dunkel and Bruns propose a model-driven approach that allows the client's GUIs and the service workflow using graphical models, which are then transformed into XML-based descriptions (i.e., XForms code).

Kapitsaki present an approach which proposes complete separation of the Web application functionality from the context adaptation. The approach tackles and automates the development of context-aware Web applications, intended mainly for mobile users, which are formulated by third-party WSs.

Related work

Page 11: Towards Model-driven Web Services development

11

Proposed Framework

Page 12: Towards Model-driven Web Services development

12

Presentation Modeling Language (PML) and Web Service Design Language (WSDL) models designed at model time and are input for code generators

Focus is mainly on PML. Modeling GUI’s in form of screen layout

GUI’s comprise of standard elements like textbox, labels, buttons etc

Proposed Framework

Page 13: Towards Model-driven Web Services development

13

Overview: PML

Page 14: Towards Model-driven Web Services development

14

Mapping: Brief Idea

Page 15: Towards Model-driven Web Services development

15

Focus is mainly on Presentation layer. Targeted platforms:

◦ Java◦ Android◦ Windows Mobile◦ Windows Desktop

Transformation

Page 16: Towards Model-driven Web Services development

16

openArchitectureWare (oAW) enables the development of code generators by defining model to text transformation rules

Components:◦ Xpand – Template language◦ Workflow Execution Engine◦ Check – Supplementary Language

Code Generation Process

Page 17: Towards Model-driven Web Services development

17

Example: Android

Page 18: Towards Model-driven Web Services development

18

Example: Windows Mobile

Page 19: Towards Model-driven Web Services development

19

Outline:

◦ Bookstore WS provides means for searching and purchasing books

◦ Input = Name of the book (Title)◦ Output = All details of the book

Use Case: Book Store

Page 20: Towards Model-driven Web Services development

20

Top Level Elements

Page 21: Towards Model-driven Web Services development

21

Container: Example

Page 22: Towards Model-driven Web Services development

22

GUI Code Generated

Page 23: Towards Model-driven Web Services development

23

View on phone

Step 1

Step 2

Step 3

Step 4

Page 24: Towards Model-driven Web Services development

24

Statistics

Page 25: Towards Model-driven Web Services development

25

MDE automates development of Web Service oriented applications is presented in the study and also advised for multiple interfaces

Code Generators proposed have been implemented using openArchitectureWare and demonstrated using a Bookstore Use case

Summarizing

Page 26: Towards Model-driven Web Services development

26

This not just applies to environment but also applies to programming

REUSE, REDUCE, RECYCLE

Page 27: Towards Model-driven Web Services development

27

Questions?

GOOD LUCK EVERYONE!

Page 28: Towards Model-driven Web Services development

28

A Model-Driven Framework for Developing Web Service Oriented Applications - Achilleas Achilleos, Georgia M. Kapitsaki and George A. Papadopoulos

Model-driven Web Services Development -Roy Grønmo, David Skogan, Ida Solheim, Jon Oldevik

References