SlideShare a Scribd company logo
1 of 36
Download to read offline
11 February, 2021
Manchester MuleSoft Meetup #4 (online)
Bobby James
Solution Architect
The Co-operative Bank
Francis Edwards
Integration Analyst
Saint-Gobain Building
Distribution
Justin Saliba
Solution Architect
EPAM (Ricston)
11/02/2021 – Bobby James
Manchester MuleSoft Meetup Group
‘I Hate Layers’
- A Presentation of Apologies
3
●About the presenter:
○ Mulesoft Solution Architect at the Co-Operative Bank
■ MuleSoft Certified Integration Architect - Level 1 Certificate
○ Barclays, API Design
○ 25 Year in IT
■ ‘Developer in an SA Cloak’
○ http://uk.linkedIn.com/in/drbobbyjames
Introductions
A SHOW OF HANDS:
Who is new to this Meetup?
API
●Application Programming Interface
○ Layer of Abstraction
○ RESTful / Stateless services
● From a MuleSoft Development Fundamentals (Mule 3)…
4
The Application Network
5
‘The’ Layer Slide
6
Layer Application Follies
● Application Architecture
● Statements Made
○ Every Layer has to be used
○ Semantics of Names
○ Unknown User, known application
○ Create Customer / Stateless API’s
■ the oxymoron
7
3 Tier Web Architecture
8
Message Integration Patterns
9
10
● Think
○ Functionality
■ Channel API (Consumer / Provider)
○ Layer of Abstraction
○ Security
○ Re-Use
○ Micro-Services-ish
● Define the API and then the Layer (and name) becomes self descriptive
“Imagine…..There’s no Layers It’s easy if you can”
All contents © MuleSoft, LLC
Evolving an App using API Led Design
Francis Edwards, Integration Analyst / Developer
All contents © MuleSoft, LLC
Introduction
1. I’m an Integration Analyst / Developer, I create MuleSoft APIs and applications, deploying and
supporting them in on premise and cloud environment
2. I work for Saint-Gobain Building Distribution, the building materials, retail & wholesale arm of Saint-
Gobain in the UK
3. I enjoy playing rugby and swimming and perfecting my MuleSoft usage!
12
Francis Edwards, MuleSoft Ambassador
All contents © MuleSoft, LLC
Agenda
● Show a simple workflow that is not API Led
● Demonstrate how this can be decomposed into the three layers of the API-Led Structure
● Make these APIs not just decomposed, but more RESTful & Reusable
● Outline the coding considerations required for each of the system, process & experience layers
● Highlight the benefits of designing APIs in this manner
● Take questions and share code to those interested in futher investigation
13
All contents © MuleSoft, LLC
What makes them brittle
Point to Point Integrations
Many simple application flows mix and match mule scopes and functionality. This can cause performance
problems as well as permenantly using more resources than required
• Batch scopes are useful for processing a lot of data, but take time to load into memory and disk and require
that same memory and disk even when not being used, ie for once a day etl processes
• Filtering of streams may involve reading into memory all the input data & require a large vCore
• Unit testing or functional testing are usually the same thing, measuring end to end functionality
• Processing is usually one-way with little scope for checking output, post processing
• Iterations to functionality usually involve added complexity using choice routers and involve complete re-
testing of integration
• The application usually contains a number of referenced libraries, so is a large deployable archive
14
Process Integration
CRM
Customer
Object
Integration
All contents © MuleSoft, LLC
API Led Applications
Separating and Describing the APIs
I’ve remodelled an example application, using multiple flows, into separate applications that are optimised
for the purpose of each flow
• Applications are decomposed using HTTP transports and Anypoint MQs
• Each is made independent using RAML to control the datatype of the ingress payload
• The process layer has a ‘loosened’ contract to enable future functionality
• Extra RESTful functionality is built to make sytem layers more functional
15
Process APIs
System APIs
Experience APIs
Customer
Object
Interface
CRM
v2
Replacement
CRM
Interface
New
CRM
v1.1
CRM
v1
All contents © MuleSoft, LLC
What the Extra Work Has Achieved
Benefits
The benefits are of decomposing and making the worflow API-Led are;
• Smaller experience and process layers (microservices) that are quicker to deploy
• Smaller experience and process layers that are also easier to adapt and iterate forward with additional
functionality
• A more RESTful system layer that can be re-used and offer more functionality
• Contracts for the process and system layers that better define functioanlity and aid unit testing
• Taking advantage of default and fast exception handling provided by the APIkit Router
• Controlling payloads and responding quickly to bad data inputs
• Better use of resources such as limited time windows for resource hungry dataloads, but small efficient
orchestration
• The ability to apply relevent policies, to each layer, specific to the API needs
16
All contents © MuleSoft, LLC
Using Studio Components in a RESTful way
Key Considerations
In summary, to be API led, each API needs to be managed independently. The
• Use HTTP Listeners to receive payloads, to ensure RESTful interaction and provide http.status and reason
responses
• Describe the API in RAML, to enable the validation of payloads and loosely define query parameters to enable
future functionality
• Use the APIKit Router to direct messages into the functional flows and provide default error handling
• Use Anypoint MQs to handle messages in a performant manner and separate the handling, orchestration and
processing of the input payload
• Use query parameters as JSON objects to not tie the process layer to any particular system layer
• Make system layers as RESTful as possible, transforming responses and resources where required and creating
new methods where possible
• Use an auto-discovery global configuration element to enable the application of policies, via API Manager, such
as the managed client-id and client-secret enforcement policy
17
All contents © MuleSoft, LLC
Thank you
Any Questions or Comments?
© Ricston Ltd. 2021
A normal day in Air Malta’s
IT operations team
Justin Saliba
© Ricston Ltd. 2021
Air Malta - challenges
● High competition - entry of low cost carriers and relatively small
‘homebase’ for Air Malta
● Economies of scale are practically non-existent
● Efficiencies and Sustainability - cost cutting and profitability
● Legacy dependent - both internal and external
● Vendor driven - driven by large players
● Monolithic - lacking of integration prospects
© Ricston Ltd. 2021
IT’s role within Air Malta
• Bringing services and information together
• Analyse and understand what a customer really wants
• Optimising without disruption
• New ways of applying technology
• Launch products to market quicker
• Increase distribution coverage
• Be one step ahead of what the business needs
Opening new
revenue streams
Innovate customer &
employee experience
Operate more
efficiently
© Ricston Ltd. 2021
Achieving the vision through
API-led economy
Data Governance -
Be in control of data
and information
Visibility and
reusability
Market options and
capability to shift
Explore new trends,
technologies and
frameworks
Robust, resilient and
adaptive
Maturity through
iteration
Provide means and
opportunities
Becoming core
Become as vendor
agnostic as possible
© Ricston Ltd. 2021
Point of origin
© Ricston Ltd. 2021
Forming a team
CHALLENGES
● No IT development capabilities
● Previous solutions delivered by external
partners - lost of key knowledge and agility
● Lack of development tools
● Lack of delivery experience
DECISIONS
● Introduce an Air Malta Platform architect
● Clear executive stakeholder ownership and
sponsorship (CIO)
● Form a new development team with Ricston
consultants
● Introduce all required tools for development.
Git, artifact repository, CI/CD, etc.
● Experience through iteration
© Ricston Ltd. 2021
Consistent delivery
● Reduce Human effort → Reduce human errors
● Deployment of Microservices in a Hybrid solution
○ Avoid issues due wrong configurations
○ Encrypt properties through an encrypted Vault
● Delivery/Maintenance of IT infrastructure
○ Depletion of human interaction
○ Setup connectivity/configuration for new VMs
○ Keep all tools healthy
● Tools introduced
○ Atlassian products (Jira, Confluence, Service
Desk…)
○ Source Control, Artifact Repository, Database
version control
○ CI/CD server, Ansible, Docker
○ Log Management/Analysis tool
○ Alerts
© Ricston Ltd. 2021
Surviving without QA team
● Lack of manual testers
● Tests became a critical part of our daily delivery
● No tasks are completed without Unit tests and Integration Tests:
○ Unit test: Munit
○ Integration Test: Wiremock, RestAssured, JsonAssert, Docker
● CI/CD closed the gaps
○ A pipeline to deliver artifacts: Build, Test, Package
○ A pipeline to deploy deliverable artifacts
© Ricston Ltd. 2021
Maintenance and support
● Log management and log analysis service
● Infrastructure monitoring tool
● Air Malta Logger connector
● Continuous feedback providing Continuous
improvement
● API Documentation and Versioning
● Usage of Log Alerts / Anypoint Alerts
© Ricston Ltd. 2021
A normal day of an
API developer in Air Malta
● Morning stand up
● Focus on developing solutions (when there are no
meetings…)
● Single team working in parallel deliveries across
several projects
● One click deployment. Automated processes are
ready for you
● Tests are a top priority. No Test = No Party
● Feature not completed until documentation is in
place
© Ricston Ltd. 2021
Architecture - simplified view
© Ricston Ltd. 2021
Use Case 1 - Unlocking the
Reservation System
Booking Workflow
Build a technical understanding
of how the reservation system works,
rather than relying on prebuilt solutions
Adapt booking workflow
depending on business needs
Adapt to new needs and
demands without involving
third parties.
© Ricston Ltd. 2021
Use case 2 - Brand Identification
Check-in
Changes in luggages policies
Retain control
Move to real-time
Increase Agility/Flexibility
© Ricston Ltd. 2021
Use Case 3 - Flight Crew
Management
Flight Operations Integration
Improved crew satisfaction
Additional observability
Reusability
Operational efficiency
© Ricston Ltd. 2021
Results
METRIC 1
Up to 5 times faster
time-to-market
API MVP available for Salesforce
integration partner within 2 weeks down
from 8 weeks
Flight Reservation API project completed in
8 weeks, instead of the estimated at 9
months
Flight Operations project complete in 6
months, instead of the estimated at 18
months
METRIC 3
95% code-reuse
METRIC 2
One-click deployments
METRIC 1
Up to 5 times faster
time-to-market
© Ricston Ltd. 2021
METRIC 3
95% code-reuse
METRIC 2
One-click deployments
METRIC 1
Up to 5 times faster
time-to-market
Deployment range from two-nodes on
CloudHub to 8 hosts on premises and
load balancers
Codified deployments included are Mule
apps, reverse proxies, database schemas,
integration, load and end-to-end testing
Zero downtime deployments
Results
© Ricston Ltd. 2021
Heavy use of out-of-the box Mule connectors
and libraries
Custom logging connector re-used across
applications
Re-use of the APIs
Tried and tested, highly-available, low-latency,
99.99% up-time
METRIC 3
95% code-reuse
METRIC 2
One-click deployments
METRIC 1
Up to 5 times faster
time-to-market
Results
© Ricston Ltd. 2021
Thank you!
Q&A

