SlideShare a Scribd company logo
Generating Open APIs
from Business Models
High productivity and consistency
A global business approach
2023 SERIES OF EVENT
New York
May 16&17
Australia
October 11&12
Singapore
April 12&13
Helsinki & North
June 5&6
Paris
SEPTEMBER
London
November
15&16
June 28-30
SILICON VALLEY
March 14&15
Dubai & Middle East
February 22&23
Business and technical stakeholders  GAP
APIs: issues on ‘traditionnal’ design
Complexity of http rules, patterns and API conventions
Lack of diagrams to discuss about the business concepts
Lack of consistency of the
entity definitions
3
The API design
approach
4
Which way for a business approach?
Provided operations
Whishing that …
Business requirements
Exposed resources
Customer journey
5
‘’We need 50 business analysts
knowing HTTP
or
50 API designers knowing business’’
subsidiary
Product owners and API designers gap
6
Increase abstraction
Increasing automation and
consistency at the entreprise level
involves
increasing abstraction
(formal models / grammars)
 Provides diagrams
 Allows Object Oriented Design
 Very good feed-back and involvements from business
stakeholders
 Provides METADATA
 UML is a standard
 Matches many of the API design requirements
7
UML Model as a (business) formal model
8
UML coverage of OAS (v3.x)
Features
Schemas
Objects concepts (polymorphism, inheritance…)
Operations
Servers
Paths (endpoints) -
Parameters / request body / header parameters
Responses
Links
Callbacks
Examples
Security -
Technical design
HTTP specifications
Security
Infra
Business Requirements
Scenarios
(narrative use cases)
Business requirements
Use cases identification Formal Models
Contracts
Definitions
(structural
schémas)
Functional design
APIs: a Business and Enterprise approach
Totally API first approach
From the use cases to the model
1) Decompose the business process
2) Remove irrelevante steps
…
12) Valid the operations
Candidates ‘services’
Business use case
From the requirements
and business
processes…
… services items are
identified (operations,
entities, properties, rules)
… then derived into concrete
‘APIs’ (UML models)
APIs in the model
11
Manage
the consistency
12
Need of consistency
50 API designers (no automatisation, a dedicated
reviewer team)
2 API designers, no reviewer team
One model to rule them all
Schema
Avro
To be coming
One global enterprise business data model
14
API FinancialProduct
API Mobility quotation API Retail quotation
API Context sharing
A business data entity is designed once for all APIs (enterprise level)
Then, the relative schema(s) is(are) taylored for each API
Consistency on schemas
Diagrams are intentionally blurred
15
Consistency issues
API
API
API
API
API
API
API
API
16
Tayloring a schema
Select the properties for an API
Take into account … or not
…the new properties
Text is intentionally blurred
17
API #2
API #4
API #3
API #1
A business data entity is designed once for all APIs (enterprise level)
Then, the relative schema(s) is(are) taylored for each API
Update / add / remove a property
Examples updated automatically
Data model
(UML)
Instances
(UML)
API #2
API #4
API #3
API #1
Examples
(Json)
Consistency on links
Links definition is managed
Versions comparator
21
APIs are monitored by a linter
HTTP rules engine (linter)
22
Increase
the productivity
UML Model: Operations
24
Productivity: creating operations and parameters
Functional design
Operations from a
business view
Technical design
http and security design
YAML
25
Productivity: generating schemas
Business entities
(Enterprise level)
Fitting the business
entity to the API
YAML
26
Governance: roles (analysis to design)
Business experts
Product owner
Business experts
functional designers
API Designers
UML models
30 to 35% 1 to 5%
60 to 65%
27
Conclusion
 Think business … not technical design
 Increase abstraction  models (UML, specific DSL)
 Apply patterns
 Automate the transformation from the models to the APIs
 Tools:
 Any UML Modeler (based on EMF)

