Вы находитесь на странице: 1из 9

JOURNAL OF COMPUTING, VOLUME 3, ISSUE 2, FEBRUARY 2011, ISSN 2151-9617

HTTPS://SITES.GOOGLE.COM/SITE/JOURNALOFCOMPUTING/
WWW.JOURNALOFCOMPUTING.ORG 90

Introducing a New Model for Web Services


Composition Using Deputy Servers
A. Andalib, S. Mohammadi, and M. Mahdavi

Abstract—The latest presented technology for web is “Web Services”. The web services are the applicable programs that are
accessible via web, by human being and other programs, independent from programming language. Moreover, they can be
located and invoked through web. Nowadays, the main usage of World Wide Web is to have an interactive access to the
documents and applicable programs. Web services (also called simply services) are self-describing, platform-agnostic
computational elements that support rapid, lowcost and easy composition of loosely coupled distributed applications. From a
technical standpoint, Web services are modular applications that can be described, published, located, invoked and composed
over a variety of networks (including the Internet): any piece of code and any application component deployed on a system can
be wrapped and transformed into a network-available service, by using standard (XML-based) languages and protocols (e.g.,
WSDL, SOAP, etc.). The promise of Web services is to enable the composition of new distributed applications/solutions: when
no available service can satisfy a client request, (parts of) available services can. If the web develops in order to support the
links between Web Services, it will considerably improve in terms of range and power.Our research is concerned with
developing an efficient model for composing web services.Our goal is to enhance the potential of web services by focusing on
new aspects of their composition by using of deputy servers.

Index Terms— SOA, Web Service, Xml, SOAP, WSDL, HTTP, UDDI, XML-RPC, Orchestration, Choreography, Deputy Server

——————————  ——————————

1 INTRODUCTION

U ndoubtedly, Web is one of the most significant tech-


nologies in the last decade that provides a wide in-
formation publication and has made it possible to
and basic services of organizations are available in the
form of Web services through their portal for their visit-
ing users. Ease of service combination and combined con-
present services via computers in the whole world. Also, struction of service applications is discussed as basic a
it is considered as one of the main factors of entering feature in service oriented architecture. With improve-
computers to the daily life of humans [1]. ment of web services and development of their usage, the
The World Wide Web was proposed by Tim Berners- new concepts regarding the combination of simple servic-
Lee in 1989 in order to publish the web pages and make es to make a complicated one, have been raised.
links between them and it has unbelievably expanded The purpose of this paper is to emphasis on the fun-
during these years [2]. Development of providing services damental concepts of Service Oriented Architecture
by institutions and organizations via internet has in- (SOA), the requirements of applying the web services in
creased the demand for commercial interactions and links order to achieve a more valuable goal and description of
(especially Business to Business-B2B interactions) and the the structures and rules of these services. Then we explain
new technologies like web services are presented to make current solutions for compositing web services to achieve
these links. Web services, are web based applicable pro- this goal and finally we introduce a new model for im-
grams that could be established or invoked independent- proving implicit methods.
ly by software or other services [4]. Service Oriented Ar-
chitecture (SOA), has facilitated the procedure of flexible
2 SERVICE ORIENTED ARCHITECTURE
and loosely coupled programming, hence this architec-
ture as a fundamental factor for interoperability will be SOA is a style of architecture that supports Loose Coupl-
discussed. Major organizations recently tend to utilize the ing for more flexibility and interaction of commercial
service oriented applications instead of simple applica- processes, independent from the technology. It is estab-
tions, also portals for agencies and organizations provid- lished from the combination of commercial services’ col-
ing their services in the form of Web services, allows us- lections that provide dynamic configuration with more
ers to experience quick and easy to use services provided flexibility for the processes [5].
by organizations, through the Internet. Infact the main SOA has existed from 90 decades, so it is not a new
concept but the ability of implementation and perfor-
———————————————— mance of it with related tools and protocols is the new
 A.Andalib – Department of Information Technology, International Cam- one. This style of architecture can be applied for making
pus, University of Guilan, Rasht, Guilan, Iran. software that uses the published services in one network,
 S.Mohammadi–K.N.Toosi University of Technology,Tehran, Iran. such as Web [6]. Thus, the Web services are the origin of
 M.Mahdavi– Departmant of Computer Science and Engineering. Universi-
ty of Guilan, Rasht, Guilan, Iran. a fundamental technology that make the commercial
models capable of moving from B2C (Business to Cus-
tomer) to B2B (Business to Business) position that their
JOURNAL OF COMPUTING, VOLUME 3, ISSUE 2, FEBRUARY 2011, ISSN 2151-9617
HTTPS://SITES.GOOGLE.COM/SITE/JOURNALOFCOMPUTING/
WWW.JOURNALOFCOMPUTING.ORG 91

