37
1 © 2015 IBM Corporation © 2017 IBM Corporation Z IBM Z and it’s place in an Innovative Journey Frank van der Wal [email protected] Digital Transformation Specialist, IBM Europe

NRB - LUXEMBOURG MAINFRAME DAY 2017 - IBM Z

  • Upload
    nrb

  • View
    74

  • Download
    1

Embed Size (px)

Citation preview

Page 1: NRB - LUXEMBOURG MAINFRAME DAY 2017 - IBM Z

1 © 2015 IBM Corporation© 2017 IBM Corporation

Z

IBM Z and it’s place in an Innovative Journey

Frank van der Wal

[email protected] Transformation Specialist, IBM Europe

Page 2: NRB - LUXEMBOURG MAINFRAME DAY 2017 - IBM Z

2 ©2017 IBMCorporation2 © 2017 IBM Corporation2 ©2017 IBMCorporation2 © 2017 IBM Corporation

2

The digital shift: consumerisation of IT; digital business and the API Economy

Page 3: NRB - LUXEMBOURG MAINFRAME DAY 2017 - IBM Z

3 ©2017 IBMCorporation3 © 2017 IBM Corporation3 ©2017 IBMCorporation3 © 2017 IBM Corporation

The Hybrid Cloud Challenge… fueled by the API Economy

sources: programmableweb.com, venturescanner.com

Over18,401publicAPIsandGrowinghttps://www.programmableweb.com/category/all/apis

Page 4: NRB - LUXEMBOURG MAINFRAME DAY 2017 - IBM Z

4 ©2017 IBMCorporation4 © 2017 IBM Corporation4 ©2017 IBMCorporation4 © 2017 IBM Corporation

The Hybrid Cloud Challenge… fueled by the API Economy

sources: programmableweb.com, venturescanner.com

Over18,401publicAPIsandGrowinghttps://www.programmableweb.com/category/all/apis

Flexibility and speed to market of new solutions

Monetization of existing back-end services

Reuse of existing applications

Novel, Innovative and Enhanced client experiences

Applications do not (necessarily) have to be re-written

Page 5: NRB - LUXEMBOURG MAINFRAME DAY 2017 - IBM Z

5 ©2017 IBMCorporation5 © 2017 IBM Corporation5 ©2017 IBMCorporation5 © 2017 IBM Corporation

Building the solution for an API Economy

Page 6: NRB - LUXEMBOURG MAINFRAME DAY 2017 - IBM Z

6 ©2017 IBMCorporation6 © 2017 IBM Corporation

Just to get in sync…

REST APIApplicationProgrammableInterface

Tointeract withITresources‘somewhereelse’

WeneedVERBs

Page 7: NRB - LUXEMBOURG MAINFRAME DAY 2017 - IBM Z

7 ©2017 IBMCorporation7 © 2017 IBM Corporation

Just to get in sync…

REST APIhttps://maps.googleapis.com/maps/api/geocode/json?latlng= 49.6073558,6.1082088

transport server path query

Atypical requestforretrievingdatafromaremoteITresource

Atypical requestforcreatinganITresource

Atypical requestforupdatinganITresource

Page 8: NRB - LUXEMBOURG MAINFRAME DAY 2017 - IBM Z

8 ©2017 IBMCorporation8 © 2017 IBM Corporation

Just to get in sync…

REST API

ToexchangedataRESTuses asaformat:

{"First_Name": "John","Last_Name" : "Smith","Address" : ”Downing Str","City" : "London","Sex" : "M", "ZIP" : "60601"

}

