More Related Content Similar to IBM Z for the Digital Enterprise 2018 - Leverage best language for Transformation (20) More from DevOps for Enterprise Systems (20) IBM Z for the Digital Enterprise 2018 - Leverage best language for Transformation1. IBM Z / © 2017 IBM Corporation
Leverage best language
for Transformation
Roland Koo (rkoo@ca.ibm.com)
Offering Manager, COBOL, ABO and
Node.js
IBM Z for the Digital Enterprise
Hyderabad, New Delhi, Bangalore
Jan. 2017
2. Disclaimer
IBM’s statements regarding its plans, directions, and intent are subject to change or withdrawal without
notice and at IBM’s sole discretion.
Information regarding potential future products is intended to outline our general product direction and it
should not be relied on in making a purchasing decision.
The information mentioned regarding potential future products is not a commitment, promise, or legal
obligation to deliver any material, code or functionality. Information about potential future products may not
be incorporated into any contract.
The development, release, and timing of any future features or functionality described for our products
remains at our sole discretion.
Performance is based on measurements and projections using standard IBM benchmarks in a controlled
environment. The actual throughput or performance that any user will experience will vary depending upon
many factors, including considerations such as the amount of multiprogramming in the user’s job stream, the
I/O configuration, the storage configuration, and the workload processed. Therefore, no assurance can be
given that an individual user will achieve results similar to those stated here
2IBM Z / © 2017 IBM Corporation
3. Agenda
Application Performance
– Where does it come from ?
– Value of IBM Compilers
Latest IBM COBOL Offerings
– COBOL V6.2
– ABO V1.3
New Languages & Runtimes
– IBM SDK for Node.js – z/OS V6
– Swift on IBM Z
Q & A
3IBM Z / © 2017 IBM Corporation
4. Application performance
4IBM Z / © 2017 IBM Corporation
Before Now and Future
Effort
HIGH
MEDIUM
LOW
To improve application
performance, you’ll need to
Recompile
Optimize
Refactor …
Applications
COBOL, PL/I,
C/C++…
Software Stack
CICS, IMS Db2…
Hardware
Applications
COBOL, PL/I, C/C++…
Software Stack
CICS, IMS, Db2…
Hardware
5. Old binaries cannot take advantage of new H/W features
5IBM Z / © 2017 IBM Corporation
zEC12/zBC12
ARCH(10)
• Decimal-Floating-
Point Zoned-
Conversion
Facility…
z13/z13s
ARCH(11)
• Decimal-Floating-
Point Packed-
Conversion
Facility
• SIMD
z10EC/z10BC
ARCH(8)
• Decimal Floating
Point (DFP)
• Wider immediate
data
z196/z114
ARCH(9)
• Distinct Operand
• Conditional Load
• High Word
Instructions
Default ARCH level in Enterprise COBOL v6.1 is now ARCH(7) - IBM System z9EC (2094-xxx models) IBM System z9 BC (2096-xxx models)
z14
ARCH(12)
• Vector Packed
Decimal Facility
• SIMD
6. Value of IBM COBOL Compilers on IBM Z
IBM’s continual investment on COBOL compilation technology
Reduce CPU utilization by improving performance of applications with no source
changes
– Exploitation of z/Architecture (z10, z196, zEC12, zBC12, z13, z14)
– Advanced Optimization
Support next-generation Applications
– Modernize business critical System of Record applications to support new System of
Engagement applications (e.g. web, mobile, cloud…)
– Support latest IBM Middleware (CICS, IMS, DB2…)
Improve Productivity
– New programming features
– New problem determination features
6IBM Z / © 2017 IBM Corporation
7. Compilers for z14
7IBM Z / © 2017 IBM Corporation
Put your Business Critical Applications into HYPERDRIVE
COBOL v6.2: up to 94%* reduction in CPU usage of Decimal
intensive & Floating Point Intensive Applications over COBOL v4.2
(67% over COBOL v5.2)*
Native support for JSON in COBOL - allow business critical functions
to be exposed to take advantage of REST web service
Automatic Binary Optimizer (ABO) v1.3: up to 80%* reduction in
CPU usage of Decimal intensive & Floating Point Intensive
Applications built with COBOL v4.2 without need for source
recompilation
Reduced CPU and memory consumption of ABO by 2X
z/OS v2.3 XL C/C++: 13%* reduction in average of CPU usage of
floating point intensive applications over z/OS v2.2 XL C/C++
Metal C Option for developing system programs
* Performance results shown are based on running internal performance test suite on z14 h/w. Performance for other workload may differ
PL/I v5.2: up to 40%* reduction of CPU usage of Decimal
Intensive Applications over PL/I v5.1 for both 31 bit and 64-bit
code
IBM SDK for Node.js - z/OS: Opening the platform for more than
11M developers. Take advantage of service side JavaScript and
over 500+K good-to-go modules to accelerate application
development to support “real time” customer requirements
resulting from digital transformation
Co-locate applications and data on z/OS significantly reduces
response time and increases transaction throughput
9. 9
COBOL V5/V6
Introduced major infrastructure changes
• Advanced Optimization Framework
• COBOL Runtime
• Object and Debug formats
• Program Objects - Requires PDSE
• DWARF debug format
• Maintains source and binary compatibility
• Correct COBOL programs will compile and execute without changes and will produce same results
• “Old” and “new” code can be mixed within an application
• Removed some old language extensions and options
• Supports IBM DevOps tools
• Application Delivery Foundation for z (IBM Developer for z Systems, IBM Debug, Fault Analyzer, Application
Performance Analyzer), ADDI (Application Discovery and Delivery Intelligence)
• Supports the ecosystem of programming tools supplied by ISVs.
9
10. COBOL Offerings Through Time
10IBM Z / © 2017 IBM Corporation
Extra work is needed when migrating
across the thick lines because of
infrastructure changes
OS/VS COBOL migration new
generations is the most difficult
Migration from 2nd generation to 3rd
generation is difficult
Migration within the generation, is
very easy, including from v5 to v6
Compiler Front end Back End ABO Eligibility
OS/VS COBOL 74 Std 1st generation
VS COBOL II 85 Std (new) 2nd generation (new) ABO 1.2 (must be LE
enabled) or later
COBOL/370 85 Std (same) 2nd generation
(same)
ABO 1.2 or later
COBOL for OS/390 V2 85 Std (same) 2nd generation
(same)
ABO 1.2 or later
COBOL for z/OS V3 85 Std (same) 2nd generation
(same)
ABO 1.1 or later
COBOL for z/OS V4 85 Std (same) 2nd generation
(same)
ABO 1.1 or later
COBOL for z/OS V5 85 Std (same)
Select 2002 Std
3rd generation (new)
COBOL for z/OS V6 85 Std (same)
Select 2002 Std
3rd generation
(same)
Compiler Terms:
• Front End handles parsing and language rules
• Back End handles optimization and code
generation
11. Migrating to COBOL V6.1
11IBM Z / © 2017 IBM Corporation
Migrating from older compilers (COBOL V4 or older) to V6 (or V5)
• Needs advance planning
• System setup (e.g. PDSE, memory requirements…)
• Identify and resolve old syntax removed in COBOL V6
• Migrate applications compiled by OS/VS COBOL and VS COBOL II NORES to Enterprise
COBOL
• Fix Invalid Program and Data Issues
• Re-compile
• Regression Test…
This is a one time investment… Migrating from COBOL V5 to V6 is the same easier process as
was migrating from COBOL V3 to V4
Consult Migration Guide http://www-01.ibm.com/support/docview.wss?uid=swg27036733 or ask your IBM rep. to arrange a Migration Workshop
12. Client Experiences
• Strong adoption
• >550 customers
• Positive feedback on performance of batch applications
• CPU reduction of 10% to 20%
• Best case: CPU reduction over 60% (Elapsed time reduction over 70%)
reported by a major FSS customer in US
12IBM Z / © 2017 IBM Corporation
13. 13IBM Z / © 2017 IBM Corporation
Modernization
of
aCOBOL
environment
DATEV, one of
Germany’s leading
software and IT service
providers, modernized
their payroll accounting
process. Now, their
accounting process runs
10 – 15% faster.
ibm.com/zsystems
© 2017 IBM Corporation
14. 14IBM Z / © 2017 IBM Corporation
Modernizatio
n of
aCOBOL
EnvironmentUBS – a leading player in the global financial industry - has successfully
recompiled a portion of their production programs with the Enterprise COBOL
V5 compiler. These programs have seen performance improvements of 12 -
13%.
ibm.com/zsystems
15. z14 – New Vector Packed Decimal Facility
• Key ARCH(12) z14 Vector Packed Decimal Facility summary
• 22 new instructions added to z14 Instruction Set Architecture
• Covers a wide range of the most common decimal operations in COBOL
• All computations now done in hardware registers instead of in memory
• Lower latency and better hardware performance
• No source changes required– just recompile with new ARCH Level
15IBM Z / © 2017 IBM Corporation
Benefits the following COBOL Source Statements
Decimal COMPUTEs/MOVEs
Mixed signed/unsigned operations
Complex mixed type computations
Large (> 9 digit) binary COMPUTEs/MOVEs
16. Example: Unsigned Packed Decimal Add – 4.85x Faster
16IBM Z / © 2017 IBM Corporation
01 WS-VAR-1 COMP-3 PIC 9(7)
01 WS-VAR-2 COMP-3 PIC 9(7).
01 WS-VAR-3 COMP-3 PIC 9(7).
ADD WS-VAR-1 TO WS-VAR-2 GIVING WS-VAR-3.
ARCH(12)
• Use new ARCH(12) facility
• No conversions, no explicit sign
setting
VLRL VRF16,160(,R9),0x3
VLRL VRF17,152(,R9),0x3
VAP VRF16,VRF16,VRF17,0x7,14
V4
ARCH(6|7|8|9|10)
• Use in memory instructions
• Explicit sign setting
MVC 168(4,R9),160(R9)
OI 171(,R9),X'0F'
MVC 352(4,R13),152(R9)
OI 355(,R13),X'0F'
AP 168(4,R9),352(4,R13)
OI 171(,R9),X'0F'
ARCH(11)
• Convert to DFP
• Conversion overhead
CDPT FP0,160(4,R9),0x9
CDPT FP1,152(4,R9),0x9
ADTR FP0,FP0,FP1
LPDFR FP0,FP0
CPDT FP0,168(4,R9),0xb
0.00
1.00
2.00
3.00
4.00
5.00
Speedup
ARCH(12) 4.85
ARCH(11) 1.66
ARCH(10) & V4 1
ARCH(12) Speedup on z14
17. Example: Large Decimal Divide – 135x Faster
17IBM Z / © 2017 IBM Corporation
01 WS-VAR-1 COMP-3 PIC s9(29)
01 WS-VAR-2 COMP-3 PIC s9(3).
01 WS-VAR-3 COMP-3 PIC s9(25)v9(6).
DIVIDE WS-VAR-1 BY WS-VAR-2 GIVING WS-VAR-3.
Without ARCH(12)
• Call out to LE library routine
• Pre shifting operation
• Piecewise divide, call overhead
ZAP 336(16,13),16(2,2)
MVC 352(32,13),58(10)
MVC 366(15,13),0(2)
NI 380(13),X'F0'
MVN 383(1,13),14(2)
L 3,92(0,9
L 15,180(0,3) V(IGZCXDI )
LA 1,180(0,10
BASR 14,15
0
50
100
150
Speedup
ARCH(12) 135
Original 1
ARCH(12) Speedup on z14
With ARCH(12)
• Use new ARCH(12) facility
• Inline hardware accelerated
shift+divide
VLRL VRF24,_WSA[0x12c] 0(,R3),0xe
VLRL VRF25,_WSA[0x12c] 16(,R3),0x1
VSDP VRF24,VRF24,VRF25,0x6,0
18. 18
Enterprise COBOL v6.2 – Performance on z14
Compile time performance improvement
over COBOL 6.1
– Reduces CPU by
• 6% at OPTIMIZE(1)
• 18% at OPTIMIZE(2)
The latest COBOL runtime library in
Language Environment V2R3 shows on
average 8.5% speedup in a group of test
cases testing large data input **
* Performance results shown was obtained in a controlled, isolated environments using IBM internal test suite. Performance of other workload may vary
** Performance gain are observed in COBOL statement SEARCH ALL using packed-decimal keys. UNSTRING with multiple receiving and delimiter fields also shows improvement. These tests compare programs
compiled with Enterprise COBOL 6.2 running on LE V2R3 with Enterprise COBOL 6.1 running on LE V2R2.Note: Input data strings have lengths 1K bytes or longer. Tables tested in SEARCH ALL contain more than
1000 entries. The PTF level of LE V2R2 is UI48664
1 1 1
0.53
0.84
0.9
0.06
0.33
0.62
0
0.2
0.4
0.6
0.8
1
1.2
COBOL v6.2 vs
COBOL v4.2
COBOL v6.2 vs
COBOL v5.2
COBOL v6.2 vs
COBOL v6.1
CPUReduction
Application Performance on z14*
Original On Average Up to
(+47%)
(+94%)
(+16%)
(+67%)
(+10%)
(+38%)
19. Enterprise COBOL v6.2 - Features
19IBM Z / © 2017 IBM Corporation
Parse JSON documents directly from COBOL
• Native support for JSON in COBOL - allow business critical
functions to work with JSON objects and REST services
Improve reporting on invalid data and out of bounds
checks
• Helps detect coding errors in existing source
• Improves code quality and migration from COBOL V4 &
below
New NOSTGOPT implementation
• NO data division optimization done regardless of OPT-
level
• “Eye-catchers” will always be preserved and initialized if
they are defined with a VALUE clause
Condition Compilation Support
• COBOL 2002 feature
• Enables developers to create multiple variants of the same
program without having to maintain separate source streams
Enhanced TEST options
• Consistent set of sub-options
• Added SEPARATE/NOSEPARATE
INLINE option and directives
• Provides fine grain control over which procedures to inline or
not inline to optimize performance
21. Automatic Binary Optimizer (ABO)
Optimizes performance of load modules compiled with COBOL v4 and below
– Increases application performance
– Reduces CPU usage and operating costs
Requires no recompilation, or source migration
Targets latest IBM Z mainframes (e.g. zEC12, zBC12, z13, z13s and, z14)
Requires significantly less testing effort
Complementary to Enterprise COBOL V6
21IBM Z / © 2017 IBM Corporation
http://www-03.ibm.com/software/products/en/z-compilers-optimizer
ABO
Original Program Binaries
(Base ESA390)
Optimized Program Binaries
(Latest z Systems)
22. Automatic Binary Optimizer (ABO)
22IBM Z / © 2017 IBM Corporation
• Unbind
• Binary IR*
Verify
• Optimize
• Optimize
• Optimize…
Verify • IR Binary
• Rebind
Done
Optimized
Executable
CSECT1 … CSECTN
Original
Executable
CSECT1 … CSECTN
*IR - Intermediate Representation
ABO
23. 23
Application Testing after recompile
23
Coding Build Unit Test
System Test Integration Test
User
Acceptance Test
Pre-
Production
Production
24. 24
ABO Testing
24
Coding Build Unit Test
System Test Integration Test
User
Acceptance Test
Pre-
Production
Production
• Detecting Invalid data requires a
2-step compile/test approach
• Turn on migration option(s) (e.g.
NUMCHECK, PARMCHECK,
SSRANGE…)
• Run Test
• If problem found, change source
• Re-compile with migration
option(s) turned off
• ABO does not change program
logic and is not affected by
invalid data in COBOL programs
or OS/VS COBOL
interoperability
• No code change is required
• Significantly less testing effort
25. Tools & Middleware Support
IBM Application Delivery Foundation for z (ADFz)
Provides Day-1 support
• SYSDEBUG of original programs can be used along with ABO Listings to create new side
files to work with
• Fault Analyzer (FA) - Provide ABEND analysis of optimized load modules
• Debug for z - Allows users to step through and debug optimized programs interactively
• Application Performance Analyzer (APA)
• Allows users to compare the performance of original programs and optimized programs
ISVs Tools
– Macro 4
• Knowledgbase article number: K73-4729
• DumpMaster 8.300C or higher; Common Services 2.400C or higher; TraceMaster 6.600D or
higher; TraceMaster CodeTrack 1.710C
– Working with Compuware, and CA
Middleware
– DB2, CICS, and IMS
25IBM Z / © 2017 IBM Corporation
Debug
for z
FA
APA
26. 26
ABO v1.3 - Performance on z14
Fully exploits z14 architecture
– Vector Packed Decimal Facility
Optimize code every time you
upgrade to new IBM Z
Up to 2X Reduction in CPU and
Memory usage over ABO v1.2
1 1
0.52
0.81
0.2
0.63
0
0.2
0.4
0.6
0.8
1
1.2
ABO 1.3 vs COBOL
v4.2
ABO V1.3 vs ABO 1.2
%CPUReduction
Application Performance on z14*
Original On Average Up to
(+48%)
(+80%)
(+19%)
(+37%)
* Performance results shown was obtained in a controlled, isolated environments using IBM internal test suite. Performance of other workload may vary
28. Using COBOL V6 and ABO together
28IBM Z / © 2017 IBM Corporation
70%
No recompile
Plan
20%
Recompile due to
Source Change
ABOCOBOL
V6
10%
Additional recompile
when upgrading to
COBOL V6 to
improve performance
• Defect Fixes
• Refactoring
• New programming features
• Modernization
• Recompile for Performance
• Increase performance of programs that have
not been recompiled for a long time
• No source risk
• Less testing effort
• Reduce scope of V5/V6 migration
• Generate ROI to invest in business critical
applications and adoption of DevOps
29. 29
Container Pricing – 3 solutions announced with z14
29
The Application Development and Test Solution will provide highly competitive stand-alone pricing for
z/OS based development and test workloads. Modern DevOps tooling can be optionally added at uniquely
discounted prices.
The New Application Solution will provide a highly competitive stand-alone priced offering for new z/OS
applications, such as CICS TS or WebSphere applications, that are not currently running on any Z platform
server. This is the strategic replacement for the current zCAP and IWP priced offerings.
The Payments Solution will provide a ‘per payment’ pricing option for IBM Financial Transaction Manager for
z/OS deployments. This new offering directly ties operational cost to business value by basing the price on
the number of payments processed, rather than capacity used to process them.
30. Trials
30IBM Z / © 2017 IBM Corporation
Enterprise COBOL V6
Automatic Binary Optimizer for z/OS
Offers no charge evaluation license for up to 90 days
Allows clients to assess the value of Offerings
– Same function as GA product
– Ships with latest PTF
– Code processed by trial versions cannot be used for production
Available as
– Standard offering from IBM through ShopzSeries
– Cloud Service https://optimizer.mybluemix.net
Contact your IBM representative for ordering assistance
31. IBM SDK for Node.js –
z/OS
Ann: 7/17/17
GA: 09/08/17
IBM Z / © 2017 IBM Corporation
NEW
32. Modern languages
• Developers are typically multi-
lingual, using the language that
makes sense for the projects
they are working on
• Java maintains the top spot
despite rumors of its decline
• JavaScript the most popular
scripting language
• Swift is on the rise (the newest
language on the list)
32IBM Z / © 2017 IBM Corporation
Source: Global Developer Population and
Demographics Survey: Volume I, © 2016
Evans Data Corp.
Top Programming Languages
All populations in millions
Language Population
Java 14.0
C++ 13.1
JavaScript 11.6
C 11.3
C# 11.2
PHP 9.4
Swift or Objective C 8.8
Python 7.9
Perl 7.4
Ruby 6.8
Other 13.2
33. What is Node.js ?
33IBM Z / © 2017 IBM Corporation
• 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
• Provides a module-driven, highly scalable approach
to application design and development that
encourages agile practices
• Emerging as the favored choice for digital
transformation
• Steadily establishing its place within enterprises
34. Why Node.js? Productivity
34IBM Z / © 2017 IBM Corporation
(Sept 2017 – modulecounts.com)
• Large repository of modules:
• NPM: Node Package Manager
• Repository of community contributed
modules
• 510k modules and growing!
• 3x growth rate vs other runtimes
• Enterprise clients can efficiently augment
existing IBM Z application stacks to provide
timely response to customer requirements
driven by digital transformation.
35. 35
IBM SDK for Node.js – z/OS, V6
Ann: July 17, 2017; GA: Sept 8, 2017
35
Based on Node.js V6
Runs on z196, zEC12, z13 and z14 (z/OS v2.2 and v2.3)
JavaScript Engine
libuv
Asynchronous
I/O library
Node Binding Layer
z/OS v2.2 or z/OS v2.3
Node Libraries
Node.js
OpenSSL
Crypto
library
Other:
ICU
Cares
Zlib
http_parser
…
C/C++
Compiler
• Enterprise Offering
• OTC + S&S
• Single PID (5655-SDK)
consisting of Node.js and
new C/C++ compiler
• C++11 compliant, 64 bit &
USS
• For NPM and compute
intensive portion of
application
• Single Install with SMP/E
• 2 year support model
• Container Pricing
• Workload not eligible for
zIIP offload
NEW
36. 36
Container Pricing – 3 solutions announced with z14
36
The Application Development and Test Solution will provide highly competitive stand-alone pricing for
z/OS based development and test workloads. Modern DevOps tooling can be optionally added at uniquely
discounted prices.
The New Application Solution will provide a highly competitive stand-alone priced offering for new z/OS
applications, such as CICS TS or WebSphere applications, that are not currently running on any Z platform
server. This is the strategic replacement for the current zCAP and IWP priced offerings.
The Payments Solution will provide a ‘per payment’ pricing option for IBM Financial Transaction Manager for
z/OS deployments. This new offering directly ties operational cost to business value by basing the price on
the number of payments processed, rather than capacity used to process them.
37. IBM SDK for Node.js – z/OS: Value
37IBM Z / © 2017 IBM Corporation
Use a common language (i.e. JavaScript) to develop applications
throughout the application stack (i.e. client & server).
– Increases efficiency, simplifies build process, and quickens time
to market.
Leverage over 500,000 “good-to-go” NPM packages that can be
used instantly in applications
– Increases productivity and time to market
Use module-driven, highly scalable approach to application design,
development, and deployment
– Encourages Agile practices
Take advantage of co-location of Node.js applications with critical
assets (i.e. applications and data) on z/OS
– Reduce response time and increase throughput
– Ensure security and maximize uptime of Node.js applications
38. Connecting to z/OS assets
• z/OS Connect EE
Access z/OS assets that are exposed through IBM z/OS Connect
EE
• DB2
npm module to provide direct access to DB2 on z/OS:
https://github.com/strongloop/loopback-connector-db2z
• CICS
A sample of Node.js application interacting with existing CICS asset
on z/OS via EXCI https://ibm.co/2vG1KTb
• VSAM connector
npm module to interact with z/OS VSAM datasets and records
https://www.npmjs.com/package/vsam.js
• z/OS Node Accessor
Module to interact with z/OS MVS dataset and USS files and simple
JCL operations: https://github.com/IBM/zos-node-accessor
• More to come… 38
Db2
z/OS Connect
IMS CICS
COBOL
z/OS
COBOL
PL/I
Apps
Db2
39. Usage Scenarios on z/OS
Move existing Node.js applications to take advantage of co-location with critical assets on
z/OS (i.e. applications and data)
• Significantly reduce response time for accessing data and increase transaction throughput
API Orchestration
• Manage APIs and MicroServices traffic on z/OS
Manage Caching of Read-only transactions
• Reduce CPU
Presentation Layer
• Dashboard and Portals
39
40. Node.js – z/OS Developer Journey (Work in Progress)
40
Credit Card Rewards Program example:
Node.js application based on LoopBack framework
Exposes Rewards APIs while keeping all customer and credit-card data secure
.
https://github.com/ibmruntimes/loopback-demo-zos
41. Trial
41IBM Z / © 2017 IBM Corporation
• Trial version of IBM SDK Node.js - z/OS now available on
Shop z
• 90 days – no Charge
• Evaluation License
• Customers can continue to use IBM SDK Node.js - z/OS Beta
for evaluation
• Refreshed with GA version
• Download from https://developer.ibm.com/node/sdk/ztp
43. Swift Ecosystem
43IBM Z / © 2017 IBM Corporation
WWDC 2014
Apple releases a
new programming
language called
“Swift”
WWDC 2015
Apple announces to
open source Swift
“Swift is growing
faster than anything
else we track”
June 2014
June 2015
July 2015
Nov. 2015
Apple releases Swift
as Open Source.
Dec. 3, 2015
Jan. 2016
Programming 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
44. Why Swift? Performance
44IBM Z / © 2017 IBM Corporation
4 4.3
15.8
134.2
0
20
40
60
80
100
120
140
160
Duration(s)
(lowerisbetter)
Performance: Fast
15
32.2
25.3
54.6
0
10
20
30
40
50
60
MemoryUsage(MB)
(lowerisbetter)
Performance: Low Memory
Source: benchmarksgame.alioth.debian.org/u64q/performance.php?test=spectralnorm
45. Why Swift? Safe
45IBM Z / © 2017 IBM Corporation
• Type safe
• Helps developers refactor, extend,
iterate on solutions.
• Error detection at compile time
• Automatic initialization
• Variables are automatically
initialized
• Memory is automatically allocated
and managed.
47. IBM Toolkit for Swift – Linux on z Systems
47IBM Z / © 2017 IBM Corporation
• Core tools to develop in Swift:
• Compiler (Swift 3)
• Swift Runtime
• Libraries
• Debugger (lldb)
• Web framework (Kitura)
• Package Manager
• World class service & support
Available: March 17th, 2017
Swift on z/OS – coming soon !
Join Managed Beta Program for first hand experience
Contact Shereen Ghobrial
49. Resources
49IBM Z / © 2017 IBM Corporation
Enterprise COBOL
– IBM Marketplace Page: https://www.ibm.com/us-en/marketplace/ibm-cobol
– Documentation: http://www-01.ibm.com/support/docview.wss?uid=swg27036733
– COBOL Migration Assistant : https://cobol-migration-assistant.mybluemix.net
– Link to Enterprise COBOL V6.2 Announcement Blog : https://ibm.co/2vdZjrF
ABO
– IBM Marketplace Page : https://www.ibm.com/us-en/marketplace/improved-cobol-performance
– Documentation: http://www-01.ibm.com/support/docview.wss?uid=swg27046990
– Trial on Cloud: https://optimizer.mybluemix.net
– ABO Demo: https://youtu.be/xhnhdOQwwSQ
– Link to ABO v1.3 Announcement Blog : https://ibm.co/2vxMpUX
Node.js
– IBM Marketplace Page: https://www.ibm.com/us-en/marketplace/sdk-nodejs-compiler-zos
– Link to announcement blog: https://ibm.co/2uvnrsu
– Link to IBMSystems magazine article: http://bit.ly/2x7ODPx
Swift
– IBM Marketplace (Swift on Linux on z): https://www.ibm.com/us-en/marketplace/swift-compiler
– Extending Swift Value(s) to the Server (Free e-book): https://ibm.co/2hIYTqX
– IBM Swift Sandbox (experiment with Swift on the LinuxONE server): https://developer.ibm.com/swift/ibm-swift-sandbox/
– Free online course about server-side Swift: http://blog.udacity.com/2017/06/server-side-swift-with-ibm.html
RFE community:
• COBOL
• ABO
50. Trademarks
50IBM Z / © 2017 IBM Corporation
Notes:
Performance is in Internal Throughput Rate (ITR) ratio based on measurements and projections using standard IBM benchmarks in a controlled environment. The actual throughput that any user will experience will vary depending upon considerations
such as the amount of multiprogramming in the user's job stream, the I/O configuration, the storage configuration, and the workload processed. Therefore, no assurance can be given that an individual user will achieve throughput improvements
equivalent to the performance ratios stated here.
IBM hardware products are manufactured from new parts, or new and serviceable used parts. Regardless, our warranty terms apply.
All customer examples cited or described in this presentation are presented as illustrations of the manner in which some customers have used IBM products and the results they may have achieved. Actual environmental costs and performance
characteristics will vary depending on individual customer configurations and conditions.
This publication was produced in the United States. IBM may not offer the products, services or features discussed in this document in other countries, and the information may be subject to change without notice. Consult your local IBM business
contact for information on the product or services available in your area.
All statements regarding IBM's future direction and intent are subject to change or withdrawal without notice, and represent goals and objectives only.
Information about non-IBM products is obtained from the manufacturers of those products or their published announcements. IBM has not tested those products and cannot confirm the performance, compatibility, or any other claims related to non-IBM
products. Questions on the capabilities of non-IBM products should be addressed to the suppliers of those products.
Prices subject to change without notice. Contact your IBM representative or Business Partner for the most current pricing in your geography.
This information provides only general descriptions of the types and portions of workloads that are eligible for execution on Specialty Engines (e.g, zIIPs, zAAPs, and IFLs) ("SEs"). IBM authorizes customers to use IBM SE only to execute the
processing of Eligible Workloads of specific Programs expressly authorized by IBM as specified in the “Authorized Use Table for IBM Machines” provided at www.ibm.com/systems/support/machine_warranties/machine_code/aut.html (“AUT”). No
other workload processing is authorized for execution on an SE. IBM offers SE at a lower price than General Processors/Central Processors because customers are authorized to use SEs only to process certain types and/or amounts of workloads as
specified by IBM in the AUT.
* Registered trademarks of IBM Corporation
The following are trademarks of the International Business Machines Corporation in the United States and/or other countries.
Adobe, the Adobe logo, PostScript, and the PostScript logo are either registered trademarks or trademarks of Adobe Systems Incorporated in the United States, and/or other countries.
IT Infrastructure Library is a Registered Trade Mark of AXELOS Limited.
ITIL is a Registered Trade Mark of AXELOS Limited.
Linear Tape-Open, LTO, the LTO Logo, Ultrium, and the Ultrium logo are trademarks of HP, IBM Corp. and Quantum in the U.S. and other countries.
Intel, Intel logo, Intel Inside, Intel Inside logo, Intel Centrino, Intel Centrino logo, Celeron, Intel Xeon, Intel SpeedStep, Itanium, and Pentium are trademarks or registered trademarks of Intel Corporation or its
subsidiaries in the United States and other countries.
Linux is a registered trademark of Linus Torvalds in the United States, other countries, or both.
Microsoft, Windows, Windows NT, and the Windows logo are trademarks of Microsoft Corporation in the United States, other countries, or both.
Java and all Java-based trademarks and logos are trademarks or registered trademarks of Oracle and/or its affiliates.
Cell Broadband Engine is a trademark of Sony Computer Entertainment, Inc. in the United States, other countries, or both and is used under license therefrom.
UNIX is a registered trademark of The Open Group in the United States and other countries.
VMware, the VMware logo, VMware Cloud Foundation, VMware Cloud Foundation Service, VMware vCenter Server, and VMware vSphere are registered trademarks or trademarks of VMware, Inc. or its
subsidiaries in the United States and/or other jurisdictions.
Other product and service names might be trademarks of IBM or other companies.