significance are palpable, especially for complicated vided standards while combining ability determine the
commercial transactions. design services grain, and functionality, in a way that can
Usually, the SOA and Web services are used instead of make a macro service combination from other established
each other by mistake. Infact the Web services should be services.
considered as the one that makes the SOA happen [6]. Services autonomy: Each service has its logic and busi-
The advantage of applying SOA by using Web services is ness data fields that determine its function, this area is
its capability of performing independently from the plat- clear. Although service use each other’s functionalities
form and the ability of more cooperation with other ser- (otherwise reuse capability will not have meaning), but
vices. In general, SOA is a collection of rules, patterns and do not have strong dependence on each other and each of
criteria in production and development of softwares and them has their specific functions and logic. This principle
organization’s processes that cause to the product’s capa- issue emphasizes that a service should be able to change
bilities like Reusing, Modularity, Loose Coupling and its internal implementation or develop that without hav-
independent from the platform [15]. ing to get the required work permission or to change oth-
er services [21]. One of the benefits of service oriented
TABLE 1 architecture is its flexibility in a way that a service can
THE COMPARISON BETWEEN SOA AND FORMER APPROACH change its implementation or call new provider of its
needed services, without permission or need to change
the environment or the participants.
Loose Coupling: Loose Coupling is a characteristic for
data systems that the interfaces between the parts (mod-
ules) are designed to have the minimum dependence be-
tween them. Therefore, it decreases the risk of affecting
the other parts by changing one part. In SOA, Loose
Coupling refers to the ability of interaction between the
services independent from the coding and place of servic-
2.1 SOA Principles es [9]; in a way that the services can change their place
The ability of reuse: Essentially, services are designed for while they are performing, they can change their internal
reuse, whether this is operating under use in the present procedures or even can use a newer technology with no
or future. This is done by applying standards indepen- negative impact on users [23]. There are some considera-
dent of technology and separation of service implementa- ble tips in the definition of Loose Coupling such as; this
tion from interface [21]. There are different types of ser- coupling performs by system interface, the connection is
vices, some of them are combination of other services via sending message, all the parties in the connection area
having a lot of calls while other group of services, such as should use a same module of data and finally, the connec-
basic services (primary services) have full autonomy and tion should be independent from the platform and the
do not call other services. implementation technology of each part [6].
Formal contract for the engagement: Services that need
TABLE 2
to interact with each other, should define and publish the
THE COMPARISON BETWEEN FIRM COUPLING AND LOOSE
rules about how this relationship and coordination COUPLING
should move on. The contract includes at least the name
and address definition of the service, operations, input
and output messages for each operation and type of data.
Since the only way of understanding a service requester is
defined in the contract, the server must pay attention to
defined instances, such as complete and accurate informa-
tion definition, data management, maintenance and dis-
semination.
Hiding the internal implementation: The only part of the
service, which is visible to participants and environments,
is the service interface under which the contract form is
published. The implementation of operations is hidden Without condition (state) services: Services should not
for the environment and even it’s possible to change record any of current status or conditions, because they
without client notice or to use new technology without are reusable unit that are used by different participants
defining or changing service interfaces. In fact, what the and perform a specific operation. Control and recording
environment of a service knows is "what" and not "how", of mode and tasks sequence will be done elsewhere (Ex.
so that the services are as a black box that can hide its Centre Orchestration).
internal details [21]. The ability to identification and detection: Interface con-
Combining Ability: Services use each other, thus differ- tract of service usage must have the potentiality to be
ent services grain and reuse capabilities are created. This identified and detected by participants and all the factors
is to some extent similar to reuse ability [22] with the dif- allowed to be used. One of the Advantages of Service
ference that reuse emphasizes on equipment and pro- Oriented Architecture is capabilities of questing between
JOURNAL OF COMPUTING, VOLUME 3, ISSUE 2, FEBRUARY 2011, ISSN 2151-9617
HTTPS://SITES.GOOGLE.COM/SITE/JOURNALOFCOMPUTING/
WWW.JOURNALOFCOMPUTING.ORG 92

