Open access peer-reviewed chapter

Towards a Personalized Web Services Composition Approach

By Sarra Abidi, Fathia Bettaher and Myriam Fakhri

Submitted: September 11th 2020Reviewed: April 20th 2021Published: July 29th 2021

DOI: 10.5772/intechopen.97813

Downloaded: 91

Abstract

Generally available Web Services (WS) can not meet the complex needs of users and their adaptation to the environment remains a major problem for the design of information systems. The web services composition comes to address the satisfaction of new and complex needs such as the process we find in most organizations. Its purpose is to perform several services to meet user demand. The satisfaction of a user needs a dynamic and reusable environment to meet those needs. In this context, the user interactions are essential. From there, in this work, we define two objectives: i) propose a service composition approach that allows dynamic services composition and its purpose is to meet a need. ii) Propose a personalization approach for Web services composition which allows the reuse of services while adopting for the context of each user. Our approach is based on the use of ontologies and user profile.

Keywords

  • Web services composition
  • personalization
  • ontologies
  • user profile

1. Introduction

Nowadays, we find a large number of services available on the Web and in different directories, where a Web service is an application made available on internet. These services are generally defined by their function, input/output [1, 2, 3], which allow their reuse. However, user requirements are continually evolving, so the available services can not meet all needs especially the most complex ones. The composition of services is coming precisely to answer these two questions. After analyzing several definitions (Fekih et al) [4], (Shanchen et al) [5], (Yuan et al) [6], we hold two views on the services composition; According to (Shanchen et al) [5] who has a vision process on the services composition: “The composition is the selection process, combination and implementation services to accomplish a given objective.”

A second view more global is that of (Fekih et al) [4], “The composition then being an effective way to create, run, and maintain services that depend on other services.”

Based on these definitions, we believe that the services composition has essentially two objectives:

  • Combine basic services to meet a need that no service has been solved.

  • Define the interaction between services.

We distinguish two types of composition services; “Orchestration” is the process of programming a central engine which, on its part, controls and calls all services according to a predefined process. Added to that, it defines the order of execution of services [7]. “Choreography”, for its part, aims to achieve a common goal between a set of Web services. The collaboration between each web service collection (part of the composition) is described by control flow [8].

Regarding categories of the services composition, we distinguish between; on the one hand, a static composition which uses a fixed manner services defined in advance, which are unchanged and independent of the client context [9] and “a dynamic composition” which occurs when running within the constraints required by the client [9]. “A semi-dynamic composition” combines the two types mentioned previously. On the other hand, we find a “manual composition” which considers that the responsible is the user who generates the composition by hand via a text editor and without using dedicated tools. “The semi-automatic composition” is a step forward compared to the static composition, to the extent that its techniques make semantic proposals to help in the selection of Web services. “Automatic composition” is the automation of the entire composition process, without any user intervention.

Given the continuous increase of heterogeneous information sources and the diversity of user requirements, retrieval information systems deliver massive results. In this context, these results generate subsequent information that disorients the user to distinguish what is relevant from what is not.

In literature, the term “personalization” knows a success. Let us look at the opinion of (Kostadinov) [10], which announces that “the personalization of information comes from a set of individual preferences, by ordering criteria or semantic rules”. Such specifications allow obtaining the quality level desired and data arrangements. In this context, personalization of information is a major challenge for the IT industry to the extent that the relevance of the information delivered its intelligibility and its adaptation to the uses and preferences constitute as well as key factors of success or rejection of these systems [11]. We believe so that he will be very useful to incorporate personalization for composing Web services.

Section 2 presents the related work describing the personalization approaches for web service composition. Section 3 presents an overview of the proposed approach, the user profile orientation, the used ontologies, and the personalization based knowledge. Section 4 explains the user’s profile construction. Section 5 presents the user’s request personalization process. Section 6 treats the personalization of composition services. After that, we present an illustrative example. And we finalize by experimentation and evaluation of the proposal.

