261 lines
7.9 KiB
Markdown
261 lines
7.9 KiB
Markdown
# Generate Integration Documentation Task
|
|
|
|
## Purpose
|
|
|
|
To create comprehensive integration documentation that enables seamless communication between different technology platforms (React, TypeScript, Node.js, ASP.NET, Python). This documentation will serve as the definitive guide for implementing cross-platform integrations with proper security, performance, and reliability considerations.
|
|
|
|
## Inputs
|
|
|
|
- **Source Platform**: Technology stack initiating the integration
|
|
- **Target Platform**: Technology stack receiving the integration
|
|
- **Communication Protocol**: REST, GraphQL, gRPC, WebSocket, Message Queue
|
|
- **Authentication Method**: JWT, OAuth, API Key, Certificate-based
|
|
- **Data Requirements**: Payload structure, validation rules, transformation needs
|
|
- **Performance Requirements**: Latency, throughput, scalability targets
|
|
- **Security Requirements**: Compliance standards, encryption needs
|
|
|
|
## Key Activities & Instructions
|
|
|
|
### 1. Integration Architecture Analysis
|
|
|
|
- Analyze the source and target platforms for compatibility
|
|
- Identify optimal communication protocols for the use case
|
|
- Determine authentication and authorization requirements
|
|
- Map data flow and transformation requirements
|
|
- Assess performance and scalability considerations
|
|
|
|
### 2. Protocol Selection & Design
|
|
|
|
- **REST API Integration:**
|
|
- Design RESTful endpoints with proper HTTP methods
|
|
- Define request/response schemas with validation
|
|
- Implement proper error handling and status codes
|
|
- Design pagination and filtering strategies
|
|
|
|
- **GraphQL Integration:**
|
|
- Design GraphQL schema with proper types and resolvers
|
|
- Implement subscription patterns for real-time data
|
|
- Design federation strategies for distributed schemas
|
|
- Optimize query performance and caching
|
|
|
|
- **gRPC Integration:**
|
|
- Define Protocol Buffer schemas
|
|
- Design service definitions with streaming support
|
|
- Implement load balancing and service discovery
|
|
- Configure health checking and monitoring
|
|
|
|
### 3. Authentication & Security Implementation
|
|
|
|
- **JWT Token Integration:**
|
|
\```typescript
|
|
interface JWTPayload {
|
|
sub: string;
|
|
iat: number;
|
|
exp: number;
|
|
aud: string[];
|
|
scope: string[];
|
|
}
|
|
|
|
class CrossPlatformAuth {
|
|
validateToken(token: string): Promise<JWTPayload>;
|
|
refreshToken(refreshToken: string): Promise<string>;
|
|
revokeToken(token: string): Promise<void>;
|
|
}
|
|
```
|
|
|
|
- **OAuth 2.0 Flow Implementation:**
|
|
```csharp
|
|
public interface IOAuthService
|
|
{
|
|
Task<AuthorizationResult> AuthorizeAsync(string clientId, string[] scopes);
|
|
Task<TokenResponse> ExchangeCodeAsync(string code, string clientId);
|
|
Task<TokenResponse> RefreshTokenAsync(string refreshToken);
|
|
}
|
|
```
|
|
|
|
### 4. Data Transformation & Validation
|
|
|
|
- **Cross-Platform Data Models:**
|
|
```python
|
|
from pydantic import BaseModel
|
|
from typing import Optional, List
|
|
from datetime import datetime
|
|
|
|
class CrossPlatformEntity(BaseModel):
|
|
id: str
|
|
created_at: datetime
|
|
updated_at: Optional[datetime]
|
|
metadata: dict
|
|
|
|
class Config:
|
|
json_encoders = {
|
|
datetime: lambda v: v.isoformat()
|
|
}
|
|
```
|
|
|
|
- **Validation Patterns:**
|
|
\```typescript
|
|
import { z } from 'zod';
|
|
|
|
const CrossPlatformSchema = z.object({
|
|
id: z.string().uuid(),
|
|
createdAt: z.string().datetime(),
|
|
updatedAt: z.string().datetime().optional(),
|
|
metadata: z.record(z.unknown())
|
|
});
|
|
|
|
type CrossPlatformEntity = z.infer<typeof CrossPlatformSchema>;
|
|
```
|
|
|
|
### 5. Error Handling & Resilience
|
|
|
|
- **Standardized Error Responses:**
|
|
\```json
|
|
{
|
|
"error": {
|
|
"code": "INTEGRATION_ERROR",
|
|
"message": "Human-readable error message",
|
|
"details": {
|
|
"platform": "source_platform",
|
|
"timestamp": "2024-01-01T00:00:00Z",
|
|
"trace_id": "uuid",
|
|
"context": {}
|
|
}
|
|
}
|
|
}
|
|
```
|
|
|
|
- **Retry Logic Implementation:**
|
|
\```typescript
|
|
class IntegrationClient {
|
|
async callWithRetry<T>(
|
|
operation: () => Promise<T>,
|
|
maxRetries: number = 3,
|
|
backoffMs: number = 1000
|
|
): Promise<T> {
|
|
// Exponential backoff retry implementation
|
|
}
|
|
}
|
|
```
|
|
|
|
### 6. Performance Optimization
|
|
|
|
- **Caching Strategies:**
|
|
- Implement appropriate caching layers (Redis, in-memory)
|
|
- Design cache invalidation strategies
|
|
- Configure cache TTL based on data volatility
|
|
- Implement cache warming for critical data
|
|
|
|
- **Connection Pooling:**
|
|
```csharp
|
|
public class ConnectionPoolConfig
|
|
{
|
|
public int MaxConnections { get; set; } = 100;
|
|
public TimeSpan ConnectionTimeout { get; set; } = TimeSpan.FromSeconds(30);
|
|
public TimeSpan IdleTimeout { get; set; } = TimeSpan.FromMinutes(5);
|
|
public bool EnableHealthChecks { get; set; } = true;
|
|
}
|
|
```
|
|
|
|
### 7. Monitoring & Observability
|
|
|
|
- **Integration Metrics:**
|
|
\```typescript
|
|
interface IntegrationMetrics {
|
|
requestCount: number;
|
|
errorRate: number;
|
|
averageLatency: number;
|
|
p95Latency: number;
|
|
p99Latency: number;
|
|
activeConnections: number;
|
|
}
|
|
```
|
|
|
|
- **Distributed Tracing:**
|
|
```python
|
|
from opentelemetry import trace
|
|
from opentelemetry.exporter.jaeger.thrift import JaegerExporter
|
|
|
|
def setup_tracing(service_name: str):
|
|
tracer = trace.get_tracer(__name__)
|
|
jaeger_exporter = JaegerExporter(
|
|
agent_host_name="localhost",
|
|
agent_port=6831,
|
|
)
|
|
# Configure tracing
|
|
```
|
|
|
|
### 8. Testing Strategy Implementation
|
|
|
|
- **Integration Test Framework:**
|
|
\```typescript
|
|
describe('Cross-Platform Integration', () => {
|
|
beforeAll(async () => {
|
|
// Setup test environment
|
|
});
|
|
|
|
test('should handle successful integration', async () => {
|
|
// Test successful integration scenario
|
|
});
|
|
|
|
test('should handle authentication failures', async () => {
|
|
// Test authentication error scenarios
|
|
});
|
|
|
|
test('should handle network failures', async () => {
|
|
// Test network error scenarios with retry logic
|
|
});
|
|
});
|
|
```
|
|
|
|
### 9. Documentation Generation
|
|
|
|
Generate comprehensive documentation including:
|
|
|
|
- **Integration Overview**: Architecture diagrams and data flow
|
|
- **Implementation Guide**: Step-by-step implementation instructions
|
|
- **Code Examples**: Working examples for each platform
|
|
- **Configuration Guide**: Environment and deployment configuration
|
|
- **Troubleshooting Guide**: Common issues and solutions
|
|
- **Performance Guide**: Optimization recommendations
|
|
- **Security Guide**: Security implementation and best practices
|
|
|
|
## Output
|
|
|
|
A comprehensive integration documentation package containing:
|
|
|
|
1. **Integration Architecture Document** - High-level design and patterns
|
|
2. **Implementation Guide** - Detailed implementation instructions with code examples
|
|
3. **API Reference** - Complete API documentation with examples
|
|
4. **Configuration Templates** - Ready-to-use configuration files
|
|
5. **Testing Guide** - Integration testing strategies and examples
|
|
6. **Troubleshooting Guide** - Common issues and resolution steps
|
|
7. **Performance Optimization Guide** - Performance tuning recommendations
|
|
8. **Security Implementation Guide** - Security best practices and implementation
|
|
|
|
**Output file**: `docs/integrations/{source-platform}-to-{target-platform}-integration.md`
|
|
|
|
## Quality Validation
|
|
|
|
### Technical Validation
|
|
- All code examples are syntactically correct and tested
|
|
- Integration patterns follow security best practices
|
|
- Performance requirements are addressed with specific recommendations
|
|
- Error handling is comprehensive and user-friendly
|
|
|
|
### Documentation Validation
|
|
- Documentation is complete and covers all integration scenarios
|
|
- Examples are clear and include proper error handling
|
|
- Troubleshooting guide addresses common integration issues
|
|
- Configuration examples are accurate and tested
|
|
|
|
### Integration Validation
|
|
- Integration patterns are validated across all supported platform versions
|
|
- Authentication and authorization flows are tested end-to-end
|
|
- Performance benchmarks are established and documented
|
|
- Security implementation is validated against compliance requirements
|
|
|
|
---
|
|
|
|
*This task generates integration documentation that enables seamless cross-platform communication while maintaining security, performance, and reliability standards across the BMAD Method ecosystem.*
|