providers of a particular service and selecting the best 4 ARCHITECTURE OF WEB SERVICES
among them based on service quality and other criterions.
There are two ways to view the Web service architecture.
The first is to peruse the roles of each Web service actor
and the second is to peruse the Web service protocol
3 INTRODUCTION TO WEB SERVICES stack.
Every service that is accessible via Internet, uses the mes-
sage transferring system based on the XML (Extensible
4.1 Web Service Roles
Markup Language) standards and does not depend on an Web services roles can be divided in three parts. The first
operating system or a programming language is a Web role is about Service provider who is the provider of the
service [7]. Web service. The service provider implements the service
The World Wide Web Consortium which is the presti- and makes it available on the Internet.The second role is
gious reference in Web, defines the Web services as fol- about Service requester. This is any consumer of the Web
lows: "a Web service is a software system that is designed service. The requestor utilizes an existing Web service by
to protect machine to machine interactions on a network opening a network connection and sending an XML re-
and have a definition which is processed by a machine quest. Finally third role is about Service registry. It is a
called WSDL (Web Services Description Language). This logically centralized directory of services [7]. This registry
service has an interface that is presented as an unders- is a central place where developers can publish new ser-
tandable language for the machine. The other systems vices or find existing services. It therefore serves as a cen-
make connection with this service by the method which is tralized clearinghouse for companies and their services.
defined in this interface, and through sending message" Fig.1. shows the major Web service roles and how they
[8]. In other words, a Web service is a software service
that is realized with a URL (Uniform Resource Locator)
and its public interfaces are described and identified by
using XML.
Generally speaking, using Web services can cause a
general advantage which is no need to coding again. Al-
though, this advantage is for using the classes too, but in
using the classes in every project they need to be added,
while in Web services the methods can be applied. By
working with classes in various applications with several interact with each other.
methods, it is possible to work with different classes. In Fig. 1. Web Service Roles
other words, the work that is done is different in every
time which reduces the legibility and also makes the de-
The provider of service makes or proposes the service
velopment difficult. But, by using Web service, every time
and needs to describe the Web service in a standard for-
an especial Web service according to a specific Web ser-
mat (usually XML). Then, issue it in a central storage. The
vice’s method is used, regardless of being in any applica-
storage includes more information about the service pro-
tion [7].
vider, such as address, contact number of company (pro-
vider) and the technical details about the service. The user
3.1 Two Additional and desirable Properties of a
of service detects the data from the storage and applies
Web Service, although they are not necessary
the described service to connect and invoke.
First property is that a Web service should be discovera- When a service provider decides to issue its service, at
ble. If we create a Web service, there should be a relative- first a file for Web Services Describing Language (WSDL)
ly simple method for us to publish it. Also, there should should be established [5] to be able to describe its Web
be some simple methods whereby interested parties can services with Simple Object Access Protocol (SOAP) in-
find the service and locate its public interface. The exact terpreter help [10]. Then, the service will be recorded in
mechanism could be via a completely decentralized sys- Universal Description, Discovery and Integration (UDDI)
tem or a more logically centralized registry system. storage and remains to be invoked [5]. At this stage, the
Second property is that a Web service should be self- UDDI storage contains all the essential information for
describing. If we publish a new Web service, we should identifying a Web service by using the URL that refers to
also publish a public interface for it. At a minimum, your the WSDL file corresponding with that service. Once a
service should include human-readable documentation, service applicator searches the UDDI storage and realizes
so that other developers can easily integrate your service. that a certain Web service is the most suitable one for
If we have generated a SOAP service, we should also his/her need, the WSDL file of the service can be down-
ideally include a public interface written in a common loaded and can be used to produce the required messages
XML grammar. This grammar can be used to identify all to connect with the desired Web service by using the
public methods, method arguments, and return values. SOAP interpreter [11].

4.2 Web Service Protocol Stack


A second option for viewing the web service architecture
JOURNAL OF COMPUTING, VOLUME 3, ISSUE 2, FEBRUARY 2011, ISSN 2151-9617
HTTPS://SITES.GOOGLE.COM/SITE/JOURNALOFCOMPUTING/
WWW.JOURNALOFCOMPUTING.ORG 93

