34
© 2014 IBM Corporation 1522, Get an A+ on Testing Your Enterprise Applications with Rational Development and Test Environment for System z Teodoro Cipresso, IBM John T. Gates Jr., IBM

Innovate 2014: Get an A+ on Testing Your Enterprise Applications with Rational Development and Test Environment for System z

Embed Size (px)

Citation preview

Page 1: Innovate 2014: Get an A+ on Testing Your Enterprise Applications with Rational Development and Test Environment for System z

© 2014 IBM Corporation

1522, Get an A+ on Testing Your Enterprise Applications with Rational Development and Test Environment for System z

Teodoro Cipresso, IBM

John T. Gates Jr., IBM

Page 2: Innovate 2014: Get an A+ on Testing Your Enterprise Applications with Rational Development and Test Environment for System z

Please noteIBM’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.

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.

1

Page 3: Innovate 2014: Get an A+ on Testing Your Enterprise Applications with Rational Development and Test Environment for System z

Introduction to RD&T

John T. Gates Jr., IBM

2

Page 4: Innovate 2014: Get an A+ on Testing Your Enterprise Applications with Rational Development and Test Environment for System z

Business constraints with mainframe development

“My development capacity charge-back is consuming my entire budget. I

can’t spend on tools.”

“We don’t have the capital budget to obtain more mainframe

test resources for my developers. It’s easier and cheaper to get a Windows or Unix

box.”

“I can’t even work on Mondays! Production workload kicks me off.”

“It is difficult for my developers to learn the mainframe.

Operations controls can prevent experimentation by developers..”

“I can only test my batch applications in offline hours.

Online apps consume the 9-5 cycles.”

“Operations tell me it will take two months to get my test

system allocated.”

“The Mainframe isn’t cool anymore. It’s faster and cheaper to develop on

a Unix platform.”

“I want to try out creating Event Processing and ATOM apps, but my system isn’t scheduled for a CICS

update till 2014.”

3

Page 5: Innovate 2014: Get an A+ on Testing Your Enterprise Applications with Rational Development and Test Environment for System z

Offload development and testing, increase speed

and quality

Note: This Program is licensed only for development and test of applications that run on IBM z/OS. The Program may not be used to run production workloads of any kind, nor more robust development workloads including without limitation production module builds, pre-production testing, stress testing, or performance testing.

• Liberate developers to rapidly prototype

new applications

• Develop and test System z applications

anywhere, anytime

• Free up mainframe development MIPS for

production workload

• Eliminate costly delays by reducing

burden on existing IT operations staff

• Exploit the latest middleware, including

CICS, IMS, and WebSphere

Improve development flexibility

New

RDz & ISPF

RDz

Rational Development and Test

Environment for

System z

4

Page 6: Innovate 2014: Get an A+ on Testing Your Enterprise Applications with Rational Development and Test Environment for System z

Linux

Product Structure

ZPDT (emulator)

z/OS

USB “token”or server connection

TCP/IP

TCP/IP

Running z/OS within RD&T

Device Map defines zPDT system

DASD volumes are Linux files

TCP/IP can talk to Linux or to the

outside network

USB Token or server supplies

license to run zPDT

Optional connection to Rational

token server (FlexLM)

Dev Map

FlexLM Server

(Rational Tokens)

5

Page 7: Innovate 2014: Get an A+ on Testing Your Enterprise Applications with Rational Development and Test Environment for System z

Linux

Product Structure

ZPDT (emulator)

z/OS

USB “token”or server connection

TCP/IP

TCP/IP

RD&T V 9 ships with ADCD

operating system volumes.

z/OS 1.13

Sample configuration for z/OS

Sysplex offering also includes

z/VM 6.2 *

Sample sysplex system* z/VM licensed for sysplex support only!

Dev Map

FlexLM Server

(Rational Tokens)

6

Page 8: Innovate 2014: Get an A+ on Testing Your Enterprise Applications with Rational Development and Test Environment for System z

RD&T Device maps – defining devices to z/OS

Linux

Resources

“Devmap” – will map the entities known to Linux, to the devices known to z/OS

z/OS volumes are contained in Linux files