More Related Content

What's hot

What's hot (20)

Dallas Mulesoft Meetup - Log Aggregation and Elastic Stack on Anypoint Platform
Dallas Mulesoft Meetup - Log Aggregation and Elastic Stack on Anypoint PlatformDallas Mulesoft Meetup - Log Aggregation and Elastic Stack on Anypoint Platform
Dallas Mulesoft Meetup - Log Aggregation and Elastic Stack on Anypoint Platform
 
Mule soft meetup_charlotte_4__draft_v2.0
Mule soft meetup_charlotte_4__draft_v2.0Mule soft meetup_charlotte_4__draft_v2.0
Mule soft meetup_charlotte_4__draft_v2.0
 
Rtf v2 ingress muleSoft meetup self managed kubernetes
Rtf v2 ingress muleSoft meetup self managed kubernetesRtf v2 ingress muleSoft meetup self managed kubernetes
Rtf v2 ingress muleSoft meetup self managed kubernetes
 
Mule 4 migration + Common Integration Challenges : MuleSoft Virtual Muleys Me...
Mule 4 migration + Common Integration Challenges : MuleSoft Virtual Muleys Me...Mule 4 migration + Common Integration Challenges : MuleSoft Virtual Muleys Me...
Mule 4 migration + Common Integration Challenges : MuleSoft Virtual Muleys Me...
 
