# Modelling

- [Introduction](/modelling/message-driven-php-introduction.md): Message Driven System with Domain Driven Design principles in PHP
- [Message Bus and CQRS](/modelling/command-handling.md): PHP Message Bus, CQRS, Command Event Query Handlers
- [CQRS Introduction - Commands](/modelling/command-handling/external-command-handlers.md): Commands CQRS PHP
- [Query Handling](/modelling/command-handling/external-command-handlers/query-handling.md): Query CQRS PHP
- [Event Handling](/modelling/command-handling/external-command-handlers/event-handling.md): Event CQRS PHP
- [Aggregate Introduction](/modelling/command-handling/state-stored-aggregate.md): DDD Aggregates PHP
- [Aggregate Command Handlers](/modelling/command-handling/state-stored-aggregate/aggregate-command-handlers.md): DDD PHP
- [Aggregate Query Handlers](/modelling/command-handling/state-stored-aggregate/aggregate-query-handlers.md): DDD PHP
- [Aggregate Event Handlers](/modelling/command-handling/state-stored-aggregate/aggregate-event-handlers.md): DDD PHP
- [Advanced Aggregate creation](/modelling/command-handling/state-stored-aggregate/advanced-aggregate-creation.md): DDD PHP
- [Repositories Introduction](/modelling/command-handling/repository.md): Repository PHP
- [Configure Repository](/modelling/command-handling/repository/configure-repository.md): Configuring custom Aggregate repositories in Ecotone PHP
- [Fetching/Storing Aggregates](/modelling/command-handling/repository/repository.md): Fetching and storing Aggregates with repositories in Ecotone PHP
- [Inbuilt Repositories](/modelling/command-handling/repository/inbuilt-repositories.md): Built-in Aggregate repositories for Doctrine ORM, Eloquent, and DBAL
- [Business Interface](/modelling/command-handling/business-interface.md): Business Interfaces for type-safe messaging in Ecotone PHP
- [Introduction](/modelling/command-handling/business-interface/introduction.md): Introduction to Business Interfaces in Ecotone PHP
- [Database Business Interface](/modelling/command-handling/business-interface/working-with-database.md): Database Business Interface for type-safe database access in PHP
- [Converting Parameters](/modelling/command-handling/business-interface/working-with-database/converting-parameters.md): Converting parameters in Database Business Interface queries
- [Converting Results](/modelling/command-handling/business-interface/working-with-database/converting-results.md): Converting query results in Database Business Interface
- [Saga Introduction](/modelling/command-handling/saga.md): Process Manager Saga PHP
- [Identifier Mapping](/modelling/command-handling/identifier-mapping.md): Mapping identifiers for Aggregate and Saga routing in Ecotone
- [Extending Messaging (Middlewares)](/modelling/extending-messaging-middlewares.md): Extending messaging with Interceptors and Middlewares in Ecotone PHP
- [Message Headers](/modelling/extending-messaging-middlewares/message-headers.md): Working with Message Headers and metadata in Ecotone PHP
- [Interceptors (Middlewares)](/modelling/extending-messaging-middlewares/interceptors.md): PHP Interceptors Middlewares
- [Additional Scenarios](/modelling/extending-messaging-middlewares/interceptors/additional-scenarios.md): Advanced Interceptor scenarios and configurations in Ecotone
- [Intercepting Asynchronous Endpoints](/modelling/extending-messaging-middlewares/intercepting-asynchronous-endpoints.md): Intercepting asynchronous message endpoints in Ecotone PHP
- [Extending Message Buses (Gateways)](/modelling/extending-messaging-middlewares/extending-message-buses-gateways.md): Extending Command, Event, and Query Buses with custom Gateways
- [Event Sourcing](/modelling/event-sourcing.md): Event Sourcing PHP
- [Installation](/modelling/event-sourcing/installation.md): Installing Event Sourcing support in Ecotone PHP
- [Event Sourcing Introduction](/modelling/event-sourcing/event-sourcing-introduction.md): Using Event Sourcing in PHP
- [Working with Event Streams](/modelling/event-sourcing/event-sourcing-introduction/working-with-event-streams.md): Working with Event Streams in Ecotone PHP
- [Event Sourcing Aggregates](/modelling/event-sourcing/event-sourcing-introduction/event-sourcing-aggregates.md): Event Sourcing Aggregates in Ecotone PHP
- [Working with Aggregates](/modelling/event-sourcing/event-sourcing-introduction/event-sourcing-aggregates/working-with-aggregates.md): Working with Event Sourcing Aggregates in Ecotone PHP
- [Applying Events](/modelling/event-sourcing/event-sourcing-introduction/event-sourcing-aggregates/applying-events.md): Applying events to rebuild Event Sourcing Aggregate state in PHP
- [Different ways to Record Events](/modelling/event-sourcing/event-sourcing-introduction/event-sourcing-aggregates/different-ways-to-record-events.md): Different ways to record events in Event Sourcing Aggregates
- [Working with Metadata](/modelling/event-sourcing/event-sourcing-introduction/working-with-metadata.md): Working with event metadata in Event Sourcing
- [Event versioning](/modelling/event-sourcing/event-sourcing-introduction/event-versioning.md): Event versioning and upcasting for Event Sourcing in PHP
- [Event Stream Persistence](/modelling/event-sourcing/event-sourcing-introduction/persistence-strategy.md): PHP Event Sourcing Persistence Strategy
- [Event Sourcing Repository](/modelling/event-sourcing/event-sourcing-introduction/persistence-strategy/event-sourcing-repository.md): Configuring Event Sourcing repositories in Ecotone PHP
- [Making Stream immune to changes](/modelling/event-sourcing/event-sourcing-introduction/persistence-strategy/making-stream-immune-to-changes.md): Making event streams immune to class and namespace changes
- [Snapshoting](/modelling/event-sourcing/event-sourcing-introduction/persistence-strategy/snapshoting.md): PHP Event Sourcing Snapshoting
- [Persistence Strategies](/modelling/event-sourcing/event-sourcing-introduction/persistence-strategy/persistence-strategies.md): Event stream persistence strategies in Ecotone PHP
- [Event Serialization and PII Data (GDPR)](/modelling/event-sourcing/event-sourcing-introduction/persistence-strategy/event-serialization-and-pii-data-gdpr.md): Event serialization and GDPR-compliant PII data handling
- [Projection Introduction](/modelling/event-sourcing/setting-up-projections.md): PHP Event Sourcing Projections
- [Event Streams and Handlers](/modelling/event-sourcing/setting-up-projections/event-streams-and-handlers.md): PHP Event Sourcing Projection Streams and Event Handlers
- [Execution Modes](/modelling/event-sourcing/setting-up-projections/execution-modes.md): PHP Event Sourcing Projection Execution Modes
- [Lifecycle Management](/modelling/event-sourcing/setting-up-projections/lifecycle-management.md): PHP Event Sourcing Projection Lifecycle and CLI
- [Projections with State](/modelling/event-sourcing/setting-up-projections/projections-with-state.md): PHP Event Sourcing Stateful Projections
- [Emitting Events](/modelling/event-sourcing/setting-up-projections/emitting-events.md): PHP Event Sourcing Projection Event Emission
- [Backfill and Rebuild](/modelling/event-sourcing/setting-up-projections/backfill-and-rebuild.md): PHP Event Sourcing Projection Backfill and Rebuild
- [Failure Handling](/modelling/event-sourcing/setting-up-projections/failure-handling.md): PHP Event Sourcing Projection Failure Handling and Recovery
- [Gap Detection and Consistency](/modelling/event-sourcing/setting-up-projections/gap-detection-and-consistency.md): PHP Event Sourcing Projection Gap Detection
- [Scaling and Advanced](/modelling/event-sourcing/setting-up-projections/scaling-and-advanced.md): PHP Event Sourcing Projection Scaling
- [Blue-Green Deployments](/modelling/event-sourcing/setting-up-projections/blue-green-deployments.md): PHP Event Sourcing Projection Blue-Green Deployments
- [Projections with Document Store](/modelling/event-sourcing/setting-up-projections/document-store-projection.md): PHP Event Sourcing Projections with Document Store
- [Upgrading from V1 to V2](/modelling/event-sourcing/setting-up-projections/upgrading-from-v1.md): Upgrading from Projection V1 to ProjectionV2
- [Recovering, Tracing and Monitoring](/modelling/recovering-tracing-and-monitoring.md): Recovering, tracing, and monitoring message-driven applications
- [Resiliency](/modelling/recovering-tracing-and-monitoring/resiliency.md): Production resilience with retries, dead letter, outbox, and deduplication
- [Retries](/modelling/recovering-tracing-and-monitoring/resiliency/retries.md): Configuring automatic message retry strategies in Ecotone PHP
- [Error Channel](/modelling/recovering-tracing-and-monitoring/resiliency/error-channel-and-dead-letter.md): Error channels and dead letter queues for failed message handling
- [Dbal Dead Letter](/modelling/recovering-tracing-and-monitoring/resiliency/error-channel-and-dead-letter/dbal-dead-letter.md): DBAL-based dead letter queue for storing and replaying failed messages
- [Final Failure Strategy](/modelling/recovering-tracing-and-monitoring/resiliency/final-failure-strategy.md): Final failure strategy when all message retries are exhausted
- [Idempotency (Deduplication)](/modelling/recovering-tracing-and-monitoring/resiliency/idempotent-consumer-deduplication.md): Idempotent consumer pattern for message deduplication in PHP
- [Resilient Sending](/modelling/recovering-tracing-and-monitoring/resiliency/resilient-sending.md): Resilient sending for guaranteed message delivery to async channels
- [Outbox Pattern](/modelling/recovering-tracing-and-monitoring/resiliency/outbox-pattern.md): Outbox pattern for atomic message publishing with database transactions
- [Concurrency Handling](/modelling/recovering-tracing-and-monitoring/resiliency/concurrency-handling.md): Handling concurrency with optimistic and pessimistic locking
- [Message Handling Isolation](/modelling/recovering-tracing-and-monitoring/message-handling-isolation.md): Message handling isolation for safe retries without side effects
- [Ecotone Pulse (Service Dashboard)](/modelling/recovering-tracing-and-monitoring/ecotone-pulse-service-dashboard.md): Ecotone Pulse service dashboard for monitoring message consumers
- [Asynchronous Handling and Scheduling](/modelling/asynchronous-handling.md): Asynchronous PHP
- [Asynchronous Message Handlers](/modelling/asynchronous-handling/asynchronous-message-handlers.md): Making message handlers asynchronous with a single attribute
- [Asynchronous Message Bus (Gateways)](/modelling/asynchronous-handling/asynchronous-message-bus-gateways.md): Asynchronous Message Bus Gateways for channel-wide async processing
- [Delaying Messages](/modelling/asynchronous-handling/delaying-messages.md): Delaying message delivery for scheduled processing
- [Time to Live](/modelling/asynchronous-handling/time-to-live.md): Time to live for automatic message expiration
- [Message Priority](/modelling/asynchronous-handling/message-priority.md): Message priority for controlling processing order
- [Scheduling](/modelling/asynchronous-handling/scheduling.md): Scheduling PHP
- [Dynamic Message Channels](/modelling/asynchronous-handling/dynamic-message-channels.md): Dynamic message channels for per-tenant routing and isolation
- [Distributed Bus and Microservices](/modelling/microservices-php.md): Implementing Microservices and Event Driven Architecture in PHP
- [Distributed Bus](/modelling/microservices-php/distributed-bus.md): Distributed Bus for cross-service messaging in PHP
- [Distributed Bus with Service Map](/modelling/microservices-php/distributed-bus/distributed-bus-with-service-map.md): Distributed Bus with Service Map for multi-broker microservice communication
- [Configuration](/modelling/microservices-php/distributed-bus/distributed-bus-with-service-map/configuration.md): Configuring Distributed Bus with Service Map
- [Sharing Events with Streaming Channels](/modelling/microservices-php/distributed-bus/distributed-bus-with-service-map/sharing-events-with-streaming-channels.md): Sharing events between services with streaming channels
- [Custom Features](/modelling/microservices-php/distributed-bus/distributed-bus-with-service-map/custom-features.md): Custom features for Distributed Bus with Service Map
- [Shared Service Map](/modelling/microservices-php/distributed-bus/distributed-bus-with-service-map/shared-service-map.md): Shared Service Map for centralized service topology
- [Non-Ecotone Application integration](/modelling/microservices-php/distributed-bus/distributed-bus-with-service-map/non-ecotone-application-integration.md): Integrating with other Languages and Frameworks
- [Testing](/modelling/microservices-php/distributed-bus/distributed-bus-with-service-map/testing.md): Testing Distributed Bus and cross-service messaging
- [AMQP Distributed Bus (Legacy)](/modelling/microservices-php/distributed-bus/amqp-distributed-bus-rabbitmq.md): AMQP Distributed Bus with RabbitMQ for legacy inter-service communication
- [Configuration](/modelling/microservices-php/distributed-bus/amqp-distributed-bus-rabbitmq/configuration.md): Configuring AMQP Distributed Bus with RabbitMQ
- [Distributed Bus Interface](/modelling/microservices-php/distributed-bus/distributed-bus-interface.md): Distributed Bus Interface for sending commands and events across services
- [Message Consumer](/modelling/microservices-php/message-consumer.md): Message Consumer for consuming from external message brokers
- [Message Publisher](/modelling/microservices-php/message-publisher.md): Message Publisher for publishing to external message brokers
- [Business Workflows](/modelling/business-workflows.md): Building business workflows with Sagas, Orchestrators, and Handler Chaining in PHP
- [Connecting Handlers with Channels](/modelling/business-workflows/connecting-handlers-with-channels.md): Learn how to connect message handlers using channels to build workflows
- [Sagas: Workflows That Remember](/modelling/business-workflows/sagas.md): Learn how to build long-running workflows that remember state using Sagas
- [Orchestrators: Declarative Workflow Automation](/modelling/business-workflows/orchestrators.md): Learn how to build predefined and dynamic workflows using Orchestrator
- [Handling Failures](/modelling/business-workflows/handling-failures.md): Handling Failures and Exceptions in Sagas and Process Managers
- [Migrations / Storage](/modelling/migrations-storage.md): Database migrations and storage management in Ecotone PHP
- [Testing Support](/modelling/testing-support.md): Testing message-driven applications with Ecotone PHP
- [Testing Messaging](/modelling/testing-support/testing-messaging.md): Testing Messaging architecture in PHP
- [Testing Aggregates and Sagas with Message Flows](/modelling/testing-support/testing-aggregates-and-sagas-with-message-flows.md): Testing Aggregate, Saga in PHP
- [Testing Event Sourcing Applications](/modelling/testing-support/testing-event-sourcing-applications.md): Testing Event Sourcing applications in PHP
- [Testing Asynchronous Messaging](/modelling/testing-support/testing-asynchronous-messaging.md): Testing asynchronous communication in PHP
