ims 15 application enhancements - ims ug oct 2017 omaha

36
© 2014 IBM Corporation © 2012 IBM Corporation IMS Version 15 © 2017 IBM Corporation IMS 15 Application Enhancements

Upload: ibm-ims

Post on 23-Jan-2018

194 views

Category:

Technology


2 download

TRANSCRIPT

© 2014 IBM Corporation

© 2012 IBM Corporation

IMS Version 15

© 2017 IBM Corporation

IMS 15 Application Enhancements

IMS Version 14 IMS Version 15

Application: 298

IBM’s statements regarding its plans, directions, and intent are subject to change or withdrawal without notice 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.

IBM, the IBM logo, ibm.com, z Systems, IMS, and z/OS are trademarks or registered trademarks of International Business

Machines Corporation in the United States, other countries, or both. If these and other IBM trademarked terms are marked

on their first occurrence in this information with a trademark symbol (® or ™), these symbols indicate U.S. registered or

common law trademarks owned by IBM at the time this information was published. Such trademarks may also be

registered or common law trademarks in other countries. A current list of IBM trademarks is available on the Web at

“Copyright and trademark information” at www.ibm.com/legal/copytrade.shtml

Other company, product, or service names may be trademarks or service marks of others.

THE INFORMATION CONTAINED IN THIS PRESENTATION IS PROVIDED FOR INFORMATIONAL PURPOSES ONLY.

WHILE EFFORTS WERE MADE TO VERIFY THE COMPLETENESS AND ACCURACY OF THE INFORMATION

CONTAINED IN THIS PRESENTATION, IT IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, EXPRESS OR

IMPLIED. IN ADDITION, THIS INFORMATION IS BASED ON IBM’S CURRENT PRODUCT PLANS AND STRATEGY,

WHICH ARE SUBJECT TO CHANGE BY IBM WITHOUT NOTICE. IBM SHALL NOT BE RESPONSIBLE FOR ANY

DAMAGES ARISING OUT OF THE USE OF, OR OTHERWISE RELATED TO, THIS PRESENTATION OR ANY OTHER

DOCUMENTATION. NOTHING CONTAINED IN THIS PRESENTATION IS INTENDED TO, NOR SHALL HAVE THE

EFFECT OF, CREATING ANY WARRANTIES OR REPRESENTATIONS FROM IBM (OR ITS SUPPLIERS OR

LICENSORS), OR ALTERING THE TERMS AND CONDITIONS OF ANY AGREEMENT OR LICENSE GOVERNING THE

USE OF IBM PRODUCTS OR SOFTWARE.

© Copyright International Business Machines Corporation 2017. All rights reserved.

U.S. Government Users Restricted Rights - Use, duplication or disclosure restricted by GSA ADP Schedule Contract with

IBM Corp.

Trademarks, copyrights, and disclaimers

IMS Version 14 IMS Version 15

Application:

Topics

New Program Creation User Exit

Dynamic Program Refresh

IMS Java Enhancements

IMS Enterprise Suite/z/OS Connect

– Explorer for Development

– WLM Mobile/Cloud Workload Pricing

– IMS Service Provider

– IMS application call APIs

299

IMS Version 14 IMS Version 15

Application:

Program Creation User Exit

Current IMS Versions a BMP or JBP program resource must be defined to an IMS system before it can be scheduled

– IMS requires the program directory (PDIR) be defined to the system

• Run an IMS SYSGEN defining the program with a stage-1 APPLCTN macro

• Use the IMS type-2 DRD “CREATE PGM” command

– If the PDIR is not defined before program execution -> U0428 ABEND

IMS 15 the PGMCREAT (Program Creation) type user exit can

dynamically create the PDIR runtime control block

– Creation of the program resource can be postponed until the program is to be scheduled by an IMS BMP or JBP

• Can also create one runtime database control block (DDIR)

– Dynamic Resource Definition (DRD) must be configured and enabled

– PSB for the created program must be in ACBLIB or in the IMS Catalog

– Provides function similar to the output destination creation exit, DFSINSX0

300

IMS Version 14 IMS Version 15

Application:

IMS System Definitions

Dynamic resource definition must be configured and enabled by

specifying MODBLKS=DYN in the DFSDFxx or DFSCGxxx PROCLIB

member

Define the exit(s) in the USER_EXITS section of DFSDFxxx PROCLIB

member