MuleSoft Meetup - Singapore - No.3 Oct19
MuleSoft Meetup - Singapore - No.3 Oct19MuleSoft Meetup - Singapore - No.3 Oct19
MuleSoft Meetup - Singapore - No.3 Oct19
 
MuleSoft London Community February 2020 - MuleSoft and OData
MuleSoft London Community February 2020 - MuleSoft and ODataMuleSoft London Community February 2020 - MuleSoft and OData
MuleSoft London Community February 2020 - MuleSoft and OData
 
Clustering, Server setup and Hybrid deployment setup using Anypoint Runtime M...
Clustering, Server setup and Hybrid deployment setup using Anypoint Runtime M...Clustering, Server setup and Hybrid deployment setup using Anypoint Runtime M...
Clustering, Server setup and Hybrid deployment setup using Anypoint Runtime M...
 
NYC MuleSoft Meetup 2019 Q2- MuleSoft for Mobile Applications
NYC MuleSoft Meetup 2019 Q2- MuleSoft for Mobile ApplicationsNYC MuleSoft Meetup 2019 Q2- MuleSoft for Mobile Applications
NYC MuleSoft Meetup 2019 Q2- MuleSoft for Mobile Applications
 
Chicago rtf meetup august 17 2021
Chicago rtf meetup august 17 2021Chicago rtf meetup august 17 2021
Chicago rtf meetup august 17 2021
 
