16
50 WWW.ISM-JOURNAL.COM SUMMER 2005 DYNAMIC AND PERSONALIZED WEB SERVICES COMPOSITION IN E-BUSINESS Dongsong Zhang, Minder Chen, and Lina Zhou Building composite Web services can save significant time and cost for developing new appli- cations and enhancing the interoperability and collaboration among E-business partners. This article proposes a framework for dynamic and personalized composition of Web services using an approach that integrates not only functional attributes of Web services, but also nonfunc- tional attributes such as service requirements, quality of service, and the preferences and con- straints of individual service consumers. A prototype system based on the proposed framework and some implementation details are also presented. ERVICE-ORIENTED COMPUTING (SOC) is a computing paradigm that uses servic- es as fundamental elements of the devel- opment process of business applications. A growing trend in SOC is to build program- ming language- and platform-independent soft- ware components for Web applications. Today, companies are undertaking a shift toward tying their competitive advantages to a “dynamic ec- osystem” of business Web services with their trading partners such as suppliers, distributors, agents, dealers, brokers, and retailers. Creating a collaborative network of trading partners to reduce costs, shorten business process cycles, and streamline workflows is critical to business competitiveness and growth. The emerging Web services technology provides a basis for the interaction and coordination of business processes distributed across different organiza- tions. With Web services, new applications can be quickly developed by assembling existing individual applications. Some industries, such as insurance and travel, have already started to tap into the power of Web services, enabling them to integrate seamlessly with applications of business partners and provide new services to their consumers. For example, Amazon.com has begun using XML and Web services to ex- pose valuable company data to independent software developers. It is aimed to keep the bar- riers of using Web services as few as possible, while maximizing the amount of innovation. One of the major challenges in Web servic- es is the automated service composition in sup- port of service-oriented processes. Current Web service techniques are primarily limited to services where each operation is independent. In many situations, however, a consumer’s re- quest cannot be fulfilled by any existing single Web service. As a result, effective solutions for composing existing services into a composite Web service are being sought. The ability to plan Web service composition (WSC) and mon- itor execution of composite services automati- cally is an essential step toward the real usage of Web services (Pistore et al., 2004). Another challenge in Web services is person- alization. So far, most Web services are provided to different consumers in exactly the same way. For example, in the real estate industry, home S DONGSONG ZHANG ([email protected]) and LINA ZHOU ([email protected]) are assistant professors in the Department of Information Systems at the University of Maryland, Baltimore. MINDER CHEN ([email protected]) is an associate professor in the MIS and Decision Science Department of the School of Management at George Mason University. E-BUSINESS

E-BUSINESS - George Mason University

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: E-BUSINESS - George Mason University

50

E-BUSINESS

DYNAMIC AND PERSONALIZED WEB SERVICES COMPOSITION IN E-BUSINESS

Dongsong Zhang, Minder Chen, and Lina Zhou

Building composite Web services can save significant time and cost for developing new appli-cations and enhancing the interoperability and collaboration among E-business partners. This article proposes a framework for dynamic and personalized composition of Web services using an approach that integrates not only functional attributes of Web services, but also nonfunc-tional attributes such as service requirements, quality of service, and the preferences and con-straints of individual service consumers. A prototype system based on the proposed framework and some implementation details are also presented.

ERVICE-ORIENTED COMPUTING (SOC)is a computing paradigm that uses servic-es as fundamental elements of the devel-opment process of business applications.

A growing trend in SOC is to build program-ming language- and platform-independent soft-ware components for Web applications. Today,companies are undertaking a shift toward tyingtheir competitive advantages to a “dynamic ec-osystem” of business Web services with theirtrading partners such as suppliers, distributors,agents, dealers, brokers, and retailers. Creatinga collaborative network of trading partners toreduce costs, shorten business process cycles,and streamline workflows is critical to businesscompetitiveness and growth. The emergingWeb services technology provides a basis forthe interaction and coordination of businessprocesses distributed across different organiza-tions. With Web services, new applications canbe quickly developed by assembling existingindividual applications. Some industries, suchas insurance and travel, have already started totap into the power of Web services, enablingthem to integrate seamlessly with applications

of business partners and provide new servicesto their consumers. For example, Amazon.comhas begun using XML and Web services to ex-pose valuable company data to independentsoftware developers. It is aimed to keep the bar-riers of using Web services as few as possible,while maximizing the amount of innovation.

One of the major challenges in Web servic-es is the automated service composition in sup-port of service-oriented processes. CurrentWeb service techniques are primarily limited toservices where each operation is independent.In many situations, however, a consumer’s re-quest cannot be fulfilled by any existing singleWeb service. As a result, effective solutions forcomposing existing services into a compositeWeb service are being sought. The ability toplan Web service composition (WSC) and mon-itor execution of composite services automati-cally is an essential step toward the real usageof Web services (Pistore et al., 2004).

Another challenge in Web services is person-alization. So far, most Web services are providedto different consumers in exactly the same way.For example, in the real estate industry, home

S

DONGSONG ZHANG ([email protected]) and LINA ZHOU ([email protected]) are assistant professors in the Department of Information Systems at the University of Maryland, Baltimore.

MINDER CHEN ([email protected]) is an associate professor in the MIS and Decision Science Department of the School of Management at George Mason University.

W W W . I S M - J O U R N A L . C O M

S U M M E R 2 0 0 5

Page 2: E-BUSINESS - George Mason University

E-BUSINESS

buyers use an online home listing service tolook for houses on the market. Due to differentneeds and preferences, however, individualbuyers’ interests in houses vary in location,price range, size of the house, and other relatedfactors. It is highly desirable for home listingservice providers to present house listings thatare automatically customized for individual buy-ers. Personalized Web services refer to those ser-vices that can be customized or tailored to theneeds and preferences of individual service con-sumers. So far, little research has been done onthe personalization of Web services.

To address the above problems, this articleproposes a generic framework for dynamiccomposition and personalization of Web servic-es and discusses various enabling techniques indetail. In particular, an innovative approach toWeb service composition planning that inte-grates functional and nonfunctional attributesof Web services, as well as preferences of indi-vidual consumers, is presented. The remainderof the article is organized as follows. After intro-ducing the concepts of Web services and ser-vice composition, we briefly describe dynamicand personalized WSC. Then we present theproposed framework, which incorporates athree-stage approach to the selection of com-ponent Web services. The framework is then il-lustrated with a prototype real estate businessapplication.

