• No results found

How To Build A Cloud Service Discovery Framework (Csdf) For A Cloud System (Cloud)

N/A
N/A
Protected

Academic year: 2021

Share "How To Build A Cloud Service Discovery Framework (Csdf) For A Cloud System (Cloud)"

Copied!
13
0
0

Loading.... (view fulltext now)

Full text

(1)

Integrating Software Agents and Web Services in Service Oriented

Architecture Based Cloud Services Discovery Framework

1

Nada A. Nabeeh,

2

Haitham A. El-Ghareeb,

3

A. M. Riad

1,2,3

Information Systems Department, Faculty of Computers and Information Sciences,

Mansoura University, Mansoura, Egypt, nadaadel@mans.edu.eg,

helghareeb@mans.edu.eg, amriad2000@mans.edu.eg

Abstract

Cloud Computing is becoming gradually more important. Cloud Computing is an integrated model of hardware, software, and middleware that has been provided as a service. Cloud services (CSs) facilitate the use and reuse of Cloud Computing layers as a service. Cloud Computing layers are broadly classified into Infrastructure as a Service, Platform as a Service, and Software as a Service. Shortly, CSs delivered and consumed across internet. One of the critical limitations of a newly Cloud Computing customers is the lack of available efficient search engines. It is more applicable to use widely available CSs that might be higher in quality than to use CSs that do not match the desired user requirements. Current search engines do not offer efficient search capabilities and results. To address these shortages, a proposed Cloud Services Discovery Framework (CSDF) is presented to highlight the discovering and utilizing of CSs provided by different Cloud Services Providers. CSDF combines the functionality of software agents and web services. Software agents have the capabilities of operating as standalone process and performing actions without user intervene. While web services needs intervene to be operated. In CSDF, Software Agents are Crawler, Analyzer, Evaluator, Tracker, Recommender, and Ranker agents. CSDF Web services are Cloud Service Manager (CSM), Query Manager (QM), Query Processor Manager (QPM), and User Profile Manager (UPM).

Keywords:

Service Oriented Architecture, Cloud Computing, Cloud Services, Ontology, Cloud Services Discovery, Web Service Description Language, Software Agents

1. Introduction

According to the CIA’s world Factbook, the services-based economy represents 62.9% of the World gross domestic product [1]. In the last years the development of systems based on services has grown in importance [2], which leads to the emergence for the evolvement of Cloud Computing based on Service Oriented Architecture (SOA) concepts. SOA and Cloud Computing are related [3]. SOA paradigm is widely adopted for the development of software systems through the dynamic composition of network accessible loosely-coupled services [4, 5, 6, 7]. The primary driver of SOA comes from the software industry to move from the development of large-scale applications to the building of reusable modules that can be shared across existing or new business applications [8]. SOA introduces a new method to create distributed applications where their basic services can be discovered, published, and linked in order to achieve more complex services [9]. SOA presents systems as collection of reusable services that can be exposed and consumed on the Internet with standard interfaces has many advantages that can be achieved on technical, managerial, and implementation aspects of the system [10].Cloud Computing is a computation intensive service that clusters distributed computers providing applications as services and on-demand resources over Internet [11, 12]. Cloud Computing is a recent advancement wherein IT infrastructure and applications are provided as ‘services’ to end-users under a usage-based payment model [13]. Cloud Computing provides access to heterogeneous IT resources, which can either be physical or virtual, as services over the Internet [14]. Cloud Computing supports three main deployment types: Software as a Service (SaaS), Platform as a Service (PaaS), and Infrastructure as a Service (IaaS) [15, 12]. Service means an act of help or assistance to the user, each service serves a different purpose and offers different products for businesses and individual people around the world [16]. CSs are delivered by the specific service providers and are consumed by consumers in real time over the World Wide Web [16]. In this context, the ubiquity and the variety of CSs impose a form of collaboration between actors at Cloud Computing layers [14]. The two main characteristics of potential Cloud critical infrastructure, which differentiate it from traditional

(2)

enterprise infrastructure are pay-per-use payment model and automated management services [15]. Such services provide Cloud Computing with exceptional capabilities and new features. For example, scale per use, hiding the complexity of infrastructure, automated higher reliability, availability, scalability, dependability, and resilience [15].In the last few years, the number of providers offering IT CSs has increased very rapidly [14]. In order to accommodate the rising demand for Cloud Computing resources and the heterogeneous requirements of emerging applications, Cloud Service Providers may have to connect to, share, or rent additional resources from other service providers [14]. In other words, SOA and Cloud Computing will coexist, complement, and support each other [3].

