-
Notifications
You must be signed in to change notification settings - Fork 0
Architecture
The news service manages news articles. Articles can be saved, deleted, and also be edited. The Service also provides the functionality to filter, search and sort articles. This section describes:
- general & detailed view of the data structure
- general & detailed view of the architecture
This diagram doesn't include the data provided by the services appointments, faculties, and persons. The Article is the main Component of this service and holds the entire information relevant for reading an article. Each Article is also an Entry which gives them an ID to work with. Both PreviewRequest and RequestType are relevant for filtering and sorting Articles.
This is a more detailed view of the data structure with all the attributes.
The service news has a 3 layered architecture. These layers are
- Presentation layer - The interface for using clients and exposing the data and functionality.
- Business layer - Contains the logic of the application for data manipulation and data preparation/mapping
- Repository - Represents the access layer to the stored data
The yellow marked classes represent dev implementations
The most important class is the NewsController. It manages all the logic of the other classes. It contains information about the current Repository and also uses the ArticleValidator class to validate articles whenever they should be stored. The ArticleRequestHandler manages incoming requests which are passed through the NewsController. Requests have a specific structure (see detailed Data Structure).
The NewsResourceClient is used to commmunicate with our Service. On our service side we implement this interface with the NewsResource class. The main use for this class is to map between the different article data objects. It also uses the NewsController to get access to the articles
This is a more detailed view of the service architecture with all the attributes and functions.