WEB SERVICES AND SERVICE COMPOSITIONWeb ServicesDefined by the World Wide Web Consortium(W3C), a Web service is a software componentidentified by a URL, whose public interfacesand bindings are defined and described usingXML (eXtensible Markup Language). Gartner(http://www3.gartner. com) defines a Web ser-vice as a custom end-to-end application that in-teroperates with other commercial and customsoftware through a family of XML interfaces toperform useful business functions. Web servic-es are independent of any programming lan-guage, location, platform, and object model.

Web services provide a standard-based ap-proach to implementing distributed softwarecomponents by offering data and business log-ic services over standards that describe a ser-vice-oriented, component-based applicationarchitecture. The Web service standards stackincludes Internet protocols (i.e., HTTP) for net-working, XML for data format, SOAP (SimpleObject Access Protocol) for messaging, WSDL

(Web Services Description Language) for ser-vice definition, and UDDI (Universal Descrip-tion, Discovery, and Integration) for serviceregistration. To be able to operate in an SOC en-vironment, Web services must declaratively de-fine their properties in a standard and machineunderstandable format. WSDL is an XML-basedlanguage. It specifies a Web service by definingmessages that provide an abstract definition ofthe data being transmitted and operations thatthe service provides.

There are three roles in the Web service ar-chitecture: the service provider, consumer, andservice registry. Interactions among these rolesinclude service publishing, finding, binding,and invocation. A Web service provider pub-lishes a Web service defined by WSDL in a serv-ice registry (e.g., UDDI). A service consumercan search and retrieve a service descriptionand the access point to a WSDL file from theregistry. The WSDL file is then used to generatea client-side Web service proxy that is used bythe service consumer to invoke the Web serv-ice by sending a SOAP message. After the serv-ice is executed, the results will be returned tothe service consumer as a SOAP message. SOAPenables communication between two applica-tions that are developed in different program-ming languages and run on different platforms.

Web Service CompositionIndividual Web services cannot satisfy all theservice requests. When that happens, it is de-sired to seek possibilities of combining existingservices together to fulfill the request. A typicalexample of a service request is to place an or-der to an online retailer through a Web site. Itcan be fulfilled by a composite service that in-tegrates several internal and external servicessuch as credit checking service, inventory sta-tus-checking service (e.g., if the ordered prod-uct is out of stock, then another orderingservice must be invoked from this retailer topotential suppliers to replenish its inventory),inventory update service, shipping service,etc.

WSC is to construct higher-level servicesbased on multiple existing services to meetmore sophisticated business requirements.Composing existing Web services into ad-vanced, complex new services promotes rapidapplication development, service reuse, andcross-enterprise collaboration (Zhou andZhang, 2004). WSC has the potential to reducedevelopment time and effort for new applica-tions. It provides a mechanism to support

his article proposes a generic framework for dynamic composition and personalization of Web services.

T

51I N F O R M A T I O N S Y S T E M S M A N A G E M E N T

S U M M E R 2 0 0 5

Page 3: E-BUSINESS - George Mason University

52

E-BUSINESS

cross-enterprise and intra-enterprise applica-tion integration. Because it can be time- andcost-prohibitive to identify and compose ser-vices manually, automatic or semi-automaticcomposition of existing Web services toachieve new functionality has become the cen-ter of current attention. From a developer’sperspective, service composition offers thepossibility of interaction and reuse. From a ser-vice consumer’s perspective, automated com-position offers access to a wide variety ofcomplex services with minimal manual inter-vention. The ability to perform automated orsemi-automated WSC can revolutionize manyapplication areas, including E-commerce appli-cations and system integration.

A fundamental problem in WSC is to identi-fy the most appropriate component services inorder to generate an optimal composition plan.There are two generic approaches to automat-ed Web service composition (Zhang, 2005).One is to define a composition at design time(called static service composition); the other isto plan service compositions and execute themdynamically at runtime (called dynamic servicecomposition). There are several problems withthe former approach. First, there may be a largenumber of services that provide the same busi-ness function. Second, new services may becreated or existing services may be updated atany time. Third, the availability or responsetime of services may change over time. Fourth,there is dynamic variety among service offer-ings. Services may differ from each other onvarious factors ranging from the products theycarry, prices, constraints, discounts, and after-sales support. Finally, service consumers maychange their needs over time, which can affectthe component services in a service plan.These factors should be taken into consider-ation while evaluating a potential service planfor a specific service request. Therefore, dy-namic Web service composition at runtime ishighly preferred (Rao et al., 2003). Such a plug-and-play service composition scheme signifi-cantly reduces the effort involved in the devel-opment and management of complex services,increases the quality of service composition,and is a critical step toward interactive, flexi-ble, and collaborative E-businesses (Orriens etal., 2003). In SOA-based computing, the realpower of Web services will be fully realizedwhen diverse applications can be automatical-ly integrated on-the-fly. However, due to theheterogeneity and dynamic nature of Web ser-vices, there are a lot of challenges and issuesthat need to be addressed to achieve this

ultimate goal. For example, the providers thatprovide the same services in a specific commu-nity should agree to follow certain require-ments or standards for interface definition, sothat a composite service can directly call any ofthose individual services in real-time, regard-less of their actual implementations.

A number of standards have been devel-oped to support WSC. They focus on represent-ing Web service compositions where theprocess flow and bindings between servicesare known a priori (Rao et al., 2003). Web Ser-vices Flow Language (WSFL) is proposed to de-scribe compositions of services in the form ofa workflow. BPEL4WS (Business Process Exe-cution Language for Web Services) is a standardfor the specification and execution of service-oriented business processes. It provides pro-gramming-language-like constructs (e.g., while,pick, switch, and sequence) and graph-basedlinks that represent ordering constraints on theconstructs. BPEL4WS is designed with twofunctions in mind. Executable BPEL4WS pro-grams allow the specification and executionof internal processes within an organization.Abstract BPEL4WS specifications are used tospecify and publish invocations of and interac-tions with external Web services. The serviceplatform functions like a workflow executionengine, performing and coordinating tasks ofdispatching service calls, mediating and trans-forming intermediary data, and executing a ser-vice plan (Madhusudan and Uttamsingh, 2004).Strategies to cope with a variety of failures thatmay occur during the execution of a serviceplan are encoded in the service definition in ad-vance, which cannot cover all possible scenar-ios in real-time service execution.

DYNAMIC AND PERSONALIZED WEB SERVICE COMPOSITIONDynamic Web Service CompositionAlthough dynamic selection and compositionof component services at runtime have beenput forward as a promising approach to WSC,dramatic challenges are also recognized. First,the core of the dynamic service composition isthe ability to identify, select, and integrate ap-propriate component services from a potential-ly large set of candidate Web services. That is, itrequires an effective mechanism to find a com-position of individual services that satisfies avariety of requirements. Second, another fun-damental problem in service composition is tospecify individual services at an appropriatelevel that enable precise understanding of

he ability to perform automated or semi-automated Web service composition (WSC) can revolutionize many application areas, including E-commerce applications and system integration.

T

W W W . I S M - J O U R N A L . C O M

S U M M E R 2 0 0 5

Page 4: E-BUSINESS - George Mason University

E-BUSINESS

services and allow on-demand composition.WSDL does not deal with the dynamic compo-sition of existing services. Although WSDL de-fines a standard way for service description, itlacks information for reasoning on not justwhat the inputs and outputs of a service are,but also what the inputs and outputs actuallymean. Therefore, when services developed bydifferent organizations use different semanticmodels to describe services, a compiler thatcan translate a Web service description lan-guage (e.g., DAML-S or OWL-S) into an agreedstandard service description language is man-datory. Third, a composition manager is re-quired to control the invocation of individualatomic Web services and the data transfer be-tween them.

There has been some research on dynamicWeb service composition. In Rao et al.’s (2003)work, the description of existing Web serviceswritten in WSDL was translated into logical ax-ioms in Linear Logic (LL) (Girard, 1987) and therequirements of composite services were spec-ified in the form of an LL sequent to be proven.Then, it used a theorem prover to determinewhether user requirements can be fulfilled bycomposition of atomic services. If the compo-sition could address requirements, then theflow model(s) would be constructed. Sirin,Hendler, and Parsia (2003) developed a servicecomposition prototype that had two basiccomponents: a composer and an inference en-gine. The inference engine, which was an OWL(Web Ontology Language) reasoner, stored in-formation about existing services in its knowl-edge base and was capable of finding matchedservices. The composer presented availablechoices to the user at each step. The servicematching was done using the information inservice profiles. The prototype executed thecomposition by invoking each individual ser-vice and passing the data between services ac-cording to the flow constructed by the serviceconsumer.

Personalization of Web ServicesPersonalization is defined as any action thatadapts information or services to the needs ofa particular user or a group of users. Ama-zon.com, for example, automatically displays acustomer’s recent purchasing and viewing histo-ry when she logs in to the Web site. After the cus-tomer adds a product to her shopping cart, theWeb site will display a list of other products thatother customers have frequently purchasedalong with this product, assuming that those

products may also be of interest. In this case,personalization is enhanced by the collabora-tive effort.

Most existing Web services are not designedand implemented for personalized service con-sumption. In many situations, the service selec-tion requires taking needs and preferences ofindividual consumers into consideration. Forexample, people may be interested in differenttypes of news. A news alert Web service shouldbe able to tailor daily news and select contentthat can specifically satisfy individual needs.Another typical example is target-advertisingservices, which automatically send electronicadvertisements to potential customers basedon their profiles. Apparently, understanding in-dividual interests is crucial to ensuring thateach advertisement is sent to customers whoare likely to have interest in it.

Web personalization is currently known asa key to success in business today and in the fu-ture (Allen et al., 2001). A typical method forpersonalization is user-direct solicitation, suchas Yahoo! Personalize. First, a static profile iscreated for each user at the very beginning byasking the user to specify his interests explicit-ly. In subsequent user–system interactions,user identity is detected and static profiles areused for automatic customization. The servicepersonalization task is further confoundedwhile taking potential changes of users’ needsand preferences into consideration. In thatcase, it requires a mechanism to keep track ofindividual users’ behavior and to update userprofiles effectively when an interest shift is de-tected, making profiles reflect the real-time in-formation or service needs of users. Anothermethod is to use user feedback to update userprofiles. To this end, there are two types of ap-proaches: (1) explicit feedback and (2) implicitfeedback. In the first approach, users are askedto provide explicit feedback about the rele-vance of provided information or service(s).The feedback is used to create or update userprofiles. In the second approach, users do nothave to provide specific feedback. Their interac-tions with the system (e.g., online browsing be-havior) are captured and analyzed to infer theirinterests. Web-usage mining (WUM) is the pro-cess of discovering and interpreting patterns ofuser access to Web information systems by min-ing the data collected from the user interactionswith the system. The user access patterns discov-ered through WUM are applied to identify theneeds and preferences of each individual user,and subsequently to customize the content orstructure of information or services.

SDL lacks information for reasoning on not just what the inputs and outputs of a service are, but also what the inputs and outputs actually mean.

W

53I N F O R M A T I O N S Y S T E M S M A N A G E M E N T

S U M M E R 2 0 0 5

Page 5: E-BUSINESS - George Mason University

54

E-BUSINESS

Information personalization has been rec-ognized as one of the key tasks to cope withthe information overload problem and satisfythe different needs of individual users. Similar-ly, given a large number of Web services andservice providers, we believe that taking pref-erences of individual service consumers intoconsideration is essential to the process of dy-namic service composition planning. It can im-prove the quality of services and consumers’satisfaction. In the next section we present aninnovative framework for dynamic WSC that in-tegrates a multi-criteria service selection policyand personal preferences while selecting atom-ic services for a service composition plan.

A FRAMEWORK FOR DYNAMIC WEB SERVICE COMPOSITIONWe propose a generic framework for dynamicand personalized Web service composition thathighlights an integrated approach to the selec-tion of component services. It takes three fac-tors into consideration: (1) functionalattributes of Web services, (2) nonfunctional at-tributes of services, and (3) consumer prefer-ences. The framework is shown in Figure 1.

After a user’s service request is received, itis converted into a logic format. Then, the con-trol manager checks the service registry to seeif any existing single Web service can fulfill therequest. If yes, then the service is executed andresults will be returned to the service consum-er. Otherwise, the control manager examines aservice composition repository, which storespreviously created composite service plansand user requirements, to check if any of themcan fulfill the request. If yes, the identified com-posite service is confirmed and executed, andresults will be returned to the service consum-er. Otherwise, the control manager will requirethe service composition planner to select qual-ified atomic services and make an appropriatecomposition plan. Once an optimal servicecomposition plan is determined, it is passed onto the construction phase, where the prepara-tion for composite service execution is per-formed. The generated composite service isstored in the composite service repository forpossible future reuse. While planning offers theability to automate the service compositionprocess, finding a solution can be a problem ofarbitrary complexity. Therefore, it is beneficialto reuse existing, verified compositions whenpossible. Finally, the generated composite ser-vice plan is executed.

Identification of Candidate Web ServicesIdentification of potential component services ismainly based on functional attributes of servicesbecause every candidate component serviceshould satisfy certain functional requirementsspecified by a service consumer. This is not atrivial process. A practical challenge is that Webservices are very likely developed by differentorganizations, which may use different seman-tic models to describe services. It is necessarythat service consumers and providers use ashared ontology to denote concepts while de-scribing services so that the description of ser-vices can be understood appropriately (Rao etal., 2003).

FIGURE 1 A Framework for Dynamic Web Services Composition

ServiceRegistry

User

RequestFormalization

ServiceComposition

Planner

Construction ofComposite

Service

Execution ofComposite

Service

CompositionAlternatives

ExistingService?

ExistingService?

No

No

ServiceCompositionRepository

Control Manager

Service Request

Result

Yes

Yes

W W W . I S M - J O U R N A L . C O M

S U M M E R 2 0 0 5

Page 6: E-BUSINESS - George Mason University

E-BUSINESS

The functionality of a Web service shouldbe described by a semantic annotation of whatit does and by a functional annotation of how itworks. To cope with the heterogeneity of ser-vice description, some researchers have at-tempted to use ontology and Semantic Webtechnologies for WSC (Sirin et al., 2003). Ac-cording to Gruber (1995), the term “ontology”means a specification of a conceptualization.In the context of Web services, an ontology is adescription of individual Web services and theirrelationships that can exist for a community.

Ontology interoperability is important inservice composition because semantic annota-tions of Web services have been widely dis-cussed in the Semantic Web community. TheSemantic Web (Berners-Lee et al., 2001) relieson ontologies to formalize domain conceptsshared among services. Its aim is to enablegreater access not only to content, but also toservices on the Web. Service consumers shouldbe able to discover, invoke, compose, and mon-itor Web resources offering specific servicesand having particular properties in an automat-ed manner. DAML-S (Ankolekar et al., 2001) isa Web service ontology that provides a core setof markup language constructs for describingthe properties and capabilities of Web services.It uses the Service class to model Web serviceswith the properties presents, describedBy, andsupports. The properties in turn have classesServiceProfile, ServiceModel, and Service-Grounding as their respective ranges. The Ser-viceProfile gives a high-level description of aservice that contains inputs, outputs, precondi-tions, and post-conditions of the service. It hassimilar functionality to the yellow pages in UD-DI, and can be used by clients to select and lo-cate services from registries. The ServiceModelis a detailed description of a service in which itis modeled as a process. It is similar to the busi-ness process model in BPEL4WS. The Service-Grounding provides the binding levelinformation of how a client can access a ser-vice. It is a mapping from DAML-S to WSDL. Anexample is the DAML-S Matchmaker (Paolucciet al., 2002) which was a system that augment-ed the standard UDDI architecture with seman-tic service description. It allowed location ofservices based on their capabilities to supportWSC.

Recently, DAML-S has been extended toOWL-S (Web Ontology Language for Services).OWL is a revision of the DAML+OIL Web ontol-ogy language. It is “intended to be used whenthe information contained in documents needsto be processed by applications, as opposed to

situations where the content only needs to bepresented to humans. OWL can be used to ex-plicitly represent the meaning of terms in vo-cabularies and the relationships between thoseterms…” (W3C, 2004). The OWL-S specifica-tion represents the first W3C member submis-sion in the area of Semantic Web Services,where Semantic Web technology is applied tothe challenges offered in the Web services field.OWL-S is more expressive to represent mean-ing and semantics than XML, RDF, and RDF-S. Itgoes beyond those languages in its ability torepresent machine-interpretable content onthe Web. OWL-S supplies a core set of markuplanguage constructs for describing propertiesand capabilities of Web services in an unambig-uous, computer-interpretable form. It is com-prised of three main OWL ontologies (namely,Profile, Process, and Grounding), a Service On-tology, and four additional ontologies servingsupplementary roles (i.e., Logical ExpressionConstructs, List Constructs, Profile AdditionalParameters, and Actor Ontology). OWL-S facili-tates automation of Web service tasks, such asWeb service discovery, execution, composi-tion, and interoperation (W3C, 2004).

We propose to use OWL-S to describe theproperties and capabilities of Web services. Alogic converter can transform the service de-scription into first-order logic automatically, inwhich each sentence or statement is brokendown into a subject and a predicate. The pred-icate modifies or defines the properties of thesubject. As a result, a service can be represent-ed by a rule that expresses the output of theservice given certain inputs. The SWORD sys-tem (Ponnekanti and Fox, 2002) used similarrule-based representation of Web services.

Selection of Atomic Services for CompositionService composition emphasizes the global op-timum by aggregating individual servicesthrough planning. A set of selected Web servic-es must satisfy additional requirements in orderto be composed into a complex service. Suchrequirements include connectivity, correct-ness, and scalability (Milanovic and Malek,2004). For example, every composition ap-proach must guarantee connectivity, which in-dicates which services are composed and whatwill be input and output messages passed be-tween ports; correctness of composition re-quires that properties of a composed servicemust be verified; and scalability demands thatcomposition frameworks scale with the number

he functionality of a Web service should be described by a semantic annotation of what it does and by a functional annotation of how it works.

T

55I N F O R M A T I O N S Y S T E M S M A N A G E M E N T

S U M M E R 2 0 0 5

Page 7: E-BUSINESS - George Mason University

56

E-BUSINESS

of composed services, because it is likely that acomplex service will involve many existing ser-vices in an invocation chain (Milanovic andMalek, 2004)

Traditionally, a service-selection compo-nent filters candidate services only based onthe match between the consumer’s functionalgoals and the functional attributes of services.WSC rests upon the coordination and collabo-ration among multiple Web services. Under-parperformance or failure of any single Web ser-vice may result in the failure of entire com-posed services. The majority of currentapproaches are based on an assumption that in-dividual Web services are always available andwell behaved. In reality, however, this is not al-ways true. While selecting services to generatean optimal service composition plan in orderto satisfy a service request, it is essential to de-velop and use a set of criteria for evaluating in-dividual services. The evaluation criteriashould be based on both objective and subjec-tive features of Web services. The former ismostly function oriented, which verifieswhether the requested functionality can be ful-filled by a service. The latter is nonfunction ori-ented (e.g., quality of service, perception,reputation, service charge, trust, responsetime, etc.), in which services are judged on thebasis of service quality and human percep-tions. The objective measures are more funda-mental, while subjective measures becomeincreasingly important, especially when objec-tive criteria are met or when there are toomany options. For example, Zeng et al. (2003)developed a multidimensional measure of qual-ity of service for WSC. After examining thefunctional and nonfunctional attributes of ser-vices, the composition planner should alsotake individual preferences (e.g., preferredproduct brand(s) and service providers) of ser-vice consumers into consideration.

Some recent research on Web service com-position uses AI planning techniques to deal withthe dynamics of the environment and services(Pistore et al., 2004; Madhusudan and Uttam-singh, 2004; Carman et al., 2003; Srivastava andKoehler, 2004). The desired output of a planningproblem is a sequence of actions that can be ex-ecuted in order to achieve the desired goal.Madhusudan and Uttamsingh, 2004) proposedan integrated service planning and executionarchitecture for supporting service composi-tion under dynamic conditions based on do-main independent AI planning and machinelearning techniques. In their approach, servicerequests are received from consumers as a de-