Software Agent is a computer system that is situated in some environment and is capable of autonomous actions in this environment in order to meet its design objectives [17]. Software Agents have characteristics that make them suitable to perform complex functions. Major characteristics of agents are: autonomy, reactivity, proactively, interactivity, and mobility [17]. Autonomy means that agent can make its own decisions. Reactivity means that agent can react to changes in environment [18]. Proactively means that agent should not wait for changes in the environment to take actions; instead it initiates its actions to start affecting the environment [18]. Interactivity takes place when more than one agent cooperates to achieve certain task that is the summation of all sub tasks performed by all agents involved in the system. Mobility happens when agent can transport itself across different systems architectures and platforms [18]. SOA enables integrating software agents and Web services in different systems that play important role in discovering CSs [19]. Cloud Computing is a set of enabling technologies that service a bigger, more flexible platform for enterprises to build their SOA solutions [3]. Web services have become increasingly interesting field of research [20]]. Web service is a standard representation for some computational or information resource that can be used by other programs [4, 7, 22]. The emergence of Web services as a near-ubiquitous standards-based technology has greatly facilitated the uptake and use of this service oriented paradigm, due to its being buildup on the fact that Web standards for syntax, addressing, and communication protocols [22]. Web service discovery has become daunting task due to the inability for allowing clients to articulate proper service search queries [23]. Universal Description Discovery and Integration (UDDI) serves as a central Service directory for publishing technical information about Web services [24]. Web Service Description Language (WSDL), have been designed to support service communication and information exchange [21]. Web services are syntactically described using the WSDL which concentrates on describing Web services at the functional level [25]. WSDL sets out how the service operations (operation names, parameters, and their types) and service bindings [21]. Like web services, services on the cloud have challenging tasks to fulfill Cloud Services Users (CSUs) desired intent, in addition to recommending relevant CSs under high performance consideration measures. Ontology can be used as a way to describe CSs that offer the means of explicit representation of the meaning of different terms or concepts, together with their relationships [26]. They are directed to represent semantic information, instead of content [26]. Ontology provides a shared understanding of the domain of interest to support communication among human and computers by defining common and shared domain theories [27]. The discovery of CSs requires intelligent agents that are usually proposed as a feasible technology for providing autonomy and intelligence for the discovery purposes [28].

This paper goes as: Section two sheds the light on the Problem Definition. Section three presents the related work. At section four, the paper presents Cloud Services Discovery components and scenarios. Section five presents the proposed CSDF architecture. Section six presents the framework components activities in details. Finally, the paper is concluded and ends with references.

2. Problem Definition

The number of Cloud Service Providers offering CSs has increased very rapidly [14]. CSs are syntactically described using WSDL or source code that provided with multiple Cloud Service Providers. As users may have different needs in different situations and contexts, it is increasingly important to consider user context data when filtering information [28]. In the field of recommender systems, most of the studies have focused on the process of modeling user profiles and the personalization process in order to provide personalized services to the user, but not on contextualized services [28]. Searching for relevant CSs using current Web-based ranking algorithms were specifically exploited for finding pertinent information within CSs and web pages. Since the

(3)

conventional search offers vast solutions. Specifically Cloud Service Users (CSUs) may not know which CSs to use, in which case they need to keep searching and reading the description before selecting appropriate one. The current search engines and Information Retrieval methods may not be completely suitable for finding intended and relevant CSs [23, 29, 31]. In addition, there is no specialized search engines for finding CSs [27, 31]. Therefore proposing a novel CSDF that enhance the search and the recommend of CSs is considered essential in this research.

3. Related Work