is to peruse the Web service protocol stack. The protocol 5.3 Reliable HTTP (HTTP-R)
stack is still evolving, but currently there are four main Reliable HTTP (HTTP-R) is another promising alternative
layers. Following is a description of each layer. to HTTP. IBM has developed HTTP-R and plans to sub-
mit its proposal to the Internet Engineering Task Force
5 SERVICE TRANSPORT LAYER (IETF). HTTP-R helps HTTP to warrant message reliabili-
ty. For example, HTTP-R warrants that a message gets
The bottom of the Web service protocol stack is service reported as undeliverable or gets delivered only once.
transport layer. This layer is responsible for transporting This is chiefly important for e-commerce services, like as
messages between different applications. Currently, this inventory management and electronic ordering systems.
layer includes hypertext transfer protocol (HTTP), Simple
Mail Transfer Protocol (SMTP), file transfer protocol
(FTP), and newer protocols, such as Blocks Extensible 6 XML MESSAGING LAYER
Exchange Protocol (BEEP).we will explain the most im- The responsibility of this layer is to encode messages in a
portant of them in following. common XML format. So easy understanding of messages
can occur at either end. Currently, this layer contains
5.1 Hypertext Transfer Protocol (HTTP) XML-RPC and SOAP. In recent years XML has exploded
Currently, HTTP is the most popular option for service onto the computing domain. It has gained rapid accep-
transport layer. HTTP is stable, simple, and widely dep- tance because it enables diverse computer systems to easy
loyed. Forby, most firewalls allow HTTP traffic. This ca- sharing of data, regardless of programming language or
pability allows XML-RPC or SOAP messages to masque- operating system. There are several XML tools, including
rade as HTTP messages. This is good if we want to easily parsers and editors that are available for almost every
agglomerate remote applications, but it evinces to in- operating system and every programming language.
crease a number of security concerns [7]. When developers began to build a web service messaging
Nonetheless HTTP does get the job done, some critics system, a natural choice for them was XML. There are
have argued that HTTP is not idealistic for Web services. two major contenders for XML messaging: XML-RPC and
Especially, HTTP was originally designed for remote SOAP. The following sections provide descriptions of
document retrieval, and is now being reworked to sup- both protocols.
port RPCs (remote procedure calls). RPCs appeal greater
efficiency and reliability than document retrieval does. 6.1 XML-Remote Procedure Call (XML-RPC)
A simple protocol that uses XML messages to perform
5.2 Blocks Extensible Exchange Protocol (BEEP) RPCs is XML-RPC. Requests are encoded in XML and
The Blocks Extensible Exchange Protocol is one of prom- sent via HTTP POST. XML responses are embedded in
ising alternatives to HTTP. It uses to exchange the devel- the body of the HTTP responses. XML-RPC is indepen-
oped blocks. BEEP is a new IETF (Internet Engineering dent from platforms; therefore it allows communication
Task Force) framework of best practices for manufactur- between diverse applications. For example, a Java client
ing new protocols. Furthermore, BEEP is layered directly can speak XML-RPC to a Perl server. The easiest way to
on TCP and contains some built-in features, such as an get started with web services is XML-RPC. In many ways,
initial handshake protocol, authentication, security, and it is easy to adopt and simpler than SOAP. Although, un-
error management. With BEEP, we can establish new pro- like SOAP, XML-RPC hasnot any grammar for descrip-
tocols for different applications, including instant messag- tion of corresponding services. This prevents automatic
ing, content syndication, file transfer and network man- invocation of XML-RPC services which is a key ingre-
agement [7]. SOAP dose not depend on any specific dient for integrating of just-in-time application.
transport protocol. So, we can use SOAP via HTTP,
SMTP, or FTP. 6.2 Simple Object Access Protocol (SOAP)
One of promising purposes is to use SOAP over BEEP. A simple protocol based on XML, for exchanging data
It provides some performance premium over HTTP. The between the computers is SOAP and it usually is used by
important point is that BEEP does require an initial hand- the transition protocols like HTTP, HTTPS and FTP [5].
shake, but after the handshake, the protocol needs only 30 However SOAP, can be used in several messaging sys-
bytes of overhead for each message, so making it much tems, and it can be delivered via a variety of transport
more effective than HTTP. Also, BEEP countenances mul- protocols, the major focus of SOAP is RPCs transported
tiple channels of data over the same connection, getting via HTTP. SOAP is platform-independent (Like XML-
surplus efficiency over HTTP. The overhead for each RPC) and so enables diverse applications to communi-
HTTP message is dependent on numerous factors, like as cate. Moreover, SOAP is an important choice in Web ser-
the type of client used, the requested URL and the type of vices to describe the architecture of transferable messages,
information of servers returned within the HTTP answer. at the time of implementation and to invoke [16]. The
In typical browser and SOAP requests, Overhead for each message of SOAP is a documented XML for describing an
message can therefore vary from approximately 100 to operation that should be performed. The potency of
300 bytes. SOAP (as a code packer) is that the SOAP message is gen-
erally sent as a text file via HTTP and HTTPS protocols,
because it can traverse the firewalls. The methods such as
JOURNAL OF COMPUTING, VOLUME 3, ISSUE 2, FEBRUARY 2011, ISSN 2151-9617
HTTPS://SITES.GOOGLE.COM/SITE/JOURNALOFCOMPUTING/
WWW.JOURNALOFCOMPUTING.ORG 94

