SlideShare a Scribd company logo
Modern environment for z/OS
development
Rosalind Radcliffe
Venkat Balabhadrapatruni
Feb 4, 2013
Session: 12503
Insert
Custom
Session
QR if
Desired.
2
2
Four key barriers preventing optimal return on
IT investments
Decades of
application
investments
Islands of skills,
languages
and platforms
Poorly
integrated
teams
Infrastructure
inefficiency
“We need to enable our teams
to collaborate across platforms,
languages, and environments.”
“We need a cost effective way to improve
our infrastructure efficiency and free up
capacity to handle more workload.”
“We don’t understand the effort,
risk and impact of modernizing
our legacy applications.”
“Our skills gap keeps growing.
How do we stay current with all the language
and technology changes?”
3
3
Overview of Supported Production Scenario
Project Manager or Support Team has submitted Project Change Request …
4: Promote and deploy
enhancement
- Promote changes from
development to test
- Create update package with set
of changes from development
- Deploy update package to the
test environment
3: Implement required
changes, build and deliver
- Analyze source to identify
modifications
- Implement and test
modifications
- Perform personal build and
deliver new features
2: Review and Approve
Change Request
- Review analysis for change
request and approve for
scheduling
- Create development work
item(s) for implementation
- Add work to project plan
1: Review Change Request
- Analyze application to be changed
- Size/scope effort and risk of
change
- Submit to Project Manager for
review, approval and scheduling Analyst/SME
Lead
Developer/
Release
Engineer
Project
Manager
Application
Developer
5. Track Project Status
with Rational Team
Concert Dashboard
4
4
Development Life Cycle
• Define the tasks
• Create a plan
• Create a work item
• Assign the work
item to a developer
• Load the
project/source
artifacts from SCM
• Navigate, Analyze,
Edit, Syntax check
source code
• Compile
• Quality assurance
• Debug
• Code Coverage
• Code review
• Unit Testing
• Check-in/Deliver the
source code
• Build
CLM RDz
RTC
RDz
RD&T
RTC
RTC
RDz
Source
Dev Build
Planning Governance/Unit test
5
5
 Decreases development time by 15 to 20 percent
“Building an agile development team requires a multiplatform approach, and Sodifrance
uses Rational Developer for System z and Rational Team Concert for System z to help
application teams synchronize their efforts and improve collaboration.
Rational on System z offers a powerful and valuable combination
for any company that wants to boost its development team’s productivity.”
— Hugh Smith, Project Manager, Sodifrance
Collaborative application lifecycle management
Deploy new, common team infrastructure for source control, change
management and build that empowers your team with integrated
collaboration, process automation and reporting
Requirements
Project/Planning Development Testing
Unify
6
6
Rational Team Concert – A single tool, many
capabilities
• Source Control
 Planning
 Work Items
 Method Enforcement and
Automation
 Dashboards & Reporting
 Builds – Continuous
Integration
7
7
Query
Storage
Collaboration
Discovery
Administration:
Users, projects,
process
JAZZ SERVICES
Business Partner
Extensions Your Extensions
Rational Team Concert: Built on an open, Web 2.0
platform
Supporting a broad range of desktop clients, IDE’s and languages
Rational Developer for System z
Rational Software Architect
Rational Systems Developer
Rational Business Developer
Rational Developer for Power
Eclipse Clients Web Clients
Visual Studio
Microsoft .NET Clients Rational Desktop Clients
Rational Team Concert
Web 2.0
Jazz Client Extensions
Eclipse Platform
IBM Rational Extensions
Best Practices
Presentation:
Mashups
8
8
Rational Developer for System z:
An Integrated Development Environment for System z
Rational Developer for System z
A modern IDE for productive development of
cross-platform applications written in COBOL,
PL/I, ASM, Java, EGL or C/C++ in System z
CICS, IMS, DB2, Batch applications
Access to typical System
z sub-system functionality
in z/OS, CICS, IMS, DB2,
WAS
Integration with Debug Tool
for Development and Test
Integration with Fault
Analyzer for Dump Analysis
Integration with File
Manager for file and test
data handling
Integration with Asset
Analyzer for Application
Understanding and Impact
Analysis
Integration with Team
Concert for Lifecycle and
Source Management
Integration with RD&T for
flexible access to System z
environment
9
9
The Benefits of a RDz's IDE
Instead of maneuvering to access panels and working sequentially,
in RDz the functionality you need is always in-focus – you work concurrently
Access
Datasets
+ Dataset
Management
Access Jobs
(Outlist facility)
Edit a program
Dataset Statistics
Submit a Compile
File Compare
 File Search
10
10
Traditional development and Enterprise
web services
Enterprise Service Tools
Single service projects
Top down, bottom up, and meet in the middle
web service enablement for CICS, IMS, and
Batch/TSO environments.
Service flow projects
Graphical composition of CICS applications
chained together to form a new business
service.
Enable Enterprise Applications for Mobile and
Web
Supports traditional development/maintenance
• Cobol, PL/I, Assembler, JCL
Supports modern architecture development
11
11
Rational Development and Test Environment for
System z
The ultimate in modern application development for System z
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.
RDz & ISPF user
ISPF user
RDz user
RDz user
RDz user
COBOL, PL/I, C++, Java, EGL, Batch,
Assembler, Debug Tool
x86 PC running Linux
RDz user
IMS
z/OS
WAS
DB2
MQ
CICS
 Increase availability of z/OS testing environment and resources
 Liberate developers to rapidly prototype new applications
 Develop and test System z applications anywhere, anytime!
 Eliminate costly delays by reducing dependencies on operations staff
 Improve quality and lower risk via automation, measurement, and collaboration
 Focus on what is required for the change at hand, then scale
