SlideShare a Scribd company logo
1 of 18
CmpE 275Fall 2009 Project 2 WS - Content Aggregator &Provider(WSCAP) Search and Retrieval Services Specifications Document Team Name:Ants Dhaval Patel,[object Object]
For Images: each ID must start with I- e.g. I-1 ;S- for Sites, V- for Videos, D- for Docs.The Ring Site Service WSDL ImplSite Search ProviderJMS QJMS QSite StoreDBCLIENT{OR}GoogleSearchDoc Service WSDL ImplDoc Search ProviderJMS QJMS Q{OR}Doc StoreDBCLIENTVideo Service WSDL ImplVideo Search ProviderJMS QJMS QVideo StoreDBCLIENT{OR}Image Service WSDL ImplImage Search ProviderJMS QJMS QImage StoreExternal ImageServiceDBCLIENT{OR}Doc Ring WSDLSite Ring WSDL Image Ring WSDLVideo Ring WSDL Brief Introduction The Ring consists of the 4 services, Ants Image Service, Ants Video Service, Ants Doc Service and Ants Site service. Each service has two WSDLs, Ants WSDL acts as a client interface and the AntsRing WSDL is used as an inter-service interface. For better understanding we shall be calling the Client interfacing WSDL as the External WSDL and the service interfacing WSDL as the Internal WSDL.  As it can be seen in the diagram, the moment client sends a search request to any of the four services, the service implementation sends the request to the listening queue of Provider Search which then performs the task and then it calls the Internal WSDL of the next service and passes its search results as well. This task is extended and implemented across each service and the ring n/w of web services is created. Providers As shown in the diagram above, each of the services has twoWSDL implementations and a ‘provider’ component to it. The client and inter-service interfacing is always done through the WSDL. So, both the WSDL implementationsare hosted within tomcat and this is the point of contact for the client and the fellow service. The Internal WSDL on receiving any request from a client passes on the request to the JMS queue of its provider, which on processing the request,forwards the search result to the next service in the ring by connecting to its Internal WSDL. The Internal WSDL's job if to simply interface with the service contacting it and to pass the request to the Provider IMPL via its listening queue. The Providers can be configured using the file: SERVICEHOME/resources/Provider.cfg.xml Why separate Providers? Provider provides another layer of abstraction, which enables us to take the logic out of the WSDL implementation JMS Each web service uses an JMS queues to communicate. A SearchTransferObject(STO) is created and the Search request, SearchResponse and originator attributes are set in it. This object is then passed from the provider search to the search of External WSDLwhich then removes the search result from  the STO and sends it to the Client.Please not that the Queue names have been kept constant for the sake of demonstration only. The queue name in future actualization of the project can be explicitly specified in Provider.cfg.xml file. And also for the sake of demonstration we have used only one JBoss server to host all the queues. We have provided the option of changing the path of JBoss in Provider.cfg.xml, therefore if interested one can run four Jboss servers run the implementation as well. About the Search Results Each provider uses its own database to append its results to the search packets that it gets for processing and also interfaces with external services, wherever applicable, to get results from there and append those results also to its results. Client’s perspective: Finding and Getting The Final SearchResponse External ImageService The Image service also interfaces with the external image service to search images and download them.  External Search Engine Search for Sites The Image service also interfaces with the external image service to search images and download them. GoogleSearch The Ants Site service also connects to the Google web services to collect the site results from the Google search engine and appends the results in the Ants service format and sends the result to the Client along with other results. In order to get Google search results we are using the Google Ajax API (REST Based). The URL that is required in order to retrieve the search results is shown on the line below. 
http://ajax.googleapis.com/ajax/services/search/web?start=0&rsz=large&v=1.0&q=?
 Is the query that needs to be searched. The AJAX Search API URL, that performs the web search Specifies the start of the search result and the size specifies the result limit.In this case start is 0 and large says to bring back 8 results. The following lists down the steps to connect and retrieve results from the Google API. ,[object Object]