As Web services proliferate, size and magnitude of UDDI Business Registries (UBRs) are likely to increase, Clients do not have the time to endlessly search accessible UBRs for finding appropriate services particularly when operating via mobile devices [32]. Searching for Web service access points is no longer attached to service registries as Web search engines have become a new major source for discovering Web services [33]. The research conducts a thorough analytical investigation on the plurality of Web service interfaces that exist on the Web today [33]. Issues relating to the efficient access and discovery of Web services across multiple UDDI Business Registries (UBRs) is addressed in [25]. To enhance the efficiency of searching for businesses and Web services across multiple UBRs, [25] proposes a novel exploration engine, and Web Service Crawler Engine (WSCE). WSCE, collects metadata service information on retrieved interfaces through accessible UBRs, service portals and search engines [25]. Additional insights on improving the service retrieval process is presented in [33]. WSCE is capable of crawling multiple UBRs, and enables for the establishment of a centralized Web services’ repository collecting web service information published on UBRs which can be used for large-scale discovery of Web services, such that clients do not have to endlessly search existing UBRs for finding services of interest [25, 29, 32]. Discovering the best web service across multiple registries is to differentiate between services with same functionality [34]. User cannot control discovery process. Web Service Relevancy Function used for measuring the relevancy ranking of a particular Web service based on Quality of Service metrics and client preferences is presented in [34]. Many ways can be potentially used to discover web service interfaces through service registries, search engines, service portals, and peer-to-peer networks among others [35]. Web Service Broker (WSB) framework for dynamically discovering Web services registered across heterogeneous environments is presented in [35]. WSB uses a crawler to collect popularity of web service, and continuously monitors the behavior of Web services in delivering the expected functionality that enable clients to articulate service queries tailored to their needs [35]. The use of non-functional properties for Web services can improve the probability of having relevant output results [35]. Introducing Quality of Web Service (QWS) for discovery mechanism to identify client goals is presented in [23]. Experiment results show that integrating quality attributes into discovery process is inevitable and yields results that satisfy client service needs when performing a web service search [23]. Due to the basic similarity among several service-registry, interoperability among service registry standards is proposed to facilitate the dynamic business to business [24]. Service standards, such as UDDI focused on simple keyword-based searching and indexing which cannot saturate client search purposes [36]. To meet user requirements, focusing on the overall functionality and quality of Web service (QWS) is presented in [36]. Various studies looking at ways to improve web search results through identifying the goals of users performing queries is a key quality factor [37]. Web service client looks not only for web services that meet user requirements but also for Web services that are capable of performing the required functionalities with an acceptable degree of quality of Web service (QWS) [37]. The search engines are not specialized for users to find appropriate CSs [27]. Cloudle; an ontology-enhanced Cloud service search engine that consults a Cloud ontology for reasoning about the relations among CSs is presented in [27]. A Cloud ontology contains a set of Cloud concepts, individuals of those concepts, and the relationship among those individuals. Reasoning methods is used to calculate the similarity between individuals. The empirical results show that the result using Cloudle with the Cloud ontology has better performance in finding the appropriate Cloud service than the result using Cloudle without the Cloud ontology and the result without Cloudle. Cloud service discovery system (CSDS) proposed in [31] supports Cloud users in finding a Cloud service over the Internet. The CSDS interacts with a Cloud ontology to determine the similarities among services. One of the main contributions of this work is building a Cloud service reasoning agent (CSRA) that enables the CSDS to reason about the relations of CSs, and rate the search results [31]. Another contribution of this work is designing and constructing

(4)

a Cloud ontology consisting of a taxonomy of concepts of CSs that enables the CSRA to determine the relations of CSs using three service reasoning methods [31]. Detailed ontology to demonstrate the dissection and the interrelation between the five layers of the cloud which are applications, software environments, software infrastructure, software kernel, and hardware is presented in [38]. The determination and understanding to the cloud component may enable to create solutions to common Cloud Computing problems like availability, application migration between cloud offerings, and system resilience [38]. In addition to the system composition, proposed solution in [38] allows researchers in Cloud Computing to define a more robust interaction model between the different cloud entities. Novel method for searching services of Cloud Computing by exploiting the semantics and ontology technologies is presented in [30]. Examining the available Cloud Computing services to identify and explain the main characteristics of CSs using tree structured taxonomy is presented in [39]. This taxonomy allows quick classifications of the different Cloud Computing services and makes it easier to compare them. The taxonomy has a tree-based structure. At the root of the tree are all CSs. The first level is made up of the three main service categories: IaaS, PaaS, and SaaS. The next levels correspond to the common characteristics, followed by the service specific characteristics. The simple tree structure allows quick comparisons, by giving the user a set of choices at each level. This clear structure makes comparing Cloud Computing services more efficient than using table based comparisons. Further, the taxonomy not only helps to map a Cloud Computing service, but it also helps potential customers and developers to point out what characteristics of the service they seek or wish to develop should have [39]. A model that describes software agents as a new Cloud Computing service which would represent clients in virtual environments is presented in [40]. Software agents may be offered as a Cloud Computing service and thus inherit all the virtues of this new paradigm [40]. Novel model is to build, exploit and integrate context information with a web personalization system is presented in [28]. A context aware personalization system (CAPS) is developed which is able to model and build contextual and personalized ontological user profiles based on the user’s interests and context information. These profiles are then exploited in order to infer and provide contextual recommendations to users [28].