28
Contact
Frederic FONTANET
○ https://www.linkedin.com/in/frederic-fontanet/
○ swapi@umltech.fr
is coming in 2023
Searching for commercial partner & investors!
Annexes
29
30
Swapi in a nutshell
o Designed for designing at the enterprise level, and to focus on business
o Help to improve the abstraction and the reusability
o X30 to x50 faster than regular tools, with less errors and higher consistency
(intra and inter apis)
o HTTP Rules engine (fix errors)
o Versioning + comparator of versions
o Full coverage of the OpenAPI specifications
o Schemas / security / HATEOAS / Callbacks / Headers…
o Still in development (> 200 000 lines of codes) but already operational in a major french bank
Use cases: Identification
Use cases: Narrative use case  writing the functional solution
One nominal scenario
A set of alternatives
A set of extensions
Applying patterns
• A pattern provides a proven solution to a common problem
o API and µ-services patterns  https://patterns.arcitura.com/
CQRS pattern
UML Model: schemas, inheritance
Same schema nature
UML Model: polymorphism
Different schema natures
36
Swapi: a powerful versions comparator
APIs: from requirements to code … (personal) actual observations
37
Business
requirements
Functional
design
Technical design
REST/HTTP
Coding
Consistent code
Rich generated code
Shared libraries
API, µ-services: principles and
patterns applied
Strong interactions with
business stakeholders
Object Oriented Design
requirements
Automatic / guided design
APIs editors
paths:
/customers:
get:
summary: ""
description: ""
operationId: "getCustomer"
parameters:
- in: "body"
name: "customer"
description: ""
required: true
schema:
$ref: "#/definitions/Customer"
responses:
201:
description: ""
schema:
type: "integer"
format: "int32"
Manual design
low consistency
‘Simple’ code
Low consistency
Methods in
enterprises
X ‘Simple’ code
Low consistency
paths:
/customers:
get:
summary: ""
description: ""
operationId: "getCustomer"
parameters:
- in: "body"
name: "customer"
description: ""
required: true
schema:
$ref: "#/definitions/Customer"
responses:
201:
description: ""
schema:
type: "integer"
format: "int32"
Manual design
low consistency
Low interactions with
business stakeholders
requirements
Avro schema Designer: from model to Java
38
Schema
Avro
Schema
Avro Java
Designing the specific message
Many different schemas from the same model
Schema Avro
Serializer
Data
Schema Avro
Deserializer
Data
Data model

More Related Content

What's hot (20)

PDF
Highlights of WSO2 API Manager 4.0.0
WSO2
 
PDF
apidays London 2022 - Creating a high performing API Product Team, Ryan Cliff...
apidays
 
PPTX
Mule expression language
sathyaraj Anand
 
PDF
API Management Building Blocks and Business value
WSO2
 
PPTX
The Blueprint for Change: How the Best Are Succeeding in Transformation
MuleSoft
 
PPTX
Docker Kubernetes Istio
Araf Karsh Hamid
 
PPTX
Migrating .NET Application to .NET Core
Baris Ceviz
 
PDF
API Governance
Sunil Kuchipudi
 
PPTX
Capgemini Cloud Assessment - A Pathway to Enterprise Cloud Migration
Floyd DCosta
 
PPSX
Zero-Trust SASE DevSecOps
Araf Karsh Hamid
 
PPTX
Microsoft Cloud Adoption Framework for Azure: Thru Partner Governance Workshop
Nicholas Vossburg
 
PDF
Designing APIs with OpenAPI Spec
Adam Paxton
 
PDF
apidays London 2022 - Designing high-value data models with an API-first mind...
apidays
 
PPTX
Introduction to AWS API Gateway Presentation
Knoldus Inc.
 
PDF
API Management within a Microservice Architecture
WSO2
 
PDF
Application Migration: How to Start, Scale and Succeed
VMware Tanzu
 
PDF
MuleSoft PKO - C4E and Platform Insights
Angel Alberici
 
PDF
Postman Webinar: "API Governance with Postman"
Postman
 
