FLEXT Integration Points
Relevant source files
The following files were used as context for generating this wiki page:
Introduction
The flext-oracle-wms library is designed as an enterprise-grade integration for the FLEXT data integration platform. It provides a type-safe client for Oracle Warehouse Management System (WMS) Cloud that adheres to the architectural standards of the FLEXT ecosystem. The library facilitates seamless communication between Oracle WMS Cloud and other FLEXT modules through a structured hierarchy of models, constant patterns, and standardized API facades.
The integration focuses on high performance, reliability, and observability, utilizing FLEXT's core patterns such as Railway-Oriented Programming (ROP) for error handling and environment-driven configuration management.
Sources: src/README.md:1-20, README.md:10-25
Core Architecture and Ecosystem Integration
The project follows Clean Architecture principles, ensuring a clear separation between domain logic and infrastructure. It is deeply integrated with several internal FLEXT dependencies to provide a unified enterprise experience.
FLEXT Ecosystem Dependencies
The library relies on a specific MRO (Method Resolution Order) chain and a set of core internal modules for foundation patterns:
| Dependency | Purpose |
|---|---|
flext-core | Provides foundation patterns, Result (r) and Task (p) types, logging, and the DI container. |
flext-api | Standardizes enterprise API client patterns and authentication methods. |
flext-observability | Handles monitoring, metrics, and enterprise-grade health checks. |
flext-cli | Manages CLI registration and Pydantic-driven commands. |
Sources: src/README.md:118-125, pyproject.toml:23-30, README.md:30-35
Architectural Workflow
The following diagram illustrates how the flext-oracle-wms library interacts with the Oracle WMS Cloud API while staying within the FLEXT ecosystem boundaries.
The FlextOracleWmsApi acts as a thin facade integrating with FlextBus, FlextContainer, FlextContext, and FlextDispatcher to route messages and manage operation contexts.
Sources: src/flext_oracle_wms/api.py:30-45, src/README.md:25-45
Technical Integration Components
Configuration and Settings
Integration is driven by the FlextOracleWmsSettings class, which utilizes Pydantic for validation and environment-driven configuration. This ensures that all configuration facts are owned by a single source of truth (SSOT).
- Prefix System: Settings are often environment-driven, following the
[tool.flext]configuration inpyproject.toml. - Validation: Includes support for multi-method authentication (Basic, Bearer, API Key, and OAuth2).
Sources: src/README.md:65-80, src/flext_oracle_wms/models.py:85-115, AGENTS.md:15-25
Data Modeling and FLEXT Value Patterns
The library uses FlextOracleWmsModels which inherits from the base m (model) pattern. These models utilize composition to define WMS-specific domain entities.
- Entity Models: Defined for
InventoryItem,Shipment, andLocationusing domain-driven design (DDD) patterns. - Result Pattern: Every significant operation returns a
FlextResult(r) or a task-oriented result (p) for consistent railway-oriented error management.
Sources: src/flext_oracle_wms/models.py:25-60, src/flext_oracle_wms/models.py:135-175, src/README.md:85-95
API and Discovery Flow
The integration points for data retrieval involve a declarative API catalog and automatic entity discovery.
Performance and Reliability Standards
To meet enterprise requirements, several performance-specific integration points are implemented:
- Connection Pooling: Managed via
FlextOracleWmsApiwith configurable pool sizes. - Singer Protocol Compatibility: Includes flattening logic to ensure data is compatible with Singer-based data pipelines.
- Strict Type Safety: Adopts MyPy strict mode and Pyright for 95%+ type coverage.
Sources: src/README.md:100-110, pyproject.toml:75-100, src/flext_oracle_wms/constants.py:35-50
Conclusion
FLEXT Integration Points in this library are defined by a strict adherence to the parent FLEXT MRO chain, the use of declarative API catalogs, and standardized domain models. By centralizing configuration in Pydantic settings and error handling in the r result pattern, the library ensures that Oracle WMS operations are reliable, observable, and easily integrated into larger data synchronization workflows.
Sources: src/README.md:135-145, README.md:35-45