CORBA (Common Object Request Broker Architecture), (Application Program Interface) elaboration for searching
DCOM (Distributed Component Object Model) and RPC existing data and propagating new data. Second part
donot have this advantage. within the UDDI Business Registry is a wholly operation-
The complicacy of SOAP request is slightly more than al implementation of the UDDI specification. It Launched
the XML-RPC request. Because it uses of both XML na- by Microsoft and IBM in May 2001. The UDDI registry
mespaces and XML Schemas. However the body of the now enables anyone to seek about existing UDDI data.
SOAP request (as in XML-RPC), specifies both a method Furthermore, it enables any company to register itself and
name and a list of parameters. its services.
UDDI captured data is divided into three main catego-
ries. "White page" that includes overt information about a
7 SERVICE DESCRIPTION LAYER (WSDL)
particular company, for example business name, business
Web Services Description Language (WSDL) demon- description and address. "Yellow page" that includes en-
strates the service description layer in the Web service cyclical classification data for either the company or the
protocol stack. Currently, WSDL handles the Service de- service offered. For example, this data may contain indus-
scription. WSDL is an XML grammar to introduce a pub- try product or geographic codes based on standard tax-
lic interface for a Web service. This public interface can onomies. And "Green page" that contains technical infor-
contain information on all generic available functions, mation about a web service (a pointer to an external spe-
data type information of all XML messages, binding in- cification and an address for invoking the Web service).
formation about the especial transport protocol to be UDDI storage includes metadata that are used for ser-
used, and the specified service location address. In a nut- vice searching according to their name, ID, series, type
shell WSDL does not necessarily depend on a specific etc, and usually is known as the Web services’ core.
XML messaging system, but it does include built-in ex- Moreover, UDDI is designed in order to integrate with
tensions to describe SOAP services [12]. SOAP messages and making the WSDL documents ac-
EveryWeb service which is placed on the Internet has a cessible. The UDDI storages can be public or private. This
WSDL file that explains the characteristics, place and the storage is an organized data base of organizations, their
usage method of that service. A WSDL file represents provided services, their technical description and the
type of messages that is received or sent by the Web ser- WSDL documents for those services. UDDI can be consi-
vice. Briefly, it can be said that WSDL predicate the de- dered as a type of DNS (Domain Name System) for Web
scription of quiddity, quality and place of the Web servic- services.
es [7]. The components of WSDL are: “Type” determines
the received and sent parameters, “Message” determines
the input and output parameters and their types, “Opera-
tion” is the Web Services methods that have the input and
output messages, “Port Type” represents the collection of
operation and “Service” includes the collection of ending
points [12].
Using WSDL, a client can locate a Web service and in-
voke any of the publicly available functions. With WSDL- Fig. 2. Web Service Protocol Stack
aware tools, this process can be entirely automated,
enabling applications to easily integrate new services
with little or no manual code [17].
9 SECURITY CONSIDERATIONS
8 SERVICE DISCOVERY LAYER (UDDI) A critical sense for Web services is Security. However,
neither the XML-RPC nor SOAP specifications make any
This layer is responsible for centralizing services into an vivid security or authentication requirements. Likewise,
exoteric registry within the Web service protocol stack. It the Web services community has proposed countless se-
provides easy publish/find functionality. Currently, Uni- curity frameworks and protocols, but has yet to reach
versal Description, Discovery, and Integration (UDDI) consensus on a universal security package.Very broadly,
handles service discovery. Microsoft, IBM, and Ariba there are three specific security subjects: confidentiality,
have originally created UDDI. It represents a technical authentication, and network security.
specification for publishing and finding Web services.
Likewise, it is an instrument to propagate the details of 9.1 Confidentiality
the service provider, saved service and is an opportunity If a client sends an XML request to a server, we can not
for user of service to recognize the service provider and certify that the communication remains confidential? Both
details of Web service. The other standards can well de- SOAP and XML-RPC run primarily on top of HTTP. So
velop beside UDDI [13]. XML communications can therefore be encrypted via the
UDDI consists of two parts, at its core. First part is a Secure Sockets Layer (SSL). SSL is a corroborated tech-
technical specification to build a distributed directory of nology, is widely deployed, and is therefore a very per-
businesses and web services. Data is stored within a par- manent choice to encrypt messages. Although, an impor-
ticular XML format. The UDDI specification includes API tant element of Web services is that a single Web service
JOURNAL OF COMPUTING, VOLUME 3, ISSUE 2, FEBRUARY 2011, ISSN 2151-9617
HTTPS://SITES.GOOGLE.COM/SITE/JOURNALOFCOMPUTING/
WWW.JOURNALOFCOMPUTING.ORG 95