4. Proposed CSDF Components

CSDF components, consists of software agents and web services to complement functionality of the proposed architecture. Figure 1 shows the taxonomy of proposed CSDF components. The functionality of CSDF component determines either the component implemented as a Web service or as a software agent. Web service operates on demand, while software agent operates automatically. The required software agents are: Crawler, Analyzer, Evaluator, Tracker, Recommender, and Ranker. CSDF software agents’ components main functions are:

 Crawler Agent: Crawls for CSs to keep CSDF repository Up-to-date.

 Analyzer Agent: Consists of two sub-components: Cloud Service Ontology Analyzer (CSOA), and Cloud Service Reasoning (CSR). CSOA consults the ontology taxonomy tree. CSR utilizes the ontology taxonomy tree to understand the CSs.

 Evaluator Agent: Responsible for measuring the performance of the stored CSs.

 Tracker Agent: Maintains service availability to assure the validity of the CSs stored at CSDF's repository.

 Recommender Agent: provides CSUs with convenient access to the products they might be interested in. The proposed recommender consists of two components: Cloud Service Matcher Reasoning (CSMR), and Cloud Service Recommender (CSRc). CSMR determines similarity between the user query concepts and the stored CSs at CSDF. CSRc recommends exact and related CSs with respect to user profile, evaluator report, and ranker reports [41].

 Ranker Agent: ranks recommender results to assure compatibility between CSUs requests and responses.

The CSDF web services are: CSM, QPM, QM, and UPM. CSDF web services main

functions are:

(5)

 CSM: Manages the crawled and analyzed CSs according to security rules.

 QPM: analyzes the query and converts the query into a suitable format of concepts that can be used by the reasoning procedure.

 QM: Securely loads query and performs data manipulations such as insert, update, and delete operations.

 UPM: contains CSU's activities and user preferences.

Figure 1. CSDF Components Taxonomy

4.1. CSDF Proposed Scenarios

CSDF implements two complimentary scenarios that are: System scenario, and User scenario. System scenario corresponds to what is known in recommender systems as offline mode, while user scenario works in online mode.

4.1.1. System scenario

Figure 2 illustrates the CSDF system scenario steps. Crawler agent searches the Internet for new and updated CSs, and adds them to the crawled services database, as shown in steps 1, 2 respectively. CSM manages the updates of the Crawled and Updated CSs database with newly and updated crawled CSs, as shown in steps 3. CSM ensures data integrity before performing the required database transactions. Analyzer agent requests CSM to read the crawled and updated CSs database in step 4. Analyzer agent reads and transforms CSs into suitable analyzed taxonomy format in steps 5, and 6 respectively through the two sub components: CSOA, and CSR. Evaluator Agent in steps 7, 8 respectively evaluates CSs according to some recommended performance measures that includes: WSDL and source code evaluation methods. Evaluation of WSDL measures availability, throughput, reliability, response time, practices, documentation, and compliance. While evaluation of source code evaluates description and rates user feedback. Tracker agent assure availability for the crawled CSs through keeping track of online and active CSs, and detecting what CSs have gone valid or invalid as shown in steps 9, 10 respectively. The management of secure access and storage of agent's data is adopted by CSM. The CSDF repository updated, analyzed, evaluated, and tracked by in-house agents.

4.1.2. User scenario

Figure 3 illustrates the user scenario steps. CSUs interacts with web interface to query for desired CSs as shown in step 1. QM verifies the CSUs authority and validity of the required operation. In

Cloud Service  Discovery  Framework Agents  Crawler  Evaluator Tracker Analyzer Recommender Ranker Web  Services

Cloud Service Manager Query processor Manager

Query Manager User Profile Manager

(6)

