9ticks:Software Architecture
From BiCEP
Line 1: | Line 1: | ||
- | + | == System Architecture == | |
+ | |||
+ | [[Image:9ticks_SystemArchitecture_v01.png|System Architecture]] | ||
+ | |||
+ | === Presentation Tier === | ||
+ | |||
+ | * '''Web Server''' | ||
+ | * '''Web Service Provider''' — provides third-party applications with a way to access this system (as well our mobile device application) | ||
+ | |||
+ | === Business Tier === | ||
+ | |||
+ | * '''Scheduler''' — orchestrates all the business process | ||
+ | * '''Query Engine''' — allows the user to perform queries and apply filters to historic information | ||
+ | * '''CEP Engine''' — allows the user to define alert rules | ||
+ | * '''Crawler''' — polls each source for update in a timely manner | ||
+ | ** '''Collector''' — concurrent/distributed polling mechanism | ||
+ | ** '''Adapter API''' — provides the interface shared by all source adapters | ||
+ | |||
+ | === Data Tier === | ||
+ | |||
+ | * '''Master / Scheduler''' — schedules, replicates and routes requests through data nodes | ||
+ | * '''Lock Service''' — low level locking mechanism | ||
+ | * '''Data Nodes''' — represents each place were data is stored | ||
+ | |||
+ | |||
+ | == Data Source == | ||
+ | |||
+ | [[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. |