- Integrate RSS with Apache AXIS2
- W.D.I.P. Kumara N.A.J. Jayamanna W.P.S. Sagara
- Integrate RSS with Apache AXIS2
Axis 2.0 will be a platform for the next generation of web services and service oriented applications. Axis2 is an effort to re-design and totally re-implement both Axis/Java and(eventually) Axis/C++ on a new architecture. The architecture should support all kinds of MEP's (Message Exchange Patterns). The platform is extensible to accommodate the growing demand for different WS-* implementations. Axis2 is developing a more flexible pipeline architecture which can yet be managed and packaged in a more organized manner.
Really Simple Syndication (RSS) is a lightweight XML format designed for sharing headlines and other Web content. Think of it as a distributable "What's New" for a site. Anything that can be broken down into discrete items can be syndicated via RSS. Once information about each item is in RSS format, an RSS-aware program can check the feed for changes and react to the changes in an appropriate way.
RSS-aware programs called news aggregators are popular in the weblogging community. Many weblogs make content available in RSS. A news aggregator can help you keep up with all your favorite weblogs by checking their RSS feeds and displaying new items from each of them.
Our project is aimed to integrate these two technologies together to provide better services to the society such as accessing latest web services as soon as they are available. In our implementation, when web services are deployed in Axis 2, RSS feeds are generated using deployed web services data. If someone (Basically an aggregator) is interested in receiving those feeds he has to subscribe for the service. The subscribers are notified about the latest web services deployed in Axis 2 using these feeds. Subscribe, unsubscribe, renew, etc all operations are handled by the service. Also we have decided to create an RSS aggregator which can handle not only Axis 2 feeds but also others.
- RSS feed generator inside Axis2
- RSS Aggregator
Our project is aimed to provide RSS generator and RSS aggregator for Apache Axis 2. We have decided to complete it in three steps.
- Generation of RSS feeds using deployed web services.
After Deployind web services in Axis2 we generate rss feeds using those data. An rss feed will provide useful information about web services such as location of wsdl file, a brief description about the services and so on.
- Handling users subscription, unsubscriptions, renew, etc.
If someone (basically an aggregator) is interested in receiving our feeds he can Subscribe for our service. All the subscription, unsubscription, renew and such operations are handled according to WS-Addressing, WS-Eventing specifications (By implementing specifications). All the Message Exchange Patterns comply with Axis 2.
- Design and Implement the Aggregator.
Aggregator keeps the collection of feeds (Axis 2 feeds and feeds from other providers) and provides them to aggregator users in a nice way as their interests. Aggregator can aggregate feeds from another aggregator also. It enhance the search space hence users can find information in a vast region. The aggregator updates its feeds once a day (after 24hours). It will provide a nice interface also.
Weeks ending on June 11th & 18th
June 26th & July 2nd We have almost completed the feed generation part. Now we can generate borh RSS and ATOM feeds when a web service is deployed in AXIS2. We checked our feeds with most popular aggregators such as Sage plugin in Mozilla Firefox and with Firefox Thunderbird. Now it Displays it as only a text format. We hope to generate it as an XHTML file for users simplicity. The feeds may contatin lot of useful data such as operarions, modules, WSDL location and so on.
- August 1st
We carried out works to prepare our feed generation codes to integrate with Axis2. It includes implmentation of test cases for our feed generator and created a documenatation for it. This Documenataion includes the configurations guide needed to integare in Axis2. You can now get the SVN checkouts of our source codes using http://svn.apache.org/repos/asf/webservices/axis/trunk/archive/java/scratch/Google_SoC/FeedGenerator/. Try it out.
- We begin to implements aggregator. It consisted with two main components. One is an Axis dispatcher, which if service not found then EPR of any available service matching with request, is sends back to client. This is a just module of Axis 2 .The only requirement is keeping end point reference details on a global scope, which can access in any time any location.
Second one is aggregation part . The Aggregator should have a capability of Hot aggregation. Hot aggregation means, it provide capability of adding Feed location in run time. Just in time adding Feed, the EPR list ,Feeds and Feeds file location list should be updated. Hot feed removing should be possible.
- The dispatcher part and many function of aggregator part is implemented.Hot feed adding is implemeted and tested it.it provide capability of adding Feed location in run time.And Just in time adding Feed, The new Feeds show through our Aggregator servlet. It run in separate Thread and periodically read each file and if any updates found ,then it add and show through servlet in XML format.This also tested with Sage plugin in Mozilla Firefox and with Firefox Thunderbird.
- The whole function of aggregation part are implemented.The function, we implemented are shown bellow in brief. •The Hot Feed adding and removing (Only Admin can do this), this means runtime adding and removing is possible. When adding ,corresponding EPR list and Feed list are updated and removing also worked same way. •Show available EPR and give two search operation, search by name and search by operation name •Feeds are shown from both of XML and XHTML (In Html format, each feeds are shown under its Feed channel).
- In additions,we gave a interactive interface to client.For above part, the test cases have prepared using Junit.
* Augest 29 th
Committed project coding, now, feed generator and Aggregator are fully implemented. Still we are in doing documenting. In additions, add a nice feature which Request redirection and it implemented in Axis 2.this is worked as follows.
When requesting service from server, if cannot find request service, then the Aggregator Dispatcher is activated and set matching EPR to request EPR and send as SOAP Fault. This is corresponding to HTTP 405 which resource not allowed for request message. The Redirector is listening to incoming SOAP Fault and using information in that message, the redirection function is proceed.
Documents consist of user guide, installation to both of Feed Generator and Aggregator, the two articles about Web Service Syndication in Axis 2.
completing project with fully documenting and code.
I'm W.D.I.P. Kumara. I'm a B.Sc (Engineering) undergraduate student studying Computer Science & Engineering at University of Moratuwa, Sri Lanka. I'm currently in Level 3 (3rd year)
I'm W.P.S. Sagara. I'm a B.Sc (Engineering) undergraduate student studying Elecrical Engineering at University of Moratuwa, Sri Lanka. I'm currently in Level 3 (3rd year).
I'm N.A. Jananda Jayamanna. I'm a B.Sc (Engineering) undergraduate student studying Computer Science & Engineering at University of Moratuwa, Sri Lanka. I'm currently in Level 3 (3rd year)