This project demonstrates the Business Entity pattern for OpenEdge ABL applications, providing a standardized approach to data access with separation of UI and business logic layers.
src/business/- Business entity classes and dataset definitionssrc/- UI window files (.w)dump/- Database schema definitionsdoc/- Architecture documentation.windsurf/- Windsurf IDE rules and workflows.github/- GitHub issue templates
- CustomerEntity - Business entity for Customer data access (CRUD + validation)
- EntityFactory - Singleton factory for managing business entity instances
- CustomerDataset.i - Dataset/temp-table definition for Customer data transfer
- CustomerWin.w - Customer management UI window
- ItemWin.w - Item management UI window
Uses the Business Entity pattern with:
- UI Layer (Windows) → Business Entity Layer → Database Layer
- EntityFactory singleton for entity lifecycle management
- Dataset-based data transfer between layers
- OpenEdge 12.8+
- Sports2000 sample database