z/OS Communication device is a Linux ethernet card or a logical tunnel device

z/OS printer or card readers can be Linux files

… Other devices are also possible such as SCSI attached tape drives.

File for DASD

NIC

TCP/IP

Ports

TCP/IP

Ports

CPU

core

Memory

File for DASD

Files for misc

I/O devices

z/OS

Devices

3390 Volume

OSA CPU

core

Memory

3390 Volume

3390 Volume

Printer (etc)

System

Console

Locally

Attached

Terminals

Devicemap

File for DASD USB KeyNot seen by z/OS

7

Page 9: Innovate 2014: Get an A+ on Testing Your Enterprise Applications with Rational Development and Test Environment for System z

IBM zPDT Virtual I/O ArchitectureThe Big Picture

RD

&T

Linux

File

System

awsosa

LAN

awsckd

Device

awsckdawsckd

awsckdawsckd

awsckdawsckd

DeviceDevice

DeviceDevice

Device

awsckdawsckd

DeviceDevice

Device

awsctc

IBM zPDTawsctc

8

Page 10: Innovate 2014: Get an A+ on Testing Your Enterprise Applications with Rational Development and Test Environment for System z

• Increased application quality using the included IBM runtimes for testing. Provides a high fidelity testing environment.

– Functionality and services more accurately reflect the mainframe

– Using actual z/OS middleware means less retesting and rework is required when moving from the unit test environment to the quality assurance or pre-production environment.

– Developers have an isolated test environment to test application changes that can then be easily merged into the next level of testing

• Deployment of System z runtime environment on a PC lowers development and unit tests costs and allows MIPS to be reallocated for production use.

• Executes on an x86 Server

• Utilizing zero development MIPS on the production mainframe for initial application change testing

• Frees up additional capacity for new workload while reducing line of business development costs and chargeback.

• Provides developers in a single or shared user configuration with increased flexibility and control of the test environment, allowing them to be more productive and improving application delivery times.

– Can be assigned to a single developer in a laptop configuration, or can support small-scale team environments

– Environments can be tailored to a single developer or team's runtime needs without altering mainframe testing environments.

– Can provide a greater level of control for developers to implement quick environment changes without having to involve production operations staff.

– Developers can perform their first series of tests and regression testing without worrying about causing unexpected errors.

Summary - Benefits of RD&T

9

Page 11: Innovate 2014: Get an A+ on Testing Your Enterprise Applications with Rational Development and Test Environment for System z

Test-Driven Development

On System z Using RD&T

Teodoro Cipresso, IBM

10

Page 12: Innovate 2014: Get an A+ on Testing Your Enterprise Applications with Rational Development and Test Environment for System z

CompileAutomated

Unit TestInstall & Configure

PromoteResults

Run ManualTests

Run Automated

Tests

Current state for Java / .NET developers

Current state for COBOL and PL/I developers*

CompilePromoteResults

Run ManualTests

Promote & Configure

Hours to days

Weeks to Months

How is Software Tested Today?

*Feedback from mainframe customers

11

Page 13: Innovate 2014: Get an A+ on Testing Your Enterprise Applications with Rational Development and Test Environment for System z

• TDD is test-first software development (write unit tests before code)

• With TDD developers cycle minute-by-minute between

writing unit tests, writing code, and running unit tests [1]

• Running unit tests implies running everyone’s unit tests

• Tests should be self-checking, automated, and run after each build

• Each function of an application gets its own suite of unit tests

• Add or enhance unit tests whenever committing code

• Key element of TDD: “red, green, refactor”

[1] A Longitudinal Study of the Use of a Test-Driven Development Practice in Industry,

http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.104.6319&rep=rep1&type=pdf

What is Test-Driven Development (TDD)?

Red

GreenRefactor

12

Page 14: Innovate 2014: Get an A+ on Testing Your Enterprise Applications with Rational Development and Test Environment for System z

• xUnit: architecture for unit testing frameworks that are code-driven

• Prescribes testing the fundamental units of software

– examples: functions, methods, classes

• Distinguishes between failures and errors in a unit of software:

• A failure is an anticipated problem:

– example: actual output does not match expected output

