sebastian pettersson, pulsen b henrik karlsson, pulsen · sebastian pettersson, pulsen. b. jÖrn...

26

Upload: others

Post on 22-May-2020

13 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: SEBASTIAN PETTERSSON, PULSEN B HENRIK KARLSSON, PULSEN · sebastian pettersson, pulsen. b. jÖrn wallin, pulsen. h. enrik karlsson, pulsen. api – what, why & how
Page 2: SEBASTIAN PETTERSSON, PULSEN B HENRIK KARLSSON, PULSEN · sebastian pettersson, pulsen. b. jÖrn wallin, pulsen. h. enrik karlsson, pulsen. api – what, why & how

SEBASTIAN PETTERSSON, PULSEN

BJÖRN WALLIN, PULSEN

HENRIK KARLSSON, PULSEN

API – What, Why & How

Page 3: SEBASTIAN PETTERSSON, PULSEN B HENRIK KARLSSON, PULSEN · sebastian pettersson, pulsen. b. jÖrn wallin, pulsen. h. enrik 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

Page 4: SEBASTIAN PETTERSSON, PULSEN B HENRIK KARLSSON, PULSEN · sebastian pettersson, pulsen. b. jÖrn wallin, pulsen. h. enrik karlsson, pulsen. api – what, why & how

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

Page 5: SEBASTIAN PETTERSSON, PULSEN B HENRIK KARLSSON, PULSEN · sebastian pettersson, pulsen. b. jÖrn wallin, pulsen. h. enrik karlsson, pulsen. api – what, why & how

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

Page 6: SEBASTIAN PETTERSSON, PULSEN B HENRIK KARLSSON, PULSEN · sebastian pettersson, pulsen. b. jÖrn wallin, pulsen. h. enrik karlsson, pulsen. api – what, why & how

API - WHAT?

Page 7: SEBASTIAN PETTERSSON, PULSEN B HENRIK KARLSSON, PULSEN · sebastian pettersson, pulsen. b. jÖrn wallin, pulsen. h. enrik karlsson, pulsen. api – what, why & how

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

Page 8: SEBASTIAN PETTERSSON, PULSEN B HENRIK KARLSSON, PULSEN · sebastian pettersson, pulsen. b. jÖrn wallin, pulsen. h. enrik karlsson, pulsen. api – what, why & how

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?

Page 9: SEBASTIAN PETTERSSON, PULSEN B HENRIK KARLSSON, PULSEN · sebastian pettersson, pulsen. b. jÖrn wallin, pulsen. h. enrik karlsson, pulsen. api – what, why & how

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

Page 10: SEBASTIAN PETTERSSON, PULSEN B HENRIK KARLSSON, PULSEN · sebastian pettersson, pulsen. b. jÖrn wallin, pulsen. h. enrik karlsson, pulsen. api – what, why & how

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

Page 11: SEBASTIAN PETTERSSON, PULSEN B HENRIK KARLSSON, PULSEN · sebastian pettersson, pulsen. b. jÖrn wallin, pulsen. h. enrik karlsson, pulsen. api – what, why & how

API - WHY?

Page 12: SEBASTIAN PETTERSSON, PULSEN B HENRIK KARLSSON, PULSEN · sebastian pettersson, pulsen. b. jÖrn wallin, pulsen. h. enrik karlsson, pulsen. api – what, why & how

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

Page 13: SEBASTIAN PETTERSSON, PULSEN B HENRIK KARLSSON, PULSEN · sebastian pettersson, pulsen. b. jÖrn wallin, pulsen. h. enrik karlsson, pulsen. api – what, why & how

API – LEGACY ENABLERS

API --------------

API-------------

API --------------

Slow Speed

FastSpeed

RENOVATE INNOVATE

Page 14: SEBASTIAN PETTERSSON, PULSEN B HENRIK KARLSSON, PULSEN · sebastian pettersson, pulsen. b. jÖrn wallin, pulsen. h. enrik karlsson, pulsen. api – what, why & how

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

Page 15: SEBASTIAN PETTERSSON, PULSEN B HENRIK KARLSSON, PULSEN · sebastian pettersson, pulsen. b. jÖrn wallin, pulsen. h. enrik karlsson, pulsen. api – what, why & how

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

Page 16: SEBASTIAN PETTERSSON, PULSEN B HENRIK KARLSSON, PULSEN · sebastian pettersson, pulsen. b. jÖrn wallin, pulsen. h. enrik karlsson, pulsen. api – what, why & how

API – HOW?

Page 17: SEBASTIAN PETTERSSON, PULSEN B HENRIK KARLSSON, PULSEN · sebastian pettersson, pulsen. b. jÖrn wallin, pulsen. h. enrik karlsson, pulsen. api – what, why & 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

Page 18: SEBASTIAN PETTERSSON, PULSEN B HENRIK KARLSSON, PULSEN · sebastian pettersson, pulsen. b. jÖrn wallin, pulsen. h. enrik karlsson, pulsen. api – what, why & how

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

Page 19: SEBASTIAN PETTERSSON, PULSEN B HENRIK KARLSSON, PULSEN · sebastian pettersson, pulsen. b. jÖrn wallin, pulsen. h. enrik karlsson, pulsen. api – what, why & how

What we desire using API MS

ScalabilitySimplicitySelf serviceConsumer adaptionReusability

API Architecture

API MGMT ESB

API Management Solution – How it fits

Page 20: SEBASTIAN PETTERSSON, PULSEN B HENRIK KARLSSON, PULSEN · sebastian pettersson, pulsen. b. jÖrn wallin, pulsen. h. enrik karlsson, pulsen. api – what, why & how

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

Page 21: SEBASTIAN PETTERSSON, PULSEN B HENRIK KARLSSON, PULSEN · sebastian pettersson, pulsen. b. jÖrn wallin, pulsen. h. enrik karlsson, pulsen. api – what, why & how

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

Page 22: SEBASTIAN PETTERSSON, PULSEN B HENRIK KARLSSON, PULSEN · sebastian pettersson, pulsen. b. jÖrn wallin, pulsen. h. enrik karlsson, pulsen. api – what, why & how

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)

Page 23: SEBASTIAN PETTERSSON, PULSEN B HENRIK KARLSSON, PULSEN · sebastian pettersson, pulsen. b. jÖrn wallin, pulsen. h. enrik karlsson, pulsen. api – what, why & how

API – Demo!

Page 24: SEBASTIAN PETTERSSON, PULSEN B HENRIK KARLSSON, PULSEN · sebastian pettersson, pulsen. b. jÖrn wallin, pulsen. h. enrik karlsson, pulsen. api – what, why & how

MQTT BrokerslackAPP lightsAPP

Page 25: SEBASTIAN PETTERSSON, PULSEN B HENRIK KARLSSON, PULSEN · sebastian pettersson, pulsen. b. jÖrn wallin, pulsen. h. enrik karlsson, pulsen. api – what, why & how

Sebastian, Björn & [email protected]

[email protected]

TACK!

Page 26: SEBASTIAN PETTERSSON, PULSEN B HENRIK KARLSSON, PULSEN · sebastian pettersson, pulsen. b. jÖrn wallin, pulsen. h. enrik karlsson, pulsen. api – what, why & how

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