WS-Aggregator

302 views
283 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
302
On SlideShare
0
From Embeds
0
Number of Embeds
5
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

WS-Aggregator

  1. 1. CmpE 275 Fall 2009 Project 2 WS - Content Aggregator & Provider(WSCAP) Search and Retrieval Services Specifications Document Team Name: Ants Shivanshu Singh <shivanshukumar@gmail.com> 006488300 Dhaval Patel <dhaval2025@gmail.com> 006500481
  2. 2. CONTENTS 1.   Naming Conventions followed in this document   3   2.   WSDL: Ants.wsdl   3   2.1   Web Service Design and Rationale   3   2.2   Service Operation Details   3   2.2.1   SearchResponsesearch(Search)   3   2.2.2   DownloadResponsedownload(Download)   4   3.   Database Design& Storage   5   3.1   Content MetaData& Location Information   5   3.2   Actual Content: Data Store   6   4.   The Ring   8   4.1   Brief Introduction   9   4.2   Providers   9   4.2.1   Why separate Providers?   9   4.3   JMS   9   4.4   About the Search Results   9   4.5   Client’s perspective: Finding and Getting   10   4.6   External ImageService   10   4.7   External Search Engine Search for Sites   10   4.7.1   Google Search   10   5.   The Blackboard   13   5.1   Introduction   14   5.2   Blackboard Service   14   5.3   What Happens Inside Blackboard Service. . .?   15   6.   Appendix A: Read Me   16   CmpE 275 Fall 2009 | Project 2 – WSCAP | Team: Ants | 2009 copyright © - Shivanshu Singh & Dhaval Patel Pg 2 of 18
  3. 3. 1. Naming Conventions followed in this document The Root folder where you found this file is referred to as the PROJECTHOME folder in this document. For this project we have implemented 2 approaches to realizing the combination of services. One is the Ring approach and the other is the Blackboard approach. Everything related to them is placed under the PROJECTHOME/Project2-Ants_Ring and the PROJECTHOME/Project2-Ants_Blackboard folders respectively. These folders shall henceforth be referred to as the RINGHOME and BLACKBOARDHOME respectively. Lets take the example of the Image service of the Ants services. There is an Image service in both Ring as well as Blackboard projects. In the Ring project, the Image Service’s home is RINGHOME/Project2-Ants_Image and the home of the Image service in the blackboard project is BLACKBOARDHOME/Project2-Ants_Image. We shall refer to them as RINGHOME/IMAGEHOME and BLACKBOARDHOME/IMAGEHOME respectively. The places where something common to both the Ring’s and Blackboard’s Image service is being referred to, we shall just use IMAGEHOME. Similar is the case for the other services. 2. WSDL: Ants.wsdl Ants - Search and Retrieval Service – Images, Videos, Docs, Sites The projects have been made in such a way that the wsdl files for all the services are the same. The implementations however, are different for each service / type of implementation i.e. Ring, Blackboard. This gives the flexibility to the client to develop client to the web services in a relatively fast fashion, easily, without having to redo the task when the services offered are somewhat similar. 2.1 Web Service Design and Rationale The Ants* web services, each provides two operations: 1. search 2. download 2.2 Service Operation Details 2.2.1 SearchResponsesearch(Search) ‘Search’ datatype structure: Search | |---- String keywords ‘Search’ consists of one attribute: String keywords CmpE 275 Fall 2009 | Project 2 – WSCAP | Team: Ants | 2009 copyright © - Shivanshu Singh & Dhaval Patel Pg 3 of 18
  4. 4. ‘keywords’ is a comma separated list of all the keywords that the client wants to find in the metadata of the targeted content. It has been chosen to be this way instead of key value pairs of specific meta data, that the client would send to the service, as we view this service as content aggregator and content provider and NOT content filter. So, a client can be a service that does this content filtering based on the metadata that it receives from the service. The response is described below and it aids in accomplishing this. ‘SearchResponse’ datatype structure: SearchResponse | |---- SearchResult | | | |---- String id | |---- metaData | | | | | |---- KeyValue | | | | | | | |---- String key | | | |---- String value | | | | | |…. | | |…. | | |…. | | |…. |…. |…. The SearchResponse returned from the search function contains zero or many SearchResults, each one of which has sets of an id and related metaData. id is the unique id for the content for which this search result is and can be used with the service’s download operation to get this content, if the client wants to. metaData in turn has one or more KeyValue pairs, with each of these key-value pairs represent the related metadata where key as the metadata type and value its corresponding value. E.g. KeyValue1.key=”author” and KeyValue1.value=”Shivanshu”. 2.2.2 DownloadResponsedownload(Download) ‘Download’ data type structure: Download CmpE 275 Fall 2009 | Project 2 – WSCAP | Team: Ants | 2009 copyright © - Shivanshu Singh & Dhaval Patel Pg 4 of 18
  5. 5. | |---- String id The ‘Download’ data type consists of an attribute String id. This is the unique id that can be used to download the content that this id corresponds to in the service’s database. ‘DownloadResponse’ data type structure: DownloadResponse | |---- String name |---- base64Binarycontent The DownloadResponse will have 2 attributes one would be String name, so that the client can appropriately use the content name and extension of the content and the other the actual content in a binary format.   3. Database Design& Storage 3.1 Content MetaData& Location Information The System has 4 databases: AntsImage_Store, AntsVideo_Store, AntsDoc_Store, and AntsSite_Store. Access parameters for these can be configured by editing the file in the IMAGEHOME/resources/Hibernate/hibernate.cfg.xmlfile. We have used MySQL databases for storing the relative paths of the content beingserved and the meta data about that content in the databases. The actual content storage is done in files (More details in the next section). Described here is the database design for the Image Service. The Database design for the other services is also similar, i.e. instead of Images, its for Videos, Docs and Sites respectively. So, in this section wherever you find Image OR image OR IMAGE, just replace it with video or site etc. and read it and it shall make sense for the service in question. Table: IMAGEINFO RECORDID bigint(20) (pk) IMAGEID varchar(20) METAKEY varchar(255) METAVALUE varchar(255) Table: IMAGEPATH IMAGEID varchar(20) (pk) FILENAME varchar(255) FILEPATH varchar(255) CmpE 275 Fall 2009 | Project 2 – WSCAP | Team: Ants | 2009 copyright © - Shivanshu Singh & Dhaval Patel Pg 5 of 18
  6. 6. The table IMAGEINFO saves the metadata for each image; each record is a metadata key value pair, with METAKEY being the name of the metadata element and METAVALUE being its vale. Every entry has a unique image id associated with it, which tells us which image the particular metadata belongs to. We have chosen this approach to enable the system to store any amount and any type of metadata not limiting it to a certain type. The table IMAGEPATH saves the path of each image on the local disk or wherever that particular image is stored. This can provide the flexibility of the image being anywhere, yet being on the radar of the information that can be mined from this service. The IMAGEPATH is relative; the actual path is obtained by appending the image path to the path in the IMAGEHOME/resources/ants/AntsImage_Local_Config/AntsImage_Local_ImageStore.cfg.xml file. This gives the user the flexibility to choose any desired location to store the images. 3.2 Actual Content: Data Store Described here is the Content Storage technique for the Image Service. The Content Storage technique for the other services is also similar, i.e. instead of Images, its for Videos, Docs and Sites respectively. So, in this section wherever you find Image OR image OR IMAGE, just replace it with video or site etc. and read it and it shall make sense for the service in question. Our system stores the actual content on files, as its an easy way to store and archive the data. For the system to serve the content, we need to initialize the database with relative paths and store the location of the STOREHOME in a configuration file. Here is an example for the Image service: In the IMAGEHOME/HOME/resources/ants/AntsImage_Local_Config/AntsImage_Local_ImageStore.cfg .xml file, change the value of the tag <value> under the tag <baseLocation> to be the root of the Image Store folder, i.e. the folder where all the images are stored. The path of the sample images folder provided should match this path if you want to access the sample images through the service. The database stores paths relative to this directory so it is required to fetch images. In order to store data we have written alight-weight java client,PopulateData. PopulateData uses ImageInfoXMLTemplate.xml as the source of all data that it needs to save in the database. This xml file contains the image information in the following format. (We assume that it’s a read only service that we are proving through the whole project that we have undertaken, so population of data is not something we have concentrated upon. Hence, the accuracy and correctness of the data has been assumed and not a very hard check has been put to see if the data being provided through this xml file is actually correct or not.) <imageinfo> <!-- image id must be unique as it is a primary key in the IMAGEPATH table, PopulateData checks for the uniqueness of the image id and path --> CmpE 275 Fall 2009 | Project 2 – WSCAP | Team: Ants | 2009 copyright © - Shivanshu Singh & Dhaval Patel Pg 6 of 18
  7. 7. <image id="I-1"> <!-- MUST be unique. --> <path></path> <!-- relative path: Image base home onwards e.g. if the full path is '/Users/shivanshu/Images/_picture.img' and If over here the Image base home is '/Users/shivanshu' then this field should be '/Images/_picture.img' --> <metadata> <meta> <key>name</key> <value>ImageName</value> </meta> <meta> <key>author</key> <value>ImageAuthor</value> </meta> <meta> <key>type</key> <value>fileType</value> </meta> <meta> <key>coordinates</key> <value>latitude and longitude</value> </meta> <meta> <key>tags</key> <value>tags associated with the image</value> </meta> </metadata> </image> . . . </imageinfo> PopulateData parses this xml file and gets each record by id after checking the uniqueness of the image id and path, and then simultaneously save the data in IMAGEINFO and IMAGEPATH table. PopulateData merges the records in the table. Therefore is used to update the imageinfo table there is a new entry created even if the metakey for the same image id already exsist, this gives the client the flexibility to add more metadata for the same metakey without looking for the existing entry as the system will scan the entire metavalue column. Note: the Ids of the content have to meet the following criteria: 1. ALL the IDs are UNIQUE through the system. 2. For Images: each ID must start with I- e.g. I-1 ;S- for Sites, V- for Videos, D- for Docs. CmpE 275 Fall 2009 | Project 2 – WSCAP | Team: Ants | 2009 copyright © - Shivanshu Singh & Dhaval Patel Pg 7 of 18
  8. 8. 4. The Ring CLIENT Image Image Service WSDL Impl Store Image Ring WSDL JMS Q Image Search JMS Q Provider {OR} Video Ring WSDL DB External Video Store ImageService JMS Q JMS Q {OR} Video Service WSDL Impl Site Service WSDL Impl DB Site Search Video Search Provider DB Provider CLIENT CLIENT Google   Search   {OR} JMS Q DB JMS Q Site Ring WSDL Site Store Doc Ring WSDL Doc Search {OR} JMS Q Provider JMS Q Doc Doc Service WSDL Impl Store CLIENT CmpE 275 Fall 2009 | Project 2 – WSCAP | Team: Ants | 2009 copyright © - Shivanshu Singh & Dhaval Patel Pg 8 of 18
  9. 9. 4.1 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. 4.2 Providers As shown in the diagram above, each of the services has two WSDL implementations and a ‘provider’ component to it. The client and inter-service interfacing is always done through the WSDL. So, both the WSDL implementations are 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 4.2.1 Why separate Providers? Provider provides another layer of abstraction, which enables us to take the logic out of the WSDL implementation 4.3 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 WSDL which 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. 4.4 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. CmpE 275 Fall 2009 | Project 2 – WSCAP | Team: Ants | 2009 copyright © - Shivanshu Singh & Dhaval Patel Pg 9 of 18
  10. 10. 4.5 Client’s perspective: Finding and Getting The Final SearchResponse 4.6 External ImageService The Image service also interfaces with the external image service to search images and download them. 4.7 External Search Engine Search for Sites The Image service also interfaces with the external image service to search images and download them. 4.7.1 Google Search 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     The  AJAX   that  needs  to   Search  API   be  searched.     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. CmpE 275 Fall 2009 | Project 2 – WSCAP | Team: Ants | 2009 copyright © - Shivanshu Singh & Dhaval Patel Pg 10 of 18
  11. 11. • Instantiate URL with the above shown URL , the query string needs to be appended to the URL instance. • 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?qu003dcache:qNE2oKmioqkJ:en.wikipedia.o rg", "title":"u003cbu003eSpideru003c/bu003e-u003cbu003eManu003c/bu003e - Wikipedia, the free encyclopedia","titleNoFormatting":"Spider-Man - Wikipedia, the free encyclopedia", "content":"u003cbu003eSpideru003c/bu003e-u003cbu003eManu003c/bu003e is a fictional Marvel Comics superhero. The character was created by writer and editor Stan Lee and artist and co-plotter Steve Ditko. u003cbu003e...u003c/bu003e"}, . . . "responseDetails": null, "responseStatus": 200} Above is an example on one result sent by Google service, every call generates eight such results. Every time the client contacts the WS-Ants service, the Site service requests the Google service. From the resulting JSON stream, we parse only the content and the URL and send it to the client. When the client requests to download any site content that was sent by Google, our site service tries to crawl that external page and send the HTML content to the user in Base 64 Binary, if the crawling is disabled for that URL requested by the Client, the following HTML page is generated and sent to the client.   CmpE 275 Fall 2009 | Project 2 – WSCAP | Team: Ants | 2009 copyright © - Shivanshu Singh & Dhaval Patel Pg 11 of 18
  12. 12.       In the above shown html page that is sent in case the url requested does not allow crawling. This page also provides the hyperlink where the client can click to directly go the page of the URL.                   CmpE 275 Fall 2009 | Project 2 – WSCAP | Team: Ants | 2009 copyright © - Shivanshu Singh & Dhaval Patel Pg 12 of 18
  13. 13. 5. The Blackboard Clien t   Black  Board  Service   WSDL   JMS   Q   Service   Impl        Site  WSDL   Image   DOC  WSDL   VIDEO   WSDL   WSDL   WSDL   WSDL   JMS   WSDL   JMS   JMS   JMS   Q   Q   Q   Q   Site   Image   Doc   Video   Provider   Provider   Provider   Provider   Search   Search   Search   Search   JMS   JMS   JMS   JMS   Q   Q   Q   Q   DB   DB   DB   DB   External   Google Image  Service   Search CmpE 275 Fall 2009 | Project 2 – WSCAP | Team: Ants | 2009 copyright © - Shivanshu Singh & Dhaval Patel Pg 13 of 18
  14. 14. 5.1 Introduction The blackboard approach demands for the results to be obtained from all the four services simultaneously and then send the result to the client after adding the results obtained from all the four services. In order to implement the black board approach we have created a fifth web service i.e. blackboard service. Once client sends a request to the blackboard service, it instantiates four threads, each thread then connects to a services and requests for the result based on the keyword given by the Client (Map). Thereafter , result from each thread is combined and a master search response is created (Reduce) and then this final result is sent to the Client.   5.2 Blackboard Service The  WSDL  Structure   The blackboard service has one function Search which takes in search and returns search response. The structure of the Datatype search is shown below. Search | |---- String keywords The Client invokes with service with the following object as input parameters and then the return type SearchResponse that the Client gets back is shown below. SearchResponse | |---- SearchResult | | | |---- String id | |---- metaData | | | | | |---- KeyValue | | | | | | | |---- String key | | | |---- String value | | | | | |…. | | |…. | | |…. | | |…. |…. |….       CmpE 275 Fall 2009 | Project 2 – WSCAP | Team: Ants | 2009 copyright © - Shivanshu Singh & Dhaval Patel Pg 14 of 18
  15. 15.     5.3 What Happens Inside Blackboard Service. . .? ..The Client invokes the service. ……Instantiate four threads and run them. ………….Initialize JMS properties and register itself as a listener. …………..Wait until all the four services return partial results ……Append the results to create a master response. ..Send the mater response to the Client. Now let us look into each of these steps in Detail. As soon as search is invoked on the service by the Client, the server instantiates 4 threads, of the class work.java. Work.java …runs to connect to the EPR provided and invokes the search on the service of the given EPR and collects the result and sends it to the listening queue of the blackboard WSDL. The WSDL search spawns four threads on work.java with EPRs of the Aggregator Services and runs these threads. While the threads do their job the WSDL search keeps listening to the Queue waiting for the threads to finish their respective jobs. Each thread then sends the result to the listening queue of the WSDL. While each result is sent to the queue the WSDL search then takes each of these results from the queue and makes a master result of the Search Response. Once master result is successfully made the Client is sent the Search Response.   CmpE 275 Fall 2009 | Project 2 – WSCAP | Team: Ants | 2009 copyright © - Shivanshu Singh & Dhaval Patel Pg 15 of 18
  16. 16. 6. Appendix A: Read Me *********************************************************************** ___________________________ *****************Ants Web Service Aggregator*************************** ***************************Read Me************************************* _______ *********************************************************************** ------CmpE 275 Project 2 ------ Team Ants Authors: 1. ShivanShu Singh 006488300 <shivanshukumar@gmail.com> 2. Dhaval Patel 006500481 <dhaval2025@gmail.com> ------------------------------- -------Naming Convention------- The Root folder where you found this file is referred to as the PROJECTHOME folder in this document. For this project we have implemented 2 approaches to realizing the combination of services. One is the Ring approach and the other is the Blackboard approach. Everything related to them is placed under the PROJECTHOME/Project2-Ants_Ring and the PROJECTHOME/Project2-Ants_Blackboard folders respectively. These folders shall henceforth be referred to as the RINGHOME and BLACKBOARDHOME respectively. Lets take the example of the Image service of the Ants services. There is an Image service in both Ring as well as Blackboard projects. In the Ring project, the Image Service’s home is RINGHOME/Project2-Ants_Image and the home of the Image service in the blackboard project is BLACKBOARDHOME/Project2-Ants_Image. We shall refer to them as RINGHOME/IMAGEHOME and BLACKBOARDHOME/IMAGEHOME respectively. The places where something common to both the Ring’s and Blackboard’s Image service is being referred to, we shall just use IMAGEHOME. Similar is the case for the other services. ######### Configuration ########: 1. Use Apache Tomcat 6.0.20, JBoss 4.2.3 GA and Axis 2 version 1.5. Please note that you will require to run 4 Seperate Tomcats i.e. at Diffrent ports,for Ring implementation and 5 for Blackboard implementation, and 1 instance of JBoss (Please note that 1 instance of JBoss is not a limitation of this Project) 2. Please ensure that JAVA_HOME is properly set. 3. BUILD FILE: Please make the following change to all the build files. The location of each build file is PROJECTHOME/*/*/build.xml i. Change the location of axis2.home ii. Change the location of junit.jar iii. Change the location of tomcat.home iv. Change the location of jboss.home 4. HIBERNATE MAPPING: Please locate 8 hibernate.cfg.xml, their paths are PROJECTHOME/*/*/Resources/Hibernate/ i. Specify the name of the Database at <property name="hibernate.connection.url">jdbc:mysql://localhost/DataBase Name</property> ii. Ensure that you create a database with the same name. iii. Change the mySQL username and password. CmpE 275 Fall 2009 | Project 2 – WSCAP | Team: Ants | 2009 copyright © - Shivanshu Singh & Dhaval Patel Pg 16 of 18
  17. 17. 5. File Path and JMS Host: Please locate 8 Ants*_Local_*Store.cfg.xml, their paths are PROJECTHOME/*/*/Resources/ants/ i. Under <baseLocation> specify the path of the folder 275*Store ...e.g. change the value of the tag <value> under the tag <baseLocation> to be the root of the Image Store folder, i.e. the folder where all the images are stored ii. Under <JMSHost> i.e. Jboss Host, change the value of the hostname/portname. The default value of this entry is localhost. 6. JMSHost, MyNextNode and MyEPR: Please locate 8 Provider.cfg.xml file, their paths are PROJECTHOME/*/*/Resources/ants i. Change JmsHOst value to the same value as in 5.ii ii. Change the MyNextNode value to the next node you want to point to ....Only applicable in ring implementation i.e.(Techincally you don't need to change, but in case you want to restructure the ring, you can, the facility is there) iii. change MyEPR value to the endpoint of that service. N.B. In case of Ants-Image the Provider.cfg.xml file will have a 4th Element RemoteSearchEPR, this value is the endpoint of the remot image aggreagtor that we have integrated you can run this service on seperate tomcat or the same tomcat. The choice is up to you. 7. Please note that the Metadata, Relative Paths for all types of files is stored in *Info.cfg.xml, their locations are PROJECTHOME/*/*/resources. If you wish to change or add metadat, add files, you can edit this XML, and the database will be creared according to your files and metadata. Please ensure to read the documentations to get familiar with the conventions before editing this file. 8. ant populateData in 4 build files pointing to user interfacing services, both in RING and BLACKBOARD approach. ######### Deployment ######### There are two options for deployment. Option I: you use 9 build files in RING Approach and 6 build files in BLACKBOARD apporach. (path: PROJECTHOME/*/*/build.xml) OPTION II: you use 1 master build file in each RING and BLACKBOARD approach.(path: PROJECTHOME/*/build.xml) ******************************************** Option I (RING) : order of target execution. i. ant all , in all the 8 build files, excluding the build file deploying the JMS queues, the location of the JMS build file is PROJECTHOME/RINGHOME/PRoject2-Ants_JMS. ii. ant run.Unittest, in 4 build files pointing to user interfacing services. iii. ant deploy, in all the 9 build files. iv. ant run.*SearchProvider, where * is Doc,Image,Site & Video, in 4 build files pointing to the user interfacing services. v. ant Ants*.client, where * is Doc,Image,Site & Video, please note that you can only run one of these four user interfacing services, to observer the aggregation of results in a RING approach, though you can run all 4 at once, as the services are asynchronous. Option I (BLACKBOARD) : i. ant all, in 5 build files, excluding the build file deploying the JMS queues, the location of the JMS build file is PROJECTHOME/BLACKBOARDHOME/PRoject2-Ants_JMS. ii. ant run.Unittests, in 4 build files excluding the blackboard service build file. iii. ant deploy, in all the 6 build files. iv. ant run.*SearchProvider, where * is Doc,Image,Site & Video, in 4 build files pointing to the respective services. v. ant AntsBlackboard.client. ********************************************** OPTION II (RING & BLACKBOARD) i. ant all ii. ant deploy.JMS iii. ant deploy.services CmpE 275 Fall 2009 | Project 2 – WSCAP | Team: Ants | 2009 copyright © - Shivanshu Singh & Dhaval Patel Pg 17 of 18
  18. 18. N.B for the remaining targets you will be need seperate instances of the same build file. iv. ant run.ImageSearchProvider v. ant run.VideoSearchProvider vi. ant run.DocSearchProvider vii. ant run.SiteSearchProvider at this step you have deployed all the services, and they are up and running. viii. for RING go to any one of the user inertfacing services' build file and ant Ants*.client where * is Doc,Image,Site & Video. in case of BLACKBOARD go to build.xml PROJECTHOME/BLACKBOARDHOME/Project2- Ants_Blackboard/build.xml and run ant AntsBlackboard.client. *********************************************** Instructions for External Image Service. Please note that the External service is completly plug and play, if the service is deployed, we would we quering it for its results. If not we are going to move on. For this service we have provided the entire folder that was given to us, please follow the instructions of that service to deploy it. CmpE 275 Fall 2009 | Project 2 – WSCAP | Team: Ants | 2009 copyright © - Shivanshu Singh & Dhaval Patel Pg 18 of 18

×