clarative goal-driven language. After alternativeservice plans are generated, an optimal plan isselected and then executed. Changes in the ex-ecution environment are monitored and maytrigger replanning to generate a new serviceplan. Many areas of planning may contribute toservice composition, such as distributed plan-ning (DesJardins et al., 1999) and planning asmodel checking (Giunchiglia and Traverso,1999). For example, the approach to planningas model checking can provide initial solutionsto the generation of complex plans. Pistore etal. (2004) proposed a “Planning as ModelChecking” framework for planning under un-certainty, which allowed nondeterminism inthe initial state and in the outcome of action ex-ecution. A plan is modeled as a system with aninternal dynamic, which monitors the evolu-tion of the domain via observations describingthe visible part of the domain state and con-trols the evolution of the domain by triggeringactions. The Hierarchical Task Networks (HTN)planning approach (Erol et al., 1994) decom-poses a task into a set of sub-tasks, which arefurther divided into another set of sub-tasks,until the resulting set of tasks only consists ofatomic tasks (i.e., services) that can be execut-ed directly. These planning techniques map aproblem to a classical representation involvinginitial states and goals.

In our framework, we propose a three-phaseprocess for selecting atomic services and makingservice composition plans that can best satisfyconsumers’ requirements (see Figure 2). Thefirst phase is to examine the functional at-tributes of services, during which an inferenceengine uses logic representation and a back-ward chaining search to produce a set of chainsof services that can produce desired outputs,starting from the goal to the given inputs. Userrequirements in terms of functionality of the re-quested service and related constraints (e.g.,the budget and delivery date) are considered.Such a rule-based approach to service compo-sition has been used to support parameteriza-tion, dynamic binding, and flexible servicecompositions (Orriens et al., 2003).