PPT
Redhat Open Day - Integracion JBoss Fuse A-MQ
Adrian Gigante
 
PDF
Api management best practices with wso2 api manager
Chanaka Fernando
 
Highlights of WSO2 API Manager 4.0.0
WSO2
 
apidays London 2022 - Creating a high performing API Product Team, Ryan Cliff...
apidays
 
Mule expression language
sathyaraj Anand
 
API Management Building Blocks and Business value
WSO2
 
The Blueprint for Change: How the Best Are Succeeding in Transformation
MuleSoft
 
Docker Kubernetes Istio
Araf Karsh Hamid
 
Migrating .NET Application to .NET Core
Baris Ceviz
 
API Governance
Sunil Kuchipudi
 
Capgemini Cloud Assessment - A Pathway to Enterprise Cloud Migration
Floyd DCosta
 
Zero-Trust SASE DevSecOps
Araf Karsh Hamid
 
Microsoft Cloud Adoption Framework for Azure: Thru Partner Governance Workshop
Nicholas Vossburg
 
Designing APIs with OpenAPI Spec
Adam Paxton
 
apidays London 2022 - Designing high-value data models with an API-first mind...
apidays
 
Introduction to AWS API Gateway Presentation
Knoldus Inc.
 
API Management within a Microservice Architecture
WSO2
 
Application Migration: How to Start, Scale and Succeed
VMware Tanzu
 
MuleSoft PKO - C4E and Platform Insights
Angel Alberici
 
Postman Webinar: "API Governance with Postman"
Postman
 
Redhat Open Day - Integracion JBoss Fuse A-MQ
Adrian Gigante
 
Api management best practices with wso2 api manager
Chanaka Fernando
 

Similar to apidays Paris 2022 - Generating APIs from business models, Frederic Fontanet, UMLTech (20)

PPTX
apidays LIVE Paris 2021 - Generating OpenAPIs from business models by Frederi...
apidays
 
PPTX
APIs with Bounded Contexts: Modelling Apis with Domain-Driven Design
José Haro Peralta
 
PPT
Effective API Design
Bansilal Haudakari
 
PDF
apidays Australia 2022 - API design challenges and making APIs your common la...
apidays
 
PPTX
Api design part 1
Ibrahim Elsawaf
 
PPT
How to design effective APIs
Bansilal Haudakari
 
PDF
Building An Api Product Design Implement And Release Api Products That Meet U...
carrerhoadlw
 
PDF
O'Reilly SACon San Jose, CA - 2019 - API design tutorial
Tom Hofte
 
PDF
MuleSoft Surat Meetup#39 - Pragmatic API Led Connectivity
Jitendra Bafna
 
PPTX
10 steps to design and build the perfect
Son Nguyen
 
PPTX
INTERFACE, by apidays - Design for your API customers with APIOps Cycles by ...
apidays
 
PDF
INTERFACE, by apidays - Scaling APIs
apidays
 
PPTX
Navigating the Post-OpenAPI Era with Innovative API Design Frameworks - Danie...
Nordic APIs
 
PPTX
Building a REST API for Longevity
MuleSoft
 
PDF
API Development – Complete Guide to Developing Robust APIs
Cerebrum Infotech
 
PDF
apidays LIVE LONDON - API platform strategy and operating models by Kiran Nadgir
apidays
 
PPTX
apidays LIVE India 2022_Breaking boundaries of the Old Giant.pptx
apidays
 
PDF
5 Keys to API Design - API Days Paris 2013
Daniel Feist
 
PDF
Building API Products
James Samuel
 
PDF
"API Design: From User Need to Finished Spec" by Andrew Jordan, ex-Product @T...
TheFamily
 
apidays LIVE Paris 2021 - Generating OpenAPIs from business models by Frederi...
apidays
 
APIs with Bounded Contexts: Modelling Apis with Domain-Driven Design
José Haro Peralta
 
