You are on page 1of 8

UCSOA: User-Centric Service-Oriented Architecture

Mark Chang, Jackson He, W.T. Tsai*, Bingnan Xiao*, Yinong Chen*
Intel Incorporation, USA
*Arizona State University, Tempe, AZ 85287-8809, USA

Abstract specifications in SOA, workflows and application


collaboration specifications are also published in
This paper introduces a new user-centric service- CCSOA for discovery, matching, and subscription.
oriented architecture (UCSOA) that allows end users The CCSOA is different from the conventional SOA
to compose applications. UCSOA is an extension of framework [2][13], in which service providers develop
consumer-centric service-oriented architecture and publish their services, and service consumers
(CCSOA), which is an extension of conventional SOA. (application builders) are responsible to discover the
The conventional SOA is producer-centric because right services published as well as use the services in
service providers publish their services and service their applications. This is essentially a producer-
consumers must search available services to compose centric. Specifically, the majority of the current
their applications. CCSOA is different as it allows support in SOA is for producers, e.g., the service
consumers publish their needs including workflows broker will list registered services, the specification
and services, and let producers to produce services to techniques and standards are designed so that service
meet the requirements. Based on CCSOA, UCSOA providers may produce the right software for a given
provides support for end users. An application builder specification. There is no corresponding broker for
is an engineer who has both domain and programming consumers, nor is the corresponding application
knowledge, while an end user has little knowledge on specification publisher. In CCSOA, consumers publish
programming and thus UCSOA needs to allow non- their application requirements together with associated
technical persons to compose their applications. This service specifications including the workflow. Once
paper presents the concepts, architecture, enabling these are published as application templates, any
techniques, and illustrative examples. service provider can submit their software or services
to meet the application requirements. This way of
1. Introduction computing is consumer-centric because now the
service providers will look for application needs from
Service-Oriented Computing (SOC) including service customers.
service-oriented architecture (SOA) and Web Services Even though CCSOA provides a framework for
(WS) emerges as a new computing paradigm. Major service consumers, there is rarely any support for end
computing corporations and government agencies are users who have little programming background and
adopting this paradigm. The idea that a program as a who are the ultimate customers of services. User-
service that can be discovered, matched, composed, Centric SOA (UCSOA) is a new framework to support
executed, verified, and monitored at runtime forms the end users. Most of the current SOA focuses are
new paradigm. In SOA, service providers register the centered on providing platform independent services
services at a service broker and the service consumers for developers and / or application builders. With web
(application builders) search and discover required technologies becoming ubiquitous and service-
services through the broker. Once a required service is orientation technologies maturing, a new breed of user-
found, the service consumer can bind the service into centric services is emerging, e.g., Web 2.0 [11]. The
its application. Service collaboration is essential in era of user-orientation is dawning on us. Future
SOA because a complex service is normally composed computing environment and development
of several services. methodologies will pay more attention to end users and
Consumer-Centric SOA (CCSOA) [16] is an design services directly for them. UCSOA assumes the
architecture designed to support collaboration-oriented following facts:
service composition. In addition to publishing service • Numerous application services will be made
readily available to end users. Examples of such

The research reported here is supported in part by the NSF under Grant Number 03-26606 (ITR).

