Mainframe Application Testing both With and Without Live Data
-
Upload
devops-for-enterprise-systems -
Category
Software
-
view
295 -
download
0
Transcript of Mainframe Application Testing both With and Without Live Data
Mainframe Application Testing Both With and Without Live Data Session 3193
Please Note:
1
• 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. • 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.
• John Chewter, IBM – STSM, Chief Architect – API Testing & Service Virtualization
• Bill Alexander, IBM – Architect – Rational Developer for z Systems
2
Introduction and background
• Shift Left testing – RTW overview
• Modern mainframe application development – RDz overview
• Example application – Intro to zMobile Health Care app
• SQL event virtualization – RDz, RIT and DB2 – Real data and virtualized data
• CICS program virtualization – RDz, RIT and CICS – Real programs and virtualized program stubs
• Test from the web service interface – RDz and Generic Service Client using JSON/HTTP – Real data and virtualized data
• Wrap up 3
Agenda
Rapid iterations
Develop Build Test Deploy Production
API Catalog
Develop Build Test Deploy
Slower iterations
Production
Systems of Interaction
Systems of Record
Digital Applications
Enterprise Applications
The Multispeed IT Problem
The customer asks: How do we test these scenarios?
Typical Challenges
Agile Agenda
IT Complexity
New technologies Iterative delivery Fast paced Lots of Integration
Legacy Estate Large scale Complexity Longer delivery
schedules
Financial Constraints Fewer people Cloud Services Value for money
Delivery Delays Increased Cost
Increased Delivery Risk
Loss of expertise Delivery commitments New operating models Ownership of Quality
Change in Supplier/Governance
Continuous Delivery Teams need to automate at every layer
Continuous Testing
• IBM Rational Test Virtualization Server Model real system behavior to eliminate test
dependencies and simulate production
Accelerate testing and reduce the setup and infrastructure costs of traditional testing environments
• IBM Rational Test Workbench Support functional, performance and integration
testing throughout your project lifecycle
With a script less, wizard-driven test authoring environment and support for more than 70 technologies and protocols
Load Agents Virtualization Agents
QA Team
On Premises
Test Workbench
Functional Testing Integration Testing Performance Testing Regression Testing Mobile Testing Test
Servers
ABOUT THE SOLUTION – 1/2…RTW
Virtual Service Engines Performance Engines
On Cloud {
Hybrid
Dev Team
Modern mainframe application development – traditional resources
8
IBM Rational Developer for z Systems Easy access to mainframe resources Advanced editors and program understanding tools Improved code quality through static analysis Unit testing tools Remote debugging SCM integration
Modern mainframe application development – data tooling
9
IBM Rational Developer for z Systems Easy access to databases Edit tables, Load/Extract data, Run SQL, Generate DDL, Create Stored Procedures Additional capabilities when IBM Data Studio is also installed
Modern mainframe application development – service enablement
10
IBM Rational Developer for z Systems Enterprise Service Tools perspective is used for service enabling traditional mainframe applications Advanced editors for JSON, WSDL, XML, XSD Wizard driven tools for easy creation and deployment of web service artifacts Generic Service Client and Web Services Explorer for service testing
11
Monitors the user's physical and mental well-being
Reminds the user when to take his or her medications and receives confirmations
Uses Bluetooth for collection of biosensor information (heart-rate and EEG)
Performs real-time graph analytics of the user's collected biometric and electro-encephalogram (EEG) data
Runs on Android and iOS mobile devices
Example application
Dev environment overview
• RDz and RIT installed on workstation
• Rational Test Control Panel (RTCP) – Web dashboard for managing stubs, agents, proxies – Contains tools for use in various environments
• CLIP agents for DB2 on z virtualization • CICS agents for (DPL) LINK virtualization • MQ, HTTP, JDBC, CTG and other agents
12
RDz RIT
Developer Workstation
RTCP CLIP Agent front end
Developer Workstation Or Network Computer
HTTP
In v8.7+ RTCP tools replace Rational Integration Tester Platform Pack
SQL event virtualization for programs that access DB2 on z
13
Dev and Test environment overview
14
• Compiled Language Interceptor Processor (CLIP) – A two part distributed agent – Front end on a Linux or Windows workstation
• One front end agent is capable of servicing multiple z/OS hosts, DB2 subsystems and users
– Back end runs in the address space of your z/OS application
• CADP transaction in CICS – Manages profiles for intercepting DB2 calls – Using CADP web interface allows for auto profile
creation
DB2 COBOL
CICS
CADP CLIP Agent back end
User Application
RDz RIT
Developer Workstation z System
RTCP CLIP Agent front end
Developer Workstation Or Network Computer
TCPIP HTTP
In a batch scenario, CADP is not used . Instead use the TEST option with specific parameters for RIT.
Using RIT to prepare for DB2 virtualization
• Architecture School – Create logical DB2 on z resource
• New > General > Database Server
– Create physical binding to z/OS, DB2, CICS and CADP • Set Binding in > environment > Create new database
• Recording Studio – Monitor the logical DB2 on z resource
• Make sure the CLIP agents are running • Make sure the CADP profile is Active
– Record DB2 data • Execute the live application
– Save data into a database stub 15
Modify and Create test data
16
• Test Factory – Edit the database stub, using common tools – Modify recorded test data – Create new test data – Run the stub
• Data from the stub is used without restarting the application itself
• Progress bar shows how often the stub is accessed
17
• Run the CICS transaction – Without the stub active – Requests flow to actual database tables – Newly created (virtual) data does not exist
• Run the CICS transaction – With the stub active – Requests flow to the stub, not the database
• Pass-through is also available
– Newly created (virtual) data is returned
Test the 3270 transaction
Example application + DB2 virtualization
18
z/OS
CICS Web Services
CICS
Presentation logic
Add / Update
Browse
3270 Client
DB2
• Test early • Test often • Test in isolation • Reduce wait time
Bonus slide – MVS Batch DB2 virtualization
19
• Architecture School – Create logical DB2 on z resource – Create physical binding to z/OS, DB2
• Recording Studio – Monitor the logical DB2 on z resource
• Make sure the CLIP agents are running
– Record DB2 data • Execute the live application
– Save data into a database stub • Test Factory
– Edit the database stub, using common tools – Run the stub
• Include CLIP agent backend on SYSLIB • Include TEST option and host:port for CLIP agent front end • Include Environment variable for DBRM file location • Include Environment variable for DB2 subsystem ID
CICS Program LINK (DPL) virtualization
20
Dev and Test environment overview
21
• Rational Integration Tester CICS TS Agent – A two part agent for z/OS – RITEXITC
• CICS exit which monitors DPL Calls • One per CICS region
– RITAGENT • Batch service that sets up communication to the exit • One per LPAR
COBOL CICS
RITEXITC
RITAGENT
User Application
RDz RIT
Developer Workstation z System
RTCP
Developer Workstation Or Network Computer
TCPIP HTTP
Currently only COMMAREA is supported. Channel and containers is not supported.
Using RIT to prepare for DPL virtualization
• Architecture School – Create logical CICS region
• New > IBM > IBM CICS Region
– Create physical binding to CICS • Set Binding in > environment > Create new IBM CICS Server
– Create Recording Filters
• Recording Studio – Monitor the logical CICS region
• Make sure the RITAGENT is running
– Record data used in Program LINK • Execute the live application
– Save data into a stub 22
Modify and Create test data
23
• Test Factory – Edit the stub, using COBOL data structure layout – Modify recorded test data – Create new test data
– Run the stub
• Data from the stub is used without restarting the application itself
24
• Run the CICS transaction – Without the stub active – Requests flow to actual program – Actual program is executed
• Run the CICS transaction – With the stub active – Requests flow to the stub, not the program
• Pass-through is also available
– Actual program does not have to be ready – Newly created (virtual) data is returned
Test linking to the program
Example application + DPL virtualization
25
z/OS
CICS Web Services
CICS
Presentation logic
Add / Update
Browse
3270 Client
DB2
• Test early • Test often • Test in isolation • Reduce wait time
CICS web service virtualization
26
Dev and Test environment overview
27
• Rational Integration Tester HTTP Proxy – IBM RIT HTTP Proxy Service
• Configured via registration.xml file • Started by default, but can also use start.bat
COBOL CICS
User Application
RDz RIT
Developer Workstation z System
RTCP HTTP Proxy
Developer Workstation Or Network Computer
TCPIP HTTP
Using RIT to prepare for service virtualization
• Architecture School – Create logical Web Server
• New > Web > HTTP Connection
– Create physical binding to CICS • Set Binding in > environment > Create new Web Server
• Recording Studio – Monitor the logical Web Server
• Make sure the HTTP Proxy service is running • Make sure the service requester is configured to use an HTTP Proxy
– Record data used in web service • Execute the live application
– Save data into a stub 28
Modify and Create test data
29
• Test Factory – Edit the stub – Using JSON Schema layout – Modify recorded test data – Create new test data
– Run the stub
• Data from the stub is used without restarting the application itself
30
• Run the service request – Without the stub active – Requests flow to actual web service – Actual service is executed
• Run the service request – With the stub active – Requests flow to the stub, not the service
• Pass-through is also available
– Actual service does not have to be ready – Newly created (virtual) data is returned
Test invoking the service
Example application + service virtualization
31
z/OS
CICS Web Services
CICS
Presentation logic
Add / Update
Browse
3270 Client
DB2
• Test early • Test often • Test in isolation • Reduce wait time
REST JSON
Mainframe Scenarios
32
TEST
VIRTUALIZE
VIRTUALIZE
Benefits
33
Having a focused capability to quickly and easily access core services early in the development cycle will ‘change the game’ for agile development within complex systems delivery projects
Much faster time to provision versus conventional environment stand-up times
Reduced technical debt for projects
Increased productivity, and Shift Left increased project quality
Decouple delivery schedules by working with virtual services prior to integration
Reduce delivery risk due to unmanaged dependencies
Reduction in total number of environments
Lower cost versus procurement of environments from 3rd parties
Low TCO to consume service managed & delivered through virtualization
Lower dependence on non-IT staff re-usable and self managed data
• Increase code quality – Test early and often – Shorten time between defect identification and defect resolution
• Reduce bottlenecks – Eliminate the need to wait for colleagues (other developers, systems
administrators) – Evolve your tests and stubs as you progress through the SDLC
34
Wrap up
• Rational Test Workbench: https://ibm.biz/BdHs5T
• Rational Developer for z Systems: https://ibm.biz/BdHkuU
• IBM DevOps page: http://ibm.com/DevOps
• IBM DevOps for Enterprise Systems: http://bit.ly/1PB02KS
• IBM Enterprise DevOps for z Systems cloud-based trial: – https://ibm.biz/BdH666
• For Dummies books: – https://ibm.biz/mmdevops – http://ibm.co/devopsfordummies – http://ibm.co/agilefordummies – http://ibm.co/ServiceVirtualizationForDummies – http://ibm.co/ARDfordummies 35
Resources
Related sessions of interest Session # Title 3370A Service Testing in Enterprise Environments 2188B Delivering Quality Code: An Enterprise Developer's Perspective 1714A DevOps on z Systems at UBS: What is the Speed of a Caravan
in the Desert? 3329A Thomson Reuters' Use of RDz to Accelerate Development
through Mainframe Modernization 4098A Shaw Industries' Experience with Deployment and Adoption of
DevOps Tools in a Mainframe Shop 5565A System z DevOps Application Testing Meets LeftShift 3478A Continuous Integration and Deployment on Rational
Development and Test Environment for z Systems 36
Notices and Disclaimers
37
Copyright © 2016 by International Business Machines Corporation (IBM). No part of this document may be reproduced or transmitted in any form without written permission from IBM.
U.S. Government Users Restricted Rights - Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM.
Information in these presentations (including information relating to products that have not yet been announced by IBM) has been reviewed for accuracy as of the date of initial publication and could include unintentional technical or typographical errors. IBM shall have no responsibility to update this information. THIS DOCUMENT IS DISTRIBUTED "AS IS" WITHOUT ANY WARRANTY, EITHER EXPRESS OR IMPLIED. IN NO EVENT SHALL IBM BE LIABLE FOR ANY DAMAGE ARISING FROM THE USE OF THIS INFORMATION, INCLUDING BUT NOT LIMITED TO, LOSS OF DATA, BUSINESS INTERRUPTION, LOSS OF PROFIT OR LOSS OF OPPORTUNITY. IBM products and services are warranted according to the terms and conditions of the agreements under which they are provided.
Any statements regarding IBM's future direction, intent or product plans are subject to change or withdrawal without notice.
Performance data contained herein was generally obtained in a controlled, isolated environments. Customer examples are presented as illustrations of how those customers have used IBM products and the results they may have achieved. Actual performance, cost, savings or other results in other operating environments may vary.
References in this document to IBM products, programs, or services does not imply that IBM intends to make such products, programs or services available in all countries in which IBM operates or does business.
Workshops, sessions and associated materials may have been prepared by independent session speakers, and do not necessarily reflect the views of IBM. All materials and discussions are provided for informational purposes only, and are neither intended to, nor shall constitute legal or other guidance or advice to any individual participant or their specific situation.
It is the customer’s responsibility to insure its own compliance with legal requirements and to obtain advice of competent legal counsel as to the identification and interpretation of any relevant laws and regulatory requirements that may affect the customer’s business and any actions the customer may need to take to comply with such laws. IBM does not provide legal advice or represent or warrant that its services or products will ensure that the customer is in compliance with any law
Notices and Disclaimers Con’t.
38
Information concerning non-IBM products was obtained from the suppliers of those products, their published announcements or other publicly available sources. IBM has not tested those products in connection with this publication and cannot confirm the accuracy of 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. IBM does not warrant the quality of any third-party products, or the ability of any such third-party products to interoperate with IBM’s products. IBM EXPRESSLY DISCLAIMS ALL WARRANTIES, EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
The provision of the information contained h erein is not intended to, and does not, grant any right or license under any IBM patents, copyrights, trademarks or other intellectual property right.
IBM, the IBM logo, ibm.com, Aspera®, Bluemix, Blueworks Live, CICS, Clearcase, Cognos®, DOORS®, Emptoris®, Enterprise Document Management System™, FASP®, FileNet®, Global Business Services ®, Global Technology Services ®, IBM ExperienceOne™, IBM SmartCloud®, IBM Social Business®, Information on Demand, ILOG, Maximo®, MQIntegrator®, MQSeries®, Netcool®, OMEGAMON, OpenPower, PureAnalytics™, PureApplication®, pureCluster™, PureCoverage®, PureData®, PureExperience®, PureFlex®, pureQuery®, pureScale®, PureSystems®, QRadar®, Rational®, Rhapsody®, Smarter Commerce®, SoDA, SPSS, Sterling Commerce®, StoredIQ, Tealeaf®, Tivoli®, Trusteer®, Unica®, urban{code}®, Watson, WebSphere®, Worklight®, X-Force® and System z® Z/OS, are trademarks of International Business Machines Corporation, registered in many jurisdictions worldwide. Other product and service names might be trademarks of IBM or other companies. A current list of IBM trademarks is available on the Web at "Copyright and trademark information" at: www.ibm.com/legal/copytrade.shtml.
Thank You Your Feedback is Important!
Access the InterConnect 2016 Conference Attendee Portal to complete your session surveys from your
smartphone, laptop or conference kiosk.