Top Banner
On Developing Service- On Developing Service- Oriented Web Applications Oriented Web Applications Sabah Al-Fedaghi Sabah Al-Fedaghi Computer Engineering Department Computer Engineering Department Kuwait University Kuwait University
27

On Developing Service-Oriented Web Applications Sabah Al-Fedaghi Computer Engineering Department Kuwait University.

Mar 27, 2015

Download

Documents

Cole Young
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: On Developing Service-Oriented Web Applications Sabah Al-Fedaghi Computer Engineering Department Kuwait University.

On Developing Service-Oriented Web On Developing Service-Oriented Web ApplicationsApplications

Sabah Al-FedaghiSabah Al-Fedaghi

Computer Engineering DepartmentComputer Engineering DepartmentKuwait UniversityKuwait University

Page 2: On Developing Service-Oriented Web Applications Sabah Al-Fedaghi Computer Engineering Department Kuwait University.

One approach to developing service-oriented Web One approach to developing service-oriented Web applications is to transform high-level business models applications is to transform high-level business models to a composition language that implements business to a composition language that implements business processes with Web services. Object-oriented analysis processes with Web services. Object-oriented analysis and design and UML-based diagrams are typically used and design and UML-based diagrams are typically used in the software development process.  in the software development process.  

““Object-oriented and component based development… Object-oriented and component based development… cannot be blindly applied to [service-oriented cannot be blindly applied to [service-oriented architecture] and Web services as they do not address architecture] and Web services as they do not address the key elements of [service-oriented architecture]: the key elements of [service-oriented architecture]: services, services, flows of informationflows of information and components realizing and components realizing services ... services ... One of the main challenges in the One of the main challenges in the development of Services Oriented systems is the development of Services Oriented systems is the provision of methodologies that support the provision of methodologies that support the specification and design of compositions of servicesspecification and design of compositions of services.” .” Papazoglou and colleagues [2009]Papazoglou and colleagues [2009]

Page 3: On Developing Service-Oriented Web Applications Sabah Al-Fedaghi Computer Engineering Department Kuwait University.

In this paper we propose a flow-based approach In this paper we propose a flow-based approach to software development in service-oriented to software development in service-oriented applications. applications.

Flow-based conceptual models can reflect high-Flow-based conceptual models can reflect high-level design components of Web service and level design components of Web service and e-business solutions produced early in the e-business solutions produced early in the application development lifecycle. application development lifecycle.

The models can be utilized by business The models can be utilized by business managers and analysts to trace managers and analysts to trace transformations to models used by software transformations to models used by software developersdevelopers. .

They also provide a means of communication to They also provide a means of communication to promote collaboration and standardization. promote collaboration and standardization.

Page 4: On Developing Service-Oriented Web Applications Sabah Al-Fedaghi Computer Engineering Department Kuwait University.

A high level business modelA high level business model

Web applications require a Web applications require a comprehensive approach comprehensive approach that embraces many aspects, including technical, that embraces many aspects, including technical, organizational, and legal/philosophical dimensions. organizational, and legal/philosophical dimensions. Hence, Hence, information processing methodsinformation processing methods, techniques, , techniques, and tools have been and tools have been extendedextended to support to support developingdeveloping applications of this kind, e.g., Object Oriented Web applications of this kind, e.g., Object Oriented Web Solutions. Solutions.

Conceptual modeling methods have been utilized to Conceptual modeling methods have been utilized to abstractly describe requirements for software abstractly describe requirements for software development processes for the Web. For example, development processes for the Web. For example, use cases and scenarios are applied to model use cases and scenarios are applied to model functional requirements. functional requirements.

Page 5: On Developing Service-Oriented Web Applications Sabah Al-Fedaghi Computer Engineering Department Kuwait University.

Motivating exampleMotivating example

De Castro De Castro et al.et al. [2007] defined [2007] defined a method for a method for development of service-oriented Web development of service-oriented Web applicationsapplications that starts “from a high level that starts “from a high level business model … that simplif[ies] the mapping business model … that simplif[ies] the mapping to a specific web service technology.” to a specific web service technology.”

The method utilizes “The method utilizes “extended use casesextended use cases”' to ”' to arrive at the Service Process Model.arrive at the Service Process Model.

