RSS Aggregator With Axis2
Introduction to Axis 2.0
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.
Introduction to RSS
Really Simple Syndication or Rich Site Summery (RSS) as its name implies is a summery of a site or 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.More details about RSS can be found in this site.
RSS-aware programs called news aggregators are popular in the weblogging community.Basically aggregator is a web service which provides capabilities to the users to handle feeds as their preference and it displays feeds in a nice way (HTML). 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.
My 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 my 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 I have decided to create an RSS aggregator which can handle not only Axis 2 feeds but also other feeds such as mails,news.
In my aggregator I have decided to implement it as distributed layered architecture. It is supposed not only to handle feeds of Axis 2.0 but also other feeds such as mails, news. In addition my aggregator provides filters to the user. In aggregation part layer it handles feeds and can provide feeds as serialized java object or raw XML or SOAP messages. In presentation component layer those should be handled according their preference and present to the users.