• An error is an unexpected, catastrophic problem:

– example: null pointer, protection exception (bad pointer)

• Automation: Code, not people, determines pass, fail, or error

• JUnit is a popular instance of the xUnit architecture for Java

xUnit and Code-driven Unit Testing Frameworks

13

Page 15: Innovate 2014: Get an A+ on Testing Your Enterprise Applications with Rational Development and Test Environment for System z

Components of the xUnit Architecture

All xUnit frameworks share the following basic

component architecture, with some varied

implementation details.

14

Page 16: Innovate 2014: Get an A+ on Testing Your Enterprise Applications with Rational Development and Test Environment for System z

• Two barriers to adoption of TDD on System z are MIPs and mobility

• Consider if TDD is adopted for a z/OS application:

• There would be many (10,20,100?) unit tests

• These unit tests would be regularly run as code is written

• Unit tests consume MIPs whether they pass, fail, or error

• Mobility: work from anywhere, with or without connectivity

• RD&T eliminates these barriers by providing:

• A “MIPs-free” development and test environment for System z

• Comprehensive ADCD software suite: CICS, IMS, DB2, WAS, RDz,

Enterprise COBOL and PL/I compilers…and more

• Support for virtualization: run System z in a VMware Linux guest

and connect to it from Windows on the same laptop

Test-Driven Development and System z

15

Page 17: Innovate 2014: Get an A+ on Testing Your Enterprise Applications with Rational Development and Test Environment for System z

Scenario: Unit Test IMS Transactions hosted on RD&T, using RAD, RDz, JUnit, and IMS Connect API for Java

Windows 7

VMware Workstation 10

SUSE 12.1

RD&T 9.0

ADCD z/OS 1.13

IMS Connect

IMS V12.1

RDz 9.0.1

RAD and RDz 9.0.1

CICS/IMS Java Data

Binding WizardVMware

NAT

TCP/IP

JUnit Tools and Test

Runner

IMS Connect API

for Java

IMS App

Source

192.168.198.100

192.168.198.101

16

Page 18: Innovate 2014: Get an A+ on Testing Your Enterprise Applications with Rational Development and Test Environment for System z

IMS Connect APIs for Java and C/C++

• IMS Enterprise Suite Connect APIs provide services for Java and

C/C++ client applications that need to access IMS TM

– Eases/Abstracts IMS Connect message protocol

– Helps assemble, send, receive, and inspect IMS messages

– Provides full set of interaction properties

– Supports SSL

17

Page 19: Innovate 2014: Get an A+ on Testing Your Enterprise Applications with Rational Development and Test Environment for System z

• Install RD&T on a VMware openSUSE 12.1 Linux guest

– VMware Workstation for Windows 10

• Define a VMware virtual NAT network (192.168.198.2-254)

• Configure openSUSE and RD&T to use static IPs on virtual NAT

– Internet access through VMware host (may have dynamic IP)

– Host can connect to Linux or z/OS directly (RDz, FTP, 3270…)

• Customize RD&T to start an IMS DB/DC system:

– Customize IMS for IMS Connect and an IMSplex (monoplex)

– Add PROC and CFG members for IMS Connect

– Customize PROC and CFG members for CSL and SCI (IMSplex)

– Start MPRs with DBLDL=0 (disable program caching)

• Customize RD&T LOADPARM “YC” PROGIM with RDz data sets

Scenario Implementation:1. Install and Configure RD&T

18

Page 20: Innovate 2014: Get an A+ on Testing Your Enterprise Applications with Rational Development and Test Environment for System z

19

Page 21: Innovate 2014: Get an A+ on Testing Your Enterprise Applications with Rational Development and Test Environment for System z

20

Page 22: Innovate 2014: Get an A+ on Testing Your Enterprise Applications with Rational Development and Test Environment for System z

• Install RAD 9.0.1 and RDz 9.0.1

– Install on same machine as RD&T VMware image

– Install into same package group for shell sharing

• Install WAS for Developers 8.5.5 (free product)

– For this scenario we only need CICS/IMS Java Data Bindings

– marshall.jar/com.ibm.etools.marshall.*, and j2ee.jar

• Make sure RD&T is started and that you can reach z/OS from Windows