12
12
Centralized administration
Push to Client - Configuration Files management and product updates
Desktop configuration setup
• upon connecting to the host, a
user is notified if they have
incoming changes to their
configuration files.
Product updates
• triggered from central place to all
the users connecting to the host
An Export Wizard – to help an Admin
configure various settings on RDz
client and upload it to a central
location.
Settings are grouped by function into
configuration files such as remote
connections or system mappings.
13
13
Development Life Cycle
• Define the tasks
• Create a plan
• Create a work item
• Assign the work
item to a developer
• Load the
project/source
artifacts from SCM
• Navigate, Analyze,
Edit, Syntax check
source code
• Compile
• Quality assurance
• Debug
• Code Coverage
• Code review
• Unit Testing
• Check-in/Deliver the
source code
• Build
CLM RDz
RTC
RDz
RD&T
RTC
RTC
RDz
Source
Dev Build
Planning Governance/Unit test
14
Any process: Executable and repeatable
Use ONE tool to support both agile and non-agile
Process
Architect
Variant #1
Variant #2
Variant #3
Project
Manager
Scrum
Waterfall
Iterative
Project C
Waterfall
Analyst Release
Engineer
Developer Quality
Professional
Project B
Analyst Release
Engineer
Developer Quality
Professional
Project A
Product Owner Scrum Master Team Member
Agile
Iterative
Formal
Project
Mgt
Template
Scrum
Template
14
15
Multiple plan views facilitate continuous planning
16
Progress Tracking - Everyone can see live project
status
16
17 17
In-context Collaboration – Team View
Team Central
Shows what is happening on project:
• News & events
• What’s being worked on
• Changes
Configurable (RSS feeds) - New kinds of information
easily added
Personalized, Persistent - Each team member can
tailor to their needs
17
18
18
Development Life Cycle
• Define the tasks
• Create a plan
• Create a work item
• Assign the work
item to a developer
• Load the
project/source
artifacts from SCM
• Navigate, Analyze,
Edit, Syntax check
source code
• Compile
• Quality assurance
• Debug
• Code Coverage
• Code review
• Unit Testing
• Check-in/Deliver the
source code
• Build
CLM RDz
RTC
RDz
RD&T
RTC
RTC
RDz
Source
Dev Build
Planning Governance/Unit test
19
19
RDz Source Code Integration
RDz
Rational Team Concert
SCLM
Rational ClearCase
Framework for other SCMs
CA Endevor
 Rational’s Strategic Source Code tooling is
RTC and RDz provides tight integration
 RDz offers integration into a variety of other
Source Code Management (SCM) tools as
well as a framework for creating SCM
integration on your own (CARMA)
 Variety of vendors supply plug-ins to RDz to
provide easy access to processes and
source code controlled by their products
20
Source Control Management
21
21
Load the source artifacts
21
22
RDz and RTC together
• Once the project is loaded, it will appear
in the RDz z/OS projects view
• RDz augments the development
productivity & experience
• Appropriate editors (COBOL, maps, etc.)
and functions (content assist, real time
syntax check, etc.)
• High value functions (Enterprise web
services, SFM, Code review, Unit testing,
program analysis/control flow etc.)
23
23
Create a Property Group
 Generate property groups for your project based on RTC build definition
 Allows RDz to resolve the dependencies and thus offer all the tooling
24
24
Navigate datasets and jobs live on zOS
• Connect to multiple hosts concurrently
• Respects existing security configurations and user IDs
• Search, filter, browse, edit, compare, migrate, and
allocate new MVS datasets and USS files
• Copy source code, members, or datasets between
systems with a few mouse clicks.
• Access JES queues submit jobs, view job state, and
open output spools
• Submit TSO or USS commands
• Add datasets and members into projects to group
applications and work items together logically
• Open an emulator in the IDE to configured hosts
25
25
Edit capabilities in RDz
• RDz at a high level has different types of
editors
• Lpex Editor
• Supports editing of COBOL, PLI,
HLASM, JCL, C/C++, Rexx etc.
• Provides ISPF like edit experience
including prefix commands, command
line and even look and feel
• Supports advanced edit functions for
COBOL, PLI and HLASM like real time
syntax checking, content assist
• COBOL and PLI advanced editors
• Based on the Eclipse editor
infrastructure, provide more advanced
edit capabilities like quick fixes, hyper-
linking, hover, easy navigation between
various edit sessions or within the same
edit session.
• Supports real time syntax checking,
content assist, key word highlighting etc.
26
26
Edit capabilities in RDz
• RDz at a high level has different types
of editors
• WYSYWIG editors
• Creation, edit of BMS and MFS maps
• Has the source and design view –
allows drag and drop of fields in the
design view which generates the
appropriate source
• Data Editors
• Edit QSAM data
27
27
Editor Productivity features - Develop
code more efficiently
Find all statements
and
variables
(including from COPYBOOKS or
INCLUDE)
28
28
Editor Productivity Features – real time
syntax checking
Real-time syntax check without requiring code compile or save
29
29
Editor Productivity Features
 Provide "Open Called Program" action
 Hyper linking support for Open/ Browse/
