2.3 Operation
The operation of a community revolves around com-
munity development, Web services attraction and re-
tention, and contract-net deployment.
Community development. A community of
Web services is primarily established to gather the
Web services that have the same functionality. This
is a designer-driven activity that occurs in two
steps. The first step is to define the functionality,
e.g.,
FlightBooking
, of the community by binding
to a specific ontology. This binding is crucial since
providers use different terminologies to describe the
functionality of their respective Web services. For
example,
FlightBooking
and
FlightReservation
are about the same functionality.
The second step in the establishment of a com-
munity is to deploy the master Web-service that leads
the community and takes over the responsibilities we
listed in Section 2.2. One of these responsibilities is
to invite Web services to sign up in its community by
using rewards. It will be shown later that the surviv-
ability of a community depends, to a certain extent,
on the status of the existing Web services in this com-
munity. Another responsibility of the master Web-
service is to check the credentials of a Web service
before this latter gets admitted in the community. The
credentials could be related to QoS, protection mech-
anisms, etc. Credential checking can boost the secu-
rity level within a community as well as enhance the
trustworthiness level of a master Web-service towards
the slave Web-services of its community. We recall
that a master Web-service nominates the component
Web services for participation in compositions.
Dismantling a community of Web service is also
a designer-driven activity that happens upon request
from the master Web-service. This latter oversees all
the events in a community such as arrival of new Web
services, departure of some Web services, identifi-
cation of Web services to be part of composite Web
services, sanctions on Web services due to misbehav-
ior, etc. If the master Web-service notices that first,
the number of Web services in the community is less
than a certain threshold and second, the number of
participation requests in composite Web services that
arrive from users over a certain period of time is less
than another threshold, the community could be dis-
mantled. Both thresholds are set by the designer. The
Web services that will be ejected from a community
are invited to join other communities subject to as-
sessing the functionality similarity with other existing
communities’ functionalities. Table 1 summarizes the
role of both thresholds. For example, when the num-
ber of Web services in a community is ”high” but the
number of participation of these Web services in com-
position is ”low”, this means that the community has a
poor configuration. To remedy to that configuration,
some Web services with a low level of participation
are ejected from the community and other Web ser-
vices are invited to join the community.
Web services attraction and retention. Attract-
ing new Web services to a community and retaining
the existing Web services in a community fall under
the responsibilities of the master Web-service. We
discussed how a community could vanish if the num-
ber of Web services in this community drops below a
certain threshold (Table 1). On one hand, attracting
Web services drives the master Web-service to regu-
larly consult the UDDI registries looking for new Web
services. These latter could recently have been posted
on an UDDI registry or have seen their description
changed. Changes in a Web service’s description raise
challenges at the community level since a Web ser-
vice may no longer be appropriate for a community.
As a result, the Web service is invited to leave the
community. When a candidate Web service is iden-
tified in an UDDI registry according to its function-
ality, the master Web-service engages in interactions
with its provider (Fig. 1). The purpose of interactions
is to ask the provider to register its Web service with
the community of this master Web-service. Some ar-
guments that are used during interactions include the
high rate of participation of the existing Web services
in composite Web services, the short response-time in
handling user requests, etc.
On another hand, retaining Web services in a com-
munity for a long period of time is a good indicator of
the following elements: (i) although the Web services
in a community are in competition, they expose a co-
operative attitude, and (ii) a Web service is to a certain
extent satisfied with its participation rate in compos-
ite Web services. Web services attraction and reten-
tion shed the light on a third scenario, which concerns
Web services being asked to leave a community. A
master Web-service could issue such a request upon
assessment of the following criteria: (i) the Web ser-
vice has a new functionality, which does not perfectly
match the functionality of the community, and (ii) the
Web service is unreliable. In different occasions, the
Web service failed to participate in composite Web
services due to recurrent operation problems.
Contract-net deployment. In a community, in-
teractions between the master Web-service and the
slave Web-services are framed in accordance with the
contract-net protocol (Smith, 1980). The main pur-
pose of these interactions is to identify the slave Web-
service that will take part in a composite Web service.
The Contract-Net protocol (CN) is built upon the idea
WEB SERVICES COMMUNITIES - Concepts & Operations
325