octo-model-planning displays an attempt of a barebones end-to-end implementation of a C# .NET 9 crud enabled application that triggers events via async API, which will later be consumed inside an SAP system.
- CRUD operations for a sample entity
- Event-driven architecture using async APIs
- Specification-first approach, Async API
- CI pipeline using GitHub Actions (abap only, code quality, automated tests)
- Communication goes one way only (C#->SAP).
- Authentication/authorization assumes OAuth 2.0, although not implemented.
- Middleware (Streaming Platform) is not part of the solution.
- Role management in the C# application is not part of the solution.
- Volume of data in the C# application is not considered yet (filter vs search).
- No exception handling is implemented.
- No logging/tracing is implemented, although uses library compatible with OpenTelemetry, leaving room for further enhancements.
- cshtml-based front-end, barebones implementation.
- Deployment to cloud is not considered yet.
- Data of C# application is still required in SAP for further processing (e.g. planning, reporting, billing, etc).
- System version, abap version or platform not specified.
- No exception handling is implemented.
- No logging/tracing is implemented.
- SAP: Flexible, target for abap cloud compatibility, can be run in ECC, S/4 and possibly adapted for SAP BTP.
- C#: .NET 9, latest LTS version, no front-end, barebones implementation.
- C#: Entity Framework Core, SQL Server localdb, not containerized.
- General: API versioning (wrapper class for abap, C# ?).
- SAP: try/catch exceptions, add logging/tracing.
- C#: Unit testing and CI.
- C#: catch exceptions, add logging/tracing and observability (OpenTelemetry).
- C#: add role management, authentication/authorization.
- C#: add front-end.
- C#: consider volume of data (filter vs search).
- C#: deployment to cloud (GitHub Actions -> any cloud provider).
- C#: Database containerization (Docker).
- C#: probably like a million more things...