User exit can be enabled by one of the following:

– Restart the IMS System

– Use type-2 REFRESH USEREXIT command to load a new copy of the exit

• REFRESH USEREXIT TYPE(PGMCREAT) MEMBER(PX0)

<SECTION=USER_EXITS>EXITDEF=(TYPE=PGMCREAT,EXITS=(exitnme1,DFSPGCX0))

301

IMS Version 14 IMS Version 15

Application:

IMS Query Command

Sample Type-2 Commands

• QUERY USEREXIT TYPE(PGMCREAT) SHOW(CALLS,RTIME)

ExitType ModName MbrName CC Calls RefreshTime

PGMCREAT DFSDFPX0 IMS1 0 1 2013-04-22 10:20:41.12

• REFRESH USEREXIT TYPE(PGMCREAT)

ExitType ModName MbrName CC

PGMCREAT DFSDFPX0 IMS1 0

• QUERY DB NAME(PSSH1VA) SHOW(DEFNTYPE)

DBName MbrName CC DEFNTYPE

PSSH1VA IMS1 0 PGMCREAT

• QUERY PGM NAME(BMP255) SHOW(DEFNTYPE)

PgmName MbrName CC DEFNTYPE

BMP255 IMS1 0 PGMCREAT

302

IMS Version 14 IMS Version 15

Application:

Documentation Changes

• New application ABEND Codes

• U0421 if BMP type mismatch

• U0423 if USERX service failure

• U0424 if CREATEPGM bit is not set in the exit routine

• U0425 if program creation failure

• U0426 if DB creation failure

Log record changes

– X’22’ log record is written

• Indicates the PGMCREAT user exit created the resource

If you request an invalid option in the exit, IMS ignores the request

and continues normal processing

303

IMS Version 14 IMS Version 15

Application:

Dynamic Program Refresh Enhancements

Dynamic program refresh support enhanced

– The UPD PGM START(REFRESH) command now supports refresh for:

• DFSMPLxx preloaded programs running in MPP and IFP regions

– MPP support is for programs preloaded by DFSMPLxx and scheduled

in PWFI regions or in regions with WFI=YES transactions

• Programs scheduled in Fast Path IFP regions

– The refreshed program is loaded on the next schedule of the program

Benefit

– No need to terminate an active region to refresh an application program

• MPP and IFP regions remain available to process other programs

– Reduces operational considerations for implementing program modifications

– Speeds up and simplifies rollout of application program changes

304

IMS Version 14 IMS Version 15

Application:

Dynamic Program Refresh Restrictions

Subprograms are not supported

FastPath Utilities are not supported

Programs running in non-(P)WFI regions or non-IFP regions are not

supported

305

IMS Version 14 IMS Version 15

Application:

IMS Java Enhancements

Challenge

– Java applications storage constrained by the 31 bit Java Virtual Machine (JVM)

– Application can change IMS managed JVM environment variables

– Java Virtual Machine usage statistics

Solution

– IMS APAR PI64142 Java Dependent Regions (JMP/JBP)

• Provide Java applications heap storage relief with a 64-bit JVM

• IMS APAR PI64241Universal Driver support for 64-bit JVM

– IMS APAR PI68127 Java Dependent Regions (JMP/JBP)

• Support definition of Java environment variables within IMS DR JCL

– IMS APAR/PTF PI51753/UI34117 and APAR/PTF PI30848/UI34793

• Tracking of JVM usage statistics

Business Value

– Customers can deploy Java applications without regard to storage constraints.

– Better security controls greater flexibility in configuring their Java environments

Target Market:

All IMS Java users

IMS Version 14 IMS Version 15

Application:

JVM 64-bit Solution

New parameter for IMS JMP and JBP dependent regions

– JVM=31 loads a 31 bit LE environment and loads a 31 bit JVM

• Default value

– JVM=64 loads a 64 bit LE environment and loads a 64 bit JVM

New DFSJVM64 (AMODE=64) load module in IMS.SDFSJLIB

– Needed with JVM=64

New message and abend code

– DFS529E AN INVALID VALUE IS SPECIFIED ON THE JVM EXEC PARAMETER

– U0529 AN INVALID VALUE IS SPECIFIED ON THE JVM EXEC PARAMETER

Update ENVIRON=DFSJVMEV

– LIBPATH must specify 64 bit JVM

Requires IBM 64 bit JVM 7.0.0 or higher

