NRB - BE MAINFRAME DAY 2017 - IBM Z

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

Transcript of NRB - BE 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

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

2

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

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

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

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

Building the solution for an API Economy

6 ©2017 IBMCorporation6 © 2017 IBM Corporation

Just to get in sync…

REST APIApplicationProgrammableInterface

Tointeract withITresources‘somewhereelse’

WeneedVERBs

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

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" ]

},...

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

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:

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

IBM to the rescue à z/OS Connect Enterprise Edition

z/OS Connect!

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

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!

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

14

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

15

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?

• ...

Building the solution

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

An enterprise solution for securelyexposing IBM Z assets as REST APIs

An example

Banking Intelligent

Virtual Assistant

Interacts with

Customer on vacation

Cloud & Cognitve API Banking Industry

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

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

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

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

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

Give it a go!

http://ibm.biz/ibmztrial

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

© 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

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

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

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

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

What is Node.js ?

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

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

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

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

© 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

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

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

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).

Wrap up

DigitalTransformationfueledbytheAPIEconomy

IBMZassetscanbesurfacedas,andcallRESTAPIs

IBMZisanequalcontributorintheHybridCloudspace

ModernizationonIBMZ-->newlanguages-->FullStackdevelopers