# Pro-Active Service Entity Framework for a Better Mapping between Business and Software

Tiago Cardoso, Luis M. Camarinha-Matos

► To cite this version:

Tiago Cardoso, Luis M. Camarinha-Matos. Pro-Active Service Entity Framework for a Better Mapping between Business and Software. 11th IFIP WG 5.5 Working Conference on Virtual Enterprises (PRO-VE), Oct 2010, Saint-Etienne, France. pp.451-460, 10.1007/978-3-642-15961-9_54. hal-01055960

HAL Id: hal-01055960

https://inria.hal.science/hal-01055960

Submitted on 25 Aug 2014

HAL is a multi-disciplinary open access
archive for the deposit and dissemination of sci-
entific research documents, whether they are pub-
lished or not. The documents may come from
teaching and research institutions in France or
abroad, or from public or private research centers.

L'archive ouverte pluridisciplinaire HAL, est
destinée au dépôt et à la diffusion de documents
scientifiques de niveau recherche, publiés ou non,
émanant des établissements d'enseignement et de
recherche français ou étrangers, des laboratoires
publics ou privés.

<figure><img src="image_1.png" /></figure>

Distributed under a Creative Commons Attribution 4.0 International License
# Pro-Active Service Entity Framework for a Better Mapping Between Business and Software

Tiago Cardoso, Luis M. Camarinha-Matos

Universidade Nova de Lisboa, Faculty of Sciences and Technology,
Campus de Caparica, 2829-516 Monte Caparica, Portugal
{tomfc, cam}@uninova.pt

**Abstract.** The service concept is widely used in distinct research and application areas. Particularly in Collaborative Networks, Service Orientation represents a main trend in the development of support platforms. Nevertheless, a literature review shows that it does not gather a common understanding, namely from the software and business perspectives. This paper proposes a conceptual framework aiming at contributing to make these two perspectives come closer, through a refinement of the Service concept itself and the usage of Pro-Activeness.

**Keywords:** Pro-Active Service Entity, Web-Service, Multi-Agent System.

## 1 Motivation

Service Orientation in Collaborative Networks, as well as the service concept itself, although quite popular nowadays, have not reached a consensus definition particularly when used from two different perspectives – business and software. In fact, although considerable progress has occurred in last decades in SOA, there is a gap between the way a business entity sees the services it is able to provide to customers and the counterpart proposed by the used software, in terms of systems or components created to represent such services and / or automate (part of) their provision. In other words, while the value creation towards customer satisfaction is the focus from a business perspective, the remote procedure calling and “black box” encapsulation are key points from the software perspective.

The same gap in the notions of service exists in the case of a Virtual Organization Breeding Environment or Professional Virtual Community, from now on referred to as a Collaborative Business Ecosystem (CBE). The way a CBE member sees the services it is willing to provide to the network is distinct from the available software approaches.

This paper proposes a conceptual framework inspired on Web-Services, but adding elements of pro-activeness and social ability. The main objective is to provide a single construct – the Pro-Active Service Entity – that represents the services that a business entity (service provider) can provide and behave in an auto-initiative manner towards finding new Business Opportunities, on one hand, and improving the chances such services have to be selected among competitors, on the other hand.
The intention is to reduce the distance between business and software services, with particular focus on overcoming some limitations of the Web-Service approach. Although other factors also contribute to this distance, they are out of the scope of this paper. Some examples may include the management of the resources, other than computational resources, needed for the services - from the business side they are mandatory whilst neglected from the software side.

**Web-Service Approach Limitations.** Service Oriented Computing provided major improvements in terms of modularity and interoperability for ICT systems, namely in the case of Web-Services. Through the usage of SOAP, WSDL, UDDI and related standards, it became possible to publish Web-Services and register them in catalogues, so that clients can find and call them. Typically, enterprises create Web-Services and register them in catalogues. Then, a client may query the catalogues and retrieve lists with matching instances. Finally, the client chooses a Web-Service from a list and calls it.