307

IMS Version 14 IMS Version 15

Application:

Configuring the JVM using JCL & a Shell-like syntax

Runtime

– IMS Java JMP and JBP dependent regions

Current

Application can change IMS managed JVM environment variables

JVMOPMAS= and ENVIRON=

A separation of responsibility is not possible.

Solution

– BPXBATCH utility to launch JVM

– Support definition of Java environment variables within IMS DR JCL

– //stdenv dd statement

– allows for the concatenation of multiple files to create a Shell-like script to replace JVMOPMAS and ENVIRON.

Benefit

– Better security controls

– Greater flexibility in configuring their Java environments.

308

IMS Version 14 IMS Version 15

Application:

//JAVA EXEC PROC=DFSJMPS,// RGN=…. //STDENV DD DSN=hlq1.IMSCONF(IMS1OPT)

DD DSN=hlq2.IMSCONF(IMS1ENV)DD DSN=hlq2.IMSCONF(IMS1MAIN)

export APP_HOME=/imsapp

LIBPATH="$LIBPATH":"${APP_HOME}"/native

export LIBPATH="$LIBPATH":

CLASSPATH="$CLASSPATH":"${APP_HOME}"/classes

export LIBPATH="$LIBPATH":

export CLASSPATH="$CLASSPATH":

# Use this variable to supply

arguments to main:

JZOS_MAIN_ARGS=“gofast"

Moved from ENVIRON=DFSJVMxx

-Xoptionsfile

309

Configuring the JVM using JCL & a Shell-like syntax

IMS Version 14 IMS Version 15

Application:

# IMS1OPT file

# -X IBM JVM runtime options

-Xshareclasses:name=imsjvm

*-Xmaxf0.8

*-Xss256k

*-Xmx64M

*-Xms1M

# -D Java system properties

-Djava.class.path=SamplesPath/samples.jar:>

Appl1Path/myapp1.jar:App2Pathmyapp2.class:>

ImsjavaPath/imsudb.jar:ImsjavaPath/imsutm.jar

IMS1OPT file example

IMS Version 14 IMS Version 15

Application:

JVM statistics for memory usage

• Challenge

• There is no easy way to capture statistics about the usage of memory by a

persistent Java virtual machine in an IMS JVM enabled dependent region

• Solution

• IMS APAR/PTF PI51753/UI34117 and APAR/PTF PI30848/UI34793

• Provide optional SMF records that can be used for application charge back

•SMF type 29, subtype 02 records

• Parameters in DFSJVMEV,DFSMBR,DFSJMP,DFSJBP,IMSBATCH

• JLEOPT=N

• SMFINTERVAL=6000

• Business Value

• An IMS SMF record provides a way to capture JVM statistics

Target Market:

IMS Java customers who need capture

statistics about the usage of memory by

a persistent Java virtual machine (JVM)

27

IMS Version 14 IMS Version 15

Application:

IMS Enterprise Suite

Challenge

– IMS Mobile Feature distribution

– IMS SOAP Gateway customized SOAP headers

– IMS Explorer for Development Enhancements

Solution

– IMS APAR PI70432

• IMS Service Provider included in z/OS Connect EE V2.0.5 +

– IMS IMS SOAP Gateway 3.2

• Customized SOAP headers for synchronous callout

• Dynamic destination routing for synchronous callout

• ICAL specifies the XML converter.

– IMS Explorer for Development 3.2.1.12

Business Value

– Simplifies the installation and getting started process for Mobile

– Customer application control of SOAP

– Better transport security controls

Target Market:

All IMS Enterprise Suite users

IMS Version 14 IMS Version 15

Application:

Changes

IMS Enterprise Suite for z/OS V3.2.1 (5655-TDA).

– No further enhancements will be delivered for IMS Mobile Feature Pack for z/OS

Connect (FMID JAHF32A)

– No further enhancements will be made to the IMS Java Message Service API (FMID

JAHF322)

– Java Message Service (JMS) API (FMID JAHF322) will no longer be

packaged with the IMS Enterprise Suite

• Obtain the JMS API either through the Java EE installation or through the

publicly available Maven repository.

The following changes apply to IMS Enterprise Suite for Distributed Systems:

– IMS Explorer for Development 3.2.1 is the last release to include a Windows 32-bit

install option

– No further enhancements will be delivered for IMS Data Provider for Microsoft.NET

