Mihir Daptardar Software Engineering 577b Center for Systems and Software Engineering (CSSE) Viterbi...
-
Upload
meryl-mosley -
Category
Documents
-
view
216 -
download
0
Transcript of Mihir Daptardar Software Engineering 577b Center for Systems and Software Engineering (CSSE) Viterbi...
![Page 1: Mihir Daptardar Software Engineering 577b Center for Systems and Software Engineering (CSSE) Viterbi School of Engineering 1.](https://reader035.fdocuments.us/reader035/viewer/2022081519/56649e735503460f94b726f0/html5/thumbnails/1.jpg)
1
Towards Model-driven Web Services development
Mihir Daptardar
Software Engineering 577bCenter for Systems and Software Engineering (CSSE)
Viterbi School of Engineering
![Page 2: Mihir Daptardar Software Engineering 577b Center for Systems and Software Engineering (CSSE) Viterbi School of Engineering 1.](https://reader035.fdocuments.us/reader035/viewer/2022081519/56649e735503460f94b726f0/html5/thumbnails/2.jpg)
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: Mihir Daptardar Software Engineering 577b Center for Systems and Software Engineering (CSSE) Viterbi School of Engineering 1.](https://reader035.fdocuments.us/reader035/viewer/2022081519/56649e735503460f94b726f0/html5/thumbnails/3.jpg)
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: Mihir Daptardar Software Engineering 577b Center for Systems and Software Engineering (CSSE) Viterbi School of Engineering 1.](https://reader035.fdocuments.us/reader035/viewer/2022081519/56649e735503460f94b726f0/html5/thumbnails/4.jpg)
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: Mihir Daptardar Software Engineering 577b Center for Systems and Software Engineering (CSSE) Viterbi School of Engineering 1.](https://reader035.fdocuments.us/reader035/viewer/2022081519/56649e735503460f94b726f0/html5/thumbnails/5.jpg)
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: Mihir Daptardar Software Engineering 577b Center for Systems and Software Engineering (CSSE) Viterbi School of Engineering 1.](https://reader035.fdocuments.us/reader035/viewer/2022081519/56649e735503460f94b726f0/html5/thumbnails/6.jpg)
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: Mihir Daptardar Software Engineering 577b Center for Systems and Software Engineering (CSSE) Viterbi School of Engineering 1.](https://reader035.fdocuments.us/reader035/viewer/2022081519/56649e735503460f94b726f0/html5/thumbnails/7.jpg)
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: Mihir Daptardar Software Engineering 577b Center for Systems and Software Engineering (CSSE) Viterbi School of Engineering 1.](https://reader035.fdocuments.us/reader035/viewer/2022081519/56649e735503460f94b726f0/html5/thumbnails/8.jpg)
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: Mihir Daptardar Software Engineering 577b Center for Systems and Software Engineering (CSSE) Viterbi School of Engineering 1.](https://reader035.fdocuments.us/reader035/viewer/2022081519/56649e735503460f94b726f0/html5/thumbnails/9.jpg)
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: Mihir Daptardar Software Engineering 577b Center for Systems and Software Engineering (CSSE) Viterbi School of Engineering 1.](https://reader035.fdocuments.us/reader035/viewer/2022081519/56649e735503460f94b726f0/html5/thumbnails/10.jpg)
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: Mihir Daptardar Software Engineering 577b Center for Systems and Software Engineering (CSSE) Viterbi School of Engineering 1.](https://reader035.fdocuments.us/reader035/viewer/2022081519/56649e735503460f94b726f0/html5/thumbnails/11.jpg)
11
Proposed Framework
![Page 12: Mihir Daptardar Software Engineering 577b Center for Systems and Software Engineering (CSSE) Viterbi School of Engineering 1.](https://reader035.fdocuments.us/reader035/viewer/2022081519/56649e735503460f94b726f0/html5/thumbnails/12.jpg)
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: Mihir Daptardar Software Engineering 577b Center for Systems and Software Engineering (CSSE) Viterbi School of Engineering 1.](https://reader035.fdocuments.us/reader035/viewer/2022081519/56649e735503460f94b726f0/html5/thumbnails/13.jpg)
13
Overview: PML
![Page 14: Mihir Daptardar Software Engineering 577b Center for Systems and Software Engineering (CSSE) Viterbi School of Engineering 1.](https://reader035.fdocuments.us/reader035/viewer/2022081519/56649e735503460f94b726f0/html5/thumbnails/14.jpg)
14
Mapping: Brief Idea
![Page 15: Mihir Daptardar Software Engineering 577b Center for Systems and Software Engineering (CSSE) Viterbi School of Engineering 1.](https://reader035.fdocuments.us/reader035/viewer/2022081519/56649e735503460f94b726f0/html5/thumbnails/15.jpg)
15
Focus is mainly on Presentation layer. Targeted platforms:
◦ Java◦ Android◦ Windows Mobile◦ Windows Desktop
Transformation
![Page 16: Mihir Daptardar Software Engineering 577b Center for Systems and Software Engineering (CSSE) Viterbi School of Engineering 1.](https://reader035.fdocuments.us/reader035/viewer/2022081519/56649e735503460f94b726f0/html5/thumbnails/16.jpg)
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: Mihir Daptardar Software Engineering 577b Center for Systems and Software Engineering (CSSE) Viterbi School of Engineering 1.](https://reader035.fdocuments.us/reader035/viewer/2022081519/56649e735503460f94b726f0/html5/thumbnails/17.jpg)
17
Example: Android
![Page 18: Mihir Daptardar Software Engineering 577b Center for Systems and Software Engineering (CSSE) Viterbi School of Engineering 1.](https://reader035.fdocuments.us/reader035/viewer/2022081519/56649e735503460f94b726f0/html5/thumbnails/18.jpg)
18
Example: Windows Mobile
![Page 19: Mihir Daptardar Software Engineering 577b Center for Systems and Software Engineering (CSSE) Viterbi School of Engineering 1.](https://reader035.fdocuments.us/reader035/viewer/2022081519/56649e735503460f94b726f0/html5/thumbnails/19.jpg)
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: Mihir Daptardar Software Engineering 577b Center for Systems and Software Engineering (CSSE) Viterbi School of Engineering 1.](https://reader035.fdocuments.us/reader035/viewer/2022081519/56649e735503460f94b726f0/html5/thumbnails/20.jpg)
20
Top Level Elements
![Page 21: Mihir Daptardar Software Engineering 577b Center for Systems and Software Engineering (CSSE) Viterbi School of Engineering 1.](https://reader035.fdocuments.us/reader035/viewer/2022081519/56649e735503460f94b726f0/html5/thumbnails/21.jpg)
21
Container: Example
![Page 22: Mihir Daptardar Software Engineering 577b Center for Systems and Software Engineering (CSSE) Viterbi School of Engineering 1.](https://reader035.fdocuments.us/reader035/viewer/2022081519/56649e735503460f94b726f0/html5/thumbnails/22.jpg)
22
GUI Code Generated
![Page 23: Mihir Daptardar Software Engineering 577b Center for Systems and Software Engineering (CSSE) Viterbi School of Engineering 1.](https://reader035.fdocuments.us/reader035/viewer/2022081519/56649e735503460f94b726f0/html5/thumbnails/23.jpg)
23
View on phone
Step 1
Step 2
Step 3
Step 4
![Page 24: Mihir Daptardar Software Engineering 577b Center for Systems and Software Engineering (CSSE) Viterbi School of Engineering 1.](https://reader035.fdocuments.us/reader035/viewer/2022081519/56649e735503460f94b726f0/html5/thumbnails/24.jpg)
24
Statistics
![Page 25: Mihir Daptardar Software Engineering 577b Center for Systems and Software Engineering (CSSE) Viterbi School of Engineering 1.](https://reader035.fdocuments.us/reader035/viewer/2022081519/56649e735503460f94b726f0/html5/thumbnails/25.jpg)
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: Mihir Daptardar Software Engineering 577b Center for Systems and Software Engineering (CSSE) Viterbi School of Engineering 1.](https://reader035.fdocuments.us/reader035/viewer/2022081519/56649e735503460f94b726f0/html5/thumbnails/26.jpg)
26
This not just applies to environment but also applies to programming
REUSE, REDUCE, RECYCLE
![Page 27: Mihir Daptardar Software Engineering 577b Center for Systems and Software Engineering (CSSE) Viterbi School of Engineering 1.](https://reader035.fdocuments.us/reader035/viewer/2022081519/56649e735503460f94b726f0/html5/thumbnails/27.jpg)
27
Questions?
GOOD LUCK EVERYONE!
![Page 28: Mihir Daptardar Software Engineering 577b Center for Systems and Software Engineering (CSSE) Viterbi School of Engineering 1.](https://reader035.fdocuments.us/reader035/viewer/2022081519/56649e735503460f94b726f0/html5/thumbnails/28.jpg)
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