ims 15 application enhancements - ims ug oct 2017 omaha
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:
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 !!!