• Start RDz and define a z/OS connection to RD&T using RSE

• Locate the source of the IMS transaction to unit test

– For the demo we will use the IVP application IVTCB

Scenario Implementation:2. Set up RAD, RDz, and WASCE

21

Page 23: Innovate 2014: Get an A+ on Testing Your Enterprise Applications with Rational Development and Test Environment for System z

22

Page 24: Innovate 2014: Get an A+ on Testing Your Enterprise Applications with Rational Development and Test Environment for System z

• Create a Java project <bindproj> with WASCE in the classpath

• Use the CICS/IMS Java Data Bindings wizard to generate binding code

into <bindproj> for IVTCB’s input and output messages

• Create a Java project <junitproj> that depends on <bindproj>

• Download IMS Connect API for Java jar and samples.jar

• Add the IMS Connect API jar to the classpath of project <junitproj>

• Create a blank JUnit test case “IVTCBTest001” in <junitproj>

• Using samples.jar/SimplePhonebookSample.java as a reference, fill out

the code for the IVTCB JUnit test case:

– Replace hand-written binding code with J2C bindings in

<bindproj>

– Write tests for each CRUD operation supported by IVTCB

– Verify that the actual vs expected output of each operation

– Open connection in setup() close connection in teardown()

Scenario Implementation:3. Create a JUnit test case to invoke IVTCB

23

Page 25: Innovate 2014: Get an A+ on Testing Your Enterprise Applications with Rational Development and Test Environment for System z

24

Page 26: Innovate 2014: Get an A+ on Testing Your Enterprise Applications with Rational Development and Test Environment for System z

Demo

25

Page 27: Innovate 2014: Get an A+ on Testing Your Enterprise Applications with Rational Development and Test Environment for System z

• RDz: Rational Developer for System z Library

• http://www-01.ibm.com/support/docview.wss?uid=swg27038517

• RAD: Rational Application Developer for WebSphere Software

• http://www-01.ibm.com/support/docview.wss?rs=2042&uid=swg27012580

• WAS: IBM WebSphere Application Server for Developers

• http://www-03.ibm.com/software/products/en/appserv-wasfordev

• IMS Enterprise Suite Connect APIs for Java and C

• http://www-01.ibm.com/software/data/ims/connect/

• Junit: A programmer-oriented testing framework for Java

• http://junit.org/

• http://www.vogella.com/tutorials/JUnit/article.html

Demo-related Resources on the Web

26

Page 28: Innovate 2014: Get an A+ on Testing Your Enterprise Applications with Rational Development and Test Environment for System z

• Rational Development and Test Environment for System z Library

• http://www-01.ibm.com/support/docview.wss?uid=swg27038434

• Rational System z Development and Test Hub

• http://ibm.co/rationalsystemzdevtest

• RD&T Support Forum

• http://www.ibm.com/developerworks/forums/forum.jspa?forumID=2283

• RD&T on ibm.com

• http://www-01.ibm.com/software/rational/products/devtest/systemz/

• IBM System z zEnterprise BladeCenter Extension (zBX)

• http://www-03.ibm.com/systems/z/hardware/zenterprise/zbx.html

RD&T Resources on the Web

27

Page 29: Innovate 2014: Get an A+ on Testing Your Enterprise Applications with Rational Development and Test Environment for System z

Suggested Sessions

Session Title Day Time Room

1610 Automated Unit Testing Framework for z/OS Applications?

Yes, it's real!

Mon 4:15 pm Oceanic 1

2336 Getting to the DevOps promised land with continuous

release and deployment across mainframe environments

Tues 1:45 pm Oceanic 1

1531 Continuous Integration with Rational Development and

Test Environment for System z at Nationwide

Tues 3:00 pm Oceanic 1

1670 Bank of America Integrates SDLC to Provide Cross-

Platform Agile Development

Tues 4:15 pm Oceanic 3

2234 Becoming More Agile on the Mainframe with RD&T:

Fiducia’s way of Implementing CI

Wed 8:00 am Oceanic 3

1937 Speed mainframe application delivery with continuous

testing and test virtualization

Thurs 9:45 am Oceanic 1