Effective API Design
Bansilal Haudakari
 
apidays Australia 2022 - API design challenges and making APIs your common la...
apidays
 
Api design part 1
Ibrahim Elsawaf
 
How to design effective APIs
Bansilal Haudakari
 
Building An Api Product Design Implement And Release Api Products That Meet U...
carrerhoadlw
 
O'Reilly SACon San Jose, CA - 2019 - API design tutorial
Tom Hofte
 
MuleSoft Surat Meetup#39 - Pragmatic API Led Connectivity
Jitendra Bafna
 
10 steps to design and build the perfect
Son Nguyen
 
INTERFACE, by apidays - Design for your API customers with APIOps Cycles by ...
apidays
 
INTERFACE, by apidays - Scaling APIs
apidays
 
Navigating the Post-OpenAPI Era with Innovative API Design Frameworks - Danie...
Nordic APIs
 
Building a REST API for Longevity
MuleSoft
 
API Development – Complete Guide to Developing Robust APIs
Cerebrum Infotech
 
apidays LIVE LONDON - API platform strategy and operating models by Kiran Nadgir
apidays
 
apidays LIVE India 2022_Breaking boundaries of the Old Giant.pptx
apidays
 
5 Keys to API Design - API Days Paris 2013
Daniel Feist
 
Building API Products
James Samuel
 
"API Design: From User Need to Finished Spec" by Andrew Jordan, ex-Product @T...
TheFamily
 
Ad

More from apidays (20)

PDF
apidays Munich 2025 - Let’s build, debug and test a magic MCP server in Postm...
apidays
 
PDF
apidays Munich 2025 - The life-changing magic of great API docs, Jens Fischer...
apidays
 
PDF
apidays Munich 2025 - Automating Operations Without Reinventing the Wheel, Ma...
apidays
 
PDF
apidays Munich 2025 - Geospatial Artificial Intelligence (GeoAI) with OGC API...
apidays
 
PPTX
apidays Munich 2025 - GraphQL 101: I won't REST, until you GraphQL, Surbhi Si...
apidays
 
PPTX
apidays Munich 2025 - Effectively incorporating API Security into the overall...
apidays
 