V3.2

313

IMS Version 14 IMS Version 15

Application:

IMS Explorer Versions

314

Version 3.2.1.12 fix– SQL parser incorrectly showed SQL syntax errors when the SELECT

statement includes a JOIN operator.

Version 3.2.1.11 fixes

– The secondary index syntax in the generated DLIDatabaseView is incorrect

when the XDFLD alias is different from the XDFLD name

– In the Data Source Explorer view, PARENT decoration is incorrectly set to

null when the TABLE (SENSEG) alias is different from the TABLE name.

– Submitting IMS DDL statements failed with the following error: "-198: The

operand of a statement contains all blanks or is an empty string." due to an

incorrect version of IMS Universal JDBC driver that was included.

Version 3.2.1.10

– DBD is mapped with a COBOL copybook

• numeric-edited data fields processed as fields of data type CHAR.

– IMS Explorer is unable to access tables or segments

• IMS catalog PCB DFSCAT00 when using the catalog PSB DFSCP001

• This issue has been resolved.

IMS Version 14 IMS Version 15

Application:

WLM Mobile/Cloud Workload Pricing

Challenge Addressed

– Difficult to track and report the CPU Time for these Mobile/Cloud workloads

Solution

– Use Workload Manager (WLM) Classification Rules to simplify cloud/mobile

workload reporting

Business Value

– Provide data for processing cloud/mobile workloads on IMS.

– IBM z Systems Workload Pricing for Cloud and Mobile Workload

• Can reduce the cost of growth for new workloads

Target Market:

IMS Mobile/Cloud users who need to

track IMS CPU processing

IMS Version 14 IMS Version 15

Application:

WLM Mobile/Cloud Workload Pricing

Customers must be able to identify mobile/cloud transaction using:

– Client Transaction Name (CTN):

• IMS OTMA TPIPE name (Specified in Interaction Profile)

– CM0 Generated Client ID GMPxxxxx

– CM1 IMS Connect Port Number

– Connection Type (CT):

• IMS Connect port number (Specified in Connection Profile)

– LUNAME:

• VTAM LU cannot classify mobile/cloud requests

– Use LTERM override (Specified in Interaction Profile)

• Note Application Program logic maybe impacted

316

IMS Version 14 IMS Version 15

Application:

Mobile workflow processing points

LPAR Az/OS

IMS DB

IMS CTL

T

C

P

I

P

LPAR B

XCF

IMS Connect

X

C

F

X

C

F

OTMA

IMS Connect

9999

5555

X

C

F XCF

S D

Y I

S S

P T

L R

E I

X B

U

T

E

R

9999

5555

Client Transaction Name (CTN):

TPIPE CM1=5555

Connection Type (CT):

PORT=5555

LUNAME:

MYMOBILE

Connection Profile

Mobile Connection Type=5555

WebSphere Application Server

for z/OSLiberty Profile

IMS Service Provider

z/OS Connect EE

LPAR C

CT/CTN= 5555

LUNAME=MYMOBILE

IMS Connect

generate a

unique client ID

IMS Version 14 IMS Version 15

Application: 318

Sub-Capacity Reporting Tool (SCRT).

IMS Version 14 IMS Version 15

Application:

IMS Service Provider

z/OS Connect EE V3 Server

Use IMS Explorer to create and test services that run on z/OS®

Connect EE V2 only.

For z/OS Connect EE V3, use the z/OS Connect EE API toolkit

319

APIRequest

WebSphereLiberty Profile

TCP/IP

IMS Service Provider

z/OS Connect IMS Connect

OTMA

IMS Transaction Manager

IMS application

DB2

IMS DB

IMS application

IMS application

IMS Version 14 IMS Version 15

Application:

z/OS Connect EE V3 –Server-API Toolkit-API EditorIMS Explorer for Development

320

IMS Version 14 IMS Version 15

Application:

.sar file is created from a copybook using the

Eclipse-based API toolkit service project editor

Connect to IMS

Create the service definition

IMS Version 14 IMS Version 15

Application:

Configure the connection to IMS through ims-connections.xml

and ims-interactions.xml in the IMS service registry.

Use the API toolkit to configure the server.xml file.

Connect to IMS

Topology

IMS Version 14 IMS Version 15

Application:

What’s New – Large Data Structures

zOS Connect EE V3

– Supports large data structures (>32K IMS standard segmentation)