addition QM assures data integrity to apply data manipulations for next processing shown in step 2. The QPM requests for CSU's query to be processed in step 3. QPM in step 4 loads the desired query after verifying the validity of access and security rules. QPM understands and identifies the main concepts of CSU's query passes results to QM for storage in the queries database as shown in step 5. The recommender recommends the appropriate CSs through series of steps from 6 to 15. In step 6 and 7 respectively the recommender requests for newly CSU's query and QM respond with newly queries. The recommender agent needs to load the CSU's activities and preferences from UPM and to process user profiles for recommendation purposes as shown in steps 8 and 9 respectively. The recommender agent matches CSUs queries with UPM requesting the recommended CSs from CSM as shown in steps 10 and 11 respectively. After that steps 12 and 13 respectively, recommender requests for the CSs evaluation reports from evaluator agent to ensure the final recommendations. The ranker agent requests the recommended lists and ranks the suggested CSs proposed by recommender, as shown in 14 and 15 respectively. Step 16, ranker agent sends a list of ranked recommended CSs to CSU's through web interface. In the case of no CSs found saturate CSU needs, crawler agent starts updating repository. System scenario is repeated for the newly crawled CSs. Recommender agent recommends convenient CSs to CSU. Ranker agent ranks the suggested CSs and display results through web interface.

Figure 2. CSDF System Scenario

5. CSDF Architecture

Figure 4 shows the cloud service middleware as the communication path between CSDF agents and web services. Crawler searches for new or updated CSs. The analyzer agent depends on CSOA and CSR to analyze CSs into understandable format. Evaluator agent keeps CSs performance measures. Tracker searches for CSs availability. CSM manages CSs such that services may selected, inserted,

(7)

updated, or deleted verifying access and security rules. User interface takes CSU's query to be processed by QPM. The QPM analyzes the query into concepts for next recommendation purposes. QM verifies the authorized access and security rules to make manipulations that select, insert, update, and delete queries. Recommender agent matches user query with stored CSs consulting user profile and evaluator agent. Ranker agent ranks the results according to performance measures and user rates. All agents and web services communicate with CSs middleware to request for the needed data to complete certain transactions.

Figure 3. CSDF User Scenario

6. Proposed CSDF Detailed Components Activities

The main functionality tasks for CSDF components according to system and user scenario are:  Crawler Agent: The software agent responsible for crawling the Internet for the available CSs.

Crawler returns a collection of results that will be filtered by CSM at the next activity. The crawler builds a repository of candidates CSs source code or WSDLs through both crawling the Internet and using conventional search engines' APIs like koders, Google, and Yahoo!. In figure 5 the crawler checks if CSU queries for specific CSs, the crawler searches the API engine for crawling the internet for the required CSs. Otherwise the crawler crawls the internet for the new and updated CSs.

CSM: Is the web service responsible for providing unified management to crawled and analyzed

CSs that exist in the repository. Unified management is very important because some rules shall be applied to the crawled and analyzed CSs. Rules include, not only verification of operation to assure data integrity, but also checking security access. Figure 6 shows the main process management for CSM. Before any manipulation processes applied to CSs, CSM checks the authority of access to the repository. After assuring the authorized access, CSM begins to assure the validity and integrity of the operation then update repository. CSM stores new CSs, updates exist ones, and deletes unavailable CSs which is marked as invalid.

Analyzer Agent: The software agent responsible for understanding and performing different activities to store required information about crawled CSs. The stored information will be in a form

(8)

that enables other CSDF components for automatically processing the recommending results. The analyzer agent consists of two components CSOA and CSR.

o CSOA: utilizes taxonomy techniques in understanding the CSs.

o CSR: understands CSs according to similarity reasoning that aids to produce CSs descriptions.

Figure 7 shows analyzer agent, CSOA represents CSs either source code or WSDL in a taxonomy tree to extract the main methods and keywords generating the main concepts of CSs. CSR applies the similarity reasoning to produce description report about the relations between CSs.

Figure 4. CSDF Architecture

Figure 5. Crawler Agent

Evaluator Agent: The software agent that evaluates CS’s source code or WSDL. Figure 8 illustrates activities for source code and others to WSDL. Activities specialized for source code are to generate and execute client application, evaluates source code, to evaluate CSs description, to

(9)

rate user feedbacks, and to generate CS's evaluation report. Other activities for WSDLs, builds client side using WSDL and connects to service to extract methods. WSDL evaluation includes seven measures which are availability, throughput, reliability, response time, best practices, documentation, and compliance.

Tracker Agent: Tracking systems has been widely known and accepted [4]. The software agent that tracks the availability of the stored CS. The available CS marked as valid service while the unavailable CS marked as invalid service. Figure 9 shows the main activities of tracker agent.  QM: Is a web service responsible for management of queries that stored at repository. The query is

used by CSUs to ask for intent CSs.QM adopts the secured access for queries and manipulations such as update, insert, and delete as shown in figure 10.

Query processor: Is the web service responsible for analyzing query efficiently. Query processor not only identifies the goals of the query, but also represents query in concepts for next recommendation processes. Figure 11 mentions the activities of query processor.

