Upload
teodoro-cipresso
View
472
Download
5
Tags:
Embed Size (px)
Citation preview
© 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
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
Introduction to RD&T
John T. Gates Jr., IBM
2
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
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
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
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
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
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
• 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
Test-Driven Development
On System z Using RD&T
Teodoro Cipresso, IBM
10
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
• 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
• 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
Components of the xUnit Architecture
All xUnit frameworks share the following basic
component architecture, with some varied
implementation details.
14
• 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
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
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
• 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
19
20
• 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
22
• 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
24
Demo
25
• 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
• 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
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
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
Thank You!
Your Feedback is Important!
Access the Innovate agenda tool to complete your
session surveys from your smartphone, laptop or
conference kiosk.
30
Backup
31
• 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
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