28

Page 30: Innovate 2014: Get an A+ on Testing Your Enterprise Applications with Rational Development and Test Environment for System z

Acknowledgements and Disclaimers

© Copyright IBM Corporation 2012. All rights reserved.

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

with IBM Corp.

– Please update paragraph below for the particular product or family brand trademarks you mention such as WebSphere, DB2,

Maximo, Clearcase, Lotus, etc

IBM, the IBM logo, ibm.com, [IBM Brand, if trademarked], and [IBM Product, if trademarked] 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

f you have mentioned trademarks that are not from IBM, please update and add the following lines:

[Insert any special 3rd party trademark names/attributions here]

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

Availability. References in this presentation to IBM products, programs, or services do not imply that they will be available in all

countries in which IBM operates.

The workshops, sessions and materials have been prepared by IBM or the session speakers and reflect their own views. They are

provided for informational purposes only, and are neither intended to, nor shall have the effect of being, legal or other guidance or advice

to any participant. 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. IBM shall not be responsible for any damages arising out of the use of,

or otherwise related to, this presentation or any other materials. 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 the

applicable license agreement governing the use of IBM software.

All customer examples described are presented as illustrations of how those customers have used IBM products and the results they may

have achieved. Actual environmental costs and performance characteristics may vary by customer. Nothing contained in these

materials is intended to, nor shall have the effect of, stating or implying that any activities undertaken by you will result in any specific

sales, revenue growth or other results.

29

Page 31: Innovate 2014: Get an A+ on Testing Your Enterprise Applications with Rational Development and Test Environment for System z

Thank You!

Your Feedback is Important!

Access the Innovate agenda tool to complete your

session surveys from your smartphone, laptop or

conference kiosk.

30

Page 32: Innovate 2014: Get an A+ on Testing Your Enterprise Applications with Rational Development and Test Environment for System z

Backup

31

Page 33: Innovate 2014: Get an A+ on Testing Your Enterprise Applications with Rational Development and Test Environment for System z

• IBM Rational Development and Test Environment for System z Quick Start Guide (GI13-1802-03)

• IBM Rational Development and Test Environment for System z USB Hardware Device Quick Start

Guide (GI11-9147-02)

• Installation: System z Personal Development Tool Redbooks

• Basic instructions for installation/ configuration of Linux, zPDT, and starter z/OS system

• References

• System z Personal Development Tool Volume 1: Introduction and Reference (SG24-7721-05)

• System z Personal Development Tool Volume 2: Installation and Basic Usage (SG24-7722-05)

• System z Personal Development Tool Volume 3: Additional Topics (SG24-7723-05)

• System z Personal Development Tool Volume 4: Coupling and Parallel Sysplex (SG24-7859-02)

• Configuring z/OS with IBM Rational Development and Test Environment for System z - z/OS 1.13 (SC14-7281-04)

• Contains basic instructions and examples for z/OS system customization

• Isolate base configuration files from customized files

• Store user data on a separate disk

• Configure TCP/IP settings

• Configure security for critical system files

• Create user IDs

• Other minor but common changes to z/OS

• System programmer assistance will be required to replicate

specific conventions, security models, subsystems, etc

RD&T Installation and Configuration Documentation

32

Page 34: Innovate 2014: Get an A+ on Testing Your Enterprise Applications with Rational Development and Test Environment for System z

RD&T is enabled via a USB key

• Key makes Environment operational

USB key is shipped disabled. The high capacity key activation process is described on the RD&T Hub

The key is physical media and can be ordered via PPA

Electronic download available for SW stack

Licensing

User based licensing- each user needs a license:

Authorized User Single Install (perpetual or

fixed term)

Resource Value Unit licensing, where resource =

activated, emulated System z CP (perpetual or

fixed term)

License to

Development workloads only

Specifically non-production in license (i.e., no end

users of the applications allowed)

No guarantee or warrantee to replicate mainframe

function in entirety (see limitations listed earlier)

Development license for S/W stack (z/OS and

middleware) content

No phone or defect support provided with purchase

Defects must be replicated in production system

and fed through production support process

Online support forum available for QA

33

RD&T environment licensing

33