{ "results" : [ { "address_components" : [ { "long_name" : "2", "short_name" : "2", "adminstration” : "rooftop","types" : [ "street_number" ]

},...

Page 9: NRB - LUXEMBOURG MAINFRAME DAY 2017 - IBM Z

9 ©2017 IBMCorporation9 © 2017 IBM Corporation

Just to get in sync…

REST APIhttps://maps.googleapis.com/maps/api/geocode/json?latlng=49.6073558,6.1082088

Page 10: NRB - LUXEMBOURG MAINFRAME DAY 2017 - IBM Z

10 ©2017 IBMCorporation10 © 2017 IBM Corporation10 ©2017 IBMCorporation10 © 2017 IBM Corporation

Right … OK REST API and JSON. Got it… (I think). But I’ve got:

How to get to:

Page 11: NRB - LUXEMBOURG MAINFRAME DAY 2017 - IBM Z

11 ©2017 IBMCorporation11 © 2017 IBM Corporation11 ©2017 IBMCorporation11 © 2017 IBM Corporation

IBM to the rescue à z/OS Connect Enterprise Edition

z/OS Connect!

Page 12: NRB - LUXEMBOURG MAINFRAME DAY 2017 - IBM Z

12 ©2017 IBMCorporation12 © 2017 IBM Corporation12 ©2017 IBMCorporation12 © 2017 IBM Corporation

z/OS Connect’s purpose in life:

{"ca_return_code": 0"ca_response_message": "ORDER SUCCESSFULLY PLACED"

}

https://server.com/catalogManager/orders

CICS

IMS

DB2

MQ

IBMZ

Page 13: NRB - LUXEMBOURG MAINFRAME DAY 2017 - IBM Z

DataConversion

DiscoveryFunction

AuditFunction

LoggingFunction

GranularAuthorization

CICS

IMS

DB2

Custom

REST client

RESTJSON

MQ

WAS z/OS

3rd Party

Service Provider

z/OS Connect EE V3 runtime

1. Liberty is provided as a runtime.

2. Backend connectivity is provided with "service provider" code.

3. ‘Interceptors" and provide function that is called for each request that arrives.

4. Both the "service provider" and "interceptor" interfaces are extensible.

1

3

2

4

Liberty z/OS Runtime

z/OS Connect EE V3

… all is done by configuring, not coding!

Page 14: NRB - LUXEMBOURG MAINFRAME DAY 2017 - IBM Z

What about calling external APIs from my z/OS assets?

14

Page 15: NRB - LUXEMBOURG MAINFRAME DAY 2017 - IBM Z

Use API requester to call external APIs from z/OS assets

15

Page 16: NRB - LUXEMBOURG MAINFRAME DAY 2017 - IBM Z

APIs in the enterprise…

So, we have APIs into IBM Z resources…

16

EnterpriseApplications

EnterpriseData

Enterprise Transaction Processing

CICSIMS

BatchWAS

Systems of Record

• Expose them?

• Rate-limit them?

• Socialise them?

• Secure them?

• Monitize them?

• Integrate them?

• ...

Page 17: NRB - LUXEMBOURG MAINFRAME DAY 2017 - IBM Z

Building the solution

An enterprise solution for Develop, Secure, Run and Manage APIs

An enterprise solution for securelyexposing IBM Z assets as REST APIs

Page 18: NRB - LUXEMBOURG MAINFRAME DAY 2017 - IBM Z

An example

Banking Intelligent

Virtual Assistant

Interacts with

Customer on vacation

Cloud & Cognitve API Banking Industry

https://www.youtube.com/watch?v=bOc3rtq4UHo

Page 19: NRB - LUXEMBOURG MAINFRAME DAY 2017 - IBM Z

Natural Language Classifier

Conversation Alchemy LanguageText to SpeechSpeech to Text

Input data

Output data

Region :

§ Virtual Banking Advisor defined by :

§ A Chatbot (for communicating)

§ A Cognitive Engine (for thinking and making decisions)

Implementation

Customer on Vacation

Interacts with CognitiveEnginechatbot

Page 20: NRB - LUXEMBOURG MAINFRAME DAY 2017 - IBM Z

20 ©2017 IBMCorporation20 © 2017 IBM Corporation20 ©2017 IBMCorporation20 © 2017 IBM Corporation

The Hybrid Cloud: IBM Z as an equal contributor

Application

Application

Application

Application

Microservicesapplications

µService

µServiceµService

µService

Suite of Enterprise API services

Surfaced APIs

Page 21: NRB - LUXEMBOURG MAINFRAME DAY 2017 - IBM Z

21 ©2017 IBMCorporation21 © 2017 IBM Corporation21 ©2017 IBMCorporation21 © 2017 IBM Corporation

The Hybrid Cloud: IBM Z as an equal contributor

Application

Application

Application

Application

Microservicesapplications

µService

µServiceµService

µService

Suite of Enterprise API services

Surfaced APIs

Internet of Things

Page 22: NRB - LUXEMBOURG MAINFRAME DAY 2017 - IBM Z

22 ©2017 IBMCorporation22 © 2017 IBM Corporation22 ©2017 IBMCorporation22 © 2017 IBM Corporation

Give it a go!

http://ibm.biz/ibmztrial

Page 23: NRB - LUXEMBOURG MAINFRAME DAY 2017 - IBM Z

23 ©2017 IBMCorporation23 © 2017 IBM Corporation23 ©2017 IBMCorporation23 © 2017 IBM Corporation

API ENABLE EXISTING APPS TO OPEN NEW BUSINESS OPPORTUNITIES

IBM Z Digital Transformation

IBM Z Digital Transformation Journey

z/OSConnectEE

CHOOSE THE RIGHT PLATFORM TO LEVERAGE THE RIGHT SKILLS

ApplicationPerformanceManagement

EMBRACE COGNITIVE DEV & OPS TO REDUCE COSTSAND IMPROVE RESILIENCY

IOAzCDP

z/OSMF

OPTIMIZE DEV & OPS TO IMPROVE BUSINESS

AGILITY

Page 24: NRB - LUXEMBOURG MAINFRAME DAY 2017 - IBM Z

© Copyright IBM Corporation 2017. Technical University/Symposia materials may not be reproduced in whole or in part without the prior written permission of IBM.

IBM Systems Technical Events – ibm.com/training/events

© 2017 IBM Corporation

The Motivation for Modern Languages on IBM Z

Page 25: NRB - LUXEMBOURG MAINFRAME DAY 2017 - IBM Z

25 ©2017 IBMCorporation25 © 2017 IBM Corporation25 ©2017 IBMCorporation25 © 2017 IBM Corporation

Modern Application Design

Public Cloud Services

On-prem Services

User-facing Client Apps

Things / Sensors

End Users

Page 26: NRB - LUXEMBOURG MAINFRAME DAY 2017 - IBM Z

26 ©2017 IBMCorporation26 © 2017 IBM Corporation26 ©2017 IBMCorporation26 © 2017 IBM Corporation

Skills: Millions of Available Developers

Public Cloud Services

On-prem Services

User-facing Client Apps

Things / Sensors

End Users

Developer Experience

Java Node.js

Swift

JavaNode.js

Swift

JavaNode.js

Swift

Page 27: NRB - LUXEMBOURG MAINFRAME DAY 2017 - IBM Z

27 ©2017 IBMCorporation27 © 2017 IBM Corporation27 ©2017 IBMCorporation27 © 2017 IBM Corporation

What is Node.js ?

• Server-side JavaScript platform

• Built on Google's V8 JavaScript engine

• Designed to build scalable network applications

• Lightweight and efficient

• Uses an event-driven, non-blocking I/O model

Page 28: NRB - LUXEMBOURG MAINFRAME DAY 2017 - IBM Z

28 ©2017 IBMCorporation28 © 2017 IBM Corporation28 ©2017 IBMCorporation28 © 2017 IBM Corporation

What is Node.js ?

Page 29: NRB - LUXEMBOURG MAINFRAME DAY 2017 - IBM Z

29 ©2017 IBMCorporation29 © 2017 IBM Corporation29 ©2017 IBMCorporation29 © 2017 IBM Corporation

What is Node.js ?

• Server-side JavaScript platform

• Built on Google's V8 JavaScript engine

• Designed to build scalable network applications

• Lightweight and efficient

• Uses an event-driven, non-blocking I/O model

• Module-driven, highly scalable approach to application design and development

• Emerging as the favoured choice for digital transformation

• Steadily establishing its place within enterprises

Page 30: NRB - LUXEMBOURG MAINFRAME DAY 2017 - IBM Z

30 ©2017 IBMCorporation30 © 2017 IBM Corporation30 ©2017 IBMCorporation30 © 2017 IBM Corporation

Why Node.js?

• 510k modules and growing!

• NPM: Node Package Manager

• Repository of community contributed modules

(Sep. 2017 – modulecounts.com)

Productivity

• Event-driven, single-threaded model

• Enables organizations to efficiently deploy their development resources

Simplicity

• Node.js leverages the underlying async I/O support in z/OS

• Thousands of concurrent connections with minimal overhea

• Best suited for data-intensive (I/O bound) applications.

Scaleable

Page 31: NRB - LUXEMBOURG MAINFRAME DAY 2017 - IBM Z

31 ©2017 IBMCorporation31 © 2017 IBM Corporation31 ©2017 IBMCorporation31 © 2017 IBM Corporation

Basic node.js code…

var http = require ("http");

var server = http.createServer( function (request, response) {

// Send the HTTP header // HTTP Status: 200 : OK

response.writeHead(200, {'Content-Type': 'text/plain'});

// Send the response body as "Hello World" response.end('Hello World\n');

});

server.listen( 8081);

// Console will print the message

console.log('Server running at http://127.0.0.1:8081/');

Require module “http” and assign it to variabele “http”http is an object with several methods

Make a new instance of http and call it “server”

The callback function is given a “request” and “response” variabele.

Comments

http header dictates which information will be sent back

Send info to client

Start server and listen to port 8081

Console log displays infor

Page 32: NRB - LUXEMBOURG MAINFRAME DAY 2017 - IBM Z

32 ©2017 IBMCorporation32 © 2017 IBM Corporation32 ©2017 IBMCorporation32 © 2017 IBM Corporation

Usage Scenarios

Lift and Shift to take advantage of co-location of Node.js applications with critical assets on z/OS (i.e., applications and data)

• Significantly reduce response time for accessing data and increase transaction throughput

Orchestration• Manage MicroServices and APIs

Caching of Read-only transactions

Presentation Layer• Dashboard and Portals

Selectively offload CICS and IMS transactions• Use Node.js for serving content that does not require high performance• Easier and cheaper to develop

Page 33: NRB - LUXEMBOURG MAINFRAME DAY 2017 - IBM Z

© Copyright IBM Corporation 2017. Technical University/Symposia materials may not be reproduced in whole or in part without the prior written permission of IBM.

IBM Systems Technical Events – ibm.com/training/events

© 2017 IBM Corporation

Swift

Page 34: NRB - LUXEMBOURG MAINFRAME DAY 2017 - IBM Z

34 ©2017 IBMCorporation34 © 2017 IBM Corporation34 ©2017 IBMCorporation34 © 2017 IBM Corporation

Swift Ecosystem

34IBM Z / © 2017 IBM Corporation

WWDC 2014Apple releases a new

programming language called “Swift”

WWDC 2015Apple announces

to open source Swift

“Swift is growing faster than anything

else we track”

June 2014June 2015

July 2015

Nov. 2015

Apple releases Swift as Open Source.

Dec. 3, 2015

Jan. 2016Programming Language

Rankings Swift “meteoric rise” continues. “Swift moves up one spot from #18 to #17 Y/Y…and is within hailing distance of out

Tier 1 languages”.

Introducing the IBM Swift Sandbox

Feb 2016

IBM InterConnect 2016

IBM to bring Swift to the cloud to radically

simplifying end-to-end development of apps

Swift #2 “Most Loved”

Nov. 2016

Mar. 2016

Tokyo

Sep. 2016

NYC

IBM Bluemix Runtime for Swift

ü Industry backingü Developers acceptance

ü Tools & packagesü Conferences & meetups

Page 35: NRB - LUXEMBOURG MAINFRAME DAY 2017 - IBM Z

35 ©2017 IBMCorporation35 © 2017 IBM Corporation35 ©2017 IBMCorporation35 © 2017 IBM Corporation

Why Swift?

Safe

Modern

4 4.3 15.8

134.2

020406080

100120140160

Dur

atio

n (s

)(lo

wer

is b

ette

r)

Performance: Fast

15

32.225.3

54.6

0102030405060

Mem

ory

Usa

ge (M

B)(lo

wer

is b

ette

r)

Performance: Low Memory

Type SafeAutomatic Initialization

Page 36: NRB - LUXEMBOURG MAINFRAME DAY 2017 - IBM Z

36 ©2017 IBMCorporation36 © 2017 IBM Corporation36 ©2017 IBMCorporation36 © 2017 IBM Corporation

We have already started the journey

• IBM has been working with the open source community to improve Swift for

the server platform, with many changes already integrated into Swift 4.0 and

onward

• IBM has already enabled LinuxONE on IBM Swift Sandbox

• IBM has pushed all code for LinuxONE to github

• Swift 3.0 was open source released in September 2016 with full LinuxONE

support

• IBM is working to bring Swift to z/OS to modernize the whole z ecosystem

(contact us to join our beta program).

Page 37: NRB - LUXEMBOURG MAINFRAME DAY 2017 - IBM Z

Wrap up

DigitalTransformationfueledbytheAPIEconomy

IBMZassetscanbesurfacedas,andcallRESTAPIs

IBMZisanequalcontributorintheHybridCloudspace

ModernizationonIBMZ-->newlanguages-->FullStackdevelopers