EclipseCon [2009] illustrates the methodology in EclipseCon [2009] illustrates the methodology in modeling a conference management system modeling a conference management system that includes three different services: submit an that includes three different services: submit an article, display submitted articles, and edit the article, display submitted articles, and edit the data of an author, in addition to log-in or data of an author, in addition to log-in or registration services. registration services.

Page 6: On Developing Service-Oriented Web Applications Sabah Al-Fedaghi Computer Engineering Department Kuwait University.

The model utilizes “use case overview.” The model utilizes “use case overview.” It contains <<include>>, which indicates that the It contains <<include>>, which indicates that the

behavior of the included use case is inserted into the behavior of the included use case is inserted into the one including it, and <<extend>>, which specifies one including it, and <<extend>>, which specifies how and when the behavior defined in the extended how and when the behavior defined in the extended use case can be inserted into that behavior. The use case can be inserted into that behavior. The Service Process Model was then developed. “Each Service Process Model was then developed. “Each complex service identified in the previous model is complex service identified in the previous model is mapped to an activity, while the basic services that it mapped to an activity, while the basic services that it uses are represented as service activities” [Vara uses are represented as service activities” [Vara Mesa, 2009].Mesa, 2009].

According to Vara Mesa [2009], a business service is According to Vara Mesa [2009], a business service is defined “as a complex functionality offered by the defined “as a complex functionality offered by the system, which satisfies a specific need of the system, which satisfies a specific need of the consumer.”consumer.”

Page 7: On Developing Service-Oriented Web Applications Sabah Al-Fedaghi Computer Engineering Department Kuwait University.

<<include>>

<<include>><<include>>

<<extend>><<extend>>

Submit article

Log-in

Edit author data

View submitted articles

Download file

Register article dataView article data

View article online

Author

Register

Figure 1. Use Case Overview, partial view from [EclipseCon]

<<include>>

Page 8: On Developing Service-Oriented Web Applications Sabah Al-Fedaghi Computer Engineering Department Kuwait University.

This type of modeling contains conceptually arbitrary This type of modeling contains conceptually arbitrary services. The author (a person) is directly connected services. The author (a person) is directly connected to services “Submit to services “Submit articlearticle,” “View submitted ,” “View submitted articlesarticles,” ,” and “Edit and “Edit author dataauthor data.” The connection seems to .” The connection seems to mean that these three services are available to mean that these three services are available to authors. authors.

Nevertheless, “availability” is not a notion that should Nevertheless, “availability” is not a notion that should guide the classification of services at this level. The guide the classification of services at this level. The modeling should be guided by a conceptual modeling should be guided by a conceptual hierarchy of relationships of services. “Submit hierarchy of relationships of services. “Submit article” and “View submitted articles“ are article-article” and “View submitted articles“ are article-related services, while “Edit author data” is related to related services, while “Edit author data” is related to a different a different artifactartifact (to be explained later). (to be explained later).

Page 9: On Developing Service-Oriented Web Applications Sabah Al-Fedaghi Computer Engineering Department Kuwait University.

Our methodology, involves a Our methodology, involves a flowflow of artifacts of artifacts such such as as articlesarticles and and author dataauthor data. In this case, the first . In this case, the first level relationship ought to be between authors level relationship ought to be between authors and and conference serviceconference service and contain and contain article article serviceservice and and author data serviceauthor data service. .

Furthermore, the relationships between the three Furthermore, the relationships between the three services and “services and “Log-inLog-in” appear odd depicted at the ” appear odd depicted at the same level in the conceptual picture. “Log-in” is same level in the conceptual picture. “Log-in” is a separate service that facilitates “entering” the a separate service that facilitates “entering” the services area, but in the figure it is modeled like services area, but in the figure it is modeled like any other service. any other service.

The UML Activity diagram of the example also The UML Activity diagram of the example also reflects conceptual vagueness. It mixes services reflects conceptual vagueness. It mixes services (e.g., “(e.g., “Edit author dataEdit author data”), and other procedural ”), and other procedural activities such as activities such as downloading of filesdownloading of files. .

Page 10: On Developing Service-Oriented Web Applications Sabah Al-Fedaghi Computer Engineering Department Kuwait University.

Flowthings Model (FM)Flowthings Model (FM) In FM, the flow of In FM, the flow of flowthingsflowthings indicates movement indicates movement