Figure 6. CSM

Figure 7. Analyzer Agent

(10)

Figure 9. Tracker Agent

Figure 10. Query Manager

Figure 11. Query Processor

Recommender Agent: The software agent recommends the appropriate CSs to CSUs either exact

CSs or related CSs. The recommender agent consists of two components: CSMR, and CSRc.  CSMR: understands and matches CSswith user queryaccording to similarity reasoning.  CSRc: utilizes recommending suitable CSs or related CSs to CSUs with respect to UPM,

evaluation report, and ranking report. Figure 12 shows the recommender main activities that matches CSU's intent with the stored CSs. The recommender makes best of suggested CS's results saturating needs of CSU's.

UPM: The user profile is created once CSU's account is created. UPM is the web service that aids recommender agent in such recommendation processes. It contains CSU's activities and user preferences. The activities includes steps CSUs follows at system. The user preference contains the preferred settings used by CSUs. Figure 13 illustrates the user profile activities. UPM takes into account, not only verifying the security access to user profile database, but also the verification of any operation applied to user profile database.

Ranker Agent: The software agent that ranks the recommended CSs that based on user query, evaluation report, and user profile to display the appropriate CSs to CSUs. The ranker agent applies system performance measures and ranks user rates.

(11)

Figure 12. Recommender Agent

Figure 13. User Profile Manager

7. Conclusion and Future Work

In this paper, a CSDF that facilitates the search for the appropriate CSs in an easy and efficient way is presented. CSDF has six main software agents and four web services. The software agents include Crawler, Analyzer, Evaluator, Tracker, Recommender, and Ranker agents. Web services are CSM, QM, QPM, and UPM. The crawler agent searches for available the CSs on the internet and CSM stores the new and updated CSs for the next processing. Analyzer agent consists of CSOA and CSR. Analyzer applies CSOA on the CSs whether source code or WSDL to visualize the CS's structure. CSR reasons the CSs using similarity methods. Evaluator agent evaluates CSs according to performance measures. Tracker agents keeps into account the availability of the stored CSs. Recommender agent recommends CSs when user submit query. QM loads and stores CSU's queries according to authorization and security rules. Query processor identifies user goals to understand CSU intend. The recommender agent matches the CSU query with the already stored CSs with respect to user profile, and evaluation report. The resulted CSs and related CSs are ranked to generate output report that will be processed by recommender for final recommendations. The proposed framework helps not only CSUs but also developer to detect the similar CSs easily without time consuming. Future work includes advancing the Analyzer and Recommender software agents with advanced ontology based capabilities to further understand online CSs. Recommender agent will become more intelligent by understanding user profiles side by side with CSs.

8. References

[1] M. Sellamia, O. Bouchaalaa,b, W. Gaaloula, S. Tataa, "Communities of Web service registries: Construction and management", The Journal of Systems and Software, Elsevier, vol. 86, no. 3, pp. 835– 853 ,2013.

[2] M. L´opez-Sanz, C.J. Acu˜na,C. E. Cuesta, E.Marcos, "Modelling of Service-Oriented Architectures with UML", Electronic Notes in Theoretical Computer Science, Elsevier, vol. 194,no. 4 , pp. 23–37, 2008.

[3] W. Tsai, X. Sun, J. Balasooriya, "Service-Oriented Cloud Computing Architecture", Seventh International Conference on Information Technology, IEEE, 2010.

[4] A. M. Riad, and H. A. El-Ghareeb, "A Service Oriented Architecture to Integrate Mobile Assessment in Learning Management Systems", Turkish Online Journal of Distance Education, Vol.8, no.2, Article 12, 2008.

(12)

[5] R. Mirandola, P. Potena, P. Scandurra, "Adaptation space exploration for service-oriented applications", Science of Computer Programming, Elsevier, vol. 80, Part B, pp. 356–384, 2014. [6] H. A. El-Ghareeb, Aligning Service Oriented Architecture and Business Process Management

Systems to Achieve Business Agility, Egyptian informatics Journal, Cairo University, vol. 9, issue 1,2008.

[7] A. M. Riad, and H. A. El-Ghareeb, " An Adapted Service-Oriented-Architecture Based Learning-Management-System for Mobile Assessment ", Egyptian informatics Journal, Cairo University, vol. 9, issue 1, 2008.