Although different Web services may pro-vide similar functionalities, their nonfunctionalproperty values may be different. Therefore, inthe next stage, nonfunctional properties are em-ployed to select services. For each atomic service iin a service plan j that consists of a chain of N ser-vices Sj = {sj1, sj2, … sjN}, Q(sji) (1<=i<=N) is the esti-mated quality of the ith service. We consider sevengeneric nonfunctional attributes based on (Zenget al., 2003):

n our framework, we propose a three-phase process for selecting atomic services and making service composition plans that can best satisfy consumers’ requirements.

I

W W W . I S M - J O U R N A L . C O M

S U M M E R 2 0 0 5

Page 8: E-BUSINESS - George Mason University

E-BUSINESS

1. Availability (q1): the availability of a ser-vice si refers to the probability that si isaccessible. It can be computed as the ratioof the number of successful accesses to thetotal number of accesses based on histori-cal data.

2. Execution duration (q2): the time delaybetween the time when a service request isissued and the time when results arereceived. It includes process time and trans-mission delay.

3. Fidelity (q3): the accuracy of services’operations. It can be measured by the accu-racy of results of prior service executions.

4. Reliability (q4): it corresponds to the like-lihood that an atomic service will be per-formed when the consumer demands it,and it is a function of failure rate (i.e., theprobability of a service to be executed). Itcan be computed by the percentage oftimes when a service consumer receives aresponse from the service within the timelimit.