inside and between spheres. The inside and between spheres. The spheresphere is the is the environment of the flow and includes environment of the flow and includes five stagesfive stages. The . The stages may be named differently; for example, in an stages may be named differently; for example, in an information sphere, a stage may be called information sphere, a stage may be called communicationcommunication, while in another flowthing sphere, the , while in another flowthing sphere, the same stage is called same stage is called transferring, transporting, transferring, transporting, etc. etc.

FM is a uniform method to represent FM is a uniform method to represent things that flowthings that flow. . ““Things that flow” include information, materials (e.g., Things that flow” include information, materials (e.g.,

manufacturing), money, etc. In economics, “goods” manufacturing), money, etc. In economics, “goods” can be viewed as flowthings that are received, can be viewed as flowthings that are received, processed, manufactured (created), released, and processed, manufactured (created), released, and transported. Information is another type of flowthing transported. Information is another type of flowthing that is received, processed, created, released, and that is received, processed, created, released, and communicated. communicated.

Page 11: On Developing Service-Oriented Web Applications Sabah Al-Fedaghi Computer Engineering Department Kuwait University.

Created

Received

DisclosedProcessed Transferred

States of flow

Page 12: On Developing Service-Oriented Web Applications Sabah Al-Fedaghi Computer Engineering Department Kuwait University.

Created

Received

DisclosedProcessed Transferred

Triggering another type of flow

Page 13: On Developing Service-Oriented Web Applications Sabah Al-Fedaghi Computer Engineering Department Kuwait University.

Arrival at airport Processing, e.g., passports

(Waiting for) Boarding Flying

Flow of persons in a travel system.

Receiving material

Processing Manufacturing goods

Inventory Transporting

Materials flow in a manufacturing system.

Figure 3. Sample flow systems.

Receiving

informationProcessing

(e.g., mining)

Creating

Knowledge

Releasing Communication

Information flow in an information system.

Page 14: On Developing Service-Oriented Web Applications Sabah Al-Fedaghi Computer Engineering Department Kuwait University.

Created

Received

Disclosed ProcessedCommunicated

Created

Received

DisclosedProcessed Communicated

CreatedReceived Disclosed

Processed

Communicated

Page 15: On Developing Service-Oriented Web Applications Sabah Al-Fedaghi Computer Engineering Department Kuwait University.

Developing Service-Oriented Web ServicesDeveloping Service-Oriented Web Services

The flow model is unique in the sense that it can be used The flow model is unique in the sense that it can be used to capture core “to capture core “information flowsinformation flows” and their triggering ” and their triggering relationships, in contrast to other conceptual models relationships, in contrast to other conceptual models based on based on information entities/relationships information entities/relationships such as the such as the Entity-Relationship Model and UML-based conceptual Entity-Relationship Model and UML-based conceptual model. model.

The fundamental concept of entities/relationships models The fundamental concept of entities/relationships models is centered on entities and relationships: entity types, is centered on entities and relationships: entity types, properties, entity instances participating in relationships, properties, entity instances participating in relationships, entity sets, instances of relationship types, relationship entity sets, instances of relationship types, relationship sets, etc. sets, etc.

Page 16: On Developing Service-Oriented Web Applications Sabah Al-Fedaghi Computer Engineering Department Kuwait University.

Customer Supplier

(2)makePayments

(1)orderGoods

Typical representation.

Page 17: On Developing Service-Oriented Web Applications Sabah Al-Fedaghi Computer Engineering Department Kuwait University.

Customer Supplier

Orders flow

Invoice

flow

Money flow

Process

Receive

Release

CreateTransfer

Release

Create

Receive

Receive

Transfer

Transfer

Transfer

Transfer

Transfer

Receive

Release

Create

Money flow

Invoice

flow

Orders flow

Flow model description of a sample customer / supplier transaction.

Page 18: On Developing Service-Oriented Web Applications Sabah Al-Fedaghi Computer Engineering Department Kuwait University.

The flow model uses The flow model uses flow of flowthingsflow of flowthings as a as a fundamental notion. “Flows” are first identified, even fundamental notion. “Flows” are first identified, even before specifying the structure of flowthings and their before specifying the structure of flowthings and their relationship. relationship.

This seems to be a common sense approach, just as in This seems to be a common sense approach, just as in solving a problem, an agent examines the “streams” solving a problem, an agent examines the “streams” that lead to the solution. This is most clear in certain that lead to the solution. This is most clear in certain applications:applications:

- Before deciding who is traveling, a travel agent searches - Before deciding who is traveling, a travel agent searches for a route from city of departure to city of arrival.for a route from city of departure to city of arrival.

- Before identifying product or customer details, a Web - Before identifying product or customer details, a Web sales agent determines ways of delivery, e.g., only sales agent determines ways of delivery, e.g., only within North America.within North America.

- Before targeting an enemy post, a pilot examines the - Before targeting an enemy post, a pilot examines the flight route.flight route.

Page 19: On Developing Service-Oriented Web Applications Sabah Al-Fedaghi Computer Engineering Department Kuwait University.

Entities/relationships-based models obstruct early Entities/relationships-based models obstruct early phases of conceptualizing this stream. The mere phases of conceptualizing this stream. The mere concept of an entity is usually manifested in concept of an entity is usually manifested in different forms in preparation for mapping, different forms in preparation for mapping, representation, and binding: objects amenable representation, and binding: objects amenable to implementing, transformation into flows (e.g., to implementing, transformation into flows (e.g., XML streams), conversion into in-memory XML streams), conversion into in-memory structures (e.g., lists), etc. structures (e.g., lists), etc.

Object-oriented methodologies have introduced an Object-oriented methodologies have introduced an additional abstraction layer for entities.additional abstraction layer for entities.

Still, entities precede, conceptually, the flow of Still, entities precede, conceptually, the flow of

flowthings. In this methodology, solving the flowthings. In this methodology, solving the problem of traveling from Chicago to Lhasa, in problem of traveling from Chicago to Lhasa, in Tibet, starts with the details of travelers and their Tibet, starts with the details of travelers and their relationships before the path between the two relationships before the path between the two cities is checked. cities is checked.

Page 20: On Developing Service-Oriented Web Applications Sabah Al-Fedaghi Computer Engineering Department Kuwait University.

Reconsidering the conference management systemReconsidering the conference management system

Viewing it from the perspective of flowthings, four types of Viewing it from the perspective of flowthings, four types of services can be identified: services can be identified:

ManuscripManuscript service: This service provides uploading, t service: This service provides uploading, viewing, and editing of viewing, and editing of manuscriptsmanuscripts. .

Manuscript recordManuscript record service: This service allows creation service: This service allows creation of a manuscript record (information about a manuscript of a manuscript record (information about a manuscript such as title, number of words, etc.) and viewing and such as title, number of words, etc.) and viewing and editing of editing of manuscript recordsmanuscript records. .

Author recordAuthor record service: This service allows creation of an service: This service allows creation of an author record author record (information about author, such as name, (information about author, such as name, affiliation, etc.) and viewing and editing of authors’ affiliation, etc.) and viewing and editing of authors’ records.records.

Service requestService request service: This service allows selection of service: This service allows selection of an available an available serviceservice..

Page 21: On Developing Service-Oriented Web Applications Sabah Al-Fedaghi Computer Engineering Department Kuwait University.

<<include>>

<<include>><<include>>

<<extend>><<extend>>

Submit article

Log-in

Edit author data

View submitted articles

Download file

Register article dataView article data

View article online

Author

Register

Figure 1. Use Case Overview, partial view from [EclipseCon]

<<include>>

Page 22: On Developing Service-Oriented Web Applications Sabah Al-Fedaghi Computer Engineering Department Kuwait University.

Services are identified by their flowthings: Services are identified by their flowthings: manuscriptsmanuscripts, , manuscript recordsmanuscript records, , author recordsauthor records, and , and service service requestsrequests. .

In the flow model, the In the flow model, the “object” (flowthing) flow “object” (flowthing) flow forms a forms a nucleus of classification and hierarchy of that nucleus of classification and hierarchy of that classification. classification.

This is analogous to common conceptualization such as, This is analogous to common conceptualization such as, for example, a pharmacy providing services related to for example, a pharmacy providing services related to medicinemedicine flow, and a factory providing services related flow, and a factory providing services related to its to its productsproducts flow. flow.

Similarly, a “Similarly, a “manuscriptmanuscript service” in our scheme is a service” in our scheme is a category that appears before descriptions of different category that appears before descriptions of different types of processes included in this service. types of processes included in this service.