In fact, the adoption of Web-Services improved the way Information Systems can be integrated. The main reasons for this improvement are based on the adoption of standards that are (expected to be) independent of the provider's environment or development platform. This fact facilitates the development of value-added services by composition of simpler services provided by different members of the collaborative network. Nevertheless, although this approach is enough in many scenarios, a number of limitations can also be identified:

1. Functional restriction - The concept does not directly cope with other non-functional elements that an entity can provide to a client, like the provision of some business process model or some multimedia content, for example. In other words, a business service may require not only some functionality (software services) but other elements such as intelligent content.

2. Web-Services are “passive” entities - Providers may publish and register them, making their functionality available for clients to discover and call, but these constructs stay still waiting for the clients' initiative. In other words, they don't perform any action in order to attract clients or promote their functionality.

3. Difficult selection process from clients' perspective - if the list provided by a catalogue has a large number of items, a problem arises on how to make a selection.

4. Limitation of the selection process from the providers' perspective – in the same case of large number of matching available Web-Services, the providers face a problem on how to improve the chances that their Web-Services have to be selected.

5. Catalogues may become out-of-date - there are scenarios where Web-Services change their availability frequently. In such scenarios, the information catalogues have may easily become out of date.

6. No aggregation – Web-Services created better conditions for software composition purposes. A workflow definition can support a composition of Web-Services, in order to achieve a higher level goal, or a higher abstraction level functionality, that may itself become a Web-Service, as well. However, having one of these higher level Web-Services composed of several simpler services, each one from a distinct provider, is much more “expensive” than having the same number of services provided by fewer providers. In other words, under similar
circumstances it could be desirable to select two services from the same provider, instead of two distinct providers, which could lead to higher costs related to the agreement reaching processes. The aggregation of distinct services from the same provider within a single construct would improve this possibility. Another reason is the reduction of the dilution of responsibilities.

## 2 Suggested Approach

**Main Concepts.** The proposed Pro-Active Service Entity Framework is based on a refinement of the service concept, including distinct categories of (technical) services a Collaborative Business Ecosystem (CBE) member can provide. First, the “functional category” of services, similar to Web-Services, corresponds to the cases where CBE members make some procedures available through the network for clients to call. Some examples can be considered, like the launching of a manufacturing process of some products in a given industry, a reservation of a hotel room in the tourism sector, or some order submission for buying a specific book or DVD. Second, the “intelligent content” service category (i-content), corresponding to the cases where a CBE member can provide some information content associated with specific manipulation operations tailored to “present” this content in the desired form, such as, for instance, a business process model or some manufacturing description for the case of a given industry, or some multimedia cultural content on a given city, for the case of the tourism sector. Furthermore, the framework shall be open so that more service categories can be identified.

The main objective of this proposal is the creation of constructs that represent the services a CBE member is able to provide to the network in an auto-initiative / pro-active basis. In the case of functional category, mechanisms like remote function call, input and output parameters, as well as result information are the focus information for representation purposes whilst for the case of intelligent content the focus may be on semantic information about the included content or information about the “presentation” format. The auto-initiative / pro-activeness property can be considered as a brokerage role for the construct, towards better business success for the represented services. Two initial objectives were identified for this representation: 1 - finding new business opportunities where the services may be included as contributing components; 2 - improving the chances the services have to be selected among competitors. Finally, the entire framework assumes the specification of reference ontology for each CBE. This common ontology is a mandatory factor for the interaction between distinct services, namely for service composition purposes.

Let us now introduce the main concepts of the framework:

**Definition 1 - Service:** is a construct materializing the value an entity can provide to a customer, which can be represented by a tuple S=(SR, C, D, RO), where:

- SR – a reference to the actual (technical) service, enabling the functional call or the i-content provision launch;

- C – the category of the service;

- D – the detailed description of the service. Depending on the specific Service and Category, this description may include format or semantic specifications, for the case
of an i-content service; or input parameters and results' information, for the case of a
functional service.

- RO - the reference ontology.

In order to aggregate distinct services provided by the same CBE member under a
single construct the Service Entity concept is defined as follows [1]:

*Definition 2 - Service Entity:* is a construct characterizing a CBE member from the service provision perspective. A tuple SE= (CR, AT, SS), where:

- CR – reference to the CBE member represented by the service entity;

- $\mathbf{AT} = \{\mathbf{attr}_i | i \in \mathcal{N}\}$ - the Set of Attributes of the corresponding CBE member;

- $\mathbf{SS} = \{s_i | i \in \mathcal{N}\}$ - the Set of Services the represented CBE member can provide.

A preliminary notion of Service Entity was first introduced by Franco et al. in [3]. Our model extends the original notion in two directions: (i) inclusion of different categories of services, while Franco's definition is limited to the functional services;(ii) inclusion of proactiveness, while Franco's entities are passive. In order to provide the mentioned pro-activeness behavior, the Pro-Active Service Entity concept is introduced. This construct includes the SE corresponding to a CBE member with all the services this construct will represent. Furthermore, the construct includes a set of base functions used for representation purposes. In order to materialize such representation, the Behavior Specification concept is introduced, specifying the behavioral characteristics, namely what exactly it should do. The two concepts are defined as follows:

*Definition 3 - Behavior Specification:* is a functional configuration of a flow of actions. A tuple $\mathbf{BS} = (D, \mathbf{PREC}, \mathbf{POSC}, \mathbf{TM}, \mathbf{BWS})$, where:

- D - a description including the aim of the BS;

- PREC - Pre-Conditions - verified before the behavior is triggered;

- POSC - Pos-Conditions - verified to assess the behavior success;

- TM - Triggering Mechanism - timings, frequency and data-flow conditions specifying the execution launch;

- BWS - Behavior Workflow Specification – specification of the base functions that are used within the behavior, their input parameters and their execution flow graph.

*Definition 4 - Pro-Active Service Entity:* is a construct representing a CBE member focusing on the promotion of its service. A tuple $\mathbf{PSE} = (\mathbf{SE}, \mathbf{AT}, \mathbf{BS})$, where:

- SE - Reference to the represented and promoted Service Entity,

- $\mathbf{AT} = \{\mathbf{at}_i | i \in \mathcal{N}\}$ - a set of the "base functions" aiming representation purposes that can be performed by the PSE in the defined behaviors.

- $\mathbf{BS} = \{\mathbf{bs}_i | i \in \mathcal{N}\}$ - a set of Behavior Specifications - that identify the triggering mechanisms, the timings, the frequency and the workflow of each behavior.

Finally, within a CBE the concept of Pro-Active Service Park is introduced as a
virtual market place where the PSEs register themselves and Clients or Brokers post
their needs, the Business Opportunities (BOs). This concept, aligned with the Service
Park concept defined in [2], is a space that brings together all the PSEs to a pre-
configured place fostering faster consortium establishment, whenever a new need /
BO is specified and the collaboration between distinct CBE members is needed to fulfill it. This component also includes performance measurement and certification mechanisms, introducing the notion of conspicuity for the registered PSEs.

**Definition 5 – Pro-Active Service Park** – is an architecture implementation of a CN members' market-like infrastructure. A tuple PSE-Park = (PS, BO, PM, CR, BF), where:

- PS = {$pse_i | i \in N$} - set of registered PSEs;

- BO = {$bo_i | i \in N$} - set of specified needs / BOs;

- PM = {$pm_{i,j} | (\forall pm_{i,j} \exists pse_i \in PS \land \exists bo_j \in BO)$} - set of Performance Measurement Information for each PSE used in every BO (historic data).

- CR = {$cse_i | (\forall cse_i \exists pse_i \in PS)$} - set with certification information on PSEs.

- BF = {$f_1, f_2, f_3, f_4$} - 4 built-in functionality, where:

- $f_1$ (PSE Registration) - enabling distinct PSEs to register themselves;

- $f_2$ (BO Posting) - enabling brokers to post their needs - the Business Opportunities;

- $f_3$ (Performance Measurement) - providing PSE performance measurement mechanisms, as well as enabling brokers to grade their performance, in order to increase the information on every registered PSE. As a result, more accurate data becomes available to support future CBE members' service selection process.

