2010 Fifth International Conference on Internet and Web Applications and Services
Global SOA: RSS-based Web Services Repository and Ranking Deven Shah, Mayank Agarwal, Mahendra Mehra, Ashish Mangal Sardar Patel Institute of Technology - Mumbai, India
[email protected],
[email protected],
[email protected],
[email protected] improving business efficiency, responsiveness, adaptability and providing IT benefits with reduced complexity, increased reuse and legacy integration. However, these benefits are limited only within an enterprise. SOA cannot function in a non pre-negotiated environment. In SOA environment when a Web Service calls another Web Service it needs a stub of that Web Service. The stub helps to determine the calling parameters, syntax and other related information required to establish connection with the Web Service. However, in the proposed approach, when SOA is extended across the globe, we cannot have stubs for all the Web Services present. We are searching a Web Service based on user preferences. Hence, the power of SOA is highly underutilized. Our argument is that since SOAP message is using HTTP as a transport layer protocol, we should use SOA over the Internet where service requestor and provider are part of different security domains. We define this as Global SOA. Our paper is organized as follows. The paper begins with an explanation of the concept of GSOA. The next section describes the working of RSS and its significance in GSOA. This is followed by the concept of ranking of the Web Services. The last section provides details of implementation of proposed work.
Abstract—For Global Service-Oriented Architecture (GSOA), we need to make sure that the Web Services provided by the service providers are visible to all potential consumers across the globe. In this paper, we discuss about Universal Description Discovery and Integration (UDDI) and its limitations as public repository. For this, we propose using Really Simple Syndication (RSS) as a repository. RSS is indeed based on the Extensible Markup Language (XML) and hence it enables easy data transformation. It is also platform independent, lightweight and is widely used as open source technology. Due to the auto push nature of RSS, the global RSS repository will only send the recently added Uniform Resource Identifier (URI) links to the subscribed consumers. The client can maintain its local cache for supporting faster execution of most frequently used Web Services. The new URI links provided by the server will get appended to the client’s local cached repository thereby reducing data traffic over the Internet. In GSOA, we discuss logic that will assign the ranks to the Web Services and will help compare Web Services providing similar functionalities; thereby it helps the Web Service consumer to dynamically select the best available Web Service depending on the user criteria. The local RSS-based repository implements the local ranking, wherein the user’s relative preferences are stored. The most important thing is that the local RSS takes priority over the global RSS ranks. Keywords- SOA; UDDI; RSS; GSOA; global RSS; local RSS
I.
II.
INTRODUCTION
We need to extend SOA to Global SOA [3] (GSOA) with a purpose to make it truly universal. The core idea of proposed GSOA [4] is an “Internet of services”, to facilitate collaboration, and sharing of services among end users over the Internet. In our work, we are discussing Global SOA architecture, and proposing a framework with innovative features like: (1) RSS-based distributed repository, instead of UDDI [5], (2) Web Service ranking in local repository, and (3) Dynamic and ubiquitous security mechanism In this paper, our focus would be on the RSS-based repository, instead of UDDI [6] and Web Service ranking. With GSOA, it would be possible for the end user to access Web Services across the globe. Currently, we do not have a global repository that stores information about Web Services. We have a private UDDI by various organizations. Also, the current SOA scenario does not support Dynamic Invocation. With Global SOA, we are proposing an environment where, we keep information about Web Services in a centralized repository. The Dynamic Invocation Interface (DII) on the Client side would have the ability to generate the stub dynamically and call Web Services. There is no need to establish a pre-negotiated environment between the user and the Web Service provider.
A Service-Oriented Architecture (SOA) [1] is essentially a collection of services. These services communicate with each other. The communication can involve either simple data passing or it could involve two or more services coordinating some activity. Generally, services are loosely coupled units of functionality that make no calls to each other. We are not dealing with Web Service choreographies (WSC). WSC is good in an enterprise wide integration. But when we deal in Global SOA, WSC cannot function properly, since it requires that a stub be dynamically created to call a Web Service. However, there exist Web Services, which are capable of performing more than one task. SOA separates functions into distinct units, or Web Services [2]. In fact, SOA is a collection of many services in the network. SOA is normally used for Enterprise Application Integration (EAI), where diverse applications or services in an enterprise communicate and collaborate with each other to achieve a common business objective. Simple Object Access Protocol (SOAP) is the core protocol that provides a standard model for exchange of messages between applications or services. Currently, SOA implementation is within the enterprise, i.e., SOA is confined to a corporate boundary. SOA has been hugely popular and it provides myriad advantages, like 978-0-7695-4022-1/10 $26.00 © 2010 IEEE DOI 10.1109/ICIW.2010.94
GSOA – GLOBAL SERVICE ORIENTED ARCHITECTURE
256
A. Existing Technology and Associated Issues Traditional SOA uses private UDDI [7] repository for publishing the Web Services. UDDI uses a keyword based retrieval mechanism. It also does not take into account the volatile behavior of services because the Web Services might change over a period of time, thereby resulting in the presence of stale data in service registry. Currently, there is no centralized UDDI repository for searching Web Services. In our proposed scenario, we are searching the best possible Web Service using RSS-based repository. UDDI works fine for a static environment like SOA, but is not suitable for a dynamic environment like GSOA. It has the following limitations:
• •
A. Proposed RSS-based Repository for Web Services: In our proposed approach it is necessary to we have to work on Dynamic Web Service composition. But before that, we need to find a particular Web Service through RSSbased repository and ranking methods. Since the stub for Web Service is generated dynamically, unless, we select a Web Service there would be no generation of stub. DII is a method which can achieve this. We propose to publish Web Service using RSS Feeds. We use RSS instead of UDDI to publish the Web Service as RSS files are easy to exchange over the Internet. The Web Service provider registers the Web Service with the global repository so that it is visible to all other consumers. The global repository consists of RSS feeds of all available Web Services.
•
Public registries compliant with UDDI have not grown as expected. • Registries assume voluntary registration of service providers. • Registries do not provide any value-added service, such as checking the quality of the registered services. • A public registry is urgently needed for GSOA but UDDI fails to provide the required framework. • UDDI does not allow ranking of Web Services so it is difficult to differentiate between different Web Services that provide the same functionality. Hence a crucial need for a new Web Service repository standard with the following capabilities: • Storage of Meta-data about the Web Services. • Semantics related to the Web Service while publishing. • Global accessibility by the consumers. • Global repository with updated information about Web Services.
Figure 1. How does RSS work?
We also have a local repository, which is maintained by individual users according to their preferences and assigned rankings. It is the responsibility of the service provider to convey any changes or modifications in its Web Service URI or WSDL to the global repository, so that the changes are reflected with great speed. This approach is better than implementing logic in the central repository that periodically polls the individual service provider for any changes in their service. The polling technique is timeconsuming and is not efficient, considering that very few services change over a period of time.
B. Dynamic Discovery of Web Services Dynamic discovery of Web Services [4] has not been implemented globally yet. This is due to the absence of a global repository of Web Services. We propose a dynamic discovery, based on Web Service ranking, using a distributed RSS-based Web Service repository. III.
WHY RSS AND HOW IT WORKS
The Web Service provider registers the WSDL URI with the global repository. RSS files are used to store the data in the repository.
RSS consists of a set of XML tags, which includes title, item, description and channel tag. The RSS document includes full or summarized text, plus metadata such as publishing dates and authorship. The user subscribes to a feed by entering the feed's URI into the reader or by clicking an RSS icon in a browser that initiates the subscription process. RSS content in a web page is typically
RSS-based standard for storing data solves the synchronization issue between local repository and global repository, with the use of feed readers. These automatically synchronize the local RSS repository in accordance with the changes made in the global RSS-based repository. We can make use of any existing feed burner to register for RSS feeds of Web Service providers, thereby permitting its reusability.
displayed as or icon. The working is shown in Figure 1. RSS have following advantages: • • • •
Platform independent. Assured privacy of feeds.
No duplication. Cannot be blocked by email or spam filter. Very speedy feed retrieval. Light weight.
We have solved dynamic discovery problem by using the RSS-based local repository. The local RSS can be synchronized on a weekly basis with the central repository
257
service. This involves traffic generation and causes unnecessary delays. To overcome this, ranking mechanisms can be adopted, depending on the analysis criteria used, in order to calculate the ranks. The ranking can be classified in two different ways, depending on local or global network traffic:
or allow for automatic updation when the new entry arrives in the global RSS. B. Advantages of using RSS Repository over UDDI: •
Distributed RSS: RSS is a distributed database. Once the data is sent to the local RSS, the user on the client side will work on that local RSS. Now, even if the global RSS shuts down, the user can still work without any problem as long as it does not require global RSS for further processing. In a typical distributed environment whenever a particular node is updated, all the nodes get updated. But in our case, we update only the global repository and not the local repository. The client will only receive those updates to which he subscribes and not all the updates that are pushed by global RSS. Thus even after going distributed, we do not face issues that plague a distributed environment.
•
Retrieval: RSS can be easily retrieved from the Internet.
•
Store Meta Data: Since RSS Feeds consists of XML data, it is possible for a user to add Meta data for a given feed.
•
Authentic Entries: In RSS, there is a global authority which provides authentication to the client. Whenever a provider wants to publish his/her WSDL file in RSS, he/she will check the existence of the provider and provide them with a verification certificate. This will ensure that there is no Web Service provider with its link in RSS but does not provide any service.
•
Ranking: We have defined the standard of RSS-based repository; we have introduced rank tag for ranking.
•
Traffic and RSS push behavior: In RSS, if any updating takes place in the global repository, it is reflected in the local repository because of RSS push behavior. There is no need to send a query for updating. To counter the problem of network congestion due to frequent RSS feeds, the user can set the update interval time of feed retrieval to a higher value. Here, the clients register for the required Web Services beforehand, e.g., in our Movie Ticket booking scenario, the client registers for the feeds of the theaters he/she is interested in. Also, the user can unsubscribe for a particular feed. Thus, there would not be any unnecessary traffic over the Internet. There is no need to poll the global repository for checking whether the Web Services are stale or not. Moreover, the user would only query the global RSS repository once. Other queries would be from his/her local RSS repository. IV.
•
Global Ranking: Some established giants will rank the Web Services depending on certain criteria. This would be similar to the ranking done for web sites, e.g., Google Page Rank.
•
Local Ranking: The best available Web Services are returned in local RSS, in which local ranking is done. Here, the user can follow the rank as specified by the established giants or can rank the Web Services as he/she wants, depending on his criteria or area of interest.
A. Issues of Ranking: High Website Ranking means High Website Traffic: Website ranking is a product of good keyword content, proper Meta tags and linking strategies, which is not simple to achieve. Since, we need to rank each available Web Service; the traffic generated would be high. Website Rankings and Meta Tags: Meta Tags tell the search engine robots what the web page is about. If the keywords that address your website are not present, the robots will not be able to properly identify, or rank your website. This would create difficulties in assigning ranks to Web Service Website Optimization and Content: The term, ‘content’, in search engine optimization means, content of the search term or keyword, not a bunch of pertinent facts on the subject. The search engine robots will crawl your website pages looking for the entered search term or keyword. Search Engine robots will then gather all the search term data from the page combine this with Meta tag information for a match and come up with website rankings. If the Meta data for a website is poor, then the search engines will find it difficult to gather information about your pages, which results in low ranking. Thus, we need a flexible Web Services ranking, which should have:
RANKING
•
Openness to emerging service description languages
•
Supporting current service description languages
•
User-defined third-party repositories
•
User-defined service ranking
•
Independence from service publisher
B.
Types of Ranking: We propose two types of ranking viz. global ranking and local ranking. The ranks, here are based on a variety of
Currently, the Web Services in the UDDI are not ranked by the user. A user, making use of a particular Web Service in the UDDI, have to search the UDDI and then use the 258
he/she is interested in the nearest area, the distance from his place and the nearest theatre is calculated.
metrics borrowed from graph network and social network analysis, and thus the importance of a web service is defined differently in the context of each ranking method. Web service ranking can be used in the context of Web Service discovery and composition, so that successful solutions can be found by traversing as little of the Web Service network as possible. The information derived from service network link analysis can prove highly useful in order to provide effective service discovery and composition mechanisms.
If the user wants a ticket of the theatre he has previously visited and liked, he/she can give highest rank to that theatre’s Web Service in their local repository. Without ranking mechanism, a random output would be returned. It cannot be determined whether the available Web Service is the best or not. The output may not be according to the user interest or it may take a lot of processing time to find the Web Service of the user interest. However ranking helps find output that both matches the user’s need in terms of interest and time.
C.
Synchronization: The global repository stores the URI of the best ranked Web Services according to the global ranking. It is assumed that some established giants rank the Web Services on the basis certain criteria. According to the user request, the best available Web Service URI is sent to the local repository for local ranking. Initially the local repository is empty. The results given to the local repository from the global repository fills the local repository with data. On this data, if the user needs to change the rank of the Web Services according to his needs, he can do so. According to changing needs, the ranks of the Web Services might also change globally. For this reason, if any change is made in the global repository, they are also reflected in the local repository. Frequent updates are also performed in ‘n’ number of days for current updates in global as well as local repository. This helps in establishing Synchronization between global repository and local repository.
V.
IMPLEMENTATION
A.
Test Environment As per our proposed architecture, we have developed the following setup to implement our architecture:
Output of Ranking: In GSOA, we need some logic that will assign the ranks to the Web Services. This helps to compare Web Services providing similar functionalities. As a result the Web Service consumer can dynamically select the best available Web Service, depending on the user criteria. Here, we assume that some established giant takes the responsibility of Web Service repository along with the Web Service ranking. This gives rise to a new Web Service Search Engine, which takes as input the text describing the functions to be performed and returns the URI of the Web Services that provide the specified services sorted in an ascending order of the ranking value of the URI. The result is immediately mailed to the user.
•
Three application servers (Application server 1, Application server 2 and Application server 3) having three Web Services (Web Service 1, Web Service 2, Web Service 3). Each server runs IBM WebSphere® Studio Application Developer version 5.1.2. The database used is IBM DB2 version 9.1.
•
Though global RSS is not a part of our research work, we have created an RSS Feed burner where, we have registered the three Web Services. We have assigned global ranking to them.
•
A DII client running on an application server, which is dynamically configured and calls the different Web Services by querying the global RSS and pull the RSS feeds into local RSS repository.
D.
B. Web Services for Busines- to-Consumer (B2C). We have used the Business-to-Consumer model (Movie Ticket booking) to RSS-based Repository, and Web Services Ranking. The steps involved are explained below and diagrammatically explained in Figure 2. 1) Three movie ticket booking Web Services are created with differences in the price of the ticket and location parameters. These three Web Services are then registered in global RSS repository.
For Example: In our scenario, i.e., movie ticket booking, the movie name is send as a request along with other details. This request is sent as a SOAP request to the web servers. The server sends the request to the global repository for the best ranked Web Service of the theatre. From the global repository, the URI is retrieved from its WSDL file. This URI is sent to the local repository for local ranking.
2) Consumer Web Service uses DII client and it searches for movie ticket booking service providers from global RSS. 3)
Global RSS returns the results to local RSS
4) Consumer Web Service books the ticket based on choice of price, location and Web Service ranking in local RSS.
In this scenario, priority is given to the cost or the nearest area. Accordingly, the Web Services are ranked. If the user specifies cost as the priority, the theatre with the cheapest ticket will be booked irrespective of the area. If
259
5) Finally, the consumer calls the Web Service from the local RSS
Figure 2. Movie Ticket booking demonstrating RSS-based Repository and Web Service Ranking
Figure 3. Web Services URI and Ranking added to local RSS
260
VI.
[3] Shah Deven and Patel Dhiren, “Dynamic and Ubiquitous Security Architecture for Global SOA”. Proceedings of the 2008: The Second International Conference on Mobile Ubiquitous Computing, Systems, Services and Technologies 2008, ISBN: 9780-7695-3367-4. Year of Publication: 2008
CONCLUSION AND FUTURE WORK
In this work, we use the concept of RSS to store the URI’s of Web Service along with the concepts of local and global repository to reduce the load on centralized repository. The local repository also allows storing users personalized ranking for future use, which has higher preference over global ranking. The main advantage here is that no changes to existing web infrastructure are being made to implement our work.
[4] Schroth Christoph and Christ Oliver, “Brave New web: Emerging Design principles and Technologies as Enablers of a Global SOA”, IEEE International Conference on Services Computing SCC 2007.ISBN 0-7695-2925-9 SCC’07, Pages: 597604. Year of Publication: 2007
One of the considerations that need to be addressed is the incorporation of semantics in RSS feeds in global repository.
[5] Universal Description, Discovery, and Integration (UDDI): Technical report, http://uddi.xml.org/, 01/12/2009 [6] JianJun Yu and Gang Zhou, “Dynamic Web Service Invocation Based on UDDI”. Proceedings of the E-Commerce Technology for Dynamic E-Business, IEEE International Conference. ISBN: 07695-2206-8. Pages: 154 – 157. Year of Publication: 2004.
REFERENCES [1] Mayur R. Mehta, Sam Lee, and Jaymeen R. Shah, “Serviceoriented Architecture: Implementation of Service-oriented Applications”. The Proceedings of the Information Systems Education Conference 2006, v 23 (Dallas). ISSN: 1542-7382. Year of Publication: 2006.
[7] Carlisle Adams and Sharon Boeyen, “UDDI and WSDL Extensions for Web Service: a Security Framework”. Workshop On XML Security Proceedings of the 2002 ACM workshop on XML security, ISBN: 1-58113-632-3. Pages: 30 - 35 .Year of Publication: 2002 [8] Ronald J. Glotzbach, James L. Mohler, and Jaime E. Radwan, “RSS as a Course Information Delivery Method”. International Conference on Computer Graphics and Interactive Techniques. Article No.: 16 Year of Publication: 2007.
[2] Shuping Ran, “A Model for Web Services Discovery with QoS”. SIGecom Exchanges Volume 4, Issue 1 (Spring, 2003). Pages: 1 – 10.Year of Publication: 2003
261