Milano Meetup #6 - Training & Certification and Internal Support Models
Milano Meetup #6 - Training & Certification and Internal Support ModelsMilano Meetup #6 - Training & Certification and Internal Support Models
Milano Meetup #6 - Training & Certification and Internal Support Models
 
Virtual meetup - Exploring the Runtime Fabric deployment model
Virtual meetup - Exploring the Runtime Fabric deployment modelVirtual meetup - Exploring the Runtime Fabric deployment model
Virtual meetup - Exploring the Runtime Fabric deployment model
 
MuleSoft Online Meetup a Guide to RTF application deployment - October 2020
MuleSoft Online Meetup   a Guide to RTF application deployment  - October 2020MuleSoft Online Meetup   a Guide to RTF application deployment  - October 2020
MuleSoft Online Meetup a Guide to RTF application deployment - October 2020
 
MuleSoft Madrid Meetup #5 slides 21st January 2021
MuleSoft Madrid Meetup #5 slides 21st January 2021MuleSoft Madrid Meetup #5 slides 21st January 2021
MuleSoft Madrid Meetup #5 slides 21st January 2021
 
MuleSoft meetup_sg_no2_may19
MuleSoft meetup_sg_no2_may19MuleSoft meetup_sg_no2_may19
MuleSoft meetup_sg_no2_may19
 
Mumbai MuleSoft Meetup 12
Mumbai MuleSoft Meetup 12Mumbai MuleSoft Meetup 12
Mumbai MuleSoft Meetup 12
 
MuleSoft Runtime Fabric (RTF): Foundations : MuleSoft Virtual Muleys Meetups
MuleSoft Runtime Fabric (RTF): Foundations  : MuleSoft Virtual Muleys MeetupsMuleSoft Runtime Fabric (RTF): Foundations  : MuleSoft Virtual Muleys Meetups
MuleSoft Runtime Fabric (RTF): Foundations : MuleSoft Virtual Muleys Meetups
 
Deep Dive on CI/CD NYC Meet Up Group
Deep Dive on CI/CD NYC Meet Up GroupDeep Dive on CI/CD NYC Meet Up Group
Deep Dive on CI/CD NYC Meet Up Group
 
MuleSoft Meetup Singapore - Reliable Messaging & RTF Operations
MuleSoft Meetup Singapore - Reliable Messaging & RTF OperationsMuleSoft Meetup Singapore - Reliable Messaging & RTF Operations
MuleSoft Meetup Singapore - Reliable Messaging & RTF Operations
 
Designing Apps for Runtime Fabric: Logging, Monitoring & Object Store Persist...
Designing Apps for Runtime Fabric: Logging, Monitoring & Object Store Persist...Designing Apps for Runtime Fabric: Logging, Monitoring & Object Store Persist...
Designing Apps for Runtime Fabric: Logging, Monitoring & Object Store Persist...
 