Page 23: On Developing Service-Oriented Web Applications Sabah Al-Fedaghi Computer Engineering Department Kuwait University.

Identifying flowthings leads to identifying services, and it also Identifying flowthings leads to identifying services, and it also leads to specifications of flows. Each type of service is a leads to specifications of flows. Each type of service is a realization of flows starting from the flow of requests for that realization of flows starting from the flow of requests for that service. A “new manuscript service” request can be mapped service. A “new manuscript service” request can be mapped as shown in Figure 7, leading to the following actions:as shown in Figure 7, leading to the following actions:

ReceivingReceiving, and , and processingprocessing a a requestrequest,, Triggering a Triggering a manuscriptmanuscript service that includes service that includes ReceivingReceiving a a manuscriptmanuscript,, Triggering a Triggering a manuscriptmanuscript record service that includes record service that includes CreatingCreating a a manuscriptmanuscript record. record. A service is a flow that receives, processes, creates, releases, A service is a flow that receives, processes, creates, releases,

and communicates flowthings. Flowthings change their states and communicates flowthings. Flowthings change their states according to the stages of the flow model. This is in line with according to the stages of the flow model. This is in line with Hill’s [1977] definition of services as “a change in condition or Hill’s [1977] definition of services as “a change in condition or state of an economic entity (or thing) caused by another.”state of an economic entity (or thing) caused by another.”

  

Page 24: On Developing Service-Oriented Web Applications Sabah Al-Fedaghi Computer Engineering Department Kuwait University.

A conceptual description of this example is given in A conceptual description of this example is given in Figure 8. The figure includes four flows. It can be used to Figure 8. The figure includes four flows. It can be used to specify procedures such as the one described above for specify procedures such as the one described above for “new manuscript service.” The numbers in circles identify “new manuscript service.” The numbers in circles identify triggering points. For example, upon receiving a service triggering points. For example, upon receiving a service request:request:

If the service request is for new manuscript then (1) is If the service request is for new manuscript then (1) is activated, else (2) is activated.activated, else (2) is activated.

Page 25: On Developing Service-Oriented Web Applications Sabah Al-Fedaghi Computer Engineering Department Kuwait University.

Requests for service

Receive a Request of a service for new manuscript

Service for new manuscript

Process the request for a service for new manuscript

Receive new manuscript

Service for manuscript recordCreate manuscript record

Requests

flow

Manuscripts flow

Manuscript records flow

Triggers

Triggers

Figure 7. A service request is a realization of flows.

Page 26: On Developing Service-Oriented Web Applications Sabah Al-Fedaghi Computer Engineering Department Kuwait University.

Service request

flow

Receive

Process

- Manuscript service

New?: triggers 1

Old?: triggers 2

- Manuscript Record

New?: triggers 3

Old?: triggers 4

- Author’s record service:

New?: triggers 5

Old?: triggers 6

Manuscript flow

Receive

1 - Uploading

2 - triggers

Process

1. View

2. Edit

1

2

Manuscript record flow

Process

1. Register

2. View

3. EditCreate

3

4

Author’s record flow

Process

1. Register

2. View

3. Edit

4. Recover password

Create 5

6

Figure 8. Flow-based conceptual description of the of a conference management system

Page 27: On Developing Service-Oriented Web Applications Sabah Al-Fedaghi Computer Engineering Department Kuwait University.

CONCLUSIONCONCLUSION

In this paper discusses the development of business In this paper discusses the development of business processes through introduction of a conceptual model processes through introduction of a conceptual model as a foundation for designing “Web services” based on as a foundation for designing “Web services” based on information flow. information flow.

We first scrutinize current modeling used in We first scrutinize current modeling used in transformation methodologies, then introduce a flow-transformation methodologies, then introduce a flow-based conceptual description of services through a based conceptual description of services through a case study with a high-level business description.case study with a high-level business description.

Flow-based conceptual models can reflect high-level Flow-based conceptual models can reflect high-level design components of Web service and e-business design components of Web service and e-business solutions produced early in the application solutions produced early in the application development lifecycle. development lifecycle.

It can be utilized by business managers and analysts to It can be utilized by business managers and analysts to trace transformations to models used by software trace transformations to models used by software developers. developers.

It also can provide a means of communication to It also can provide a means of communication to promote collaboration and standardizationpromote collaboration and standardization ..