- $f_4$ (Certification) - based on PM info, a PSE-Park can certify some PSE's quality on request, introducing the notion of conspicuity associated with a PSE.

Fig. 1 represents the relationships between the 5 concepts in a UML diagram:

<figure><img src="image_2.png" /><figcaption>**Fig. 1.** Relationships among PSE Framework concepts</figcaption></figure>

**Inspiring Contributions.** The proposed Pro-Active Service Entity is inspired by three main contributing research areas: Web-Services, Multi-Agent Systems and Blackboard Systems. Fig. 2 shows the main contributions that each one gave to the framework.

The Web-Services, as the main inspiration area, have evolved through three main phases that can be identified by the keywords: Publish, Register / Find and Compose. Publish, when the concept was presented and used by any entity wanting to publish some procedure towards reaching potential worldwide clients. As time shown, the access to these worldwide potential clients could not become effective, since they were not notified and could not find the published services. At that time, UDDI and WSDL were proposed and Services could register themselves in catalogues, in order
to be found. Eventually, the creation of Value-Added-Services, made through composition of other Web-Services was the advent of the third generation, resorting to mechanisms like Workflow and technologies like BPEL4WS. Other initiatives like OSGi provided the technological support for dynamic composition [7, 9]. The Web-Service Eventing introduced a protocol that allows Web-Services to subscribe to or accept subscriptions for event notification messages [8]. Finally, the notion of Service Entities [3] introduced the aggregation of distinct Web-Services. In fact, the Web-Services area is an inspiring baseline because it aims at providing a standard interoperability mechanism; being platform independent, and thus can wrap services from a CBE member.

<figure><img src="image_3.png" /><figcaption>**Fig. 2.** Inspiring Contributions</figcaption></figure>

The Multi-Agent Systems (MAS) area "represents a promising approach to both model and implement the complex supporting infrastructures required for virtual enterprises and related emerging organizations" [5]. This approach has four important characteristics, as identified by Wooldridge [6]: autonomy, reactivity, social-ability and pro-activeness. First, agents can operate without a direct human intervention. Second, agents perceive the environment surrounding them and can react to it. Third, they can interact with peers / other agents, towards common goals. Fourth, agents do not simply respond to their environment "triggers" but they can take the action initiative, towards the goal they pursue. These MAS characteristics are base inspiring characteristics for the PSE concept, namely the pro-activeness that is used for the PSE to look for new Business Opportunities in an auto-initiative basis.

Finally, the bidding mechanisms introduced in the Blackboard Systems inspired the proposals a PSE makes when bidding for a given BO.

## 3 Logical Architecture

**Multi-level Modelling Approach.** The implementation of the Pro-Active Service Entity Framework leads to three abstraction layers, as represented in Fig. 3. At the lower layer - the Actors Space, there are the CBE members - Free-Lancers, Enterprises, or other Organizations. At the middle layer - the Service Space, there are the Pro-Active Service Entities, representing the Services CBE members can provide. Finally, at the top, there are the Integrated Services indirectly corresponding to consortia created as a response to Business Opportunities. This multi-layered
modeling approach has some advantages: 1) Services - instead of modeling only functional Services a CBE member is able to provide, other categories of components can also be considered, as for example some welding process documentation; 2) Aggregation - distinct Services from a CBE member are modeled within a single construct - this can be useful in a composition process, in order to decrease consortia dimension, based on the inclusion of partners that can provide more than one needed Service; 3) Pro-Activeness – PSEs may find interesting BOs, prepare bids and submit them in an auto-initiative basis.

<figure><img src="image_4.png" /><figcaption>**Fig. 3.** Three Abstraction Levels / Layers</figcaption></figure>

**Actors, Roles and Mechanisms.** The design and development of the ICT system framework needed to support the defined concepts requires the identification of the Actors, their main Roles, and needed Mechanisms. Five actors were identified:

* CBE members - the providers of the services,

* Clients - making high-level specifications of the needs / BOs,