10 things to consider when planning your Mule 4 migration
10 things to consider when planning your Mule 4 migration10 things to consider when planning your Mule 4 migration
10 things to consider when planning your Mule 4 migration
 

Similar to MuleSoft Manchester Meetup #4 slides 11th February 2021

Similar to MuleSoft Manchester Meetup #4 slides 11th February 2021 (20)

Disruptive Trends in Application Development
Disruptive Trends in Application DevelopmentDisruptive Trends in Application Development
Disruptive Trends in Application Development
 
MuleSoft Meetup Adelaide 7th April 2021
MuleSoft Meetup Adelaide 7th April 2021MuleSoft Meetup Adelaide 7th April 2021
MuleSoft Meetup Adelaide 7th April 2021
 
IBM Monitoring and Event Management Solutions
IBM Monitoring and Event Management SolutionsIBM Monitoring and Event Management Solutions
IBM Monitoring and Event Management Solutions
 
Toyota Financial Services Digital Transformation - Think 2019
Toyota Financial Services Digital Transformation - Think 2019Toyota Financial Services Digital Transformation - Think 2019
Toyota Financial Services Digital Transformation - Think 2019
 
Mule soft meetup Houston 16
Mule soft meetup Houston 16Mule soft meetup Houston 16
Mule soft meetup Houston 16
 
Agile enterprise integration
Agile enterprise integrationAgile enterprise integration
Agile enterprise integration
 
Which Application Modernization Pattern Is Right For You?
Which Application Modernization Pattern Is Right For You?Which Application Modernization Pattern Is Right For You?
Which Application Modernization Pattern Is Right For You?
 
Perth meetup Oct 2019
Perth meetup Oct 2019Perth meetup Oct 2019
Perth meetup Oct 2019
 
Arunprakash Alagesan
Arunprakash AlagesanArunprakash Alagesan
Arunprakash Alagesan
 
Unlock your core business assets for the hybrid cloud with addi webinar dec...
Unlock your core business assets for the hybrid cloud with addi   webinar dec...Unlock your core business assets for the hybrid cloud with addi   webinar dec...
Unlock your core business assets for the hybrid cloud with addi webinar dec...
 
Technology insights: Decision Science Platform
Technology insights: Decision Science PlatformTechnology insights: Decision Science Platform
Technology insights: Decision Science Platform
 
Migrating from a monolith to microservices – is it worth it?
Migrating from a monolith to microservices – is it worth it?Migrating from a monolith to microservices – is it worth it?
Migrating from a monolith to microservices – is it worth it?
 
Do I Need A Service Mesh.pptx
Do I Need A Service Mesh.pptxDo I Need A Service Mesh.pptx
Do I Need A Service Mesh.pptx
 
apidays LIVE Paris 2021 - Synchronous Communication Patterns by Sébastien Ber...
apidays LIVE Paris 2021 - Synchronous Communication Patterns by Sébastien Ber...apidays LIVE Paris 2021 - Synchronous Communication Patterns by Sébastien Ber...
apidays LIVE Paris 2021 - Synchronous Communication Patterns by Sébastien Ber...
 
API Management within a Microservice Architecture
API Management within a Microservice ArchitectureAPI Management within a Microservice Architecture
API Management within a Microservice Architecture
 
API Management Within a Microservices Architecture
API Management Within a Microservices Architecture API Management Within a Microservices Architecture
API Management Within a Microservices Architecture
 
MuleSoft Meetup Singapore March 2019
MuleSoft Meetup Singapore March 2019MuleSoft Meetup Singapore March 2019
MuleSoft Meetup Singapore March 2019
 
Microservices and IBM Bluemix meetup presentation
Microservices and IBM Bluemix meetup presentationMicroservices and IBM Bluemix meetup presentation
Microservices and IBM Bluemix meetup presentation
 
MuleSoft Meetup Valletta 1.0
MuleSoft Meetup Valletta  1.0MuleSoft Meetup Valletta  1.0
MuleSoft Meetup Valletta 1.0
 
Baltimore jan2019 mule4
Baltimore jan2019 mule4Baltimore jan2019 mule4
Baltimore jan2019 mule4
 

More from Ieva Navickaite (6)