5. Reputation (q5): the reputation of a ser-vice can be obtained either from servicerankings in the service community, or can becomputed as an average of consumers’ per-ceived satisfaction levels with the service.

6. Service charge (q6): the amount of associ-ated charges that a user has to pay for con-suming a service.

7. Usage frequency (q7): the number of timesthat a service has been consumed by userswithin a fixed time period.

The values of the above nonfunctional at-tributes can be derived from historical servicerecords stored in service logs or customer rat-ings (e.g., product ratings from customers onE-business Web sites such as Amazon.com). Af-ter computing the values of the above nonfunc-tional attributes for each atomic service, in thethird phase, the service composition plannerwill check the consumer preferences stored inthe consumer profiles, if applicable. Consumerpreferences may include importance weightsassigned to the quality attributes by individualconsumers, or even service providers or prod-uct brand(s) that customers prefer. For exam-ple, among the above quality of servicecriteria, one service consumer may considerq1 and q4 as much more important than q5 andq6, but another consumer may consider theservice charge (q6) the most important. Allow-ing consumers to specify their preferences canhelp the service composition planner select anoptimal composition plan. Individual prefer-ences can be derived from either direct user so-licitation or consumer profiles. Finally, theoverall estimated quality of the ith service inthe jth service plan can be obtained as

(1)

where wk is the importance weight of the kthcriterion, and qk(sji) is the normalized value ofthe kth criterion. Note that there are othermethods to compute the overall quality of a ser-vice. The final result after this three-stage pro-cess can be a set of alternative plans ranked ina decreasing order of their estimated quality ofservice to the service request. The optimal planwill be selected and executed.

A PROTOTYPE SYSTEMReal Estate E-Business Supported by Web ServicesA single real estate transaction is intricate be-cause it consists of several processes, involvesa number of people (e.g., buyer, seller, real es-tate agents, notaries, and home inspectors) andservice providers (e.g., mortgage companies, ti-tle companies, and home insurance companies),and requires coordination and management ofthese people and processes to serve the best in-terest of buyers and sellers. Web services can

FIGURE 2 Generating Alternative Service Composition Plans

Availability

Execution Duration

Fidelity

Reliability

Reputation

Service Charge

Usage Frequency

CompositionRule-Base

ExaminingFunctionalAttributes

Consumer'sRequest

ExaminingNon-Functional

Attributes

Alternative Service Composition Plans

ConsumerProfiles

PersonalPreferences

Service Composition Planner

Q s w q sji k

k

k ji( ) * ( )==

∑1

7

57I N F O R M A T I O N S Y S T E M S M A N A G E M E N T

S U M M E R 2 0 0 5

Page 9: E-BUSINESS - George Mason University

58

E-BUSINESS

revolutionize the real estate industry by stream-lining these interactions.

Buying a house is a process involving manyinteractions and transactions (e.g., making anoffer, applying for a loan application, and con-ducting a title search) among multiple businesspartners (e.g., buyer, seller, buyer agent, selleragent, mortgage firm, home inspection compa-ny, title search and insurance company). It con-sists of activities that have standard proceduresto follow and standard documents to use. Someactivities also involve dynamic factors such asconstantly changing mortgage rates, the avail-ability of houses on the market, and the avail-ability of multiple providers for services suchas title search and mortgage service. Therefore,there are opportunities for automating theseactivities and facilitating the workflow by usingWeb services.

Home buyers are usually interested in get-ting home listings, reading related articles onthe trend of real estate markets and tips on howto choose an agent and buy a house, finding re-liable home inspectors and mortgage serviceproviders, etc. After finding a house, there isstill a lot of routine paperwork involved, suchas the management of finances, taxes, and in-surance. Obviously, buyers need help in goingthrough such a complicated process to avoidpossible problems. Web services technology al-lows different people and service providers to in-teract and achieve a more efficient and effectiveway of buying or selling houses. Some possibleservices that the real estate community can im-plement as Web services for home buyers arelisted in Table 1. Some of them can be carriedout in parallel, such as criminal record service

and school information service, while otherservices may have to be carried out in a specificorder. For example, the contract service mustbe consumed before the home inspection ser-vice, which is usually consumed before titleand home insurance services.

Relationships among some services can bedescribed in the form of production rules asfollows:

❚❚ Home directory service, criminal record ser-vice, school information service → Homelisting alert service

❚❚ Listing of real estate agents, mortgage service→ Contract service

❚❚ Home insurance service, title service, mortgageservice → Settlement service

Taking a personalized home listing alert ser-vice as a simple example, in the first step, basedon backward chaining in rule-based reasoning,the planner finds that in order to consume thehome listing alert service, a criminal record ser-vice, a school information service, and a homedirectory service must be available and com-posed. The second step is to select alternativeatomic services that provide those three typesof services. A criminal record service is specialin that county or city police departments arethe authorities in providing information aboutthe criminal history records. A school informa-tion service usually involves retrieval of official-ly published test scores from local and nationaldepartments of education. The most frequentlyused home directory service would be multiplelisting services (MLS). Other sources may in-clude for sale by owner (FSBO) service or elec-tronic copies of the real estate section in local

TABLE 1 A List of Web Services for Home Buying

Services Description

Listing of real estate agents Generate a list of real estate agents based on buyer criteria, such as region, company, and years of experience

Home directory service List all houses that are available on the marketHome listing alert service Deliver a list of houses that satisfies the buyer criteria, such as the house

type, location, age, price range, number of bedrooms, etc. (a personalized service)

Mortgage service Preapproving loan application and final loan approval Contract service Provide the service of writing and submitting a contractHome inspection service Provide services of house inspectionHome insurance service Provide home insurance service for a particular houseCriminal record service Check the criminal record of a specific neighborhoodSchool information service Provide the names and rankings of the elementary, middle, and high

schools in the region where a specific house is locatedTitle service Provide the title search and title insurance services for a specific houseSettlement service Provide services related to the closing of a house-buying transaction Utility service A utility company (e.g., electricity, phone) that provides services to a house

W W W . I S M - J O U R N A L . C O M

S U M M E R 2 0 0 5

Page 10: E-BUSINESS - George Mason University

E-BUSINESS