PPTX
apidays Munich 2025 - Federated API Management and Governance, Vince Baker (D...
apidays
 
PPTX
apidays Munich 2025 - Agentic AI: A Friend or Foe?, Merja Kajava (Aavista Oy)
apidays
 
PPTX
apidays Munich 2025 - Streamline & Secure LLM Traffic with APISIX AI Gateway ...
apidays
 
PPTX
apidays Munich 2025 - Building Telco-Aware Apps with Open Gateway APIs, Subhr...
apidays
 
PPTX
apidays Munich 2025 - Building an AWS Serverless Application with Terraform, ...
apidays
 
PDF
apidays Helsinki & North 2025 - REST in Peace? Hunting the Dominant Design fo...
apidays
 
PDF
apidays Helsinki & North 2025 - Monetizing AI APIs: The New API Economy, Alla...
apidays
 
PDF
apidays Helsinki & North 2025 - How (not) to run a Graphql Stewardship Group,...
apidays
 
PDF
apidays Helsinki & North 2025 - APIs in the healthcare sector: hospitals inte...
apidays
 
PDF
apidays Helsinki & North 2025 - API-Powered Journeys: Mobility in an API-Driv...
apidays
 
PDF
Avatar for apidays apidays PRO June 07, 2025 0 5 apidays Helsinki & North 2...
apidays
 
PPTX
apidays Helsinki & North 2025 - Vero APIs - Experiences of API development in...
apidays
 
PPTX
apidays Helsinki & North 2025 - From Chaos to Clarity: Designing (AI-Ready) A...
apidays
 
PPTX
apidays Helsinki & North 2025 - Running a Successful API Program: Best Practi...
apidays
 
apidays Munich 2025 - Let’s build, debug and test a magic MCP server in Postm...
apidays
 
apidays Munich 2025 - The life-changing magic of great API docs, Jens Fischer...
apidays
 
apidays Munich 2025 - Automating Operations Without Reinventing the Wheel, Ma...
apidays
 
apidays Munich 2025 - Geospatial Artificial Intelligence (GeoAI) with OGC API...
apidays
 
apidays Munich 2025 - GraphQL 101: I won't REST, until you GraphQL, Surbhi Si...
apidays
 
apidays Munich 2025 - Effectively incorporating API Security into the overall...
apidays
 
apidays Munich 2025 - Federated API Management and Governance, Vince Baker (D...
apidays
 
apidays Munich 2025 - Agentic AI: A Friend or Foe?, Merja Kajava (Aavista Oy)
apidays
 
apidays Munich 2025 - Streamline & Secure LLM Traffic with APISIX AI Gateway ...
apidays
 
apidays Munich 2025 - Building Telco-Aware Apps with Open Gateway APIs, Subhr...
apidays
 
apidays Munich 2025 - Building an AWS Serverless Application with Terraform, ...
apidays
 
apidays Helsinki & North 2025 - REST in Peace? Hunting the Dominant Design fo...
apidays
 
apidays Helsinki & North 2025 - Monetizing AI APIs: The New API Economy, Alla...
apidays
 
apidays Helsinki & North 2025 - How (not) to run a Graphql Stewardship Group,...
apidays
 
apidays Helsinki & North 2025 - APIs in the healthcare sector: hospitals inte...
apidays
 
apidays Helsinki & North 2025 - API-Powered Journeys: Mobility in an API-Driv...
apidays
 
Avatar for apidays apidays PRO June 07, 2025 0 5 apidays Helsinki & North 2...
apidays
 
apidays Helsinki & North 2025 - Vero APIs - Experiences of API development in...
apidays
 
apidays Helsinki & North 2025 - From Chaos to Clarity: Designing (AI-Ready) A...
apidays
 
apidays Helsinki & North 2025 - Running a Successful API Program: Best Practi...
apidays
 
Ad

Recently uploaded (20)

PPT
1 DATALINK CONTROL and it's applications
karunanidhilithesh
 
PDF
MusicVideoProjectRubric Animation production music video.pdf
ALBERTIANCASUGA
 
PDF
Web Scraping with Google Gemini 2.0 .pdf
Tamanna
 
PPTX
Numbers of a nation: how we estimate population statistics | Accessible slides
Office for National Statistics
 
PDF
WEF_Future_of_Global_Fintech_Second_Edition_2025.pdf
AproximacionAlFuturo
 
PDF
Context Engineering vs. Prompt Engineering, A Comprehensive Guide.pdf
Tamanna
 
PPTX
Slide studies GC- CRC - PC - HNC baru.pptx
LLen8
 
PPTX
Advanced_NLP_with_Transformers_PPT_final 50.pptx
Shiwani Gupta
 
PPTX
加拿大尼亚加拉学院毕业证书{Niagara在读证明信Niagara成绩单修改}复刻
Taqyea
 
PPTX
recruitment Presentation.pptxhdhshhshshhehh
devraj40467
 
PPTX
Climate Action.pptx action plan for climate
justfortalabat
 
PPTX
Hadoop_EcoSystem slide by CIDAC India.pptx
migbaruget
 
PPTX
Usage of Power BI for Pharmaceutical Data analysis.pptx
Anisha Herala
 
PDF
How to Connect Your On-Premises Site to AWS Using Site-to-Site VPN.pdf
Tamanna
 
PPTX
Introduction to Artificial Intelligence.pptx
StarToon1
 
PPT
Data base management system Transactions.ppt
gandhamcharan2006
 
PPT
01 presentation finyyyal معهد معايره.ppt
eltohamym057
 
PPTX
Rocket-Launched-PowerPoint-Template.pptx
Arden31
 
PDF
What does good look like - CRAP Brighton 8 July 2025
Jan Kierzyk
 
PDF
T2_01 Apuntes La Materia.pdfxxxxxxxxxxxxxxxxxxxxxxxxxxxxxskksk
mathiasdasilvabarcia
 
1 DATALINK CONTROL and it's applications
karunanidhilithesh
 
MusicVideoProjectRubric Animation production music video.pdf
ALBERTIANCASUGA
 
Web Scraping with Google Gemini 2.0 .pdf
Tamanna
 
Numbers of a nation: how we estimate population statistics | Accessible slides
Office for National Statistics
 
WEF_Future_of_Global_Fintech_Second_Edition_2025.pdf
AproximacionAlFuturo
 
Context Engineering vs. Prompt Engineering, A Comprehensive Guide.pdf
Tamanna
 
Slide studies GC- CRC - PC - HNC baru.pptx
LLen8
 
Advanced_NLP_with_Transformers_PPT_final 50.pptx
Shiwani Gupta
 
加拿大尼亚加拉学院毕业证书{Niagara在读证明信Niagara成绩单修改}复刻
Taqyea
 
recruitment Presentation.pptxhdhshhshshhehh
devraj40467
 
Climate Action.pptx action plan for climate
justfortalabat
 
Hadoop_EcoSystem slide by CIDAC India.pptx
migbaruget
 
Usage of Power BI for Pharmaceutical Data analysis.pptx
Anisha Herala
 
How to Connect Your On-Premises Site to AWS Using Site-to-Site VPN.pdf
Tamanna
 
Introduction to Artificial Intelligence.pptx
StarToon1
 
Data base management system Transactions.ppt
gandhamcharan2006
 
01 presentation finyyyal معهد معايره.ppt
eltohamym057
 
Rocket-Launched-PowerPoint-Template.pptx
Arden31
 
What does good look like - CRAP Brighton 8 July 2025
Jan Kierzyk
 
T2_01 Apuntes La Materia.pdfxxxxxxxxxxxxxxxxxxxxxxxxxxxxxskksk
mathiasdasilvabarcia
 

apidays Paris 2022 - Generating APIs from business models, Frederic Fontanet, UMLTech

  • 1. Generating Open APIs from Business Models High productivity and consistency A global business approach
  • 2. 2023 SERIES OF EVENT New York May 16&17 Australia October 11&12 Singapore April 12&13 Helsinki & North June 5&6 Paris SEPTEMBER London November 15&16 June 28-30 SILICON VALLEY March 14&15 Dubai & Middle East February 22&23
  • 3. Business and technical stakeholders  GAP APIs: issues on ‘traditionnal’ design Complexity of http rules, patterns and API conventions Lack of diagrams to discuss about the business concepts Lack of consistency of the entity definitions
  • 5. 4 Which way for a business approach? Provided operations Whishing that … Business requirements Exposed resources Customer journey
  • 6. 5 ‘’We need 50 business analysts knowing HTTP or 50 API designers knowing business’’ subsidiary Product owners and API designers gap
  • 7. 6 Increase abstraction Increasing automation and consistency at the entreprise level involves increasing abstraction (formal models / grammars)
  • 8.  Provides diagrams  Allows Object Oriented Design  Very good feed-back and involvements from business stakeholders  Provides METADATA  UML is a standard  Matches many of the API design requirements 7 UML Model as a (business) formal model
  • 9. 8 UML coverage of OAS (v3.x) Features Schemas Objects concepts (polymorphism, inheritance…) Operations Servers Paths (endpoints) - Parameters / request body / header parameters Responses Links Callbacks Examples Security -
  • 10. Technical design HTTP specifications Security Infra Business Requirements Scenarios (narrative use cases) Business requirements Use cases identification Formal Models Contracts Definitions (structural schémas) Functional design APIs: a Business and Enterprise approach Totally API first approach
  • 11. From the use cases to the model 1) Decompose the business process 2) Remove irrelevante steps … 12) Valid the operations Candidates ‘services’ Business use case From the requirements and business processes… … services items are identified (operations, entities, properties, rules) … then derived into concrete ‘APIs’ (UML models) APIs in the model
  • 13. 12 Need of consistency 50 API designers (no automatisation, a dedicated reviewer team) 2 API designers, no reviewer team
  • 14. One model to rule them all Schema Avro To be coming One global enterprise business data model
  • 15. 14 API FinancialProduct API Mobility quotation API Retail quotation API Context sharing A business data entity is designed once for all APIs (enterprise level) Then, the relative schema(s) is(are) taylored for each API Consistency on schemas Diagrams are intentionally blurred
  • 17. 16 Tayloring a schema Select the properties for an API Take into account … or not …the new properties Text is intentionally blurred
  • 18. 17 API #2 API #4 API #3 API #1 A business data entity is designed once for all APIs (enterprise level) Then, the relative schema(s) is(are) taylored for each API Update / add / remove a property
  • 19. Examples updated automatically Data model (UML) Instances (UML) API #2 API #4 API #3 API #1 Examples (Json)
  • 20. Consistency on links Links definition is managed
  • 22. 21 APIs are monitored by a linter HTTP rules engine (linter)
  • 25. 24 Productivity: creating operations and parameters Functional design Operations from a business view Technical design http and security design YAML
  • 26. 25 Productivity: generating schemas Business entities (Enterprise level) Fitting the business entity to the API YAML
  • 27. 26 Governance: roles (analysis to design) Business experts Product owner Business experts functional designers API Designers UML models 30 to 35% 1 to 5% 60 to 65%
  • 28. 27 Conclusion  Think business … not technical design  Increase abstraction  models (UML, specific DSL)  Apply patterns  Automate the transformation from the models to the APIs  Tools:  Any UML Modeler (based on EMF) 
  • 31. 30 Swapi in a nutshell o Designed for designing at the enterprise level, and to focus on business o Help to improve the abstraction and the reusability o X30 to x50 faster than regular tools, with less errors and higher consistency (intra and inter apis) o HTTP Rules engine (fix errors) o Versioning + comparator of versions o Full coverage of the OpenAPI specifications o Schemas / security / HATEOAS / Callbacks / Headers… o Still in development (> 200 000 lines of codes) but already operational in a major french bank
  • 33. Use cases: Narrative use case  writing the functional solution One nominal scenario A set of alternatives A set of extensions
  • 34. Applying patterns • A pattern provides a proven solution to a common problem o API and µ-services patterns  https://patterns.arcitura.com/ CQRS pattern
  • 35. UML Model: schemas, inheritance Same schema nature
  • 37. 36 Swapi: a powerful versions comparator
  • 38. APIs: from requirements to code … (personal) actual observations 37 Business requirements Functional design Technical design REST/HTTP Coding Consistent code Rich generated code Shared libraries API, µ-services: principles and patterns applied Strong interactions with business stakeholders Object Oriented Design requirements Automatic / guided design APIs editors paths: /customers: get: summary: "" description: "" operationId: "getCustomer" parameters: - in: "body" name: "customer" description: "" required: true schema: $ref: "#/definitions/Customer" responses: 201: description: "" schema: type: "integer" format: "int32" Manual design low consistency ‘Simple’ code Low consistency Methods in enterprises X ‘Simple’ code Low consistency paths: /customers: get: summary: "" description: "" operationId: "getCustomer" parameters: - in: "body" name: "customer" description: "" required: true schema: $ref: "#/definitions/Customer" responses: 201: description: "" schema: type: "integer" format: "int32" Manual design low consistency Low interactions with business stakeholders requirements
  • 39. Avro schema Designer: from model to Java 38 Schema Avro Schema Avro Java Designing the specific message Many different schemas from the same model Schema Avro Serializer Data Schema Avro Deserializer Data Data model