MuleSoft Manchester Meetup #5 slides 20th May 2021
MuleSoft Manchester Meetup #5 slides 20th May 2021MuleSoft Manchester Meetup #5 slides 20th May 2021
MuleSoft Manchester Meetup #5 slides 20th May 2021
 
MuleSoft Madrid Meetup #6 slides 22nd April 2021
MuleSoft Madrid Meetup #6 slides 22nd April 2021MuleSoft Madrid Meetup #6 slides 22nd April 2021
MuleSoft Madrid Meetup #6 slides 22nd April 2021
 
MuleSoft Madrid Meetup #3 slides 2nd July 2020
MuleSoft Madrid Meetup #3 slides 2nd July 2020MuleSoft Madrid Meetup #3 slides 2nd July 2020
MuleSoft Madrid Meetup #3 slides 2nd July 2020
 
MuleSoft Manchester Meetup #3 slides 31st March 2020
MuleSoft Manchester Meetup #3 slides 31st March 2020MuleSoft Manchester Meetup #3 slides 31st March 2020
MuleSoft Manchester Meetup #3 slides 31st March 2020
 
MuleSoft Madrid Meetup #2 slides 29th January 2020
MuleSoft Madrid Meetup #2 slides 29th January 2020MuleSoft Madrid Meetup #2 slides 29th January 2020
MuleSoft Madrid Meetup #2 slides 29th January 2020
 
MuleSoft Manchester Meetup #2 slides 29th October 2019
MuleSoft Manchester Meetup #2 slides 29th October 2019MuleSoft Manchester Meetup #2 slides 29th October 2019
MuleSoft Manchester Meetup #2 slides 29th October 2019
 

Recently uploaded

Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
 

Recently uploaded (20)

Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 