newspapers. MLS is widely used for its avail-ability, reputation, usage frequency, fidelity,and reliability. The outcome of this step is a listof different combinations of the above services(i.e., a list of alternative plans). The third step isto rank those combinations using the formulain Equation (1) based on quality of services anduser preferences (e.g., assigned weights). A ser-vice composition plan that has the highestoverall quality is then identified. Finally, thecontrol manager personalizes the home direc-tory service based on individual buyers’ prefer-ences stored in the profiles of buyers. Forexample, a buyer is interested in four-bedroom,single-family houses that were built within thepast 15 years, located within 15 miles of hisworking place and within a good school dis-trict, with a two-car garage, and no less than2200 square feet of living space. The generatedhome listing alert service will automatically de-liver new house information that matches theabove criteria. In the meantime, it also keepstrack of the house information that the buyeractually views to determine his true interest.The buyer can also rate each house as he viewsit. Such information can be used by the systemto detect potential changes in the buyer’s inter-est and adjust the corresponding profiles for fu-ture service personalization.

By wrapping existing business services asWeb services and applying the proposed frame-work for service composition, a real estatebusiness can extend the life cycle of existingapplications and enhance interaction with oth-er associated companies, thus enabling thebusiness to close a deal faster and gain compet-itive advantage.

A Prototype System for Home PurchasingIn this section we use a simplified scenario ofbuying a house to exemplify the dynamic andpersonalized Web services composition frame-work presented in the previous section. Wechose a commercial business process manage-ment and integrated software product, Mi-crosoft BizTalk 2004, as a main tool to developour prototype system. Visual Studio.net wasused to develop a customized Web service selec-tion and composition agent that used a privateWeb service registry to support dynamic invo-cation of Web services. BizTalk 2004 supportsBPEL, an industry standard for Web servicescomposition. ASP.NET was also used to developWeb-based user interfaces for requesting andconsuming the underlying Web services. The

prototype system presented here serves as aproof of concept for the proposed framework.

A Process Model of BuyHouse. Accord-ing to the precedence constraints defined inthe production rules, we constructed a home-buying process called BuyHouse using the Or-chestration Designer in BizTalk 2004, as shownin Figure 3. The process was modeled approxi-mately from a viewpoint of designing a real es-tate Web portal based on activities involved ina home-buying cycle. It is a simplified model sothat we can illustrate the essential conceptsmore clearly.

This process involves the following se-quence of steps:

1. Call SelectHouse. Because the house selec-tion sub-process is complex and involves alot of human interactions, it is carved out asa separate Human Workflow Service (HWS)orchestration named SelectHouse that iscalled from the BuyHouse process. This isan example of a nested process (i.e., pro-cess decomposition) in BizTalk. The pri-mary orchestration calls the secondaryorchestration SelectHouse to accomplishthe house selection activity. Informationabout a house that the buyer may be inter-ested in making an offer or will be returned.This secondary orchestration involves acouple of activities that require intensivehuman interactions:a. The buyer agent needs to elicit the

buyer’s requirements, including pricerange, preferred areas to live, expectedsettlement time, school district prefer-ence, preferred builders, etc.

b. An intelligent agent can automaticallyselect a list of properties that matchesthe buyer’s requirements and notify himby e-mail or other means to view thedetailed information. A physical visit toan interested house before making anoffer is quite common.

2. SendOffer. After a buyer is ready to make anoffer on a selected house, a SendOffer ser-vice is invoked to send an electronic offerto the SellerAgentService. An offer docu-ment contains offered price, finance,expected closing date, and other contin-gencies.

3. ReceiveResponse. After receiving andassessing an offer, the SellerAgentServicereturns a response that may accept theoffer, reject it, or provide a counter-offer. Ifthe offer is accepted, the process will enter

59I N F O R M A T I O N S Y S T E M S M A N A G E M E N T

S U M M E R 2 0 0 5

Page 11: E-BUSINESS - George Mason University

60

E-BUSINESS

the PrepareSettlement phase; otherwise, itwill go back to Step 1.

4. PrepareSettlement. Once an offer on ahouse is accepted, several activities canoccur in parallel to prepare for the final set-tlement. These activities include obtaininga home mortgage, conducting a title search,performing a home inspection (optional),selecting a settlement firm for closing, get-ting home insurance, etc. To keep it simple,we do not show all of these activities in theBuyHouse orchestration model in Figure 3.The system keeps track of settlement activ-ities and will update the records to reflectthe status of the preparation. The primaryorchestration can store updated settlementstatus messages in a folder for the buyer or

his agent to track the status of these activi-ties.

5. Call ClosingService. Once all the parallelactivities included in the PrepareSettlementhave been finished, a ClosingServiceorchestration will be called to complete theBuyHouse process.

A BizTalk Server orchestration can also beexposed as a Web service and consumed by aWeb service client such as a Web applicationimplemented in ASP.NET. An ASP.NET applica-tion can construct an object based on the Webreference to the orchestration and use it tointeract with a remote Web service. It popu-lates data in this object and submits the objectas a parameter in a Web service request to the

FIGURE 3 A Process Model for Buying a House in BizTalk’s Orchestration Designer

W W W . I S M - J O U R N A L . C O M

S U M M E R 2 0 0 5

Page 12: E-BUSINESS - George Mason University

E-BUSINESS

orchestration. The orchestration processes thesubmitted data and returns a correspondingmessage to the ASP.NET application.

A Pr iva te Web Serv ice Reg is t rySupporting Dynamic Web ServiceInvocation. Public UDDI registries are toogeneric and lack control over the quality ofWeb services and the trustworthiness of ser-vice providers. Searching for candidate Webservices that satisfy a consumer’s request fromsuch registries can result in many useless en-tries. Therefore, in this prototype system, in-stead of using a public UDDI registry, wecreated and used a domain-specific private Webservice registry (WSR) and a set of Web serviceAPIs to the WSR to enable the business processto retrieve appropriate Web service(s) dynami-cally. The data model of the Web service registrydepicted in an entity relationship diagram isshown in Figure 4.

The entity type ServiceCategory was usedto define high-level categories for individual

service items. For example, “mortgage” is an in-stance of ServiceCategory. Service items be-longing to a single category can be identifiedfirst. Then, specific service items can be select-ed based on values of their functional attributesstored in the ServiceItemFunctionalAttributeentity type. Metadata of functional attributeswas stored in the FunctionalAttributeType enti-ty type. For example, based on an instance of Ser-viceCategory “mortgage,” we can find serviceitems (e.g., mortgage products/packages) of-fered by different mortgage firms, which includevarieties of mortgage types such as fixed-ratemortgage, ARM (adjustable rate mortgage), or in-terest-only mortgage. Basic information about allservice providers was stored in the ServicePro-vider so the system could identify all qualifiedproviders for a requested service item via the as-sociative entity type ServiceItemProvider.

Web service operations provided by serviceproviders were stored in the WebServiceOper-ation entity type that has attributes such as de-scription, keywords, and URLtoWebService

FIGURE 4 The Entity Relationship Diagram of the Web Services Registry

ServiceCategory

categoryID

categoryNamedescription

ServiceProvider

ProviderID

providerNamecontactNamecontactTitleaddresscitypostalCodestatecountryphoneNumberWebSiteURL

ServiceItem

ServiceItemID

itemNamedescriptioncategoryID (FK)

ServiceItemProvider

ProviderID (FK)ServiceItemID (FK)

ServiceFuntionalAttribute

ServiceItemID (FK)FuntionalAttributeName (FK)

attributeValue

ServiceItemProviderNonfunctionalAttribute

ServiceItemID (FK)ProviderID (FK)

