sebastian pettersson, pulsen b henrik karlsson, pulsen · sebastian pettersson, pulsen. b. jÖrn...
TRANSCRIPT
SEBASTIAN PETTERSSON, PULSEN
BJÖRN WALLIN, PULSEN
HENRIK KARLSSON, PULSEN
API – What, Why & How
AGENDA
PULSEN Integration Maturity Model
API – What?
API – Why? API Economy API Self service API Design
API – How? API Strategy API Management Application network
API – Demo Mulesoft Twitter
OptimizedManaged
DefinedDeveloping
Initial
Digital Platform
AD HOC• Individual initatives(Shadow IT)• Re-active, built by accident• None supportable
IT DRIVEN• Micro-services• Containerization• Serverless computing• Inside-Out Aproach
ORGANIZED• Digital strategy• Open Platform 3.0• Devops culture
BUSINESS DRIVEN• Technology-enabled business model.• Digital Ecosystems• Outside – in aproach
INNOVATION & INTELLIGENCE DRIVEN• Evolution of new business models• AI and Anlytic Influences• Predective and corrective
Cloud – Hybrid integration
AD HOC• Individual initatives(Shadow IT)• Solutions emerges when need arises.
IT DRIVEN• Cost control (TCO)• Service initiative (SaaS/iPass)• Hybrid setups• IT Strategy related
GOVERNED• Cloud strategies & roadmap• Cloud integration strategies• Dev-ops
BUSINESS DRIVEN• Faster time market• Cost effiecent/pay as you go models• Elastic(scalable)
INTELLIGENCE & INNOVATION DRIVEN• New services availible• New delivery models• KPIs metrics
API CapabiltyAD HOC• Single person initiative
IT-Driven• Internal focus• API Gateway focused
GOVERNED• implemented• Self service
BUSINESS DRIVEN• Re-imaging core processes• API Strategy• API Economy• B2B Driver
INTELLIGENCE DRIVEN• API Analytics• KPIs and metrics
TraditionalIntegration
BASIC• File transfers• One-off integrations• Person dependent.• Builds technical debt
IT DRIVEN• Centralised (ICC)• Integration Platform centric• High ceremony• Documentation driven• Process and template oriented• Monitors technology
GOVERNED• Monitored and governance• Reference architecture• Intergation demand and delivery
porocess• CI/CD Implented(Build/Deploy)• Canonical models
BUSINESS DRIVEN• Cost effiency by reuse• Distributed• C4E rather than ICC• Low ceremony, good enugh
INTELLIGENCE DRIVEN• KPIs• Metrics
Informationmanagement.
AD HOC• Ad-hoc projects• Data retreived from various sources
ESTBLISHED• Information Model• Organisation around Information
Management• Policies
GOVERNED• Information Management Strategy• Stewardship• Documented standards and policies• Technical platform
BUSINESS DRIVEN• Workflow created• Holistic approach to Info Man.• Integrated information and business
silos• Continious improvement of data quality
INTELLIGENCE DRIVEN• Strategy and standards aligned within
the entire org.• Data analytic
PULSEN INTEGRATION –MATURITY MODEL
MATURITY MODELAPI CAPABILITY
INNOVATION & INTELLIGENCE DRIVENBUSINESS DRIVEN
GOVERNEDIT DRIVEN
AD HOC
API Capabilty
• Single person initiative• Developer driven
• IT Focused(proxy )• API Gateway focused• Control focused (Throttling)• Cost oriented
• API Lifecycle defined and implemented• API Management• Self service
• Re-imaging core processes• API Strategy• API Economy• B2B Driver
• API Analytics• KPIs and metrics
API - WHAT?
In computer programming, an application programming interface (API) is a set of subroutine definitions, communication protocols, and tools for building
software.
In general terms, it is a set of clearly defined methods of communication between various components.
…
Wikipedia, The free encyclopedia
Application Programming Interface (API) Specification how to call/use a program/service/resource May be based on HTTP (but not necessarily)
Service Well defined function which makes data and functionality accessible to address and call (remote) in a
standardised way in a service oriented architecture (but not limited to web service/SOAP) Has an interface, an API May be based on HTTP (but not necessarily)
Web Services are (according to W3C) XML-based internet API:s (typical SOAP)
Representational State Transfer (REST) is an easier way to implement services based directly on the HTTP protocol
API – WHAT?
WHAT IS REST?WHAT IS AN API?
“In computer programming, an application programming interface (API) is a set of subroutine definitions, protocols, and tools for building application software. …”
According to Wikipedia.
https://martinfowler.com/articles/richardsonMaturityModel.html
API – WHAT?
DISTINGUISH API (INTERFACE) FROM IMPLEMENTATION (APPLICATION)!
An API can be implemented and exposed by: Enterprise systems Stand alone (web) applications (eg Java, DotNet, PHP) Applications/modules in integration platforms/ESB (eg Mule) Etc…
The API ought to (should) be unaffected if/when the implementation is changed
Different life cycles, version 2.3.1 of the application may still expose version 1.0 of the API
API - WHY?
API – ECONOMY
Information
Products
Products
AssetOwner
APIs
Provides access to assets
Use applications and artifactand provide value to developers, APIs and assets
End Consumer
Data Consumers
APPs
Delivers rich customer experience
API – LEGACY ENABLERS
API --------------
API-------------
API --------------
Slow Speed
FastSpeed
RENOVATE INNOVATE
API – WHY?
What we want to achieve (in general) :
Loose coupling
interchangeability
Distinguish between:
API (interface specification)
Implementation (application)
Client Client
API
Implementation
Not affected
System System
Stable
Changeble
Add/remove/update
API – WHY?
A common mistake is to mirror the backend systems functionality and data model in the API.
I.e. changes in the backend will affect the API and thereby the clients
Design the API based on generalised functionality and data.
Ideally a general and standardised, ”canonical”, data model
And/or, “experience” API:s adapted to the consumer
LOOSE COUPLING – DESIGN DEMANDS
API – HOW?
EMPOWER THE DEVELOPER
Speed of Application DevelopmentDiscoverableSelf serviceReusable AssetsDocumented by Design
EMPOWER THE BUSINESS
Faster time to marketNew business modelsExpand brand reachReach dev & partner ecosystemsMonetize existing assets
API - STRATEGY
SYSTEM APIs / Integration Layer
BUSINESS APIs / Process Layer
UX APIs /Experience Layer
APP DEVICESSoR
Web DevicesApp
Use
rS
yste
m
IoT
Transactional
Conversational
Year
s -S
peed
of c
hang
e -W
eeks
API – The Layered Approach
What we desire using API MS
ScalabilitySimplicitySelf serviceConsumer adaptionReusability
API Architecture
API MGMT ESB
API Management Solution – How it fits
API MANAGEMENT SOLUTION• Customer engaging• Self enrollment• Self service• Easy to use and find• Self explanatory
API Developer
portal
• Design• Development (HL)• Publishing• Scalability• Monitoring• Analysis• Monetization
API Management
• The Runtime• Enforcing security• Executing policies (eg Rate Limiting)• Doing mediation• Facilitates Logging
API Gateway
APPLICATION NETWORK Over time when exposing systems and business objects as services/API:s we get a lot of
reusable assets to base new applications on.
New composite and adapted API:s can be quickly built on top of the existing assets to meet new demands.
We get flexibility, quality assuranceand save time (=decrease cost)
We get an application network
C4E To build an application network we need: Control over API usage Who uses what? Authentication and authorization Service Level Agreements Load control Etc…
Knowledge and tools to find, consume and build API:s API registry with documentation API-dokumentation/register (API
portals) Test tools Tools to design and implement API:s
I.e. we need an API-Management solution
And we need self-service ICC/Center of Excellence (CoE) Center for Enablement (C4E)
API – Demo!
MQTT BrokerslackAPP lightsAPP
PRISMA: ”Pulsen IAM: Del 2 – trender och teknik för morgondagens utmaningar”GALA 1: ”GDPR, erfarenheterna från de första månaderna”GALA 2: ”Västtrafik: Var är bussen? Öppen data, API:eroch microservices skapar nöjdare resenärer”
10:45