Microservices - What, Why, When and How · 2020-04-23 · Not building architecture ... pages on...
Transcript of Microservices - What, Why, When and How · 2020-04-23 · Not building architecture ... pages on...
MENDIXWORLD
Microservices: What, Why, When and HowAndrej Koelewijn // Product Manager // MendixWill Ma // Director Solutions Architecture // MendixRom van Arendonk // Architect // Timeseries
MENDIXWORLD
Agenda
• Why microservices• How do you use microservices• Case study: Enexis Aansluitingen• Remote Entities & Data Hub
MENDIXWORLD
Manage shop
products
Contractconfirmation
Declare Expense
s
Validate expense
declarationReimburseShop
WebshopProduct
Management tool
Contract confirmation
AppExpenses App
SmartExpenses Rules App
Reimbursement
App
CRM FinanceProducts
Design thinking to determine components
MENDIXWORLD
Microservices @
Enexis• Grid operator
• Provides infrastructure for gas and electricity
• Process Redesign
• Case Management system to manage infrastructure projects
• Transitional architecture
• Time-to-market
MENDIXWORLD
Intake Engineering Project preparation
Execute project Finalize
Customer Engineer Engineer Contractors Engineers
RiskIntake Estimation Materials PaymentPlanning
Internal view
External view
SAP GIS DWH
Projects Activities Organization Migration
MENDIXWORLD
Results
• 12 Devs, 9 business product owners
• 3 months to deliver MVP
• Decentralized ownership led to best possible applications
• Small, clean apps which are easy to adapt and extend
• Independent scaling proved valuable
MENDIXWORLD
REST = HTTP• Polling sync based on change
date
• Custom change date to enable aggregates
• Automatic swagger contracts + example data• Developers• API Gateway
• Understand how to build REST• Resource first• Verbs
MENDIXWORLD
Versioning• Versioning facilities in Mx
• Cross team orchestration
• Only consume production APIs
• N-2 API versions in production
MENDIXWORLD
Summary
• Basics for building microservices with Mendix are good
• Hardest parts:
• Building the technical integration using rest or webservices
• Knowing what is available for reuse
MENDIXWORLD
No-code Integration
Out-of-the-box integration patterns -drag and drop data into your app andretrieve remote data like local data in widgets and microflows.
Anybody can use Enterprise Data
MENDIXWORLD
No-code Integration Discoverable enterprise
Out-of-the-box integration patterns -drag and drop data into your app andretrieve remote data like local data in widgets and microflows.
Find any enterprise data you need fromthe comfort of the Mendix Studio Pro
Anybody can use Enterprise Data
MENDIXWORLD
No-code Integration Discoverable enterprise Up-to-date catalog
Out-of-the-box integration patterns -drag and drop data into your app andretrieve remote data like local data in widgets and microflows.
Find any enterprise data you need fromthe comfort of the Mendix Studio Pro
All published and consumed API automatically registered in the Mendix Data Hub
Anybody can use Enterprise Data
MENDIXWORLD
Enterprise Hub Mendix Studios
Environments Services
Data Events
APIs Deeplinks
Discover
Discoverable Enterprise
MENDIXWORLD
Enterprise Hub
Enterprise deployment environments
Mendix
Deployed AppDeployed App
Mendix Studios
Deployed App
Data Events APIs Links
Environments Services
Data Events
APIs Deeplinks
Discover
Deploy
Discoverable Enterprise
MENDIXWORLD
Enterprise Hub
Enterprise deployment environments
Mendix
Deployed AppDeployed App
Mendix Studios
Deployed App
Data Events APIs Links
Environments Services
Data Events
APIs Deeplinks
Discover
Deploy
Reg
iste
r
Discoverable Enterprise
MENDIXWORLD
Enterprise Hub
Enterprise deployment environments
Mendix
Deployed AppDeployed App
Mendix Studios
Deployed App
Data Events APIs Links
Environments Services
Data Events
APIs Deeplinks
Discover
Deploy
Reg
iste
r
Curate
Discoverable Enterprise
MENDIXWORLD
Remote entities
• Retrieve remote data with xpath
• Uses REST/OData
• No need for integration microflows
MENDIXWORLD
Link app and remote data• Remote data is read only
• App data can be linked to remote data using associations
MENDIXWORLD
How do you use it?
Publish data APIs using
ODataDeploy your
appConnect anduse your data
Findenterprise
data
MENDIXWORLD
Target use cases
Show remote data
Fastest way to buildpages on data in other apps, just dragand drop remote objects on widgets and pages.
Enrich data
Workflow apps caneasily associateremote data withlocal data to store enrichments
Microservices
Build autonomousmicro-services usingcacheable remote objects
MENDIXWORLD
Why is it awesome?
Searching, paging and sorting out of the boxSupported in microflow retrieve
activities
MENDIXWORLD
No-code Integration Discoverable enterprise Up-to-date catalog
Out-of-the-box integration patterns -drag and drop data into your app andretrieve remote data like local data in widgets and microflows.
Find any enterprise data you need fromthe comfort of the Mendix Studio Pro
All published and consumed API automatically registered in the Mendix Data Hub
Anybody can use Enterprise Data