may consist of a curb of applications [7]. In this case, SSL stack, the next important step is to gripe how all the parts
is not proper because the messages require to be en- fit together. There are two ways for this target, either
crypted at each node along the service path, and each from the service requestor landscape or the service pro-
node exerts a potential weak link in the curb [18]. Cur- vider landscape.
rently, there is no concurrent solution to this subject, but
one of promising solutions is the World Wide Web XML 10.1 Service Request Landscape
Encryption Standard. This standard provides a frame- Here we introduce a typical development plan for a ser-
work to encrypt and decrypt XML documents perfectly vice requestor landscape:
and it is likely to receive splay industry patronage. First, we should identify and discover those services
that are appropriate to our application. So the main pur-
9.2 Authentication pose of this step is searching the UDDI Business Directory
If a client connects to a Web service, it is necessary to for partners and services.
identify the user and authorize him/her to use services. Once we have recognized the favorite service, in the
One promising solution is to use HTTP authentication. next step we should locate a service description. If this is
HTTP includes built-in patronage for Basic and Digest a SOAP service, we are likely to find WSDL documents. If
authentication. So services can be protected more than the this is XML-RPC services, we are likely to find some hu-
same manner as HTML documents are currently pro- man-readable injunctions for integrating.
tected. However, security experts, agree that HTTP au- In Third step, we should create a client application. For
thentication is a relatively weak but there are several example, we may create an XML-RPC or SOAP client in
frameworks under consideration [18]. The first SOAP the favorite language. If the service has a WSDL file, we
Security Extensions is Digital Signature (SOAP-DSIG). also have the option of creating client code via a WSDL
SOAP-DSIG leverages public key cryptography to digital- invocation instrument automatically.
ly sign messages. This enables the client or server to con- In finally step, we run ourr client application to actual-
firm the identity of the other parties.The second option is, ly invoke the web service.
the Organization for the Advancement of Structured In-
formation Standards (OASIS). It works on the Security
Assertion Markup Language (SAML). The capability of
SAML is to facilitate the exchange of authentication and
authorization information between business partners [7].
In a related effort, some companies have put forth the
XML Key Management Services (XKMS). XKMS specifies
a collection of services for managing and distributing
public keys and certificates. The protocol itself is built on Fig. 3. The Service Requestor Landscape
SOAP and WSDL. So it is an excellent example of a web
service. 10.2 Service Provider Landscape
Here we explain a typical development plan for a service
9.3 Network Security
provider:
Bruce Schneier, a famous computer expert In June 2000, First, we must develop the main functionality of our
imparted that "SOAP is going to open up a whole new service. This is usually the most complicated part, as your
avenue for security vulnerabilities" [14]. Schneier's basic application may connect to databases, Enterprise Java-
focus is that HTTP was made to retrieve documents. Ex- Beans™ (EJBs), COM objects, or legacy applications.
tending HTTP via SOAP enables remote clients to invoke In second step, we should develop a service wrapper
procedures and commands, something that firewalls are to our major functionality. This might be an XML-RPC or
explicitly established to prevent. We can argue that CGI a SOAP service wrapper. It is usually a relatively simple
(Common Geteway Interface) applications and servlets step to wrap existing functionality into a larger frame-
give the same security vulnerabilities. After all, these work.
programs therefore enable remote applications to invoke In the next step, we need to provide a service descrip-
[7]. Currently there is no easy response to this problem, tion. If we are creating a SOAP application, so we should
and it has been the subject of much controversy. One create a WSDL file. If we are creating an XML-RPC ser-
possible solution for filtering out SOAP or XML-RPC vice, we should create some human-readable instructions.
messages, is to filter out all HTTP POST requests that set Fourth, we need to spread the service. According to
their content type to text/xml (a requirement of both spe- our requirments, it could mean installing and running an
cifications). Another alternative solution is to filter for the alone server or integrating with an existing Web server
SOAPAction HTTP header. Currently, firewall vendors [7].
are developing tools explicitly built to filter Web service In the fifth step, we need to publish the existence and
traffic. specifications of our new designed service. It means pub-
lishing data to a universal UDDI directory or maybe a
10 ALL TOGETHER NOW private UDDI directory specific to our company.
When you realize these layers in the Web service protocol
JOURNAL OF COMPUTING, VOLUME 3, ISSUE 2, FEBRUARY 2011, ISSN 2151-9617
HTTPS://SITES.GOOGLE.COM/SITE/JOURNALOFCOMPUTING/
WWW.JOURNALOFCOMPUTING.ORG 96

11.2 Choreography Method


This method is more collaborative in nature. Each party
describes the part they play in the interaction. Choreo-
graphy tracks the sequence of messages that may involve
multiple parties and also multiple sources. It is done with
the public message exchanges that tide between multiple
Web services [19].
Fig. 4. The Service Provider Landscape This decentralized solution does away with the centra-
lized process and instead each collaborating service is
aware of its portion in the workflow. In Service choreo-
graphy, the collaborating services exchange messages in
11 WEB SERVICES COMPOSITION METHODS order to coordinate execution of the workflow. We should
IT organizations need the versatility to reconcile to cus- notice that in order for this collaboration to take place, the
tomer requirements and changing market situation. But Web services need to be corrected so that they are aware
existing solutions do not directly support Web services of the related workflows. The characteristics have been
standards and, as a result, IT organizations may be capti- put forth for Web service choreography in the Web Ser-
vated to take a short-term solution and create their own vices Choreography Description Language (WS-CDL)
proprietary protocols for composing services. Web servic- [21]. This method has so far not been widely used, nor are
es orchestration, decentralized orchestration and choreo- there many implementations of the specification.
graphy standards are efforts that can be long-term solu-
tions for business communications. By connecting servic-
es through open, standards-based methods, organizations
withhold themselves the burden of maintaining those
proprietary interfaces.we explain these standards and at
the end of this article we will introduce a new efficient
method for web services composition. Fig. 6. Choreography Model

11.1 Orchestration Method


Orchestration differs from choreography. it describes a
Orchestration method is an executable business process process flow between services, controlled by a single par-
that may communicate with both internal and external ty but, choreography tracks the sequence of messages
Web services. Service orchestration is a centralized ap- involving multiple parties, where no one party truly
proach which insulates control and data flow. We need “owns” the conversation.
Control flow to control/orchestrate the workflow, whe-
reas data flow relates to the the tasks that compose the 11.3 Decentralized Orchestration
actual applications. It describes how Web services can
Decentralized Orchestration is another solution for being
communicate at the message level, including the business
used by web services. In this model, a centralized
logic and execution order of the communications [18].
workflow is analyzed and divided into smaller
These interactions can span applications and/or organi-
workflows [18]. Each workflow engine orchestrates its
zations, so they result in a long-lived, transactional
own partition of the workflow.
process. With orchestration, the process is always con-
trolled from the viewpoint of one of the business parties.
In this model, all communication is directed via a central
process (workflow engine) for both the control and data
flow.

Fig. 7. Decentralized Orchestration Model


