This architecture is described from the lower level to upper level.
At the lowest level we see
Windows RSS Platform APIs which provide us some tools to work with feeds and manage them.
In the upper level there is a Feeds component which helps when working with Windows RSS Platform and is a part
of the UniveRSS code.
The
HTML Converter component converts the content of feed items from HTML to XAML.
The next level consists of core APIs for business logic. This level has two types of collaborations with lower levels.
For some usages it directly works with Feeds components and for other times it works with the intermediate
HTML Converter
component. Business level is where we have implemented our main logic to work with feeds, manage them, fetch the feed data and present them.
The uppermost level is the
User Interface which displays the output to the end user. This layer is all about
Windows Presentation Foundation and XAML and has a small component in its core for custom controls.
From a workflow point of view, Windows RSS Platform and its Feed Download Engine update all feeds and fetch new feed
items based on user settings that are entered beforehand. The Feeds component tries to provide some tools for working with
RSS Platform APIs. Business component tries to work with Feeds component to get its required data in two ways:
- Using an intermediate component (HTML Converter) to convert pure HTML codes to XAML codes in order to show them in UI.
This case usually happens when UniveRSS wants to get the details of a feed item and present them.
- Working directly with Feeds component to manage feeds.
After fetching required data and converting them to appropriate output it’s time to show them to users in the user interface.
User Interface uses several custom controls to show the data, get user events and pass them on to the business layer.