IEEE International Conference on e-Business Engineering (ICEBE'06)


0-7695-2645-4/06 $20.00 © 2006
services include calendars service, weather With the advances of SOA specification
service, and appointmentBooks service. technologies, it is possible to incorporate the needs of
• End users have limited computer knowledge, and end users into the service specification so that end
they can use web browsers to read news online users can know what service to use and how to use
and use sample applications on the web. Yet they them.
certainly may not have sufficient training in
composing applications. 2. SOA Evolution
• Each end user has his/her own background and
interests, and will need different applications Several generations of SOA techniques have been
accessible from the web browser. developed in the last few years [16]:
Web 2.0 can be considered an important step • Initial stage or input/output stage;
towards user-oriented computing [11] as it emphasizes • Process description stage;
on user interaction and data syndication. Some notable • Service collaboration specification stage; and
Web 2.0 principles include: • Consumer-centric specification stage.
• Software as operational services: Software will
not only be treated as services but also the values UCSOA introduces a new service specification
of software remain only if it is maintained on a stage to the SOA specification evolution, i.e., a user-
daily basis. centric specification stage. In previous stages,
• Users treated as co-developers: As software is application builders are engineers who have
being constantly updated, user feedback and programming knowledge and expertise. On the other
evaluation will be continuous that users are hand, end users may not have programming expertise,
essentially co-developers of the software. but they know what functions the software must have
Specifically, new features will be tested by end and how it should be used. In this user-centric
users at limited sites, and if they are used and liked specification stage, techniques are needed to support
by users, they will be deployed to all the sites. end-users with little programming knowledge to
• Harnessing collective intelligence: Data and specify applications and services they want to use. The
services can be created in a collaborative manner remainder of the paper will focus on the user-centric
via the web. service specification.
• Lightweight user interface and programming
models: Develop software services that are loosely 3. UCSOA Framework
coupled with the rest of applications so that they
are easy for reuse and support data syndication. 3.1 UCSOA Hierarchy
These principles encourage user interaction and
allow software services to be used and evaluated by The overall UCSOA architecture is a four-layered
end users. While they also support software reuse by architecture as shown in Figure 2:
using lightweight programming models, programming
is still done by programmers.
This paper introduces UCSOA to support end-user
oriented application development. Table 1 compares
SOA, CCSOA, and UCSOA. Figure 1 illustrates the
current situation in which the end users struggle to find
services that meet their needs.

Enterprise Service Providers How to


Where use the
to find Services
Services ?
?
Publish
Publish my
needs and
Broker get services
directly ?
Figure 2: UCSOA Architecture
Public/Private
Networks End Users

Public Service Providers Publish


• Conventional SOA Layer: This layer provides
Discover &
Re-Package
w/ GUI
conventional SOA services such as publishing,
Subscribe
discovery, and broker services.
Programmers • CCSOA Layer: CCSOA publishes not only
Figure 1: Needs of User-Oriented Services service specifications, but also application templates
and collaboration patterns. In CCSOA, all kinds of

IEEE International Conference on e-Business Engineering (ICEBE'06)


0-7695-2645-4/06 $20.00 © 2006
solutions are provided for both end users and service • End user profiling Layer: Each individual end
providers. user has his /her own preferences and behaviors, and
• COI (Community of Interests) layer: This is a thus will result in different applications.
layer where common solutions related to a specific
domain are stored and classified.

Table 1: Comparison of SOA, CCSOA, and UCSOA


SOA CCSOA UCSOA
Descriptions Service descriptions include In addition to input/output and In addition to the
to be method calls, parameters internal process specification, specifications in SOA and
published (input and output), and service description also includes CCSOA, users can specify
internal process specification how a typical customer can use this what types of services they
in WSDL or OWL-S. service in various applications or want, service quality
missions. It also includes use cases criteria, personal profile and
and collaboration patterns. interests, and workflow for
service collaboration.
Publishing Service descriptions in Service descriptions and In addition to publishing
service directories such as application templates in the services, collections of
UDDI or ebXML. application builders’ directory. related applications are
published in Community of
Interests (COI) directory.
Discovery Service consumers Service providers discover the Application builder and
and (application builders) match services in need and match them service providers discover
Matching their services needs with with what they have and what they the needs of end users and
existing services in WSDL or can offer. Furthermore, they can provider solutions,
OWL-S in the service test their services using the use including application
directories or service cases and the collaboration patterns template and services to
repositories. given in the application template. match the end users' needs.
Composition Use available services to In addition to service composition, End users can compose their
compose new services or CCSOA offers to use application user interfaces using drag-
applications. Composition is templates to facilitate application and-drop tools and
mostly manual at this time, composition. application builders must
even though several match or compose their
approaches are being pursued interfaces to meet the end
for automated composition. users' requirements.
Brokers Allow service providers to In addition to publishing and In addition to the tasks done
publish service description matching services, a broker also by a CCSOA broker, a
and, and allow application allows application builders to UCSOA broker allows end
builders to perform various publish their service requirements users to publish their
search to locate the most and application templates. Store application requirements.
suitable services for their not only service descriptions, but
applications. also collaboration descriptions and
use cases.

UCSOA provides a framework for end-user-


oriented service specification, registration, discovery,
matching, verification, validation, and composition. An
operational sequence in UCSOA is shown in Figure 3.
The numbers in the diagram shows a scenario of
how an end user uses UCSOA:
1. An end user (solution builder) describes a solution
specification which includes information on
workflow specification, COI specification, and
Figure 3: A UCSOA Operation Sequence policies.

IEEE International Conference on e-Business Engineering (ICEBE'06)


0-7695-2645-4/06 $20.00 © 2006
2. The solution specification is submitted to a application is available, the user can simply use it. If
UCSOA service broker. If an existing solution the solution specification is not available, but a similar
specification associated with registered application template solution is available, the user can customize
is available, the broker will return the application to the template solution. If nothing similar is available,
the end user. Otherwise, the solution specification the user can outline a solution specification, publish the
will be published in the solution specification specification, and ask service providers to supply the
registry. services or applications needed. The entire process can
be assisted by the COI supporting services, either
3. A service provider subscribed to the solution
manually or automatically. For example, searching an
specification registry is informed the availability of
application in a COI can be supported by a powerful
a new solution specification. The service provider
search engine that can find the needed application even
can request to support this solution specification. though the user supplies only a few keywords and/or
4. The ontology and standard taxonomy in the COI attributes. Currently, many websites already provide
specification help automatic matching between the this kind of facilities powered by, for example Google
solution specification and registered application and Yahoo. Composing a solution template can be
specification from the service provider. assisted by drag-and-drop GUI and associated tools so
5. Once the service broker matches the solution that an end user can compose simple solutions. If an
specification in its registry with the application end user wants to specify a specific application, the
specification from service provider, it returns the COI may provide similar specification as a reference to
solution specification details to the service guide the end user to input the proper application
provider. specification.
6. The service provider customizes its service or
application according to the detailed solution 4. Key Techniques in UCSOA
specification and submits it to the broker.
7. Once an application matches the solution 4.1 Communities of Interest (COI)
specification is available, the service broker will
notify the user (solution builder) that an application A COI [10] is a place where interested parties can
is available. get related information, and each party can contribute
to the discussion and share information with each
8. Using the binding information from the service
other. In this way, an end user can receive information
broker, the end user can test and evaluate the
he/she needs and participate in the dynamic service
application based on the solution specification.
composition. A COI can provide the following
9. If the application passes the solution acceptance additional services:
test, the end user can accept the application, which • Membership management;
will make the application to be bound into the end • Policy specification;
user's solution specification. • Situation awareness;
Once the end user's application is completed, new • Dynamic reconfiguration;
services can still arrive. For example, as a software • Service mining; and
service will be maintained and updated on a daily basis
• Data classification.
according to the principles of Web 2.0, a new service
In UCSOA, common applications together with
with better performance, functionality, user interface,
associated services will be represented in solution
lower cost may be available after the application is
specifications, and these solution specifications can be
completed. The users can still take advantage of these
stored in ontology so that both users and service
new services by going through the evaluation process
providers can search, navigate, and discover
again from time to time. In this way, the cost of
applications and their associated services. Applications
owning the application keeps on going down and
can be grouped into various COIs according to various
performance going up as new services become
trades or professions. The applications and data in
available.
COIs can be constantly upgraded and updated.
A sports COI example is shown in Figure 4.
3.2 Publishing Solution Specification in COI Basketball COI may contain various applications
associated with professional basketball and college
In a COI, solutions will be published and classified. basketball so that both users and service providers of
An end user can publish, search, and discover a basketball can have easy access. When an end user
solution specification in a COI. If the related wants to build a new basketball related application,

IEEE International Conference on e-Business Engineering (ICEBE'06)


0-7695-2645-4/06 $20.00 © 2006
he/she first submits the request to the COI register to
look up appropriate COI that best fits his/her needs. 4.3 Discovery and Matching
There are different solution specifications stored for a
COI and these solution specifications are linked to the In addition to the service discovery and matching in
application templates registered in CCSOA. End users conventional SOA and application template discovery
communicate with COIs only to get the applications and matching in CCSOA, UCSOA also has discovery
they need, and they do not need to know the and matching for COIs and user customized solution
application details in CCSOA. The solution specifications.
specifications stored in the COI layer are also ranked UCSOA discovery and matching is a two-steps
according to different criteria, such as: process based on COI ontology and collaboration
• Ranked by the number of usages; ontology. COI ontology defines an ontology for
• Ranked by metrics such as reliability, security, creating different COIs including domain
fault-tolerance, and performance; categorization information. Collaboration ontology is
• Ranked by user feedback and evaluation; and similar to service ontology except the information is
• Ranked by service availability. about service collaboration rather than service.
When a user submits a solution specification
request to the UCSOA, the area of interest
specification will be matched to the domain
categorization information of different COIs based on
the COI ontology specification first. After a matching
COI is identified, the UCSOA framework will match
user specified solution specification to the solution
specification stored in that COI. The user defined
Figure 4: Sport COI Example
solution specification will be matched to the solution
specifications defined based on the collaboration
ontology in the COI layer. Only if the solution
4.2 User Personal Profile Specification
specification matches both the COI and collaboration
specification of an existing solution specification
User personal profile specification provides
stored in the COI layer of UCSOA, the applications
information of user identification information as well
associated with this solution specification will be
as the preferences on using different services. User
returned to the user as he/she requested.
personal profile includes following information:
• User identity information;
4.4 Verification and Validation in UCSOA
• User general profile;
• Recent activities records; Before a service provider or application builder can
• User interests information; register an application to support a solution
• User preference information; and specification published by a user (solution builder), the
• User solution specification. application needs to be verified and validated by the
User personal profiles provide user information to service broker against the service acceptance criteria.
the UCSOA framework to better serve the users’ Basically, this evaluates the application against the
specific needs. With user personal profiles specified policies that end user specified in the solution
for an end user, the UCSOA framework knows what specification.
the areas of interest and what preferences are for this Each UCSOA service broker has a Service
end user. Thus, the UCSOA framework can always Verification and Validation Agent (SVVA) that can
return most related information to this end user verify and validate applications and services. When
according to the areas of interest and service one service provider or application builder wants to
preference information collected from the user’s subscribe to a solution specification, the SVVA
personal profile. Different users have different retrieves the test cases provided by the solution builder
preferences and different behaviors. As a result, even or other parties from the repository. Then it needs to
in the same application domain, different users may perform unit testing on the service being registered. In
request different applications. Furthermore, user’s addition to the testing for functional validation, test
personal profile can be updated after he/she requests agent may need to perform other property-specific
and uses a new application. The information will be testing according to different requirements from the
collected as feedbacks for service providers to improve end user (solution builder). Once the unit testing and
the services.

IEEE International Conference on e-Business Engineering (ICEBE'06)


0-7695-2645-4/06 $20.00 © 2006
property-specific testing are done, a test agent needs to 4. The newly submitted services by service providers
perform the interoperability testing to validate the will be evaluated by the COI/broker using SOSE
collaboration capabilities of this service against the techniques including simulation, model checking,
policies specified in the user solution specification. C&C checking, and testing;
Only if the subscribing application passes all the tests, 5. As only a few implementations in each application
it can be linked to the solution specification. The template will be needed, the COI layer can save the
service providers are still going to maintain those implementations in its repository;
registered services and keep updating their services 6. Once all the service implementations for a new
after the registration. Whenever changes are made to application are available, the new application can
the services, regression testing needs to be performed be evaluated using SOSE technologies rapidly
to validate the revised services. . before deployment.
It is possible that an end user needs to compose an
4.5 Push-Driven Service Evolution application using applications from more than one
COIs. The user can first compose applications from
In UCSOA, when a service implementation is individual COIs, and then combine these applications
accepted to be an acceptable member of a solution into the final application. The final application will
specification, the UCSOA infrastructure can maintain have an overall workflow to specify the coordination
the link between the solution specification and the of individual applications. The process for composing
implementations. Because multiple implementations a complex application can be outlined as follows:
can serve the same specification, the UCSOA 1. List all required simple applications needed for the
infrastructure maintains this one-to-many links from complex application;
the solution specification to multiple implementations. 2. For each simple application in the list, compose
Similarly, a service implementation may be able to the application following the previous composition
contribute to multiple applications, and the UCSOA process including evaluation;
infrastructure can also maintain this one-to-many links 3. Specify the overall workflow of the complex
from a service implementation to applications. If there application, and link the simple applications to the
is a new version or new updates to the service overall workflow;
implementations that a solution is linked to, the push- 4. Once the verified simple applications are linked
driven service publication or data syndication can be together to compose the complex application, the
used to push the new updates to the user solution. The new application can be evaluated using SOSE
updates are pushed from the bottom layer of the technologies before deployment.
UCSOA framework through CCSOA and COI layers
to the end user applications. 5. UCSOA Example
4.6 Rapid Application Generation in UCSOA This section uses an online sports trip planning
application as an example to illustrate the complex user
With UCSOA, if sufficient number of COIs, solution fulfillment in UCSOA. An NBA (National
applications, and their associated services are Basketball Association) fans club wants to set up an
available, together with associated SOSE (Service- online trip plan application for registered club
Oriented System Engineering) [15] tools, it is possible members to buy team souvenirs and/or plan their trips
for an end user to create a large application rapidly. to watch away games. The leader of the fans club has
The process for composing a simple application which no background of programming but she decides to use
involved one COI can be outlined as follows: existing online services to build a new application for
1. The user submits his/her interest and solution this club. With this application, club members can shop
specification to the COIs register to look for an online to buy souvenirs such as player jerseys or other
existing COI application that fits the interest; accessories of the team they support. They can also use
2. If a COI has existing application template fits the this application to book air tickets, reserve hotels,
needs of user’s solution specification, the user can reserve rental cars, and book game tickets. The overall
simply use the application template to request workflow of this online fans club trip planning
services in the CCSOA; application is shown in Figure 5.
3. If an application template largely fits but some
customization is needed, the user needs to
customize the application template for the new
applications;

IEEE International Conference on e-Business Engineering (ICEBE'06)


0-7695-2645-4/06 $20.00 © 2006
application template. By browsing the returned COI
description, she chooses one online shopping
application template for her use, as shown in Figure 7.
The COI server submits an application request to
the CCSOA layer with the selected online shopping
Figure 5: Travel Planning Workflow
application template. Since there are many existing
online shopping applications for the selected
She starts from searching for online shopping application template registered in the CCSOA layer
services to be included into the application. To be more application registry, she can select a vendor according
specific, she wants to search for an online NBA to the policies she specified in the solution
souvenir shopping service. Thus, she composes an specification. For this example, she may specify the
online shopping application as described below: following policies as her vendor selection criteria:
First, she registers in the UCSOA framework and • Lowest total price;
fills in her user identity information such as user ID • Reputation of service provider;
and password. She also needs to provide her general • Secure authentication;
profile to the registration service such as name, • Graphic catalog browsing capability;
address, and telephone number. For a new user, the • Merchandise availability;
recent activities record is initiated as empty and this • Payment method; and
will be updated after she uses the services. For areas of • Shipping speed.
interest, she fills in NBA and Souvenir as her interest As a result, the online shopping service showing in
preference. Also, she specifies some policies as her Figure 8 will be returned to the user for purchasing
personalized user solution so that the services will NBA souvenirs.
always return the merchandise with lowest prices first.
She submits her interest profile to the COI server as
shown in Figure 6.

Figure 8: Final Online Shopping Service

After the online shopping application is available,


Figure 6: User Submits Request to COI Server she continues to compose a travel planning application.
Following the similar process introduced above, she
The COI framework queries its registry to look for a finds a travel package application in the COI and this
COI according to the information submitted by the application provides a series of services including air
user. Since the areas of interest are NBA and Souvenir, ticket reservation, hotel reservation, rental car
the COI server returns the Souvenir COI to the user. reservation, and activity ticket booking. The travel
planning application as shown in Figure 9 will be
returned to the user.

Figure 7: Online Shopping Application Template

There are many different application templates Figure 9: Final Travel Planning Service
defined in the Souvenir COI including online shopping

IEEE International Conference on e-Business Engineering (ICEBE'06)


0-7695-2645-4/06 $20.00 © 2006
Once these two online applications are composed, to Business Transformation. http://www.intel.com/
the UCSOA framework will evaluate the application business/bss/technologies/soe/soe_backgrounder.pdf
using SOSE verification and validation technologies [5] N. Kavantzas, D. Burdett, T. Fletcher, Y. Lafon, “Web
including testing, model checking and simulation. If Services Choreography Description Language (WS-CDL)”,
the applications pass the evaluation, the simple Version 1.0, W3C Working Draft 17 December 2004.
applications will be linked to the overall workflow http://www.w3.org/TR/ws-cdl-10/.
specification as shown in [6] F. Leymann, Web Services Flow Language, Version
Figure 5 for the complex travel plan application for 1.0, May 2001. http://www-306.ibm.com/software/
a NBA fans club. Then the complex application will be solutions/webservices/pdf/WSFL.pdf
evaluated by the UCSOA framework to verify these [7] OASIS: ebSOA proposal: http://www.oasis-open.org/
two applications can collaborate with each other. committees/ebsoa
Finally, the complex application will be deployed for [8] OASIS: Business Process Execution Language for Web
the NBA fans club to serve the club members. Services (BPEL4WS), 2003. http://
Furthermore, user’s selection of this online shopping xml.coverpages.org/bpel4ws.html
application and travel planning application will be [9] Object Management Group, Unified Modeling
recorded in her personal service preference. The Language (UML), version 2.0. http://
activities of using these services will be monitored and www.omg.org/technology/documents/formal/uml.htm.
updated in the user personal profile. These data will be [10] Object Management Group, Meta Object Facility
collected as feedbacks to the online shopping service (MOF) 2.0 Core Specification.
and travel planning service for service improvement. http://www.omg.org/docs/ptc/04-10-15.pdf.
[11] T. O’Reilly, “What is Web 2.0: Design Patterns and
5. Summary Business Models for the Next Generation of Software”, Sept.
2005, available at
This paper presented, compared, and contrasted the http://www.oreillynet.com/pub/a/oreilly/tim/news/2005/09/3
concept, architecture, and techniques of SOA, CCSOA, 0/what-is-web-20.html?page=1.
and UCSOA. An example is used to illustrate the new [12] R. Paul and W.T. Tsai, “A Real-Time Community-of-
UCSOA concepts. This paper also presented Interest Framework for Command-and-Control
techniques that support the new architecture, including Applications”, 9th International Command and Control
user profile description, discovery and matching Research and Technology Symposium (ICCRTS), 2004.
techniques, verification and validation of the [13] M. P. Singh and M. N. Huhns, Service-Oriented
specifications and implementations, and rapid and Computing, John Wiley & Sons, 2005.
dynamic application generation through automated [14] W.T. Tsai, R. A. Paul, B. Xiao, Z. Cao, Y. Chen,
code generation. Among the key concepts in UCSOA, "PSML-S: A Process Specification and Modeling Language
COI can greatly improve the service categorization and for Service Oriented Computing", The 9th IASTED
classification for easy service matching. User's International Conference on Software Engineering and
personal profile can facilitate the user-specific Applications (SEA), Phoenix, November 2005, pp. 160-167.
customization of the applications. Thus, the quality of [15] W.T. Tsai, "Service-Oriented System Engineering: A
applications can be greatly improved in UCSOA. New Paradigm," Proc. of IEEE International Workshop on
Service-Oriented System Engineering (SOSE), Beijing
October 2005, pp. 3 - 8.
6. References
[16] W.T. Tsai, B. Xiao, R. A. Paul, Y. Chen, “Consumer-
Centric Service-Oriented Architecture: A New Approach”,
[1] DARPA: OWL-S: www.daml.org/services/owl-s/ Proc. of IEEE 2006 International Workshop on Collaborative
[2] IBM Developer Works, Service Component Computing, Integration, and Assurance (WCCIA), April
Architecture, http://www-128.ibm.com/developerworks/ 2006, pp. 175-180.
library/specification/ws-sca/ [17] O. Zimmermann, Sven Milinski, M. Craes, F.
[3] IBM Developer works, Service Data Objects, Oellermann, "Second Generation Web Services-Oriented
http://www-128.ibm.com/developerworks/webservices/ Architecture in Production in the Finance Industry",
library/specification/ws-sdo/ OOPSLA’04, Oct. Vancouver, 2004
[4] Intel: Service-Oriented Enterprise, The Technology Path

IEEE International Conference on e-Business Engineering (ICEBE'06)


0-7695-2645-4/06 $20.00 © 2006

You might also like