NonFuntionalAttributeName (FK)

attributeValue

WebServiceOperation

ProviderID (FK)WebServiceOperationName

ServiceItemID (FK)

descriptionkeywordsURLtoWebServiceWSDL

FunctionalAttributeType

FuntionalAttributeName

descriptiondataTypevalueSet

NonFunctionalAttributeType

NonFuntionalAttributeName

descriptiondataTypevalueSet

has

applies to applies to

has

contains

is implemented by

has providers provides

61I N F O R M A T I O N S Y S T E M S M A N A G E M E N T

S U M M E R 2 0 0 5

Page 13: E-BUSINESS - George Mason University

62

E-BUSINESS

WSDL. In practical implementations, severalWeb service operations can be implemented in asingle Web service. The URLtoWebServiceWSDLattribute contained the URL pointing to theWSDL file of a selected Web service that imple-ments specific Web service operation(s) by aservice provider (identified by ProviderID).

Once a list of service providers that offerthe same service item is found according totheir functional attributes, correspondingURLs of WSDL files of the Web service opera-tion implemented by each provider can be re-trieved from the WSR based on the relationshipbetween ServiceItemProvider and WebService-Operation. We can then call these Web serviceoperations dynamically to retrieve up-to-dateinformation from those providers and selectthe best service provider based on values ofnonfunctional attributes such as servicecharge, availability, and service delivery time(i.e., execution duration). The attributePriceValidDateTime can be used to determinewhether pricing information needs to be up-dated by requesting a price quoting servicefrom providers; otherwise, the cached valuesof nonfunctional attributes stored in theServiceItemProviderNonFunctionalAttributeentity type can be used to improve the perfor-mance of the system.

We have developed a Web service API toprovide interfaces to the Web Service Registry.Some commonly used operations defined inthe Web service interfaces to WSR and theirfunctionalities are listed as follows:

❚❚ GetProviders (FunctionalAttributeCriteria):a set of providers’ IDs will be returned basedon a set of criteria specified by the consumerand values of functional attributes associatedwith a service.

❚❚ GetProviderWSDL (ServiceItemID, WebOp-erationName): returns a list of URLs ofWSDL files from service providers that imple-ment a specific Web service operation (thename of the operation is specified by the sec-ond parameter).

❚❚ SearchServiceItems (FunctionalAttributeValue Set): names and values of a set ofattributes will be used as parameters to findout appropriate service items. A number ofservice item IDs will be returned as the resultof this Web operation.

Dynamic Invocation and Compositionof Web Services. Figure 5 depicts a high-level architecture about how BuyHouse orches-tration, SelectHouse orchestration, Mortgages

Service Agent (MSA), Web Service Registry, anda real estate portal interact during dynamicWeb services invocation and composition. Theportal is an interface with which a home buyercan interact with Web services exposed by or-chestrations and MSA. The major steps carriedout by the MSA, as labeled in Figure 5, are de-scribed in Table 2.

Similar steps can also be carried out simul-taneously for selecting a title company and ahome insurance company. In general, function-al attributes stored in a WSR are often used toidentify all candidate providers for a requestedservice item. Personal preferences and non-functional attributes are used to determinewhich providers’ Web services should be se-lected for composition. Values of nonfunction-al attributes often change over time; therefore,invoking Web operations to query qualifiedproviders to collect these attribute values inreal-time is necessary.

Domain-specific standards for Web servicesare essential for the success of dynamic Webservice selection, composition, and invocation.As mentioned earlier, providers that offer thesame service items should follow predefinedstandards while developing interfaces of Webservices to realize interoperability. There are in-creasing efforts in the development of XML-based document standards, but Web serviceoperation standards for developing applica-tions in specific domains remain scarce.

CONCLUSIONDynamic Web service composition is emergingas a new way of empowering E-businesses.Building composite Web services can save ex-tensive time and cost for developing new appli-cations and enhance the interoperability andcollaboration among E-business partners.Seamless composition of Web services hasenormous potential in streamlining business-to-business processes and the integration of en-terprise applications. The applications can de-termine not only what existing services can bebound together, but also how they should becarried out at runtime in order to fulfill users’complicated requests. However, WSC is a verychallenging task due to the potentially largenumber of services that provide the same func-tionality, as well as the heterogeneity andchanging nature of services.

This article has identified several importantissues involved in Web service compositionand presented a framework for dynamic Webservice composition that adopts an innovative

n practical implementations, several Web service operations can be implemented in a single Web service.

I

W W W . I S M - J O U R N A L . C O M

S U M M E R 2 0 0 5

Page 14: E-BUSINESS - George Mason University

E-BUSINESS

approach to selecting and composing servicesbased on functional and nonfunctional attributesand individual preferences. The framework en-ables finding an optimal composition of services

at runtime. We have also demonstrated an ap-plication of the framework using an example inthe real estate domain and discussed some im-plementation details. ▲

FIGURE 5 Dynamic Service Invocation and Composition Via a Mortgage Service Agent

BizTalk 2004 Engine

Mortgage Service Agent

BuyHouseOrchestration

SelectHouse

SendOffer

PrepareSettlement

SelectHouseOrchestration

Messaging

Real EstatePortal

6

4

1

- Retrieve providers' WSDLs' URLs- Invoke all RateQuote services- Collect all rate quotes in a data set- Suggest a quote based on buyer's preference and non-functional attributes- Confirm the selection with the buyer- Apply for loan from a selected mortgage firm- Update mortgage status

2 WS

R A

PI i

nW

eb S

ervi

ces Web

ServicesRegistry

Mortgage Firm 1

Web Services

Mortgage Firm 2

Mortgage Firm N

3

5ApplyLoan(...)

RateQuote(...)

63I N F O R M A T I O N S Y S T E M S M A N A G E M E N T

S U M M E R 2 0 0 5

Page 15: E-BUSINESS - George Mason University

64

E-BUSINESS

TABLE 2 Major Steps Carried Out by the Mortgage Service Agent (see Figure 5)

1. Invoke the MSA’s GetRateQuotes Web operation by carrying out the RequestRates activity in the BuyHouse orchestration. The code for the GetRateQuotes operation was written in Visual Basic .NET as follows:

1. <WebMethod()> _ 2. Public Function GetRateQuotes(ByVal ServiceItemID as String, ByVal NumOfYear As Integer, ByVal Amount As Integer, ByVal myProfile As CustomerProfile) As DsRateQuoteResult3. Dim MyMortgageRegistry As New MortgageRegistry.MortgageQuery4. Dim MyRateQuoteResult1 As New DsRateQuoteResult5. Dim DsRateQuoteWSDL1 As New MortgageRegistry.DsRateQuoteWSDL6. Dim MortgageWSDL As MortgageRegistry.DsRateQuoteWSDL. RateQuoteWSDLRow7. Dim MortgageFirmWSDL As String8. Dim MyRateQuoteWS As RateQuoteWS.WSQuery9. Dim MyRateQuoteDs As RateQuoteWS.DsRateQuote10. Dim drQuoteResult As DsRateQuoteResult.RateQuoteResultRow11. Dim dtQuoteResult As New DsRateQuoteResult.RateQuoteResultDataTable12. DsRateQuoteWSDL1 = MyMortgageRegistry.GetProviderWSDLs (ServiceItemID, "RateQuote")13. For Each MortgageWSDL In DsRateQuoteWSDL1.Tables(0).Rows14. MyRateQuoteWS = New RateQuoteWS.WSQuery(MortgageWSDL.WSDL)15. MyRateQuoteDs = MyRateQuoteWS.RateQuote(MortgageType, NumOfYear, Amount, myProfile) 16. Dim MyRateQuoteDt As RateQuoteWS.DsRateQuote.RateQuoteDataTable17. MyRateQuoteDt = MyRateQuoteDs.Tables(0)18. Dim MyRateQuoteDr As RateQuoteWS.DsRateQuote.RateQuoteRow19. If Not (MyRateQuoteDt Is Nothing) Then20. drQuoteResult = MyRateQuoteResult1.RateQuoteResult. NewRateQuoteResultRow21. MyRateQuoteDr = MyRateQuoteDt.Rows(0)22. drQuoteResult.MortgageFirmID = MortgageWSDL.MortgageFirmID23. drQuoteResult.Rate = MyRateQuoteDr.Rate24. drQuoteResult.ApprovalTime = MyRateQuoteDr.ApprovalTime25. MyRateQuoteResult1.RateQuoteResult.Rows.Add(drQuoteResult)26. End If27. Next28. Return MyRateQuoteResult129. End Function

2. Retrieve URLs of candidate service providers’ WSDL files: mortgage lenders that offer the requested mortgage package such as “30-year, fixed rate” will be identified. The URLs of the WSDL files for individual Web services that implement the RateQuote( ) operation are retrieved from the WSR (line 12 of the above code).

3. Invoke all RateQuote services dynamically and collect all mortgage rates. Each candidate mortgage lender selected from the previous step will be included in a loop. Inside the loop, the Web service of each mortgage firm that provides the requested mortgage service will be invoked and each returns a mortgage rate quotation. This step was implemented with code from line 13 to line 27.

4. Select a mortgage service: the system will assess functional attributes such as mortgage rate that is retrieved dynamically and nonfunctional attributes (e.g., reputation and reliability of a mortgage company). Applying Equation (1) for each candidate mortgage service, as well as considering the buyer’s preference stored in a profile, the system will automatically select an optimal mortgage firm’s service based on its overall quality and recommend it to the buyer (it still needs the buyer’s approval). After the buyer accepts the recommendation, the system will initiate a loan application implemented within MSA.

5. The loan application will invoke the ApplyLoan( ) method of the mortgage Web service provided by the selected mortgage firm to start the loan application process.

6. The mortgage application status within the BuyHouse orchestration will be updated by calling an exposed Web operation RecLoanStatus( ).

W W W . I S M - J O U R N A L . C O M

S U M M E R 2 0 0 5

Page 16: E-BUSINESS - George Mason University

E-BUSINESS

ReferencesAllen, C., D. Kania, and B. Yaeckel, One-to-One Web

Marketing: Build a Relationship Marketing Strategy One Customer at a Time, 2nd ed., New York: John Wiley & Sons, 2001.

Ankolekar, A., M. Burstein, J.R. Hobbs, O. Lassila, D.L. Martin, A.S. Mcllraith, S. Narayanan, M. Paolucci, T. Payne, K. Sycara, and H. Zeng, DAML-S: Semantic Markup for Web Services, International Semantic Web Working Symposium (SWWS), Stanford University, 2001.

Berners-Lee, T., J. Hendler, and O. Lassila, The Semantic Web, Scientific American, (May 2001), 35–43.

Carman, C., L. Serafín, and T. Paolo, Web Services Composition as Planning, Workshop on Planning for Web Services, Trento, Italy, 2003.

DesJardins, M., E. Durfee, C. Ortiz, and M. Wolverton, A Survey of Research in Distributed, Continual Planning, AI Magazine, 20 (1999), 13–22.

Erol, K., J. Hendler, and D.S. Nau, Semantics for Hierarchical Task Network Planning, Technical report, University of Maryland–College Park, 1994.

Girard, J.-Y., Linear Logic, Theoretical Computer Science, 50 (1987), 1–102.

Giunchiglia, F. and P. Traverso, Planning as Model Checking, 5th European Conference on Planning, Durhamu, K, 1999.

Gruber, T.R., Toward Principles for the Design of Ontologies Used for Knowledge Sharing, International Journal of Human–Computer Studies, 43 (1995), 907–928.

Madhusudan, T. and N. Uttamsingh, A Declarative Approach to Composing Web Services in Dynamic Environments, Decision Support Systems, forthcoming.

Martin, D., M. Paolucci, S. McIlraith, M. Burstein, D. McDermott, D. McGuinness, B. Parsia, T. Payne, M. Sabou, M. Solanki, N. Srinivasan, and K. Sycara, Bringing Semantics to Web Services: The OWL-S Approach, First International Workshop on Semantic Web Services and Web Process Composition (SWSWPC ‘04), San Diego, California, 2004.

Milanovic, N. and M. Malek, Current Solutions for Web Service Composition, IEEE Internet Computing, 8 (2004), 51–59.

Orriëns, B., J. Yang, and M.P. Papazoglou. A Framework for Business Rule Driven Web Service Composition, International Conference on Conceptual Modeling (ER), Chicago, IL, Oct. 13–16, 2003.

Paolucci, M., T. Kawmura, T. Payne, and K. Sycara, Semantic Matching of Web Services Capabilities, First International Semantic Web Conference, Sardinia, Italy, 2002.

Pistore, M., F. Barbon, P. Bertoli, D. Shaparau, and P. Traverso, Planning and Monitoring Web Service Composition, Workshop on Planning and Scheduling for Web and Grid Services in Conjunction with ICAPS, Whistler, British Columbia, Canada, 2004.

Ponnekanti, S.R. and A. Fox, SWORD: A Developer Toolkit for Web Services Composition, The Eleventh International World Wide Web Conference, Honolulu, Hawaii, 2002.

Rao, J., P. Küngas, and M. Matskin, Application of Linear Logic to Web Service Composition, International Conference on Web Services (ICWS ‘03), Las Vegas, NV, 2003.

Sirin, E., J. Hendler, and B. Parsia, Semi-automatic Composition of Web Services using Semantic Descriptions, Web Services: Modeling, Architecture and Infrastructure Workshop in conjunction with ICEIS ‘03, Angers, France, 2003.

Srivastava, B. and J. Koehler, Planning with Workflows — An Emerging Paradigm for Web Service Composition, Workshop on Planning and Scheduling for Web and Grid Services ICAPS, Whistler, British Columbia, Canada, 2004.

W3C, OWL-S: Semantic Markup for Web Services, 2004, http://www.w3.org/Submission/2004/ SUBM-OWL-S-20041122.

Zeng, L., B. Benatallah, M. Dumas, J. Kalagnanam, and Q.Z. Sheng, Quality Driven Web Services Composition, World Wide Web, Budapest, Hungary, 2003.

Zhang, D., Web Services Composition for Process Management in E-Business, Journal of Computer Information Systems, 45: 2 (2005), 83–91.

Zhou, L. and D. Zhang, Trust-Based Automatic Web Service Composition, The Third Workshop on E-Business (Web 2004), Washington, D.C., 2004.

65I N F O R M A T I O N S Y S T E M S M A N A G E M E N T

S U M M E R 2 0 0 5