View copybooks/include files
 Show In > Outline action to COBOL and
PL/I Editor
30
30
Editor Productivity Features
 Mark “Write occurrences” capability
to the supported EXEC statements
 Occurrences within EXEC
statements known to be “writes” are
highlighted with a BROWN
background
• All “read” statements will continue to
be highlighted with a GREY
background
31
31
Search for Occurrences Action
 Once a variable is selected the user triggers the “Find Occurrences”
action using the Menu under search or keyboard shortcut “Ctrl+Shift+U”
 The occurrences are shown in the “Search results” page
32
32
Copy book and Include file resolution
• Hover over a COPY book name or a INCLUDE file to see the
contents
• Pressing F2 when hovering will “pin” the hover as shown
• The window can then be dragged to expand, the Pencil icon
shown below can be used to edit the copy book
33
33
JCL Template Support
 Templates are provided for standard JCL statements, and users can create their
own Templates
 When editing .jcl file using “Ctrl+Space” in the editor will trigger a pop list allowing
the user to select the template to insert into the editor contents
34
Enhanced Application Quality & Structure
Analysis
• Application Analysis
• Control flow diagrams for COBOL programs,
 Graphical representation of the program flow with links to the
source
• Helps identify and highlight potential unreachable code
35
Enhanced Structure Analysis – Data Element
Table
36
Pending Changes
• If you want finer grained
control on your SCM
operations, then the Pending
Changes view is for you
• Check in, deliver, accept
changes
• Suspend, resume, discard
changes
• Replace, reload out-of-sync
• Resolve conflicts
• Open change sets and work
items via the web client
37
Traceability : Check-in History
• Someone made a costly mistake merging and you want to
understand exactly where the mistake was made
• Problem : Traditional history commands & UI only show
before/after & merge states for a change set … it does not show
intermediates
• Solution : Use Check-in history in Eclipse, CLI or .NET clients
38
38
Development Life Cycle
• Define the tasks
• Create a plan
• Create a work item
• Assign the work
item to a developer
• Load the
project/source
artifacts from SCM
• Navigate, Analyze,
Edit, Syntax check
source code
• Compile
• Quality assurance
• Debug
• Code Coverage
• Code review
• Unit Testing
• Check-in/Deliver the
source code
• Build
CLM RDz
RTC
RDz
RD&T
RTC
RTC
RDz
Source
Dev Build
Planning Governance/Unit test
39
39
Debug Multiple Runtimes – using IBM Debug tool
• Use the cross-platform debugger to
debug end-to-end systems as they
execute in the runtime
• IMS
• CICS
• DB2
• Batch
• WAS
• Java
• From the workstation:
• View executing source code
• Step through host code line-by-line
• Set breakpoints
• Alter working storage values
• Alter register values
• Etc…
• Debug zOS and distributed code in the
same interface even stepping between
runtimes and platforms!
40
40
Enhanced Application Quality – Code
Coverage
• Line Level Code Coverage - provides tools to measure
and report on test coverage of an application
• Indicating what source code lines were tested and remain to be
tested
41
41
Innovative Debugging using Collaboration
• Collaborative debug with RDz and
IBM Debug Tool via the Rational
Team Concert Server!
• Share breakpoints and monitors
with other team members
• Transfer debug session control to
other users
• Save debugging sessions for later
retrieval in the team environment
• Works for WAS (JEE) and System
z applications
42
42
Enhanced Quality & Structure Analysis – Code
review
• Code Review/Governance -
provides predefined rules and
templates for COBOL and PL/I
applications
•Ensure adherence to corporate
standards
43
43
zUnit – Unit testing framework for z/OS
• Frameworks that assist developers in
writing code to perform repeatable,
self-checking unit tests are
collectively known as xUnit.
• xUnit defines a set of concepts that
together provide a light-weight
architecture for implementing unit
testing frameworks.
• JUnit, for example, is a very popular
instance of the xUnit architecture.
• zUnit is a xUnit instance for System z
• Goal is to encourage the continuous
integration and continuous testing
methodology for System z Application
development and maintenance
TESTCASE1
(...)
ADDTESTS2
(...)
TEST0012
(...)
TESTnnn2
(...)
SETUP2
(...)
TEARDOWN2
(...)
. . .
ZXUTCINI(...)
ZXUTCADD(...)
ZXUASTFM(...)
ZXUASTFA(...)
USER.ZUNIT(TESTCASE)
zUnit Test Runner API
Invoking the assertion APIs in the
SETUP, TEARDOWN, or active TEST
entry will fail the current Test.
1
Language-specific details:
In COBOL, this is the first program appearing in the Test Case source file and it will
be invoked by the Test Runner for Test Case initialization.
In PL/I, the is the procedure declared with option(fetchable) in the Test Case source
file and it will be invoked by the Test Runner for Test Case initialization.
2
Language-specific details:
In COBOL, these are expected to be subprograms (non-nested and therefore
compatible with FUNCTION-POINTER).
In PL/I, these are expected to be internal procedures that are declared at the
package level (non-nested).
44
44
Development Life Cycle
• Define the tasks
• Create a plan
• Create a work item
• Assign the work
item to a developer
• Load the
project/source
artifacts from SCM
• Navigate, Analyze,
Edit, Syntax check
source code
• Compile
• Quality assurance
• Debug
• Code Coverage
• Code review
• Unit Testing
• Check-in/Deliver the
source code
• Build
CLM RDz
RTC
RDz
RD&T
RTC
RTC
RDz
Source
Dev Build
Planning Governance/Unit test
45
Enterprise Extensions Specific Functions
• Dependency build
• “Smart build” of z/OS and IBM i
applications, based on what
has changed
• Promotion
• Flow of source code changes
and build outputs through
development hierarchy
• Packaging and deployment
• Package build outputs and
deploy to another system (e.g.
test environment, QA,
production, etc)
46
Test Machine 1
Jazz Team Server
The big picture
1. Dependency build runs on build machine. Source is loaded from Dev Stream and
outputs are built in Dev Library.
2. Promotion build runs on build machine. Source is promoted from Dev Stream to
Test Stream and build outputs are copied from Dev Library to Test Library.
3. Package build runs on build machine. Test Library build outputs are archived in a
package.
4. Deploy build runs on various test machines. Package is loaded to test machine
and build outputs are deployed to runtime libraries.
Test Stream
Dev Stream
Build Machine
Test Library
Dev Library
Runtime Library
Test Machine 2
Test Machine 3
Package
Runtime Library
Runtime Library
1
2
2
3
4
4
4
47
Dependency Build Summary
1- Scan
2- Preprocessing
Scan new or changed
files
Extract their logical
information and
dependencies
For changed files:
impact on build maps
Calculate dependency
sets Dependency
sets
Build processing
Server Mainframe (Build machine)
Build
Maps
48
Snapshots for every build
49
Promotion
• Flow source code changes and build outputs through the
development hierarchy
Source
Outputs
50
Summary
• Many companies spend more than 70% on keeping lights on, and that amount is
increasing
• IT organizations have problems modifying applications at speed of business
• IBM provides a structured approach to incrementally modernize your portfolio
based on business priorities
• Change without a plan is chaos
• A Plan without change is stagnation
• Business goals change
• applications need to change to address them
• Continual renewal is required
• tools help to guide, govern, drive, and accomplish this change
51
Getting started
Next steps to modernize your enterprise
applications
 Try latest System z software for free
 Sign up for free web-based training
 Join IBM Rational Cafe Communities
 Get prescriptive service solutions