Instantiate URLConnection and open connection.
Add a string referrer as any website name as a request property to the connection.
Then get the input stream which has the query result.
The stream that comes back is in JSON, the input stream for the q = spider man would look something like this.
{"responseData":
 {"results":[
{"GsearchResultClass":"GwebSearch",
"unescapedUrl":"http://en.wikipedia.org/wiki/Spider-Man","url":"http://en.wikipedia.org/wiki/Spider-Man",
"visibleUrl":"en.wikipedia.org",
"cacheUrl":"http://www.google.com/search?q003dcache:qNE2oKmioqkJ:en.wikipedia.org",
"title":"003cb003eSpider003c/b003e-003cb003eMan003c/b003e - Wikipedia, the free encyclopedia","titleNoFormatting":"Spider-Man - Wikipedia, the free encyclopedia",
"content":"003cb003eSpider003c/b003e-003cb003eMan003c/b003e is a fictional Marvel Comics superhero. The character was created by   writer and editor Stan Lee and artist and co-plotter Steve Ditko. 003cb003e...003c/b003e"},
.
.
.
"responseDetails": null,

More Related Content

Similar to Web Services Aggregator

Data Archiving -Ramesh sap bw
Data Archiving -Ramesh sap bwData Archiving -Ramesh sap bw
Data Archiving -Ramesh sap bwramesh rao
 
File uploading through paperclip in rails 3.x
File uploading through paperclip in rails 3.xFile uploading through paperclip in rails 3.x
File uploading through paperclip in rails 3.xAndolasoft Inc
 
A Novel Additive Order Protocol in Cloud Storage and Avoiding the Trapdoors
A Novel Additive Order Protocol in Cloud Storage and Avoiding the TrapdoorsA Novel Additive Order Protocol in Cloud Storage and Avoiding the Trapdoors
A Novel Additive Order Protocol in Cloud Storage and Avoiding the TrapdoorsIRJET Journal
 
Schema-based multi-tenant architecture using Quarkus & Hibernate-ORM.pdf
Schema-based multi-tenant architecture using Quarkus & Hibernate-ORM.pdfSchema-based multi-tenant architecture using Quarkus & Hibernate-ORM.pdf
Schema-based multi-tenant architecture using Quarkus & Hibernate-ORM.pdfseo18
 
Cloud Storage System like Dropbox
Cloud Storage System like DropboxCloud Storage System like Dropbox
Cloud Storage System like DropboxIRJET Journal
 
01_Intro_SAP BO DATA Integrator.docx
01_Intro_SAP BO DATA Integrator.docx01_Intro_SAP BO DATA Integrator.docx
01_Intro_SAP BO DATA Integrator.docxsivakumar269245
 
Angular - Chapter 6 - Firebase Integration
Angular - Chapter 6 - Firebase IntegrationAngular - Chapter 6 - Firebase Integration
Angular - Chapter 6 - Firebase IntegrationWebStackAcademy
 
Overview of Movie Recommendation System using Machine learning by R programmi...
Overview of Movie Recommendation System using Machine learning by R programmi...Overview of Movie Recommendation System using Machine learning by R programmi...
Overview of Movie Recommendation System using Machine learning by R programmi...IRJET Journal
 
Image processing project list for java and dotnet
Image processing project list for java and dotnetImage processing project list for java and dotnet
Image processing project list for java and dotnetredpel dot com
 
IRJET- An Integrity Auditing &Data Dedupe withEffective Bandwidth in Cloud St...
IRJET- An Integrity Auditing &Data Dedupe withEffective Bandwidth in Cloud St...IRJET- An Integrity Auditing &Data Dedupe withEffective Bandwidth in Cloud St...
IRJET- An Integrity Auditing &Data Dedupe withEffective Bandwidth in Cloud St...IRJET Journal
 
Getting started with rails active storage wae
Getting started with rails active storage waeGetting started with rails active storage wae
Getting started with rails active storage waeBishal Khanal
 
Content Migration -FileNet Image Service to P8
Content Migration -FileNet Image Service to P8Content Migration -FileNet Image Service to P8
Content Migration -FileNet Image Service to P8IRJET Journal
 
YouTube Trending Video Dashboard
YouTube Trending Video DashboardYouTube Trending Video Dashboard
YouTube Trending Video DashboardIRJET Journal
 
Technology Overview
Technology OverviewTechnology Overview
Technology OverviewLiran Zelkha
 
Increase the Value of Video with Machine Learning & Media Services - SRV322 -...
Increase the Value of Video with Machine Learning & Media Services - SRV322 -...Increase the Value of Video with Machine Learning & Media Services - SRV322 -...
Increase the Value of Video with Machine Learning & Media Services - SRV322 -...Amazon Web Services
 
Externalized Distributed Configuration Management with Spring Cloud Config-Se...
Externalized Distributed Configuration Management with Spring Cloud Config-Se...Externalized Distributed Configuration Management with Spring Cloud Config-Se...
Externalized Distributed Configuration Management with Spring Cloud Config-Se...Nikhil Hiremath
 
IRJET- On-AIR Based Information Retrieval System for Semi-Structure Data
IRJET-  	  On-AIR Based Information Retrieval System for Semi-Structure DataIRJET-  	  On-AIR Based Information Retrieval System for Semi-Structure Data
IRJET- On-AIR Based Information Retrieval System for Semi-Structure DataIRJET Journal
 

Similar to Web Services Aggregator (20)

Data Archiving -Ramesh sap bw
Data Archiving -Ramesh sap bwData Archiving -Ramesh sap bw
Data Archiving -Ramesh sap bw
 
Archive data in sap
Archive data in sapArchive data in sap
Archive data in sap
 
File uploading through paperclip in rails 3.x
File uploading through paperclip in rails 3.xFile uploading through paperclip in rails 3.x
File uploading through paperclip in rails 3.x
 
A Novel Additive Order Protocol in Cloud Storage and Avoiding the Trapdoors
A Novel Additive Order Protocol in Cloud Storage and Avoiding the TrapdoorsA Novel Additive Order Protocol in Cloud Storage and Avoiding the Trapdoors
A Novel Additive Order Protocol in Cloud Storage and Avoiding the Trapdoors
 
Schema-based multi-tenant architecture using Quarkus & Hibernate-ORM.pdf
Schema-based multi-tenant architecture using Quarkus & Hibernate-ORM.pdfSchema-based multi-tenant architecture using Quarkus & Hibernate-ORM.pdf
Schema-based multi-tenant architecture using Quarkus & Hibernate-ORM.pdf
 
Cloud Storage System like Dropbox
Cloud Storage System like DropboxCloud Storage System like Dropbox
Cloud Storage System like Dropbox
 
SAP BI/BW
SAP BI/BWSAP BI/BW
SAP BI/BW
 
01_Intro_SAP BO DATA Integrator.docx
01_Intro_SAP BO DATA Integrator.docx01_Intro_SAP BO DATA Integrator.docx
01_Intro_SAP BO DATA Integrator.docx
 
Angular - Chapter 6 - Firebase Integration
Angular - Chapter 6 - Firebase IntegrationAngular - Chapter 6 - Firebase Integration
Angular - Chapter 6 - Firebase Integration
 
Overview of Movie Recommendation System using Machine learning by R programmi...
Overview of Movie Recommendation System using Machine learning by R programmi...Overview of Movie Recommendation System using Machine learning by R programmi...
Overview of Movie Recommendation System using Machine learning by R programmi...
 
Image processing project list for java and dotnet
Image processing project list for java and dotnetImage processing project list for java and dotnet
Image processing project list for java and dotnet
 
IRJET- An Integrity Auditing &Data Dedupe withEffective Bandwidth in Cloud St...
IRJET- An Integrity Auditing &Data Dedupe withEffective Bandwidth in Cloud St...IRJET- An Integrity Auditing &Data Dedupe withEffective Bandwidth in Cloud St...
IRJET- An Integrity Auditing &Data Dedupe withEffective Bandwidth in Cloud St...
 
SAP data archiving
SAP data archivingSAP data archiving
SAP data archiving
 
Getting started with rails active storage wae
Getting started with rails active storage waeGetting started with rails active storage wae
Getting started with rails active storage wae
 
Content Migration -FileNet Image Service to P8
Content Migration -FileNet Image Service to P8Content Migration -FileNet Image Service to P8
Content Migration -FileNet Image Service to P8
 
YouTube Trending Video Dashboard
YouTube Trending Video DashboardYouTube Trending Video Dashboard
YouTube Trending Video Dashboard
 
Technology Overview
Technology OverviewTechnology Overview
Technology Overview
 
Increase the Value of Video with Machine Learning & Media Services - SRV322 -...
Increase the Value of Video with Machine Learning & Media Services - SRV322 -...Increase the Value of Video with Machine Learning & Media Services - SRV322 -...
Increase the Value of Video with Machine Learning & Media Services - SRV322 -...
 
Externalized Distributed Configuration Management with Spring Cloud Config-Se...
Externalized Distributed Configuration Management with Spring Cloud Config-Se...Externalized Distributed Configuration Management with Spring Cloud Config-Se...
Externalized Distributed Configuration Management with Spring Cloud Config-Se...
 
IRJET- On-AIR Based Information Retrieval System for Semi-Structure Data
IRJET-  	  On-AIR Based Information Retrieval System for Semi-Structure DataIRJET-  	  On-AIR Based Information Retrieval System for Semi-Structure Data
IRJET- On-AIR Based Information Retrieval System for Semi-Structure Data
 

Web Services Aggregator