27 - Service Layer
Overview
Architecture Diagram
┌──────────────────────────────────────────────────────────────────────────────┐
│ Service Layer Architecture │
└──────────────────────────────────────────────────────────────────────────────┘
┌─────────────────────────────────────────────────────────────────────────────┐
│ REST API Layer (restx_api/) │
│ - Request validation │
│ - Rate limiting │
│ - Response formatting │
└─────────────────────────────────────────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────────────────────┐
│ Service Layer (services/) │
│ │
│ ┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐ │
│ │ Order Services │ │ Data Services │ │ Account Services│ │
│ │ │ │ │ │ │ │
│ │ - place_order │ │ - quotes │ │ - funds │ │
│ │ - cancel_order │ │ - depth │ │ - holdings │ │
│ │ - modify_order │ │ - history │ │ - positions │ │
│ │ - smart_order │ │ - instruments │ │ - margin │ │
│ └─────────────────┘ └─────────────────┘ └─────────────────┘ │
│ │
│ ┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐ │
│ │ Flow Services │ │ WebSocket │ │ Alert Services │ │
│ │ │ │ Services │ │ │ │
│ │ - executor │ │ │ │ - telegram │ │
│ │ - scheduler │ │ - market_data │ │ - email │ │
│ │ - price_monitor │ │ - websocket │ │ │ │
│ └─────────────────┘ └─────────────────┘ └─────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────────────────────┐
│ Broker Layer (broker/) & Database Layer (database/) │
└─────────────────────────────────────────────────────────────────────────────┘Service Categories
1. Order Management Services
Service
File
Purpose
2. Data Retrieval Services
Service
File
Purpose
3. Market Data Services
Service
File
Purpose
4. WebSocket Services
Service
File
Purpose
5. Flow Automation Services
Service
File
Purpose
Common Patterns
Pattern 1: Dual Authentication Support
Pattern 2: Analyzer Mode Routing
Pattern 3: Dynamic Broker Import
Pattern 4: Async Operations
Market Data Service (Singleton)
Key Features
Data Validation
Priority Subscribers
Priority
Use Case
Response Format
Standard Tuple Return
Response Structure
Error Handling
Consistent Error Responses
Service Layer Benefits
Separation of Concerns
Testability
Reusability
Key Files Reference
Category
Files
Last updated