Advertisement

2. Related work

Many existing approaches in the literature treat the concept of personalization for Web service composition. In this regard, (Fekih et al) [4] [present an approach that is both semi-automatic and semantic one hand, user intervention is necessary, where it is represented from its profile and its preferences. Furthermore, the service selection is made up of a semantic description based on OWL-S [12]. It is also important to note that the authors present the service selection process in three stages namely, the query expression that integrates the user profile where this last based on real information (name, date of birth). The service discovery. The final step is the validation of the research by the user that declares whether the user is satisfied or not, knowing that failure to user satisfaction, the whole process will be repeated.

Shanchen et al [5] thinks that a context classification is important. We distinguish then between the U-context (user context), the W-context (web service context), and R-context (context Resource). On the one hand, the context classification allows to better establishing customization, and consistency can check the status of a Web service after being personalized. On the other hand, the three classes classified are interconnected. The user is the so most dynamic component: its needs, its preferences, and its conditions always vary. The resource is the stable component which characteristics and constraints can be known in advance.

Mcheick H et al. [13, 14] present a crucial adaptation of Web services face the changes that may affect them. The approach aims to resolve Web service adaptation problem. It is based on the principle of adding two components named “Manager of appearance” and “context manager”.

Not to forget, to include correspondence from ontologies based on lexical database (Word net) [15]. In [6], authors believe it is useful to store the context before its release in the selection process and the composition of Web services. This therefore provides a rich and reliable representation of data captured in the form of ontology, based thereafter on mathematical formulas for algorithms of semantic correspondence [16].

Given that a composition of services intended to meet the need for a user. Based on this principle, and thus returning the compositional approaches presented in the previous section, we note that regardless of the approach proposed, it still lacks personalization throughout the composition process from the user’s request pending the outcome of composite service. Indeed, we choose the user profile as a medium to introduce personalization.

The following section provides an overview of the proposed approach by presenting the choice of user’s profile, the choice of the used ontologies, and the choice of personalization’s forms.

Advertisement

3. A general overview

This section presents first an overview of the proposed approach. Second, it explains the choice of user profile. Third, it presents the chosen types of ontologies. And finally, we present the different chosen forms of personalization.

This architecture provides a global perspective that concerns personalization of the request, and the development, management and operation of Web services. Thus, it essentially consists of three layers. As shown in Figure 1, the first one presents a user profile construction process based on ontologies. The second layer is the personalization of the user’s request, which consists of the evaluation of the request based on the constructed user profile. The last layer consists in the personalization of composition processes using also the user profile.

Figure 1.

Overview of the approach.

3.1 Orientation user profile

Currently, user profiles play a very important role in all digital environments [17]. Profile integration is one of the ways systems that can be adapted to users in digital environments. Each information system based on services or services composition should primarily support resources in order to meet the changes in system use required.

The user model is a representation of information about an individual user that is essential for an adaptive system to provide the adaptation effect. From there, we define a user profile as “necessary information may be necessary to guide the user’s request personalization”. So, personalization is defined by a set of specific individual preferences for each user. As the profile includes data collected from users that are effective in evaluating a request, then we relied on the profile technical based on ontologies; we choose to use a short-term profile constructed from the domain ontology and a long-term profile constructed from the ontology of the user. We will explain more in what follows the process of user’s profile creation.

3.2 The used ontologies

When we talk about data representation, we are looking for tools that can enrich and strengthen the efforts of these. Thus, we work in a dynamic environment; we need a reusability of knowledge. Besides, for our approach, we need a tool for indexing and information retrieval. This is why our choice is for the ontology.

Our approach is based on: domain ontology and user ontology. The domain ontology is an indispensable resource for the personalization process. Indeed, the more the context of the application, the domain is also an important factor for a personalization process. For the ontology of the user, since the choice of data is very important insofar as it specifies the information needed to present a user and its preferences, we are based on the multidimensional approach (Kostadinov D) [10] in the first place, then we have taken the approach of (Katifori) [18] which allows the passage of data about the user to the concepts representatives in the user’s ontology thereafter.

3.3 Personalization based on knowledge

Personalization can take many forms; include in this the “result of filtering” often known by eliminating unwanted data rather than looking for specific data within the same document flow. A second form is “the query’s enriching” where personalization is defined as learning achieved from the preferences given by the users for the reformulation of the query thereafter.

Seeing that we need a reformulation of query and search for specific data, we retain the “the request enrichment”. Personalization is then defined as learning made by users for the reformulation of the request thereafter. Indeed, in our approach, the query undergoes enrichment from the two ontologies (domain ontology and user’s ontology).

Advertisement

4. User’s profile conception

For the implementation of a user’s profile technique, we essentially based on two approaches: (1)The multidimensional approach (Kostadinov D) [10] and (2)(Gauch S) approach [19]. This choice is explained by the fact that these two approaches have two complementary forms of personalization. Thus, (Kostadinov D) approach [10] aims to propose a set of open dimensions, able to accommodate most information characterizing Profile. It is based primarily on seven dimensions that are (personal data, center of interest, domain ontology, the expected quality of the delivered results, personalization, security and confidentiality) (Figure 2).

Figure 2.

Process of user’s profile conception.

Otherwise, since the classification, organization and structuring of profile data is a key element of personalization, so we have chosen Gauch [19] approach which aims to create a profile of ontology-based user without using the user interaction based on a classification of concepts.

To set up a personalization process, it is essential to choose its type to apply. Two main issues arise in this respect; the first issue deals with the dimensions of user context and the second addresses the choice of personalization’s form. We are interested in the first question, so it is useful to study a user’s context before proceeding to the description of the dimensions for the latter.

Since a context is composed of several dimensions [20], we distinguish a social dimensionthat describes the potential membership of the user. It may be; individual, group or community. A time dimension that is interested in the temporal context of the need, we thus distinguish between a short-term intention and a long-term intention. The first type is related to the needs and preferences of the user during a search session for information, while the long-term context (personalization) reflects the needs and persistent user preferences [21]. Finally, an application dimension is interested in application area.

Regarding the dimensions, we have the following choices: Personal data, this dimension is composed of two parts: a static part of the profile and a dynamic part. The static part concerns the following three: (1) “ the user’s identity”, (2) “ demographic data”, (3) “physical description”. The dynamic part subclass concerns the sub-class “category”. For the center of interest, a user may be interested in several concepts. Indeed, we do in this user’s modeling framework differentiation between its various needs. We will explain in the next section the used ontologies (Figure 3).

Figure 3.

User profile model.

In order to highlight the user profile, we illustrate this using the example shown below. Thus, a profile can be defined by the following concepts: Identity which defined by the first-name (Philippe), and the last-name (Arno). The second concept is U-profession specifies the user’s work (nurse). U-Civil-status indicates if the user is married or not. U-experience specifies the period of work as a nurse (Five years). The concept U-Medical-service specifies that the nurse works in the urology department. U-address presents the nurse’s workplace (C.H.U-de-Bordeaux). Finally, U-Grade specifies what nurse’s type is involved, which is linked to the experience (Figure 4).

Figure 4.

User profile example.

Advertisement

5. Personalization of web services composition

The personalization of Web services composition process starts from “User’s request personalization” process which based on the constructed user’s profile. It allows the user to express their needs, by performing first, a (first enrichment) query from a short-term user profile. After the deployment of data acquired, the application undergoes a (second enrichment) from the data of a long-term profile leading subsequently to a personalized query, which will be the basis of the next layer. In this way, an end-user profile based on ontologies is constructed. Finally, we should mention that if a user needs to make updates to some data, it uses the user profile.

The services composition processes is essentially based on 3 steps which are: decomposition into subqueries, discovery and selection of services and proposal of composition’s plans. For our approach we followed the same steps by adding the notion of personalization and we choose a semantic Web services. Thus, the dynamic process proceeds as follows. The process starts from a personalized query to invoke as the end the services necessary to meet the expressed needs. It gives us output, a set ordered services for execution. Thus, the process started from a decomposition and verification of sub-queries. In fact, this is based on a comparison of the profile parameter which had been added to the request and the WS Context parameter. The second step is a personalized discovery and selection for Web services: This phase is based on a semantic description for the discovery and relevant selection of personalized Web services (Figure 5).

Figure 5.

Architecture of the proposed approach.

Given that a personalized query is identified by three parameters (InpReq, OutRep, ProfReq) and a Web service (WS) is identified by (Input, Output, Context), so actually the selection of services in a personalized way is as follows:

  • First, check the compatibility of inputs of a personalized query and inputs of a Web services.

  • Secondly, check the compatibility of the outputs of a personalized query and outputs of a Web services.

  • Thirdly, check the compatibility of the profile for a personalized query and context of a web service.

If the comparison between the different parameters is validated, so the process goes to the next step which is “the personalized services composition”.

From this validation is calculated the similarity between the different settings using the algorithms presented below. Thus, the services were selected in a non-predefined order, so they were selected and ordained dynamically to meet the needs of the user.

If the comparison between the three query parameters and WS is not validated so we will go only to compare the inputs, and the profile with context in the same way mentioned. If that is validated, the result is satisfying, if not; we will compare the profile with the context. If it is approved, so we have a proposed composition plans, referring to ontology “Word net”, if not there’s no result.

As a consequence, the new parameters (Profile and Context) that we have added are responsible for a personalized Web services composition or not. In this way, the process makes a composition of relevant personalized services in choice, in number and scheduling services. To clarify the proposed approach, we present on the following section an illustrative example of medicines circuit.

Algorithm 1: Discovery module

Inputs: SRq, bestsw

Outputs: SWF

Taux-sim ← 0

Foreach s in SW do

Ifsimilarity (SRq, s) ← Taux-sim so

 Taux-sim ←  similarity (SRq, s)

  SWF  ← s

End if

End for

 bestsw← Better(SWF)

returns SWF

Algorithm 2:Semantic similarity.

Inputs:SW, SRq

Outputs: Taux-sim.

Taux-sim ←  0

If(EntReq=EntSW) and(SortReq=SortSW) and(ProfReq=ContxtSW) so

 Taux-sim ← 3

else if(EntReq) included (EntSW) and (SortSW) inclus (SortReq) and (ProfReq) included (ContxtSW) so

 Taux-sim ← 2

 Elseif(SortReq) included (SortSW) and (ProfReq) inclded (ContxtSW) so

 Taux-sim ← 1

 else

 Taux-sim ← 0

End if

Advertisement

6. Illustrative example

To highlight the interest of the proposed approach, we present a case study of a medicines circuit application in a health facility.

Healthcare organizations are highly dynamic working environments which are facing the challenge of delivery personalized services to their patients in a very cost-effective and efficient way. Many reports in the healthcare field state that there is an “absence of real progress towards applying advances in information technology to improve administrative and clinical processes” [22]. Furthermore, in healthcare organizations, the lack of personalization of contemporary enterprise information systems is considered as a major obstacle in improvement of organizational and medical treatment processes.

Let us start with the following case in which the clinician writes a nominative prescription. The pharmacist valids the prescription after a pharmaceutical analysis. Drug doses issued to the clinical are unitary and nominative (ready to be administered to the patient) and respect the administration plan for the next 24 hours. The renewal of the grant by 24-hour period is provided by the pharmacy (chemistry) if the prescription is still valid.

This scenario presents a situation where the actor tries to satisfy a need for a complex query. There is an executable composition to satisfy him. Indeed, as part of his mission, he must prepare medicines to administer for its care unit patients from a stock.

This activity is usual for the nurse/pharmacist (chemist),to know arrangement of patient medicine and the preparation according to the medicines type.

We suppose that we have a certain number of services as shown in Table 1, in a repository in which we distinguish.

In the following, we present the process of medicines preparation in the case of a personalized composition and a non-personalized one.

6.1 Query expression step

To specify his purpose, the actor can formulate his need as follows by expressing his purpose. Thus, given the following request, the preparation can therefore be carried out as follows. Preparation by medicines type and arrangement per patient.

User’s query: Prepare(medicines-list, doses-list, date, care-unit-list) Arrangement(care-unit-list, patient-list).

We distinguish between two different requests; a non-personalized request and personalized one, knowing that the personalized request is enriched by a user profile which contains the following information (profession, experience) (Table 2).

Service’s numberService’s nameService’s role
S1Pharma preparationMedicines preparation according to their types
S2Pharma arrangementMedicines arrangement for each patient
S3Pharma editionSave and print package
S4Pharma verificationVerify authorized doses for each patient
S5Pharma attributionAssign medicines for each patient
S6Pharma compatibility- verificationFor each patient, check the compatibility of medicines

Table 1.

Selected web services.

Non-personalized requestPersonalized request
Prepare([Brilinta/180 mg,
 Amiodarone/120 mg,
 Digoxine/160 mg, Plavix/300 mg,
 Vérapamil/250 mg], doses-list,
 26/11/2016, urology)

Arrangement(urology,
 [Paul/Brilinta/180 mg,
 Frederic/Amiodarone/120 mg/,
 Paoula/Digoxine/160 mg,
 Celine/Plavix/300 mg,
 Maria/Vérapamil/250 mg])
Prepare([Brilinta/180 mg,
 Amiodarone/120 mg,
 Digoxine/160 mg,
 1111Plavix/300 mg,
 Vérapamil/250 mg], doses-list,
 26/11/2016, urology)

Arrangement(urology,
 [Paul/Brilinta/180 mg,
 Frederic/Amiodarone/120 mg/,
 Paoula/Digoxine/160 mg,
 Celine/Plavix/300 mg,
 Maria/Vérapamil/250 mg])

user(nurse, [5 years = a block nurse,
 6 years = referring nurse])

Table 2.

Presentation of the two request types.

Thus, in our approach we defend that the personalization must start since the expression of the request because it allows giving more information about the user and his environment. This will make it possible to define a more specific context for each actor.

6.2 Research and services selection step

Having doubts about the choice of services. The user resorts to the automatic selection based on a repository of services and a basic knowledge (which is an example of a composition plan). Thus, for the services rendered by a non-personalized request, we will obtain the services S1, S2, S3, S4, S5, and S6. This is explained by the fact that the profession’s actor is not defined. Therefore, the system offers all services. However, for the services rendered by a personalized request, based on the profile parameters and as a nurse she has the right to perform services S1, S2, S3, and S6. In addition, for “Pharma verification-compatibility” service; the pharmacist has no right to verify medicines compatibility for a patient. But rather, checks the compatibility between medicines (Table 3).

S1S2S3S4S5S6
Results of non-personalized request
Results of personalized request

Table 3.

Service research results for both types of queries.

6.3 Services composition step

Services composition result is based on a similarity measurement algorithm and a dynamic discovery between different parameters. Starting from a non-personalized request (Figure 6), the system proposes the following composition plans. A nurse must first verify the authorized doses for each patient. Then, she prepares medicines by their types. After that, she attributes for each patient his mentioned medicines. The next service allows arranging medicines according to each patient. On Urology-unit and through “PHARMA Compatibility-Verification”, the system allows knowing the compatibility between Paola and Digoxine. Finally, the actor saves the order.

Figure 6.

Composition result for a non-personalized query.

For personalized query (Figure 7), through profile integration, the system proposes three services for a nurse. Thus, from her profession and experience, she can begin with the preparation of medicines by their types. Since this actor has already worked as a referring nurse, the system proposes for her to arrange medicines for each patient. Finally, the last service is “PHARMA Edition” which allows saving the order.

Figure 7.

Composition result for a personalized query.

In that way, we have proved that the profile integration influences to have a personalized request that results in an impact on research and selection of services in order to obtain a personalized composition.

Advertisement

7. Experimentation and evaluation of the proposal

The main objective of this experiment is to show that the user profile integration increases the number of relevant services. Thereafter, we will get a corresponding composition to the personalized user query. For this, we used two query types; a non-personalized query and a personalized query, where appropriate valuation measures are mainly based on precision and recall.

  • Recallis the ratio of the number of relevant services found by the filter to the number of relevant services available.

Recall = Number of selected relevant services / (number of relevant selected services+ number of relevant non-selected services).

Based on Figure 8, we notice that the recall for a personalized query is high compared to a non-personalized query. This is due to the recall which is always the number of relevant selected services over all relevant services. So the user will have access to information that he wished to have.

  • Precisionis the proportion of relevant services among the selected services.

Figure 8.

Recall measurement curve.

Precision = Number of relevant selected services /(number of relevant selected services + number of non-relevant selected services).

As shown in Figure 9, the accuracy for a personalized query is high compared to non-personalized. However from a number of services equal to 27, the curve for a personalized query is the same for a non-personalized query. This is explained by the precision which is the number of relevant selected services over all services.

Figure 9.

Precision measurement curve.

Advertisement

8. Conclusion and perspectives

This paper presents a dynamic approach for personalization of Web services composition. First, the construction of a user profile from domain ontology and user’s ontology is a key point for personalization, which leads to the construction of a personalized query where each user may have personal data that is stored in a parameter named “Profile”. On the one hand these data facilitate the personalization subsequently, hence the construction of a corresponding request to the need of the user. On the other hand, the process is based on a similarity measure algorithm for the personalized discovery of web services, which allows thereafter establishing a personalized composition.

This approach has a dynamic modeling for user not only for the query expression but also the composition process.

We should note that a scaling test is in progress as Web services adapted to our needs are not available. So, we were forced to edit them manually, which took a long time. But we are working on the scaling (we increase the number of services and we observe the result).

As a future work, we can identify two interesting perspectives. The first one is How to improve the results relevance in terms of selected services. The second one is how to respond to business needs in dynamic contexts.

The second perspective is to design compositions that integrate a personalization for business process satisfaction and user satisfaction.

© 2021 The Author(s). Licensee IntechOpen. This chapter is distributed under the terms of the Creative Commons Attribution 3.0 License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.

How to cite and reference

Link to this chapter Copy to clipboard

Cite this chapter Copy to clipboard

Sarra Abidi, Fathia Bettaher and Myriam Fakhri (July 29th 2021). Towards a Personalized Web Services Composition Approach, Information Systems - Intelligent Information Processing Systems, Natural Language Processing, Affective Computing and Artificial Intelligence, and an Attempt to Build a Conversational Nursing Robot, Kazuyuki Matsumoto, IntechOpen, DOI: 10.5772/intechopen.97813. Available from:

chapter statistics

91total chapter downloads

More statistics for editors and authors

Login to your personal dashboard for more detailed statistics on your publications.

Access personal reporting

Related Content

This Book

Next chapter

Humanistic Next-Generation Artificial Intelligence Capable of Association

By Seiji Tsuchiya

Related Book

First chapter

Information Systems: From the Requirements to the Integrated Solution

By José Francisco Zelasco and Judith Donayo

We are IntechOpen, the world's leading publisher of Open Access books. Built by scientists, for scientists. Our readership spans scientists, professors, researchers, librarians, and students, as well as business professionals. We share our knowledge and peer-reveiwed research papers with libraries, scientific and engineering societies, and also work with corporate R&D departments and government entities.

More About Us