Fig. 5. Orchestration Model
We need multiple workflow engines to execute the
In the Web service world, Web Services Business partitioned workflows (each executing its own partition).
Process Execution Language (WS-BPEL) [19] has become In this method, potential bottlenecks that we could see in
the de facto standard for orchestration. With WS-BPEL, the previous methods, will be removed. Decentralized
the workflow can be specified without the need to ac- orchestration was found to minimize the amount of traffic
commodate any of the services, with help of the central in the workflow but this approach increases the complexi-
process providing the workflow logic. ty of the workflow design and execution, while deadlock
JOURNAL OF COMPUTING, VOLUME 3, ISSUE 2, FEBRUARY 2011, ISSN 2151-9617
HTTPS://SITES.GOOGLE.COM/SITE/JOURNALOFCOMPUTING/
WWW.JOURNALOFCOMPUTING.ORG 97

can be built [20]. Furthermore this model needs parallel nate the execution of the workflow by using control mes-
programming that can cause to additional challenges. sages. These messages may be sent to the deputy servers
that require them or perhaps forwarded by other deputy
servers.
12 AN EFFICIENT ALTERNATIVE MODEL WITH
The placement of the deputy servers can improve the
DEPUTY SERVERS performance of our model as compared to the traditional
In our model, the data flow is decentralized while the model. For example, in traditional model, all data have to
control flow remains centralized. Applications with this be sent to the workflow engine which can be at a remote
method have advantages compared to other centra- situation (compared to the Web services). In our model a
lized/distributed control and data flow. To accomplish deputy server can be placed near the Web services (for
this, deputy servers are used in the system. The contribu- example in the same domain), so they cause to a lower
tion of this model is the introduction of the deputy server. cost for data transfer.
This server is participated with the workflow engine, but
strives to be a non-disruptive extension to the traditional
13 CONCLUSION
orchestration model.The workflow engine negotiates with
the deputy servers using the control flow. The servers This paper has fully reviewed the Service Oriented Archi-
carry out Web service invocations instead of the tecture (SOA), its Web services’ domain and the essential
workflow engine. requirements of establishing a suitable Web service. It
Deputy servers will need to communicate with three also covers the introduced technologies in this area and
parts: the central workflow engine, other deputy servers entirely explains four main layers for perception of the
and the Web services. Interaction of deputy servers with protocol’s stack in Web services. Because without realiza-
each other exposes the desired interface for them. tion of each layer in protocol’s stack of Web services it
will not be possible to specify how the different parts
should be compatible with each other in order to lead the
Web services to composite for getting the ultimate goals.
Furthermore, we maintioned security issues briefly. Al-
thoutgh Web services domain is growing quickly, but
there are many challenges for this sence yet.
It can be claimed that the next steps are the review of
the posed challenges in area of combining the services
and optimizing them. Applying the composite Web ser-
vices has many commercial benefits for organizations.
Firstly, it reduces the time of producing process that
cause to reduce the time for products to reach to the mar-
ket. Secondly, producing the applications with available
services decreases the business risks of software produc-
ing and avoids dealing with new software errors. Thirdly,
by using available Web services, organizations’ need for
several new skills will decrease which also cause to save
in cost of software production. Finally, by using available
Fig. 8. A New Model with Deputy Servers Web services it is possible to choose the best service from
several options which leads to better softwares in terms of
As mentioned earlier in our model, data flow is decen- quality. Therefore we explained the advantages of com-
tralized. Instead of sending all data back to the workflow bining Web services and existing methods and finally
engine, data can stay on the deputy servers. Because of discussed a model for Web services composition in order
the workflow continues, the data on a deputy server, to optimize former compound methods, based on the use
should be sent to other deputy servers. Deputy servers of deputy servers.
provide Web service requests and receive Web service In the first methods, cost and data exchange, time re-
responses. Requests are either received from the duction, response time improvement, and centralized
workflow engine or another deputy server or they may be control of communication between different services to
the response from a previous request. Responses will ei- provide appropriate services to the customer is aimed. In
ther be stored, or forwarded to another deputy servers or the improved models main goal is, the cost and time re-
the workflow engine. So a full SOAP protocol stack is not duction associated with large current data (especially re-
a necessity at the deputy server. petitive data). One of our model considerable advantages,
Wheras in the traditional systems, the workflow en- is in a large volume data transaction where simultaneous
gine communicates with the Web services, this is not re- respond to many requests is needed, the result of tradi-
quired in our model. Instead, the workflow engine does tional storage in this volume (Work Flow Engine) may be
the same work by sending workflow Web service interac- impractical while in this case the optimized approach will
tion to the deputy servers (they would act as pass- partition data into different deputy servers leading re-
through services). The workflow engine, should coordi- cording volume decrement and makes it practical. Anoth-
JOURNAL OF COMPUTING, VOLUME 3, ISSUE 2, FEBRUARY 2011, ISSN 2151-9617
HTTPS://SITES.GOOGLE.COM/SITE/JOURNALOFCOMPUTING/
WWW.JOURNALOFCOMPUTING.ORG 98