• IMS applications must invoke the supplied sample COBOL utilities

BAQGETS and BAQSETS instead of interacting with the IMS message

queue directly

Large IMS data structure support is automatically enabled when the IMS service provider detects

that an IMS service, created by using z/OS® Connect EE API toolkit, is based on an input or

output transaction message that consists of a single segment whose data structure has a

maximum length that exceeds 32 KB.

ICAL TRANB

IMS Version 14 IMS Version 15

Application:

z/OS Connect EE V3 allows IMS applications to be the API requester

What’s New - Calling an External API

IMS Version 14 IMS Version 15

Application:

Step 1 – Configure a communication stub

– Only needs to be done, one time per subsystem

Step 2 - Generate API requester archive from swagger

– Generate .ARA file, and API client code

The 5 steps

• ibm.biz/zosconnect-configure-comms-stub

• ibm.biz/zosconnect-generate-ara

IMS Version 14 IMS Version 15

Application:© 2017 IBM Corporation

32

6

Step1 Configuring IMS

• IMS.IMSZ.PROCLIB(MPRLEOPT)

POSIX(ON),

ENVAR("BAQURI=HTTP://ZSERVER.IBM.COM",

"BAQPORT=7777")

• IMS Dependent Region JCL

• //STEPLIB DD DSN=IMS.IMSZ.SDFSRESL,DISP=SHR

// DD DSN=IMS.IMSZ.PGMLIB,DISP=SHR

// DD DSN=IMS.IMSZ.PGMPDSE,DISP=SHR

// DD DSN=ZOSCON.V3R0.SBAQLIB,DISP=SHR

IMS Version 14 IMS Version 15

Application:© 2017 IBM Corporation

32

7

Step 2 API requester code generation for z applications

API Description via Open API DocRequest and

Response copybooks

API info

copybook

Generate

*Request and Response data structure

01 REQUEST

COPY API00Q01

01 RESPONSE

COPY API00P01

01 API-INFO

COPY API00I01

77 COMM-STUB-PGM-NAME PIC X(8)VALUE

‘BAQCSTUB’

*Set request data

MOVE input-value TO REQUEST-DATA

SET BAQ-REQUEST-PTR TO ADDRESS OF REQUEST

SET BAQ-RESPONSE-PTR TO ADDRESS OF RESPONSE

* One simple call to invoke API

Call COMM-STUB-PGM-NAME

using API-INFO …

BAQ-REQUEST-PTR …

BAQ-RESPONSE-PTR …

* Display response data

DISPLAY “Output: “ RESPONSE-DATA

IMS / BATCH / COBOL / PLI app

Configuration file

(ARA)

Command-

line Build

toolkit

z developer does not need to write complex code to parse JSON messages nor to handle

HTTP calls

IMS Version 14 IMS Version 15

Application:

Step 3 – Configure the HTTP(S) endpoint

– Connection between zOS Connect EE and the external API

Step 4 – Deploy the API requester (.ara) archive

– Deploy the API requester archive to the APIRequester directory

The 5 steps …

• ibm.biz/zosconnect-configure-endpoint-connection

IMS Version 14 IMS Version 15

Application:© 2017 IBM Corporation

32

9

Step 3 Configuring server.xml

<featureManager> <feature>zosconnect:apiRequester-

1.0</feature> </featureManager>

<zosconnect_endpointConnection id=“an-api"

host="https://hostname" port=“NNNN"/>

<zosconnect_apiRequesters

location="/var/zosconnect/servers/zosconnect/resources/zosco

nnect/apirs">

<apiRequster name="apiRequesterY" connectionRef=“an-api"/>

</zosconnect_apiRequesters>

IMS Version 14 IMS Version 15

Application:© 2017 IBM Corporation

33

0

Step 4 Deploy the API requester archive file to z/OS Connect EE

Copy the anapi.ara file to z/OS Connect EE’s dropins

folder for API requester

anapi.ara

IMS Version 14 IMS Version 15

Application:

Step 5 – Update the IMS application

– Add the API generated client code to your existing application and use it to

make the external API call

The 5 steps …

• ibm.biz/zosconnect-configure-requester-zos-application

Done !!!

IMS Version 14 IMS Version 15

Application:© 2017 IBM Corporation

33

2

Step 5 Code application

Code application with the generated artifacts and use the

communication stub to call the API