01 App Networks
01 App Networks
Module 1: Introducing
Application Networks and
API-Led Connectivity
1
4/29/18
n
t i ti o
pe
om
lc
i ta
Demands on IT
g
Di
b ile ic s
Mo a ly t
a t a , An
D
B ig
S
nd S aa
Cloud a
IT delivery capacity
Time
Today
2
4/29/18
p
y ga
deliver e ti t
io n
IT ut pe
sive bsol
Mas ng an a e co
m
ti g al
crea to chan i t
Demands on IT
g
e d Di
ne b ile l y ti c
s
Mo A na
t a ,
Da
B ig
S
nd S aa
Cloud a
IT delivery capacity
Time
Today
New IT
operating
Consumption and model
innovation
IT delivery
capacity
Enablement and assets
Time
Today
3
4/29/18
service New IT
a cce ss s fo r
ing dat
a n d re s a operating
o u rce s Consumption and model
innovation
IT delivery
capacity
Enablement and assets
Time
Today
4
4/29/18
Discoverable
Reusable
assets
Feedback and
usage metrics
Self-service
Production
Central IT / LoB IT
All contents © MuleSoft Inc. 9
5
4/29/18
Difficult to govern
Aggregated
? Meets business requirements customer data
6 months later…
mobile
Mobile API Web app API
Integration project
Aggregated Aggregated
customer data customer data
6
4/29/18
Order
status Process
Order
history APIs
Customers
Orders
System
SAP Salesforce
customers customers
APIs
7
4/29/18
Order
Shipment status Process
Order
status history APIs
Customers
Orders
System
Toll UPS SAP Salesforce
shipments shipments customers customers
APIs
8
4/29/18
Tight coupling
Designs = brittleness
in readiness for change Process
APIs
Builds in governance, compliance,
Difficult to govern
security, and scalability
System
? Meets business
the needsrequirements
of your business APIs
Central
• C4E ensures that assets are
IT – Productized and published
– Consumable
Center for – Consumed broadly
enablement
– Fully leveraged
(C4E)
9
4/29/18
Achieving an application
network
Application landscape
10
4/29/18
Project 1 –
API-led
Project 1 –
API-led
C4E
Self-serve assets
on the
application network
Order
status
Shipments Orders
Shipment
Customers
status
11
4/29/18
Project 1 –
API-led
C4E
Self-serve assets
on the
application network
Order
status
Shipments Orders
Shipment
Customers
status
Speed. Agility.
Application Innovation.
landscape
An application network
• Emerges bottoms-up via self-service
12
4/29/18
Deconstructing APIs
13
4/29/18
2. A web service
– The actual API implementation you can make calls to or the interface of that API
implementation
3. An API proxy
– An application that controls access to a web service, restricting access and usage
through the use of an API gateway
14
4/29/18
• Different software systems often need to exchange data with each other
– Bridging protocols, platforms, programming languages, and hardware architectures
15
4/29/18
16
4/29/18
• Other systems interact with the web service using the HTTP protocol
• (GET)/companies
• (GET)/companies?country=France
• (GET)/companies/3
• (POST)/companies with JSON/XML in HTTP body
• (DELETE)/companies/3
• (PUT)/companies/3 with JSON/XML in HTTP body
17
4/29/18
18
4/29/18
• API documentation
– Should include the list of all possible resources, how to get access to the API,
and more
• API portals
– Accelerate onboarding by providing developers a centralized place for discovering
all the tools they need to successfully use the API, which could include
• Documentation, tutorials, code snippets, and examples
• A way to register applications to get access to the API
• A way to provide feedback and make requests
• A way to test the API by making calls to it
19
4/29/18
• To call web services, you need to write code or have a tool to make
the HTTP requests
– Need to be able to specify the HTTP method, request headers, and request body
20
4/29/18
• Unsecured APIs
– The API may be public and require no authentication
• Secured APIs
– The API may be secured and require authentication
– You may need to provide credentials and/or a token
– Often a proxy is created to govern access to an API
– We will call and then later create an API secured by credentials
– You can also secure an API with other authentication protocols
• OAuth, SAML, JWT, and more
• RESTful web services return an HTTP status code with the response
• The status code provides client feedback for the outcome of the
operation (succeeded, failed, updated)
– A good API should return status codes that align with the HTTP spec
21
4/29/18
500 Server error – Generic something went wrong on the server All
side
All contents © MuleSoft Inc. 43
22
4/29/18
Successfully creating
application networks using
API-led connectivity
Discoverable
Reusable
assets
Feedback and
usage metrics
Self-service
Production
Central IT / LoB IT
All contents © MuleSoft Inc. 46
23
4/29/18
• Create APIs that developers can find and want to use and share
with others
– Design the API for the business use cases it will fulfill, not to model the backend
services or applications they expose
– Focus on performance of client applications and user experience
Service
with APIs
API
Spec
24
4/29/18
Summary
Summary
25
4/29/18
Summary
• The term API is often used to refer to any part of RESTful web service
– The web service API (definition or specification file)
– The web service interface implementing the API
– The web service implementation itself
– A proxy for the web service to control access to it
• RESTful web services use standard HTTP protocol and are easy to use
– The HTTP request method indicates which operation should be performed on the
object identified by the URL
All contents © MuleSoft Inc. 51
26