www.ibm.com/rational/modernization
 Latest news on System z twitter
 Latest customer videos
 Success stories
 Latest skills: System z job board
Enterprise
Modernization
Revitalize
Unify
Empower
Optimize
Enabling Product
and Service Innovation
52
52

More Related Content

PPTX
Innovate presentation
PDF
Continuous Integration and Deployment on Rational Development and Test Enviro...
PDF
Continuous Integration for z using Test Data Management and Application D...
PDF
LSU Nordic 2015 - Agile development on system z
PDF
Drinking our own champagne - z Systems Development and Test Environment V10
PDF
Lessons Learned from Large Scale Adoption of DevOps for IBM z Systems Software
PPT
A Software Factory Integrating Rational & WebSphere Tools
PDF
Recover 30% of your day with IBM Development Tools (Smarter Mainframe Develop...
Innovate presentation
Continuous Integration and Deployment on Rational Development and Test Enviro...
Continuous Integration for z using Test Data Management and Application D...
LSU Nordic 2015 - Agile development on system z
Drinking our own champagne - z Systems Development and Test Environment V10
Lessons Learned from Large Scale Adoption of DevOps for IBM z Systems Software
A Software Factory Integrating Rational & WebSphere Tools
Recover 30% of your day with IBM Development Tools (Smarter Mainframe Develop...

Similar to Modern Environment for zOS Development.pdf (20)

PDF
Rational developer for z systems : DevOps benefits here and now
PDF
DevOps for Enterprise Systems - Sanjay Chandru
 
PDF
The NRB Group mainframe day 2021 - DevOps on Z - Jerome Klimm - Benoit Ebner
 
PPTX
Session 2434 improving your time to value 052914
PDF
News to Development Environments and for RDz for z/VSE
 
PDF
IBM Z for the Digital Enterprise - DevOps for Z
PDF
Dev ops for z
PDF
Making the Dinosaur Dance - RDz, RTC and UrbanCode Lunch and Learn slides
PDF
IBM Z for the Digital Enterprise 2018 - Z Keynote
PDF
Smarter z/OS Software Delivery using Rational Enterprise Cloud Solutions
PPTX
From Continuous Integration to DevOps - Japan Innovate 2013
PDF
Dev ops for mainframe innovate session 2402
PPTX
What are IBM Rational's CLM products
PDF
IBM Innovate 2011- What every System i Developer Needs to Know
PPTX
Rational Development & Test for z Systems 9.5 Webinar with Rogers Communications
PPTX
PDF
Continuous Integration to Shift Left Testing Across the Enterprise Stack
PDF
DevOps for Enterprise Systems Overview
PPTX
Introducing the Rational Solution for Agile ALM
PPTX
Introducing agilealm
Rational developer for z systems : DevOps benefits here and now
DevOps for Enterprise Systems - Sanjay Chandru
 
The NRB Group mainframe day 2021 - DevOps on Z - Jerome Klimm - Benoit Ebner
 
Session 2434 improving your time to value 052914
News to Development Environments and for RDz for z/VSE
 
IBM Z for the Digital Enterprise - DevOps for Z
Dev ops for z
Making the Dinosaur Dance - RDz, RTC and UrbanCode Lunch and Learn slides
IBM Z for the Digital Enterprise 2018 - Z Keynote
Smarter z/OS Software Delivery using Rational Enterprise Cloud Solutions
From Continuous Integration to DevOps - Japan Innovate 2013
Dev ops for mainframe innovate session 2402
What are IBM Rational's CLM products
IBM Innovate 2011- What every System i Developer Needs to Know
Rational Development & Test for z Systems 9.5 Webinar with Rogers Communications
Continuous Integration to Shift Left Testing Across the Enterprise Stack
DevOps for Enterprise Systems Overview
Introducing the Rational Solution for Agile ALM
Introducing agilealm
Ad

Recently uploaded (20)

PDF
TRAFFIC-MANAGEMENT-AND-ACCIDENT-INVESTIGATION-WITH-DRIVING-PDF-FILE.pdf
PPTX
STUDY DESIGN details- Lt Col Maksud (21).pptx
PPT
Miokarditis (Inflamasi pada Otot Jantung)
PPT
Quality review (1)_presentation of this 21
PPTX
Introduction-to-Cloud-ComputingFinal.pptx
PDF
.pdf is not working space design for the following data for the following dat...
PPTX
MODULE 8 - DISASTER risk PREPAREDNESS.pptx
PPTX
mbdjdhjjodule 5-1 rhfhhfjtjjhafbrhfnfbbfnb
PPTX
Database Infoormation System (DBIS).pptx
PPTX
IBA_Chapter_11_Slides_Final_Accessible.pptx
PPTX
Acceptance and paychological effects of mandatory extra coach I classes.pptx
PDF
Launch Your Data Science Career in Kochi – 2025
PDF
BF and FI - Blockchain, fintech and Financial Innovation Lesson 2.pdf
PPTX
IB Computer Science - Internal Assessment.pptx
PDF
Clinical guidelines as a resource for EBP(1).pdf
PPTX
CEE 2 REPORT G7.pptxbdbshjdgsgjgsjfiuhsd
PPTX
oil_refinery_comprehensive_20250804084928 (1).pptx
PPTX
ALIMENTARY AND BILIARY CONDITIONS 3-1.pptx
PPTX
Data_Analytics_and_PowerBI_Presentation.pptx
PPTX
1_Introduction to advance data techniques.pptx
TRAFFIC-MANAGEMENT-AND-ACCIDENT-INVESTIGATION-WITH-DRIVING-PDF-FILE.pdf
STUDY DESIGN details- Lt Col Maksud (21).pptx
Miokarditis (Inflamasi pada Otot Jantung)
Quality review (1)_presentation of this 21
Introduction-to-Cloud-ComputingFinal.pptx
.pdf is not working space design for the following data for the following dat...
MODULE 8 - DISASTER risk PREPAREDNESS.pptx
mbdjdhjjodule 5-1 rhfhhfjtjjhafbrhfnfbbfnb
Database Infoormation System (DBIS).pptx
IBA_Chapter_11_Slides_Final_Accessible.pptx
Acceptance and paychological effects of mandatory extra coach I classes.pptx
Launch Your Data Science Career in Kochi – 2025
BF and FI - Blockchain, fintech and Financial Innovation Lesson 2.pdf
IB Computer Science - Internal Assessment.pptx
Clinical guidelines as a resource for EBP(1).pdf
CEE 2 REPORT G7.pptxbdbshjdgsgjgsjfiuhsd
oil_refinery_comprehensive_20250804084928 (1).pptx
ALIMENTARY AND BILIARY CONDITIONS 3-1.pptx
Data_Analytics_and_PowerBI_Presentation.pptx
1_Introduction to advance data techniques.pptx
Ad

Modern Environment for zOS Development.pdf

  • 1. Modern environment for z/OS development Rosalind Radcliffe Venkat Balabhadrapatruni Feb 4, 2013 Session: 12503 Insert Custom Session QR if Desired.
  • 2. 2 2 Four key barriers preventing optimal return on IT investments Decades of application investments Islands of skills, languages and platforms Poorly integrated teams Infrastructure inefficiency “We need to enable our teams to collaborate across platforms, languages, and environments.” “We need a cost effective way to improve our infrastructure efficiency and free up capacity to handle more workload.” “We don’t understand the effort, risk and impact of modernizing our legacy applications.” “Our skills gap keeps growing. How do we stay current with all the language and technology changes?”
  • 3. 3 3 Overview of Supported Production Scenario Project Manager or Support Team has submitted Project Change Request … 4: Promote and deploy enhancement - Promote changes from development to test - Create update package with set of changes from development - Deploy update package to the test environment 3: Implement required changes, build and deliver - Analyze source to identify modifications - Implement and test modifications - Perform personal build and deliver new features 2: Review and Approve Change Request - Review analysis for change request and approve for scheduling - Create development work item(s) for implementation - Add work to project plan 1: Review Change Request - Analyze application to be changed - Size/scope effort and risk of change - Submit to Project Manager for review, approval and scheduling Analyst/SME Lead Developer/ Release Engineer Project Manager Application Developer 5. Track Project Status with Rational Team Concert Dashboard
  • 4. 4 4 Development Life Cycle • Define the tasks • Create a plan • Create a work item • Assign the work item to a developer • Load the project/source artifacts from SCM • Navigate, Analyze, Edit, Syntax check source code • Compile • Quality assurance • Debug • Code Coverage • Code review • Unit Testing • Check-in/Deliver the source code • Build CLM RDz RTC RDz RD&T RTC RTC RDz Source Dev Build Planning Governance/Unit test
  • 5. 5 5  Decreases development time by 15 to 20 percent “Building an agile development team requires a multiplatform approach, and Sodifrance uses Rational Developer for System z and Rational Team Concert for System z to help application teams synchronize their efforts and improve collaboration. Rational on System z offers a powerful and valuable combination for any company that wants to boost its development team’s productivity.” — Hugh Smith, Project Manager, Sodifrance Collaborative application lifecycle management Deploy new, common team infrastructure for source control, change management and build that empowers your team with integrated collaboration, process automation and reporting Requirements Project/Planning Development Testing Unify
  • 6. 6 6 Rational Team Concert – A single tool, many capabilities • Source Control  Planning  Work Items  Method Enforcement and Automation  Dashboards & Reporting  Builds – Continuous Integration
  • 7. 7 7 Query Storage Collaboration Discovery Administration: Users, projects, process JAZZ SERVICES Business Partner Extensions Your Extensions Rational Team Concert: Built on an open, Web 2.0 platform Supporting a broad range of desktop clients, IDE’s and languages Rational Developer for System z Rational Software Architect Rational Systems Developer Rational Business Developer Rational Developer for Power Eclipse Clients Web Clients Visual Studio Microsoft .NET Clients Rational Desktop Clients Rational Team Concert Web 2.0 Jazz Client Extensions Eclipse Platform IBM Rational Extensions Best Practices Presentation: Mashups
  • 8. 8 8 Rational Developer for System z: An Integrated Development Environment for System z Rational Developer for System z A modern IDE for productive development of cross-platform applications written in COBOL, PL/I, ASM, Java, EGL or C/C++ in System z CICS, IMS, DB2, Batch applications Access to typical System z sub-system functionality in z/OS, CICS, IMS, DB2, WAS Integration with Debug Tool for Development and Test Integration with Fault Analyzer for Dump Analysis Integration with File Manager for file and test data handling Integration with Asset Analyzer for Application Understanding and Impact Analysis Integration with Team Concert for Lifecycle and Source Management Integration with RD&T for flexible access to System z environment
  • 9. 9 9 The Benefits of a RDz's IDE Instead of maneuvering to access panels and working sequentially, in RDz the functionality you need is always in-focus – you work concurrently Access Datasets + Dataset Management Access Jobs (Outlist facility) Edit a program Dataset Statistics Submit a Compile File Compare  File Search
  • 10. 10 10 Traditional development and Enterprise web services Enterprise Service Tools Single service projects Top down, bottom up, and meet in the middle web service enablement for CICS, IMS, and Batch/TSO environments. Service flow projects Graphical composition of CICS applications chained together to form a new business service. Enable Enterprise Applications for Mobile and Web Supports traditional development/maintenance • Cobol, PL/I, Assembler, JCL Supports modern architecture development
  • 11. 11 11 Rational Development and Test Environment for System z The ultimate in modern application development for System z 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. RDz & ISPF user ISPF user RDz user RDz user RDz user COBOL, PL/I, C++, Java, EGL, Batch, Assembler, Debug Tool x86 PC running Linux RDz user IMS z/OS WAS DB2 MQ CICS  Increase availability of z/OS testing environment and resources  Liberate developers to rapidly prototype new applications  Develop and test System z applications anywhere, anytime!  Eliminate costly delays by reducing dependencies on operations staff  Improve quality and lower risk via automation, measurement, and collaboration  Focus on what is required for the change at hand, then scale
  • 12. 12 12 Centralized administration Push to Client - Configuration Files management and product updates Desktop configuration setup • upon connecting to the host, a user is notified if they have incoming changes to their configuration files. Product updates • triggered from central place to all the users connecting to the host An Export Wizard – to help an Admin configure various settings on RDz client and upload it to a central location. Settings are grouped by function into configuration files such as remote connections or system mappings.
  • 13. 13 13 Development Life Cycle • Define the tasks • Create a plan • Create a work item • Assign the work item to a developer • Load the project/source artifacts from SCM • Navigate, Analyze, Edit, Syntax check source code • Compile • Quality assurance • Debug • Code Coverage • Code review • Unit Testing • Check-in/Deliver the source code • Build CLM RDz RTC RDz RD&T RTC RTC RDz Source Dev Build Planning Governance/Unit test
  • 14. 14 Any process: Executable and repeatable Use ONE tool to support both agile and non-agile Process Architect Variant #1 Variant #2 Variant #3 Project Manager Scrum Waterfall Iterative Project C Waterfall Analyst Release Engineer Developer Quality Professional Project B Analyst Release Engineer Developer Quality Professional Project A Product Owner Scrum Master Team Member Agile Iterative Formal Project Mgt Template Scrum Template 14
  • 15. 15 Multiple plan views facilitate continuous planning
  • 16. 16 Progress Tracking - Everyone can see live project status 16
  • 17. 17 17 In-context Collaboration – Team View Team Central Shows what is happening on project: • News & events • What’s being worked on • Changes Configurable (RSS feeds) - New kinds of information easily added Personalized, Persistent - Each team member can tailor to their needs 17
  • 18. 18 18 Development Life Cycle • Define the tasks • Create a plan • Create a work item • Assign the work item to a developer • Load the project/source artifacts from SCM • Navigate, Analyze, Edit, Syntax check source code • Compile • Quality assurance • Debug • Code Coverage • Code review • Unit Testing • Check-in/Deliver the source code • Build CLM RDz RTC RDz RD&T RTC RTC RDz Source Dev Build Planning Governance/Unit test
  • 19. 19 19 RDz Source Code Integration RDz Rational Team Concert SCLM Rational ClearCase Framework for other SCMs CA Endevor  Rational’s Strategic Source Code tooling is RTC and RDz provides tight integration  RDz offers integration into a variety of other Source Code Management (SCM) tools as well as a framework for creating SCM integration on your own (CARMA)  Variety of vendors supply plug-ins to RDz to provide easy access to processes and source code controlled by their products
  • 21. 21 21 Load the source artifacts 21
  • 22. 22 RDz and RTC together • Once the project is loaded, it will appear in the RDz z/OS projects view • RDz augments the development productivity & experience • Appropriate editors (COBOL, maps, etc.) and functions (content assist, real time syntax check, etc.) • High value functions (Enterprise web services, SFM, Code review, Unit testing, program analysis/control flow etc.)
  • 23. 23 23 Create a Property Group  Generate property groups for your project based on RTC build definition  Allows RDz to resolve the dependencies and thus offer all the tooling
  • 24. 24 24 Navigate datasets and jobs live on zOS • Connect to multiple hosts concurrently • Respects existing security configurations and user IDs • Search, filter, browse, edit, compare, migrate, and allocate new MVS datasets and USS files • Copy source code, members, or datasets between systems with a few mouse clicks. • Access JES queues submit jobs, view job state, and open output spools • Submit TSO or USS commands • Add datasets and members into projects to group applications and work items together logically • Open an emulator in the IDE to configured hosts
  • 25. 25 25 Edit capabilities in RDz • RDz at a high level has different types of editors • Lpex Editor • Supports editing of COBOL, PLI, HLASM, JCL, C/C++, Rexx etc. • Provides ISPF like edit experience including prefix commands, command line and even look and feel • Supports advanced edit functions for COBOL, PLI and HLASM like real time syntax checking, content assist • COBOL and PLI advanced editors • Based on the Eclipse editor infrastructure, provide more advanced edit capabilities like quick fixes, hyper- linking, hover, easy navigation between various edit sessions or within the same edit session. • Supports real time syntax checking, content assist, key word highlighting etc.
  • 26. 26 26 Edit capabilities in RDz • RDz at a high level has different types of editors • WYSYWIG editors • Creation, edit of BMS and MFS maps • Has the source and design view – allows drag and drop of fields in the design view which generates the appropriate source • Data Editors • Edit QSAM data
  • 27. 27 27 Editor Productivity features - Develop code more efficiently Find all statements and variables (including from COPYBOOKS or INCLUDE)
  • 28. 28 28 Editor Productivity Features – real time syntax checking Real-time syntax check without requiring code compile or save
  • 29. 29 29 Editor Productivity Features  Provide "Open Called Program" action  Hyper linking support for Open/ Browse/ View copybooks/include files  Show In > Outline action to COBOL and PL/I Editor
  • 30. 30 30 Editor Productivity Features  Mark “Write occurrences” capability to the supported EXEC statements  Occurrences within EXEC statements known to be “writes” are highlighted with a BROWN background • All “read” statements will continue to be highlighted with a GREY background
  • 31. 31 31 Search for Occurrences Action  Once a variable is selected the user triggers the “Find Occurrences” action using the Menu under search or keyboard shortcut “Ctrl+Shift+U”  The occurrences are shown in the “Search results” page
  • 32. 32 32 Copy book and Include file resolution • Hover over a COPY book name or a INCLUDE file to see the contents • Pressing F2 when hovering will “pin” the hover as shown • The window can then be dragged to expand, the Pencil icon shown below can be used to edit the copy book
  • 33. 33 33 JCL Template Support  Templates are provided for standard JCL statements, and users can create their own Templates  When editing .jcl file using “Ctrl+Space” in the editor will trigger a pop list allowing the user to select the template to insert into the editor contents
  • 34. 34 Enhanced Application Quality & Structure Analysis • Application Analysis • Control flow diagrams for COBOL programs,  Graphical representation of the program flow with links to the source • Helps identify and highlight potential unreachable code
  • 35. 35 Enhanced Structure Analysis – Data Element Table
  • 36. 36 Pending Changes • If you want finer grained control on your SCM operations, then the Pending Changes view is for you • Check in, deliver, accept changes • Suspend, resume, discard changes • Replace, reload out-of-sync • Resolve conflicts • Open change sets and work items via the web client
  • 37. 37 Traceability : Check-in History • Someone made a costly mistake merging and you want to understand exactly where the mistake was made • Problem : Traditional history commands & UI only show before/after & merge states for a change set … it does not show intermediates • Solution : Use Check-in history in Eclipse, CLI or .NET clients
  • 38. 38 38 Development Life Cycle • Define the tasks • Create a plan • Create a work item • Assign the work item to a developer • Load the project/source artifacts from SCM • Navigate, Analyze, Edit, Syntax check source code • Compile • Quality assurance • Debug • Code Coverage • Code review • Unit Testing • Check-in/Deliver the source code • Build CLM RDz RTC RDz RD&T RTC RTC RDz Source Dev Build Planning Governance/Unit test
  • 39. 39 39 Debug Multiple Runtimes – using IBM Debug tool • Use the cross-platform debugger to debug end-to-end systems as they execute in the runtime • IMS • CICS • DB2 • Batch • WAS • Java • From the workstation: • View executing source code • Step through host code line-by-line • Set breakpoints • Alter working storage values • Alter register values • Etc… • Debug zOS and distributed code in the same interface even stepping between runtimes and platforms!
  • 40. 40 40 Enhanced Application Quality – Code Coverage • Line Level Code Coverage - provides tools to measure and report on test coverage of an application • Indicating what source code lines were tested and remain to be tested
  • 41. 41 41 Innovative Debugging using Collaboration • Collaborative debug with RDz and IBM Debug Tool via the Rational Team Concert Server! • Share breakpoints and monitors with other team members • Transfer debug session control to other users • Save debugging sessions for later retrieval in the team environment • Works for WAS (JEE) and System z applications
  • 42. 42 42 Enhanced Quality & Structure Analysis – Code review • Code Review/Governance - provides predefined rules and templates for COBOL and PL/I applications •Ensure adherence to corporate standards
  • 43. 43 43 zUnit – Unit testing framework for z/OS • Frameworks that assist developers in writing code to perform repeatable, self-checking unit tests are collectively known as xUnit. • xUnit defines a set of concepts that together provide a light-weight architecture for implementing unit testing frameworks. • JUnit, for example, is a very popular instance of the xUnit architecture. • zUnit is a xUnit instance for System z • Goal is to encourage the continuous integration and continuous testing methodology for System z Application development and maintenance TESTCASE1 (...) ADDTESTS2 (...) TEST0012 (...) TESTnnn2 (...) SETUP2 (...) TEARDOWN2 (...) . . . ZXUTCINI(...) ZXUTCADD(...) ZXUASTFM(...) ZXUASTFA(...) USER.ZUNIT(TESTCASE) zUnit Test Runner API Invoking the assertion APIs in the SETUP, TEARDOWN, or active TEST entry will fail the current Test. 1 Language-specific details: In COBOL, this is the first program appearing in the Test Case source file and it will be invoked by the Test Runner for Test Case initialization. In PL/I, the is the procedure declared with option(fetchable) in the Test Case source file and it will be invoked by the Test Runner for Test Case initialization. 2 Language-specific details: In COBOL, these are expected to be subprograms (non-nested and therefore compatible with FUNCTION-POINTER). In PL/I, these are expected to be internal procedures that are declared at the package level (non-nested).
  • 44. 44 44 Development Life Cycle • Define the tasks • Create a plan • Create a work item • Assign the work item to a developer • Load the project/source artifacts from SCM • Navigate, Analyze, Edit, Syntax check source code • Compile • Quality assurance • Debug • Code Coverage • Code review • Unit Testing • Check-in/Deliver the source code • Build CLM RDz RTC RDz RD&T RTC RTC RDz Source Dev Build Planning Governance/Unit test
  • 45. 45 Enterprise Extensions Specific Functions • Dependency build • “Smart build” of z/OS and IBM i applications, based on what has changed • Promotion • Flow of source code changes and build outputs through development hierarchy • Packaging and deployment • Package build outputs and deploy to another system (e.g. test environment, QA, production, etc)
  • 46. 46 Test Machine 1 Jazz Team Server The big picture 1. Dependency build runs on build machine. Source is loaded from Dev Stream and outputs are built in Dev Library. 2. Promotion build runs on build machine. Source is promoted from Dev Stream to Test Stream and build outputs are copied from Dev Library to Test Library. 3. Package build runs on build machine. Test Library build outputs are archived in a package. 4. Deploy build runs on various test machines. Package is loaded to test machine and build outputs are deployed to runtime libraries. Test Stream Dev Stream Build Machine Test Library Dev Library Runtime Library Test Machine 2 Test Machine 3 Package Runtime Library Runtime Library 1 2 2 3 4 4 4
  • 47. 47 Dependency Build Summary 1- Scan 2- Preprocessing Scan new or changed files Extract their logical information and dependencies For changed files: impact on build maps Calculate dependency sets Dependency sets Build processing Server Mainframe (Build machine) Build Maps
  • 49. 49 Promotion • Flow source code changes and build outputs through the development hierarchy Source Outputs
  • 50. 50 Summary • Many companies spend more than 70% on keeping lights on, and that amount is increasing • IT organizations have problems modifying applications at speed of business • IBM provides a structured approach to incrementally modernize your portfolio based on business priorities • Change without a plan is chaos • A Plan without change is stagnation • Business goals change • applications need to change to address them • Continual renewal is required • tools help to guide, govern, drive, and accomplish this change
  • 51. 51 Getting started Next steps to modernize your enterprise applications  Try latest System z software for free  Sign up for free web-based training  Join IBM Rational Cafe Communities  Get prescriptive service solutions www.ibm.com/rational/modernization  Latest news on System z twitter  Latest customer videos  Success stories  Latest skills: System z job board Enterprise Modernization Revitalize Unify Empower Optimize Enabling Product and Service Innovation
  • 52. 52 52