the service description to CP. It receives the result of
the composition transaction via TC to build the pre-
Contract with the client. The pre-Contract (with the
client) is the publication of the booked services. Com-
poser (CP) is responsible for the composition of ser-
vices based on the Try- Cancel/Confirm (TCC) pat-
tern for web service (Pardon and Pautasso, 2014). It
receives a complex description of services from BB.
It divides a complex service into basic services. It re-
quests TC to book and acquire the resources. Trans-
action Coordinator (TC) works as a Service Coor-
dinator. It opens the atomic transactions with Try-
Cancel/Confirm pattern to build the composition. In
the end, it handles commit or abort the transaction.
It receives the URL of the services via CP and or-
chestrates the operations to complete the transaction
of the composition. To improve the scalability of the
COAeB, we provide two scalable agents to interface
with clients and providers, BB and PB. In accordance
with the e-Contract lifecycle, they are also responsible
for preparing the agreements with client and provider
respectively.
3.2 Agents Relationship
Agents use operations to perform the activities. Oper-
ations follow request-response pattern in COAeB. An
operation is decomposed into sequences of more fun-
damental send-receive-reply messages. The agents’
relationship is characterized by exchanged messages
that are grouped as interactions. The interactions are
designed to perform an allowed sequence of business
activities. The main purpose is to define a workflow
and discipline the sequence of business activities to
respect the e-Contract lifecycle. Through allowed in-
teractions, the agents perform activities to match the
rfp with published services, producing an electronic
agreement. An agreement creates a binding between
the parties and provides a guarantee of service deliv-
ery.
Let us consider an operation as a subset of a trans-
action. A transaction is an atomic unit of database
access that is either completed or not executed at all
(Ceri and Pelagatti, 1984). In terms of a transaction’s
duration, it can be short or long. The short-running
transaction can be part of a long-running transac-
tion. The WS-Transaction specification distinguishes
an atomic transaction from a Business Activity (BA)
(OASIS, 2012). BA is characterized for long-running
transactions. The atomic transaction is committed
and made visible before a long-running BA can be
completed. Our approach considers each e-Contract
lifecycle phase as a BA, and the operational request-
response pattern as a single Atomic Transaction to
perform the activities. As mentioned, the transac-
tions performed into BB and PB change their inter-
nal states to build the agreement. Both are an arti-
fact repository, BB supports the agreement structure
on the client side and PB supports the agreement on
the provider side. The rfp is used to build a draft on
the client side. In contrast, PB supports the publica-
tion of services, i.e., the draft is built from service de-
scriptions. Besides the activities association, PB and
BB are scalable agents. The internal states of BB and
PB are updated in their replicas to increase scalabil-
ity and availability within the architecture. It expands
services to client and providers avoiding the system
failure.
The service acquisition is performed in two phases
(2PC). In the first phase a prewrite (pw) operation
holds the services. COAeB has a mechanism to
match the rfp with published services offered in a pre-
Contract format called matchmaking activity. If the
whole demand was matched, then the coordinator re-
ceives all confirmations. Thus, the acquisition can be
completed in the second phase of the protocol.
The online requests (rfi and rfq) also are used in
the negotiation phase. The rfi is used to invite new
publications and rfq to modify some attributes of a
service that as previously published.
4 CASE STUDY
In this section, we present three possible flows of mes-
sages exchanged by the agents considering the set of
services capabilities stored in the service registry. We
propose a hypothetical scenario to illustrate the inter-
actions in COAeB.
Supposing a client of the proposed application is
an engineer that works for a company located in Vir-
ginia, US. He receives the following task: train new
employees in a subsidiary located in California for
six months. The engineer, a client of our approach,
decides to buy several airline tickets to visit his fam-
ily in Virginia every weekend. For him to visit every
weekend, he will need 6x4, or 24 round trips in to-
tal. He includes the taxi service to-from airport in
(VA) and (CA). He will need 4 taxis per round trip
flight. We can also include an economic hotel to stay
at weekdays. The RFP demand is a composition of
flight ticket, taxi, and hotel service. The client can
use his mobile device to access the application and
send the rfp to start the proposal.
Based on the characteristics previously listed, we
design three possible ways, at different flow of mes-
sages to reach the agreement that reflects the result of
the matchmaking activity:
ICEIS 2017 - 19th International Conference on Enterprise Information Systems
394