* Brokers - responsible to prepare proposals for clients' needs and to select the Services that best fit these needs,

* Pro-Active Service Park Administrator, and

* Pro-Active Service Entity - although not a human actor, PSEs are considered like actors, given their pro-activeness.

The identified roles and the corresponding mechanisms are:

* PSE-Park Administration - providing Monitoring tasks and Managing Performance Information,

* Performance Measurement - providing the needed mechanisms to assess the performance of Services, consortia, as well as client's satisfaction,

* Accounting - providing the payment mechanisms corresponding to the single and consortium Services' provision,

* Contract Management - providing the legal consortium contractual support,

* Service Integration - providing the Service composition mechanisms,

* Workflow Engine - providing the Service execution mechanisms,

* Assistants to both CBE members, Clients and Brokers,

* SE Representation – the PSE role. Mechanisms: PSE-Park registration, blackboard check and service match, and bids management.
# 4 Service Composition Process

The framework usage process is divided into 5 temporal phases, as illustrated in Fig. 4.

<figure><img src="image_5.png" /><figcaption>Fig. 4. Framework usage phases</figcaption></figure>

## I - Configuration Phase

1. **PSE Configuration** - first a CBE member downloads a PSE template and configures it. This includes setting up the Services to be represented by such PSE and the fulfillment of information concerning the provider – the CBE member. Afterwards, the PSE has to be launched so it registers itself in a pre-defined PSE-Park associated to the CBE. After this step, the PSE starts looking for Business Opportunities.

## II - Business Opportunity Specification Phase

2. **Client Needs Specification** - Through the Client Assistant, a high level specification of needs can be made starting a new Business Opportunity.

3. **Broker details Business Needs** - Based on the high level Business Opportunity specified by the client, the Broker creates a Business Process Model (BPM), through the Service Integrator Module, detailing required Services to accomplish the specified needs. The BPM does not have to be complete, but the Core Services have to be defined in order for that BPM to be able to start an execution.

4. **Client BPM Commit** - When the BPM specification is ready (not necessarily complete), the Client is requested to commit with that BPM.

5. **Broker writes needs on Blackboard** - After the Client Commits with the BPM, the Broker posts the specific Service needs in the Blackboard of the PSE-Park.

## III - PSE Proposals Phase

6. **PSE check for Business Need** - The PSE looks for Business Opportunities on the PSE-Park's Blackboard towards two possibilities of matching:

a. **Direct** - a Business Need matches exactly one of the Services the PSE represents;

b. **Indirect** - following the notion that the needs for a service A may represent a need of some other Service B, the Base Ontology has a service association registration that is used to check if any of the represented Services indirectly matches the specified needs. In other words, if the clients that request service A usually need also the provision of Service B, the PSE may propose the provision of B, in an auto-
initiative basis, whenever a need for A is specified (a kind of recommendation engine).

7. **PSE prepares Proposal** - both in the direct and indirect cases.

8. **Provider Commits to the Proposal** - PSEs can be configured to send the proposals automatically or ask for the provider to complete / review it before submission.

#### IV - Service Selection / Negotiation Phase

9. **Broker checks Proposals** - the Broker checks the received proposals and selects the ones that best fit the needs or goes through a negotiation process with some.

10. **Contractual Commitment** - Both the Client and the Providers have to commit with each other through a contract generated for that purpose.

#### V - Execution Phase

11. **BPM Launch** - After the BPM has all the providers selected, at least for the Core Services, it is possible to launch it. This trigger is made by the Client, in the first place and the Broker, in a second place. After that, the Workflow Engine is responsible for asking the provision of each Service at the right time.

* **Edition at Runtime** - at anytime during the execution phase, the Broker can complete or change the BPM, rolling back:

- to phase II - when the BPM did not get complete before starting execution. In this case, the Broker has to complete it, and eventually, change some Services;

- to phase III / IV - when some providers haven't been selected yet or there is some ongoing negotiation process.

### 5 Implementation Approach, Conclusions and Future Work

Three possible approaches were identified for the implementation of the proof of concept prototype, based on the main contributing research areas:

1. Develop the whole system from scratch, including all the multi-threaded mechanisms in order to create independent and autonomous PSEs, as well as all the message exchange mechanisms;

2. Build the framework on top of an existing MAS middleware solution;

3. Build the framework on top of an existing Web-Services middleware solution.

The selection made was on the integration between option 2 and 3, through the usage of the Web-Service Integration Gateway (WSIG), defined by FIPA, because it is a user-friendly bridge already existing between the two worlds – MAS and SOA. This gateway is thus extended in order to cope with the defined conceptual framework.

The specific platform on which the prototype system is developed is JADE, which was chosen because it is supported by an active research community, it offers an easy development approach, and three of its specific design choices make a good match with the Pro-Active Service Entity Framework concepts [4]:
1) an agent is autonomous and pro-active;
2) agents are loosely coupled, meaning that the communication is asynchronous and no strict temporal dependency exists between message senders and receivers;
3) the system is peer-to-peer, meaning that each agent is uniquely identified by the AgentIdentifier, as defined by FIPA. The ongoing development is providing the proof of the defined concepts through a Web-based
prototype infrastructure built on top of the JADE platform. In terms of practical
validation, the proposed framework is being applied to a collaborative network (PVC
like) of senior professionals that want to remain professional active after retirement.

The proposed Pro-Active Service Entity Framework targets a contribution to the reduction of the distance between the perspectives of business and the software counterparts, in terms of the systems that represent the Services CBE members can provide. The driving forces for the creation of the framework were the enumerated limitations of web-services, namely their “passive” approach and the isolation of distinct Web-Services from the same provider. With the PSE concept, the services a CBE member can provide have a single “ambassador” construct, pursuing business objectives for them, instead of waiting for a client initiative.

Another tacit improvement introduced is that the proposals a broker receive have
the guarantee to be up to date, whilst the lists gathered from service catalogues may
be outdated. On the other hand, the restriction of the application of the framework to a
group of CBE members, within a Pro-Active Service Park is not a limitation as long
as we are in a CBE context, and thus the needed baseline for the adoption of a
compatible software approach and adoption of a common ontology.

As near future work, the legal / contractual perspectives, the recommendation
engine, and the accounting mechanisms need further developments in order to support
“on the fly” contractual arrangements, needed for some specific scenarios. The
creation of a library of most commonly used Pro-Active Service Entity templates is
also an objective for the near future.

**Acknowledgements.** This work was supported in part by the Portuguese Foundation for Science and Technology (FCT) (CTS multiannual funding) through the PIDDAC Program funds.

References

1. Cardoso, Tiago; Camarinha-Matos, Luís: Pro-Active Asset Entities in Collaborative Networks. In: Emerging Trends in Technological Innovation, Luís Camarinha-Matos, Pedro Pereira and Luís Ribeiro (eds) (2010)

2. Petrie, Charles; Bussler, Christoph: The Myth of Open Web Services - The Rise of the Service Parks. IEEE Internet Computing. Petrie, Charles (Ed) (2008)

3. Franco, R.D.; Bas, Á.O.; Esteban, F.L: Modelling extended manufacturing processes with service oriented entities. Service Business, 3, 31-50 (2008)

4. Bellifemine, Fabio; Caire Giovanni; Greenwood, Dominic: Developing Multi-Agent Systems with JADE, chapter 3. John Wikey & Sons, Lda (2007)

5. Camarinha-Matos, Luís: Multi-Agent Systems in Virtual enterprises. In: Internat. Conf. on AI, Simul. and Plan. in High Autonomy Syst. (AIS’2002). AIS publications, 27-36. (2002)

6. Wooldridge, M.: Agent-based computing. Interoperable Communications Network (1998).

7. OSGi Service Platform Release 4 Version 4.2 Core Specification - http://www.osgi.org

8. Web Services Eventing (WS-Eventing), W3C Member Submission 15 March 2006

9. Jammes, François; Smit, Harm : Service Oriented Paradigms in Industrial Automation (2005). In: Internat. Multi-Conference Parallel and Distributed Computing and Networks.