9ticks:Software Architecture
From BiCEP
Line 1: | Line 1: | ||
== System Architecture == | == System Architecture == | ||
- | [[Image:9ticks_SystemArchitecture_v01.png | + | [[Image:9ticks_SystemArchitecture_v01.png|System Architecture]] |
=== Presentation Tier === | === Presentation Tier === | ||
- | * Web Server | + | * '''Web Server''' |
- | * Web Service Provider | + | * '''Web Service Provider''' — provides third-party applications with a way to access this system (as well our mobile device application) |
=== Business Tier === | === Business Tier === | ||
- | * Scheduler | + | * '''Scheduler''' — orchestrates all the business process |
- | * Query Engine | + | * '''Query Engine''' — allows the user to perform queries and apply filters to historic information |
- | * CEP Engine | + | * '''CEP Engine''' — allows the user to define alert rules |
- | * Crawler | + | * '''Crawler''' — polls each source for update in a timely manner |
- | ** Collector | + | ** '''Collector''' — concurrent/distributed polling mechanism |
- | ** Adapter API | + | ** '''Adapter API''' — provides the interface shared by all source adapters |
=== Data Tier === | === Data Tier === | ||
- | * Master / Scheduler | + | * '''Master / Scheduler''' — schedules, replicates and routes requests through data nodes |
- | * Lock Service | + | * '''Lock Service''' — low level locking mechanism |
- | * Data Nodes | + | * '''Data Nodes''' — represents each place were data is stored |
== Data Source == | == Data Source == | ||
- | [[Image:9ticks_DataSource_v01.png | + | [[Image:9ticks_DataSource_v01.png|Data Source]] |
This diagram represents the base structure of the 9ticks data organization. It is "relational database"-oriented and '''must not''' be seen as the final architecture. It will be surely needed a '''less normalized''' and '''distributed''' approach. | This diagram represents the base structure of the 9ticks data organization. It is "relational database"-oriented and '''must not''' be seen as the final architecture. It will be surely needed a '''less normalized''' and '''distributed''' approach. |