I will explore a real-world example in the logistics domain of how we built a robust and scalable integration architecture using .NET Core, Azure, EventStoreDB, and Power Platform. I will discuss how we addressed the challenges of integrating multiple data sources, including third-party systems through event-driven architecture, and also provide insights into using persistent subscriptions for event projections and efficient data synchronization between Dataverse and CosmosDB.
"Building a Robust Integration Architecture with EventStoreDB for No/Low-Code Platform", Serhii Kokhan
1.
2. Serhii Kokhan
Software Architect at LogiqApps
SPS Commerce
https://www.linkedin.com/in/serhii-kokhan
https://github.com/kokhans
● 11+ years of experience in the IT industry
● Open-source contributor
Itera
Beijer Electronics
Avenga
Visma
GlobalLogic
Mechanic Advisor
+
3. LogiqApps
● HQ in Oslo, Norway
● Microsoft-certified senior and architect-level developers
and consultants
● 100+ successfullydelivered projects
LogiqApps AS specializes in Microsoft technology solutions,
including .NET, Azure, Dynamics365, and Power Platform. Our
team's diverse expertise enables us to offer customized
solutions, catering to various industries and client requirements
https://www.linkedin.com/company/logiqapps-as
https://www.logiqapps.com
Trusted By
6. Problems
An outdated monolithic solution
struggles with support, scalability,
feature development, and critical
security vulnerabilitiesfixes
Route planningissues arise due to
the lack of near real-time fleet
GPS data
The absence of a mobile app and
limited access for suppliers and
logisticians hinder seamless user
experience and efficient
collaboration
Lacks integrationcapabilities for
3rd party GPS trackingsystems
and does not provide a Public API
for external connections
Legacy System Routes Planning Communication
Inefficient communicationfrom
inconsistent email formats and
reliance on multiple channels,
such as phone calls, SMS,
WhatsApp, Telegram, and Viber,
causing delays and confusion
Connectivity Integrations
7. Challenges
Migrate liveness production data
from multiple data sources to
diverse target databases
Requires specific solutions
tailored to their processes, flows,
data, reports, etc.
GPS trackingand route
optimization to enable location
monitoring as well as speed and
fuel usage, and efficient route
planning
Provide external Public API by subscription
model to the customers
Data Migration No/Low Code SaaS CRM
Multitenant SaaS CRM for logistics
industry covering FMS, TMS,
custom GPS services and access
to external data by subscription
Route Planning Integrations
9. Data Sources
FMS TMS
Fleet ManagementSystems
(FMS) streamlineand optimize
fleet operations by providing
centralized control, data
analysis,and communication
tools
TransportationManagement
Systems (TMS) facilitate the
planning, execution, and
optimization of shipping and
logistics processes across
multiple transportationmodes
Third-party offerings or
solutions provided by external
systems or companies, not in-
house
3RD Party Services
10. Database Solutions
EventStoreDB Dataverse
EventStoreDB is a specialized
event-based database designed
for event sourcing and event-
driven architectures
Dataverseis a fully managed,
multi-tenant, cloud-based
service for storing and managing
business data within the
Microsoft ecosystem
Cosmos DB is a globally
distributed, multi-model NoSQL
database service that supports
various data models, offering
automaticscaling and global
distribution on Microsoft Azure
CosmosDB
25. Issues & Solutions
Write/Read limit is 6000 requests
per 5 min. per user. After exceeding
the limit, the API returns HTTP 429
Too Many Requests
By default, Dataverse has 3 GB of
storage memory and a 1 GB for log
file
Power Platform SDK for .NET Core
has limitations like doesn't
support plugin development
3rd party Identity Provider user
authorizationin the Canvas App out of the
box is not supported
HTTP Storage Data Types
Datatypes in Dataversehave their
own specifics, and sometimes you
can't write values directly
SDK Security