MuleSoft Manchester Meetup #4 slides 11th February 2021

  • 1. 11 February, 2021 Manchester MuleSoft Meetup #4 (online) Bobby James Solution Architect The Co-operative Bank Francis Edwards Integration Analyst Saint-Gobain Building Distribution Justin Saliba Solution Architect EPAM (Ricston)
  • 2. 11/02/2021 – Bobby James Manchester MuleSoft Meetup Group ‘I Hate Layers’ - A Presentation of Apologies
  • 3. 3 ●About the presenter: ○ Mulesoft Solution Architect at the Co-Operative Bank ■ MuleSoft Certified Integration Architect - Level 1 Certificate ○ Barclays, API Design ○ 25 Year in IT ■ ‘Developer in an SA Cloak’ ○ http://uk.linkedIn.com/in/drbobbyjames Introductions A SHOW OF HANDS: Who is new to this Meetup?
  • 4. API ●Application Programming Interface ○ Layer of Abstraction ○ RESTful / Stateless services ● From a MuleSoft Development Fundamentals (Mule 3)… 4
  • 7. Layer Application Follies ● Application Architecture ● Statements Made ○ Every Layer has to be used ○ Semantics of Names ○ Unknown User, known application ○ Create Customer / Stateless API’s ■ the oxymoron 7
  • 8. 3 Tier Web Architecture 8
  • 10. 10 ● Think ○ Functionality ■ Channel API (Consumer / Provider) ○ Layer of Abstraction ○ Security ○ Re-Use ○ Micro-Services-ish ● Define the API and then the Layer (and name) becomes self descriptive “Imagine…..There’s no Layers It’s easy if you can”
  • 11. All contents © MuleSoft, LLC Evolving an App using API Led Design Francis Edwards, Integration Analyst / Developer
  • 12. All contents © MuleSoft, LLC Introduction 1. I’m an Integration Analyst / Developer, I create MuleSoft APIs and applications, deploying and supporting them in on premise and cloud environment 2. I work for Saint-Gobain Building Distribution, the building materials, retail & wholesale arm of Saint- Gobain in the UK 3. I enjoy playing rugby and swimming and perfecting my MuleSoft usage! 12 Francis Edwards, MuleSoft Ambassador
  • 13. All contents © MuleSoft, LLC Agenda ● Show a simple workflow that is not API Led ● Demonstrate how this can be decomposed into the three layers of the API-Led Structure ● Make these APIs not just decomposed, but more RESTful & Reusable ● Outline the coding considerations required for each of the system, process & experience layers ● Highlight the benefits of designing APIs in this manner ● Take questions and share code to those interested in futher investigation 13
  • 14. All contents © MuleSoft, LLC What makes them brittle Point to Point Integrations Many simple application flows mix and match mule scopes and functionality. This can cause performance problems as well as permenantly using more resources than required • Batch scopes are useful for processing a lot of data, but take time to load into memory and disk and require that same memory and disk even when not being used, ie for once a day etl processes • Filtering of streams may involve reading into memory all the input data & require a large vCore • Unit testing or functional testing are usually the same thing, measuring end to end functionality • Processing is usually one-way with little scope for checking output, post processing • Iterations to functionality usually involve added complexity using choice routers and involve complete re- testing of integration • The application usually contains a number of referenced libraries, so is a large deployable archive 14 Process Integration CRM Customer Object Integration
  • 15. All contents © MuleSoft, LLC API Led Applications Separating and Describing the APIs I’ve remodelled an example application, using multiple flows, into separate applications that are optimised for the purpose of each flow • Applications are decomposed using HTTP transports and Anypoint MQs • Each is made independent using RAML to control the datatype of the ingress payload • The process layer has a ‘loosened’ contract to enable future functionality • Extra RESTful functionality is built to make sytem layers more functional 15 Process APIs System APIs Experience APIs Customer Object Interface CRM v2 Replacement CRM Interface New CRM v1.1 CRM v1
  • 16. All contents © MuleSoft, LLC What the Extra Work Has Achieved Benefits The benefits are of decomposing and making the worflow API-Led are; • Smaller experience and process layers (microservices) that are quicker to deploy • Smaller experience and process layers that are also easier to adapt and iterate forward with additional functionality • A more RESTful system layer that can be re-used and offer more functionality • Contracts for the process and system layers that better define functioanlity and aid unit testing • Taking advantage of default and fast exception handling provided by the APIkit Router • Controlling payloads and responding quickly to bad data inputs • Better use of resources such as limited time windows for resource hungry dataloads, but small efficient orchestration • The ability to apply relevent policies, to each layer, specific to the API needs 16
  • 17. All contents © MuleSoft, LLC Using Studio Components in a RESTful way Key Considerations In summary, to be API led, each API needs to be managed independently. The • Use HTTP Listeners to receive payloads, to ensure RESTful interaction and provide http.status and reason responses • Describe the API in RAML, to enable the validation of payloads and loosely define query parameters to enable future functionality • Use the APIKit Router to direct messages into the functional flows and provide default error handling • Use Anypoint MQs to handle messages in a performant manner and separate the handling, orchestration and processing of the input payload • Use query parameters as JSON objects to not tie the process layer to any particular system layer • Make system layers as RESTful as possible, transforming responses and resources where required and creating new methods where possible • Use an auto-discovery global configuration element to enable the application of policies, via API Manager, such as the managed client-id and client-secret enforcement policy 17
  • 18. All contents © MuleSoft, LLC Thank you Any Questions or Comments?
  • 19. © Ricston Ltd. 2021 A normal day in Air Malta’s IT operations team Justin Saliba
  • 20. © Ricston Ltd. 2021 Air Malta - challenges ● High competition - entry of low cost carriers and relatively small ‘homebase’ for Air Malta ● Economies of scale are practically non-existent ● Efficiencies and Sustainability - cost cutting and profitability ● Legacy dependent - both internal and external ● Vendor driven - driven by large players ● Monolithic - lacking of integration prospects
  • 21. © Ricston Ltd. 2021 IT’s role within Air Malta • Bringing services and information together • Analyse and understand what a customer really wants • Optimising without disruption • New ways of applying technology • Launch products to market quicker • Increase distribution coverage • Be one step ahead of what the business needs Opening new revenue streams Innovate customer & employee experience Operate more efficiently
  • 22. © Ricston Ltd. 2021 Achieving the vision through API-led economy Data Governance - Be in control of data and information Visibility and reusability Market options and capability to shift Explore new trends, technologies and frameworks Robust, resilient and adaptive Maturity through iteration Provide means and opportunities Becoming core Become as vendor agnostic as possible
  • 23. © Ricston Ltd. 2021 Point of origin
  • 24. © Ricston Ltd. 2021 Forming a team CHALLENGES ● No IT development capabilities ● Previous solutions delivered by external partners - lost of key knowledge and agility ● Lack of development tools ● Lack of delivery experience DECISIONS ● Introduce an Air Malta Platform architect ● Clear executive stakeholder ownership and sponsorship (CIO) ● Form a new development team with Ricston consultants ● Introduce all required tools for development. Git, artifact repository, CI/CD, etc. ● Experience through iteration
  • 25. © Ricston Ltd. 2021 Consistent delivery ● Reduce Human effort → Reduce human errors ● Deployment of Microservices in a Hybrid solution ○ Avoid issues due wrong configurations ○ Encrypt properties through an encrypted Vault ● Delivery/Maintenance of IT infrastructure ○ Depletion of human interaction ○ Setup connectivity/configuration for new VMs ○ Keep all tools healthy ● Tools introduced ○ Atlassian products (Jira, Confluence, Service Desk…) ○ Source Control, Artifact Repository, Database version control ○ CI/CD server, Ansible, Docker ○ Log Management/Analysis tool ○ Alerts
  • 26. © Ricston Ltd. 2021 Surviving without QA team ● Lack of manual testers ● Tests became a critical part of our daily delivery ● No tasks are completed without Unit tests and Integration Tests: ○ Unit test: Munit ○ Integration Test: Wiremock, RestAssured, JsonAssert, Docker ● CI/CD closed the gaps ○ A pipeline to deliver artifacts: Build, Test, Package ○ A pipeline to deploy deliverable artifacts
  • 27. © Ricston Ltd. 2021 Maintenance and support ● Log management and log analysis service ● Infrastructure monitoring tool ● Air Malta Logger connector ● Continuous feedback providing Continuous improvement ● API Documentation and Versioning ● Usage of Log Alerts / Anypoint Alerts
  • 28. © Ricston Ltd. 2021 A normal day of an API developer in Air Malta ● Morning stand up ● Focus on developing solutions (when there are no meetings…) ● Single team working in parallel deliveries across several projects ● One click deployment. Automated processes are ready for you ● Tests are a top priority. No Test = No Party ● Feature not completed until documentation is in place
  • 29. © Ricston Ltd. 2021 Architecture - simplified view
  • 30. © Ricston Ltd. 2021 Use Case 1 - Unlocking the Reservation System Booking Workflow Build a technical understanding of how the reservation system works, rather than relying on prebuilt solutions Adapt booking workflow depending on business needs Adapt to new needs and demands without involving third parties.
  • 31. © Ricston Ltd. 2021 Use case 2 - Brand Identification Check-in Changes in luggages policies Retain control Move to real-time Increase Agility/Flexibility
  • 32. © Ricston Ltd. 2021 Use Case 3 - Flight Crew Management Flight Operations Integration Improved crew satisfaction Additional observability Reusability Operational efficiency
  • 33. © Ricston Ltd. 2021 Results METRIC 1 Up to 5 times faster time-to-market API MVP available for Salesforce integration partner within 2 weeks down from 8 weeks Flight Reservation API project completed in 8 weeks, instead of the estimated at 9 months Flight Operations project complete in 6 months, instead of the estimated at 18 months METRIC 3 95% code-reuse METRIC 2 One-click deployments METRIC 1 Up to 5 times faster time-to-market
  • 34. © Ricston Ltd. 2021 METRIC 3 95% code-reuse METRIC 2 One-click deployments METRIC 1 Up to 5 times faster time-to-market Deployment range from two-nodes on CloudHub to 8 hosts on premises and load balancers Codified deployments included are Mule apps, reverse proxies, database schemas, integration, load and end-to-end testing Zero downtime deployments Results
  • 35. © Ricston Ltd. 2021 Heavy use of out-of-the box Mule connectors and libraries Custom logging connector re-used across applications Re-use of the APIs Tried and tested, highly-available, low-latency, 99.99% up-time METRIC 3 95% code-reuse METRIC 2 One-click deployments METRIC 1 Up to 5 times faster time-to-market Results
  • 36. © Ricston Ltd. 2021 Thank you! Q&A