[8] H. Wang, S. Wang ,"Ontological map of service oriented architecture for shared services management", Expert Systems with Applications , Elsevier, vol. 41, no. 5, pp. 2362–2371, 2014. [9] J. A. G. Coria, J. A. Castellanos-Garzn, J. M. Corchado," Intelligent business processes

composition based on multi-agent systems", Expert Systems with Applications, Elsevier, pp. 1189–1205 , 2014.

[10]A. M. Riad, H. K. El-Minir, H. A. El-Ghareeb, "Review of e-Learning Systems Convergence from Traditional Systems to Services based Adaptive and Intelligent Systems", Journal of Convergence Information Technology, vo. 4, no. 2, 2009.

[11] C. Tang and M. Dai, "Energy Cost-Effectiveness of Cloud Service Data Centers", Communications in Computer and Information Science, Springer, vol. 223, pp 94-103, 2011. [12] H. A. Ali, H. A. El-Ghareeb "Implementation of Cloud-based Virtual Labs for Educational

Purposes ", Advances in information Sciences and Service Sciences, vol.5, no.15, 2013.

[13] R. N. Calheiros, R. Ranjan, A. Beloglazov, C. A. F. De Rose, and R. Buyya, "CloudSim: a toolkit for modeling and simulation of Cloud Computing environments and evaluation of resource provisioning algorithms", Wiley Online Library, Practice and Experience (SPE), vol. 41, no. 1, pp. 23-50,2011.

[14] R. Aoun, C. E. Abosi , E. A. Doumith, R.Nejabati , M. Gagnaire ,and D. Simeonidou, "Towards an optimized abstracted topology design in cloud environment", Future Generation Computer Systems, Elsevier, vol. 29, no. 1, pp. 46–60, 2013.

[15] M. Zorrilla , D. García-Saiz,"A service oriented architecture to provide data mining services for non-expert data miners", Decision Support Systems, Elsevier, vol. 55, no. 1, pp. 399–411, 2013. [16] F. Chen, X. Bai, and B. Liu, "Efficient Service Discovery for Cloud Computing Environments",

Advanced Research on Computer Science and Information Engineering Communications in Computer and Information Science, Springer, vol. 153, pp. 443-448, 2011.

[17] A. M. Riad, H. A. El-Ghareeb, "A Service Oriented Architecture to integrate Web services and Agents in Course Management Systems", Egyptian informatics Journal, Cairo University, vol. 8, no. 1, 2007.

[18] A. M. Riad, and H. A. El-Ghareeb, "New Architecture for Mobile News Agent System ", Egyptian informatics Journal, Cairo University, vol. 8, no. 1, 2007.

[19]] A. M. Riad, and H. A. El-Ghareeb, "Evaluation of Utilizing Service Oriented Architecture as a Suitable Solution to Align University Management Information Systems and Learning Management Systems", Turkish Online Journal of Distance Education, vol. 10 no. 4, 2009. [20] A. M. Abbas , A. Abu Bakar, M. Z. Ahmad, "Fast dynamic clustering SOAP messages based

compression and aggregation model for enhanced performance of Web services", Journal of Network and Computer Applications, Elsevier, 2013.

[21] I. Sommerville,"SOFTWARE ENGINEERING 9", Addison-Wesley, 2011.

[22] H. H. Wang , N. Gibbins , T. R. Payne , D. Redavid ,"A formal model of the Semantic Web Service Ontology (WSMO)", Information Systems, Elsevier, vol. 37, no. 1, pp. 33–60, 2012. [23] E. Al-Masri and Q. H. Mahmoud, "Identifying Client Goals for Web Service Discovery", IEEE

International Conference on Services Computing, pp.202-209, 2009.

[24] E. Al-Masri and Q. H. Mahmoud, "Interoperability Among Service Registry Standards “, IEEE Internet Computing, vol. 11, no. 3, pp. 74-77, 2007.

[25] E. Al-Masri and Q. H. Mahmoud, "WSCE: A Crawler Engine for Large-Scale Discovery of Web Services”, IEEE International Conference on Web Services, pp. 1104-1111, 2007.

[26] F. Moscato, R. Aversa, B. Di Martino, "An Analysis of mOSAIC ontology for Cloud Resources annotation", Computer Science and Information Systems, IEEE, pp. 973–980, 2011.

(13)

[27] J. Kang and K. M. Sim, "Cloudle: An Ontology-Enhanced Cloud Service Search Engine", Web Information Systems Engineering – WISE 2010 Workshops Lecture Notes in Computer Science, , Springer, vol. 6724, pp. 416-427, 2011.