er important advantage is that, in Web services without a dissertation, Dept. of Informatics., Edinburgh Univ., 2008.
deputy server, data exchange should only operate with [18] Y. Rao, B. Qin Feng, J. Cang Han, and Z. Chao Li “A Security
the Work Flow Engine that might be located in far dis- Integrated Model for Web Services,” Proc. IEEE Symp. Machine
tances. As a solution near domain deputy servers can be Learning and Cybernetics (ICLMC ’05), pp. 2953-2958, Aug 2004,
identified to transfer data through them in a lower time doi:10.1109/ICLMC.2004.1378538.
with less cost. In the optimized model entire data base [19] G. Chafle, S. Chandra, V. Mann, and M. GowriNanda “Decetra-
has been distributed on multiple servers so the processing lized Orchestration of Composite Web Services,” Proc. 13th. In-
power is increased and lateral services can be provided ternational World Wide Web Conf. Alternate Track Papers And Post-
without any traffic enhancement or work overflows. ers, pp. 8-16, 2004.
[20] N. Kavantzas, D. Burdett, G. Ritzinger, T. Fletcher, and Y. Lafon
REFERENCES “Web Services Choreography Description Language Version
1.0,” W3C Technical Report, W3C Working Draft, Dec. 2004.
[1] N. Milanovic, and M. Malek, “Cuurent Solutions for Web Ser-
[21] M. Weski, Business Process Management: Concepts, Languages,
vice Composition,” Proc. IEEE Symp. Interner Computing, No-
Architectures. Springer, pp. 123-135, Sep. 2007.
vember-December 2004.
[22] B. Benatallah and Q. Sheng, "The Self-Serv Project Uses a P2P-
[2] T. Berners-Lee and J. Hendler, and O.Lassila “The Semantic
Web,” Scientific American, 501(5):pp. 28-37, May. 2001. based Orchestration Model to Support the Composition of Mul-
[3] A.Masri, and E.Mahmoud “Investigating Web Services on the tienterprise Web Services," IEEE Computer Society Trans. Internet
World Wide Web,” Proc. 17th International Conf. World Wide Web Computing, vol. 3, pp. 40-48, January 2003.
(www)-for QWS-WSDLs Dataset Version 1.0, pp. 795-804, April [23] M. Matsumura, “Generico SOA Adoption Bluprint,”
2008. http://www.oasis-
[4] R. Pessoa, “A survey of Service Composition Approaches,” open.org/committees/documents.php?wg_abbrev=soa-
Proc. Conf. Enterprise Distributed Object Computing Conference blueprints. 2006.
Workshops, pp. 238-251, 2008.
[5] Z. Mahmood, “Enterprise Application Integeration based on
Service Oriented Architecture,” International Journal of Comput-
ers, vol. 1, no. 3, pp. 135-139, 2007.
[6] E. Cerami, Web Services Essentials-Distributed Applications with
XML-RPC, SOAP, UDDI, and WSDL. Publisher: O'Reilly, pp. 1-
24, ISBN:0-596-00224-6, First Edition February 2002.
[7] H. Hass, and A. Brown, “Web Service Glossary,” Technical
Report, WWW Working Group Note, Feb. 2004.
[8] D. Booth, and C. Liu, “Web Services Description Language
(WSDL) Version 2.0,” W3C Technical Reports and Publications,
Primer W3C Working Draft, August 2005.
[9] A. Oussalah, and M. Lina, “Toward the Definition of the Loose
Coupling Notion in a Composite Service,” Proc. IEEE Symp.
Computer Engineering and Applications (ICCEA), pp. 339-343,
March 2010.
[10] A. Alamri, M. Eid, and A. Elsaddik, “Classification of the state-
of-the-art Dynamic Web Services Composition Techniques,” J.
Classification,University of Ottawa,Canada,Int.J Web and Grid
Services, vol. 2, no. 2, , Apr. 2006.
[11] J. Ge YuhUi Qiu Shiqun Yin, “Web Services Composition Me-
thod Based on OWL,” Proc. International Conf. Computer Science
and Software Engineering, pp. 74-77, 2008.
[12] B. Mathew, and P. Sarang, Business Process Execution Language for
Web Services. An Architect and Developers Guide to Orchestra-
tion Web Services Using BPEL4WS, pp. 92-104, 2006.
[13] S. Jones, “A Methodology for Service Oriented Architect,”
http://www.oasis-
open.org/committees/documents.php?wg_abbrev=soa-
blueprints. 2005.
[14] S. Dustdar, and W. Schreiner “A Survey on Web Services Com-
position,” Technical University of Vienna Systems-Information Sys-
tems Institute, http://www.infosys.tuwien.ac.at. 2004.
[15] L.J Zhang, “SOA and Web Services,” Proc. IEEE Symp. Service
Computing (SCC ’06), Sept 2006.
[16] B. Carminati, E. Ferrari, and P. Hung “Security Conscious Web
Service Composition,” Proc. International Conf. Web Services, pp.
8-16, 2006.
[17] N. Kyprianou, “Web Service Orchestration,” Master of Science

Вам также может понравиться