[28] A. Hawalah, M. Fasli, "Utilizing contextual ontological user profiles for personalized recommendations", Expert Systems with Applications, Elsevier, vol. 41, no. 10, pp. 4777–4797, 2014.

[29] E. Al-Masri and Q. H. Mahmoud, "Discovering Web Services In Search Engine", Internet Computing, IEEE Computer Society, vol.12, no.3, pp. 74-77, 2008.

[30] T. Wu, K. Xiao, and K. Yang, "A Novel Methods For Searching Services Of Cloud Computing", Recent Advances in Computer Science and Information Engineering Lecture Notes in Electrical Engineering, Springer, vol.125, pp. 503-508 2012.

[31] T. Han and K. M. Sim, "An Agent-Based Cloud Service Discovery System that Consults a Cloud Ontology ", Lecture Notes in Electrical Engineering, Springer, 2011.

[32] E. Al-Masri and Q. H. Mahmoud," Crawling Multiple UDDI Business Registries", Proceedings of the 16th international conference on World Wide Web, ACM , pp. 1255-1256, 2007.

[33] E. Al-Masri and Q.H. Mahmoud, "Investigating Web Services on the World Wide Web", Proceedings of the 17th international conference on World Wide Web, ACM, pp. 795-804,2008. [34] E. Al-Masri and Q. H. Mahmoud, "Discovering the best web service", Proceedings of the 16th

international conference on World Wide Web, ACM, pp. 1257-1258, 2007.

[35] E. Al-Masri and Q. H. Mahmoud, "A Broker for Universal Access to Web Services", Seventh Annual Communications Networks and Services Research Conference, IEEE, pp.118-125, 2009. [36] E. Al-Masri and Q. H. Mahmoud, "Toward Quality-Driven Web Service Discovery", IT

Professional IT Pro, IEEE, vol. 10, no. 3, pp. 24-28, 2008.

[37] E. Al-Masri and Q. H. Mahmoud, "Web Service Discovery and Client Goals", IEEE Computer Society, 2009.

[38] L. Youseff, M. Butrico, D. D. Silva, "Toward a Unified Ontology of Cloud Computing”, Grid Computing Environments Workshop, pp. 1 - 10, 2008.

[39] C. N. Hofer, G. Karagiannis, "Cloud Computing services: taxonomy and comparison", Journal of Internet Services and Applications, Springer, vol. 2, no. 2, pp. 81-94, 2011.

[40] I. Lopez-Rodriguez and M. Hernandez-Tejera, "Software Agents as Cloud Computing Services", Advances on Practical Applications of Agents and Multiagent Systems Advances in Intelligent and Soft Computing , Springer, vol. 88, pp 271-276, 2011.

[41] A. M. Riad, H. K. El-Minir, H. M. El-Bakry, H. A. El-Ghareeb , "Supporting Online Lectures with Adaptive and Intelligent Features ", Advances in Information Science and Service Sciences, vol. 3, no.1, 2011.

Figure

Figure 1. CSDF Components Taxonomy
Figure 2. CSDF System Scenario  5. CSDF Architecture
Figure 3. CSDF User Scenario
Figure 7 shows analyzer agent, CSOA represents CSs either source code or WSDL in a taxonomy tree  to  extract  the  main  methods  and  keywords  generating  the  main  concepts  of  CSs
+4

References

Related documents

คุณสมบัติบุคลากรในห้องปฏิบัติการ คุณสมบัติ บุคลากร ห้องปฏิบัติการ Checker ต้องผ่านการอบรม หลักสูตรตรวจบ

The Refractory Urge Incontinence and Botulinum A Toxin Injection randomized clinical trial was designed to compare the effect of 200 U intradetrusor BoNT-A vs placebo on improve-

This strategy is problematic because it is at odds with the mechanismic commitment to the ‘details of scientific practice’ ( MDC, 2000, p. 2 ), given that evolutionary biologists

winter precipitation, and a negative correlation between positive NAOI S values and

A neat but not quite precise statement of the main result in the present paper is that the microcanonical and generalized canonical ensembles are equivalent at the level of

This information includes the University’s standards of conduct relating to the unlawful possession, use, or distribution of illicit drugs and alcohol, health risks associated with

Following the Bison T-Method, as installation progresses out from the perimeter wall, work can also begin along the length of the wall. Place FS-12 fasteners in the channel created

Stochastic equilibrium programs with equilibrium constraints, convergence analysis, sample average approximation, Nash stationary point..