This document discusses moving an existing CICS application to a smartphone. It outlines a 5 step process: 1) Using Rational Team Concert and Rational Developer for System z to verify requirements and load code. 2) Using RDz to create, deploy, and install web services to CICS. 3) Using RDz to test and debug the web services and COBOL program. 4) Creating a Worklight client to run on iPhone. 5) Migrating from VSAM to DB2 storage.
2. 2
Please Note
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.
3. 3
AGENDA
1. Demo Scenario
2. Part 1 – Create, deploying, test and debug Web Service
3. Part 2 – Create Worklight adapter and application to
consume the Service
4. 4
CICS Application Overview
CICS Catalog Manager Application
• COBOL based CICS application (EGUI)
• VSAM File
• Separate Presentation Logic and Business Logic
• Callable Interface - Container
4
6. 6
z/OS
VSAM File (EXMPCAT)
CICS
EGUI Main
Inquiry itemBrowse
Place Order
6
RDZ and Debug Tool
Web Service enables and test existing app
CICS
Web
Service
7. 7
7
Mobile Client
Worklight
Server
Shopping
Cart
Enhanced Search and
Shopping Cart Features
are added via Worklight.
Features do not
currently exist in the
CICS application.
Enhanced
Search
Worklight enhances the CICS Web Service
Enabled App
z/OS
VSAM File (EXMPCAT)
CICS
EGUI Main
Inquiry itemBrowse
Place Order
CICS
Web
Service
Adapters
9. 9
Rational Team Concert (RTC)
Rational Developer for System z (RDz)
Rational Development and Test Environment for System z (RD&T)
CICS Explorer
z/OS Debug Tool
Worklight
Products and technologies to be used
10. 10
Developer 2
RDz client COBOL, PL/I, C++, Java, EGL, Batch,
Assembler, Debug Tool
x86 PC running Linux
IMS
z/OS
WAS
DB2
MQ
CICS
Wireless Router
RD&T Server
Developer 1
CLM
(running
on Linux)
CLM = Collaborative Lifecycle Management
Topology used in this Demo
RDz client
11. 11
Objective: Mobile-ize your mainframe application
1. Using Rational Team Concert (RTC) integrated with Rational Developer for
System z (RDz) to verify the requirement (work item) and load the code into
the RDz Workspace.
2. Using RDz to CREATE, DEPLOY and INSTALL (pipeline scan) web services to
CICS using Rational developer and Test (RD&T) as the server.
3. Using RDz to TEST and DEBUG web service generate. Using CICS Explorer
and IBM z/OS Debug to debug the COBOL program.
Pass the work item for smarthphone creation to other developer.
4. Creating the Worklight client and show the application running on the iPhone .
12. 12
Objective: Mobile-ize your mainframe application
1. Using Rational Team Concert (RTC) integrated with Rational Developer for
System z (RDz) to verify the requirement (work item) and load the code into
the RDz Workspace.
2. Using RDz to CREATE, DEPLOY and INSTALL (pipeline scan) web services to
CICS using Rational developer and Test (RD&T) as the server.
3. Using RDz to TEST and DEBUG web service generate. Using CICS Explorer
and IBM z/OS Debug to debug the COBOL program.
Pass the work item for smarthphone creation to other developer.
4. Creating the Worklight client and show the application running on the iPhone .
5. Migrating from VSAM to DB2 using CICS VT.
Running same application but using DB2 now instead of VSAM.
13. 13
Collaborative software development using IBM Rational Team Concert
Query
Storage
Collaboration
Discovery
Administration:
Users, projects,
process
JAZZ SERVICES
Business Partner
Extensions Your Extensions
Rational Developer for z
Rational Software Architect
Rational Systems Developer
Rational Business Developer
Rational Developer for i
Eclipse Clients Remote Clients
Visual Studio
Microsoft .NET Clients Rational Desktop Clients
Rational Team Concert
Web 2.0
IBM Jazz™ Client
Extensions
Eclipse Platform
IBM Rational Extensions
Best Practices
Presentation:
Mashups
An open, extensible architecture
Supporting a broad range of desktop clients, IDEs and languages
TSO/ISPF
Rational Team Concert: Workbench for Collaborative Lifecycle Management
14. 14
Objective: Mobile-ize your mainframe application
1. Using Rational Team Concert (RTC) integrated with Rational Developer for
System z (RDz) to verify the requirement (work item) and load the code into
the RDz Workspace.
2. Using RDz to CREATE, DEPLOY and INSTALL (pipeline scan) web services to
CICS using Rational developer and Test (RD&T) as the server.
3. Using RDz to TEST and DEBUG web service generate. Using CICS Explorer
and IBM z/OS Debug to debug the COBOL program.
Pass the work item for smarthphone creation to other developer.
4. Creating the Worklight client and show the application running on the iPhone .
5. Migrating from VSAM to DB2 using CICS VT.
Running same application but using DB2 now instead of VSAM.
15. 15
Objective: Mobile-ize your mainframe application
1. Using Rational Team Concert (RTC) integrated with Rational Developer for
System z (RDz) to verify the requirement (work item) and load the code into
the RDz Workspace.
2. Using RDz to CREATE, DEPLOY and INSTALL (pipeline scan) web services to
CICS using Rational developer and Test (RD&T) as the server.
3. Using RDz to TEST and DEBUG web service generate. Using CICS Explorer
and IBM z/OS Debug to debug the COBOL program.
Pass the work item for smarthphone creation to other developer.
4. Creating the Worklight client and show the application running on the iPhone .
5. Migrating from VSAM to DB2 using CICS VT.
Running same application but using DB2 now instead of VSAM.
16. 16
16
RDz provides a complete set of System z Development and Test
capabilities
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 Rational
Team Concert for Lifecycle
and Source Management
Integration with RD&T for
flexible access to System z
environment
16Shown on this demo
17. 17
Objective: Mobile-ize your mainframe application
1. Using Rational Team Concert (RTC) integrated with Rational Developer for
System z (RDz) to verify the requirement (work item) and load the code into
the RDz Workspace.
2. Using RDz to CREATE, DEPLOY and INSTALL (pipeline scan) web services to
CICS using Rational developer and Test (RD&T) as the server.
3. Using RDz to TEST and DEBUG web service generate. Using CICS Explorer
and IBM z/OS Debug to debug the COBOL program.
Pass the work item for smarthphone creation to other developer.
4. Creating the Worklight client and show the application running on the iPhone .
18. 18
Rational IDEs with IBM Worklight
Design, code, build, test, and deploy mobile apps that run on a wide
variety of mobile platforms; extend existing back-end services and
data to mobile apps
Integrated multi-platform development environments
Construct, debug, and test mobile
UIs
Refactor and extend existing logic on
enterprise platforms (System z, Power)
as mobile-consumable services
Rational Developer for zEnterprise
Rational Developer for Power Systems
Rational Application Developer
Rational Software Architect
IBM Worklight is now included in the following IDEs (for development purposes only):
19. 19
IBM Worklight – Support for Different Mobile Application
Styles
Native code
Access to full set of
lower-level device
capabilities
Native Appl.
Device APIs
100101010101110
100101001001010
111010010011010
101010100100100
101111001001100
101010100101010
101001010101010
101010101011111
10
HTML, JavaScript, CSS,
with optional native code
Installed and run like a
native mobile app;
mobile-optimized UI
Access to lower-level
device capabilities
Native Shell
Web
Native
Device APIs
<!
DOC
TYP
E
html
PUB
LIC
creat
ed
1001
0101
0101
1101
0010
1010
HTML5, JavaScript, CSS,
Accessed from a mobile
web browser; mobile-
optimized / aware web UI
Limited access to device
capabilities
HTML, JavaScript, CSS
Accessed from a mobile
web browser
No device-specific
capabilities
Mobile Browser
Web Code
<!DOCTYPE html
PUBLIC
<html>
<! - - created
2003-12-12 - -
<head><title>XYZ
</title>
</head>
<body>
</p>
WebWeb Mobile WebMobile Web Hybrid MobileHybrid Mobile NativeNative
Mobile Browser
Web Code
<!DOCTYPE html
PUBLIC
<html>
<! - - created
2003-12-12 - -
<head><title>XYZ
</title>
</head>
<body>
</p>
•Simplifies the development of mobile applications
across multiple mobile platforms - iOS, Android,
BlackBerry, and Windows® Phone
20. 20
Reporting for Statistics
and Diagnostics
Worklight Application
Center
Development Team Provisioning
App Feedback Management
Enterprise App Provisioning
and Governance
Device Runtime
Cross-Platform
Compatibility Layer
Encrypted and
Syncable Storage
Runtime Skins
Server Integration
Framework
ApplicationCodeApplicationCode
Worklight Console
Unified Push and SMS Notification
Development and Operational Analytics
App Version Management
EnterpriseBackendSystems&
CloudServices
Worklight Server
User Authentication
and Mobile Trust
Mashups and Service
Composition
JSON Translation
Adapter Library for
Backend Connectivity
StatsandLogsAggregation
Unified Push
Notifications
Client-Side
App Resources
Direct Update
Mobile
Web Apps
Geolocation Services
HTML5, Hybrid, and
Native Coding
Optimization
Framework
Integrated Device
SDKs
3rd
Party Library
Integration
Worklight Studio
SDKs
Functional
Testing
WYSIWG Editor
and Simulator
Blackberry
Android
iOS
Windows
Phone
Java ME
Windows 8
Mobile Web
Desktop Web Enhanced crash &
platform-level
exception capture
Location-based
event handling
IBM Worklight Components Overview
21. 21
Mobile Device
Mobile
Applications
SecurityLayer1
DB2DB2
SecurityLayer2
CachingService(Optional)
CICS, IMS
Client Side
App Code
The App.
interaction
& present.
logic on
mobile
devices
Server side App
code
Application logic:
• Security (access &
authorization)
• Application logic
• Integration logic
• Push logic
Adapters
connect
with back-
end
transaction
and
data
services.
CachingService(Optional)
Mobile application overview diagram
Mobile Enterprise Application Platform (MEAP)
- Worklight -
Portal
Web Services
•Salesforce.com
•Amazon
•Any SOAP service
A mobile application needs end-to-end consideration for:
- Transactional integrity
- Data integrity
- Security
Mobile application integration is realized with Worklight AdaptersMobile application integration is realized with Worklight Adapters
22. 22
Worklight Server- Adapters
InformationSystems Databases Applications
Query
Update
data
Data/Result
as JSON
Invoke
adapter
procedure
SQL WS
Worklight
HTTP
Response
1
2 3
4
Caching Mechanism
Universality
• Supports multiple integration technologies and back-end
information systems
Read-only & Transactional Capabilities
• Adapters support read-only and transactional access
modes to back-end systems
Security
• Flexible authentication APIs for back-end connections
• Connected user identity control
Caching
• Leveraged to store data retrieved from back-end
Transparency
• Uniform exposure of back-end data for all adapter types
Fast Development
• Defined using simple XML syntax
• Easily configured with JavaScript APIs
Adapters
25. 25
We Value Your Feedback
Don’t forget to submit your Impact session and speaker
feedback! Your feedback is very important to us – we use it to
continually improve the conference.
Use the Conference Mobile App or the online Agenda Builder to
quickly submit your survey
• Navigate to “Surveys” to see a view of surveys for sessions
you’ve attended
25
29. 29
Supporting the full mobile development lifecycle
IBM Solution for Mobile Development and Delivery
Cross-platform mobile web and
hybrid app development, test, and
build
Manage plans, tasks, code, builds
from a common development
workbench
Developing for multiple mobile platforms
Delivering high quality apps that engage users
and meet business objectives
Linkage and traceability across
all phases of development
UI sketching and storyboarding
Test plan optimization and
management and integration
with mobile “Device-clouds”
Portfolio management
Integrate Worklight Studio with the
Rational IDEs to create a
comprehensive IDE for all parts of
the app (UI, mid tier, back-end)
Extend enterprise assets as
mobile-consumable services and
connect via Worklight adapters
Integrating with enterprise systems
Meeting accelerated time to market
requirements
Agile planning
Automate and manage
continuous, end-to-end build
and deployment process with
RTC
Deploy to private dev/test app
Reduce cycle times by aligning
dev and operations teams
30. 30
Typical Mainframe to Mobile Customer Scenario With
Rational Developer for System z
Modernize Front end UI (RDz/Worklight)
Componentize/Service Enable
Back-end Application
(RDz/WODM)
Test/Deploy UI
(Native Mobile)
Test/Deploy
Service
(Native CICS)
Communicate
(RESTful API
Calls to Native
CICS Services)
Mobile
zEnterprise
Manage
(RTC)
32. 32
Generate the web service definitions which enable mobile connectivity
to back-end enterprise resources with RDz’s Web Services Explorer.
Trace the connection routes with auto-generated maps/diagrams to
understand how everything connects together!
33. 33
Test the generated web services to verify that expected data is
returned from the back-end before testing with mobile.
RDz reveals the SOAP message structure needed for mobile UI to
communicate with the back-end.
34. 34
Develop and test mobile applications in RDz using the IBM Worklight
plug-in. Includes the developer edition of Worklight Server for deployment
testing,
AND
the Mobile Browser Simulator to test app functionality/features on various
mobile device platforms
35. 35
Debug mobile applications at source code level as they communicate
with back-end resources.
Trace the entire call-stack from mobile to mainframe!
37. 37
Lifecycle techniques to help optimize user experience
Improve collaboration and communications between line-of-
business stakeholders and development team
• Ensure that development understands and will deliver an app that meets
business objectives
• Engage non-technical stakeholders
• Improve collaboration to find a cheaper yet satisfying solution
Put more focus on the application design and conceptualization
phase
• Iterate during the phase of the lifecycle when it is cheapest to make changes,
not when the code is done and changes require drastic re-architecture
Use UI sketching, storyboarding, and business process
diagrams
• Improves communications – “a picture is worth a thousand words”
• Avoid over-elaboration with sketches; focus on high-level, big-picture issues
• Ensure proper application flow and interactions with business process
diagrams
38. 38
Storyboards depict the flow of the application
Collaborate as a team
using comments and
annotations
Get feedback from non-
technical stakeholders
39. 39
Diagrams communicate interactions and flows
Provide visual representation
of flow and interactions
Capture the current state and
propose a future state with
business process diagrams
40. 40
Formal reviews drive agreement and prevent re-work
Test
Artifacts
Requirements
Work
Items
Reviews & approvals
ensures artifacts are
reviewed and/or approved
by key team members and
captures compliance
requirements.
41. 41
IBM Rational mobile testing solution
Middle Tier ServerClient Tier Devices Back-end Data & Services
Test automation on device
Mobile device cloud access
Rational Test Workbench / Rational
Test Virtualization Solution
Simulation of mid-tier or backend systems
Test automation of mid-tier or back-end systems
RQM Test Planning
Configuration testing
Test Construction
Test Execution
Team Collaboration
Reporting & Dashboard
42. 42
Incremental Integration TestingIncremental Integration Testing
Actual Service/App
Virtual Service/App
Test Virtualization is an enabler for
continuous Integration Testing
o Isolate front-end from back-end
o Control over data and interface
o Decrease expensive setup costs
Services, applications, systems are
introduced into the continuous integration
cycle in a prioritized, controlled fashion.
IBM Rational Test Virtualization Solution is a key
enabler for Continuous Integration Testing
Editor's Notes
Optional slide. Graphic is available in English only.
Optional “Demo” Breaker Slide
Here we see the open nature of Rational Team Concert, we provide a broad range of desktop clients that can all talk to the same Rational Team Concert server providing an unprecedented level of breadth and support for software delivery teams. We also provide extensions to increase the scope of Rational Team Concert services and adapters to enable your organization to connect and leverage existing investments such as ClearCase, ClearQuest, or even Open Source Subversion.
Moreover, with the open standard called Open Collaboration Lifecycle other vendors can build complementary solutions or their own standalone solution.
Optional “Demo” Breaker Slide
Optional “Demo” Breaker Slide
Optional “Demo” Breaker Slide
Develop all parts of the mobile solution with an integrated set of tools
Refactor existing logic to become mobile-consumable
Integrations with Rational Team Concert and other planning and source code management systems
IBM Worklight 5.0 is now included in the following version 8.5 IDEs (for development purposes only):
Rational Application Developer, Rational Software Architect, Rational Developer for zEnterprise, Rational Developer for Power Systems
There are a number of mobile app development approaches / styles that can be utilized to develop apps. You may find yourself using more than 1 style across your portfolio of internal and external apps.
Web – user simply accesses your existing web sites from their mobile browser. UI is not mobile-optimized.
Mobile web – apps accessed from a mobile browser (like a regular web app), but UIs have been mobile optimized (probably using a JavaScript framework like Dojo, jQuery Mobile, or Sencha Touch). Typically the URLs for these apps start with “m.” – for example “m.cnn.com”.
Hybrid – installed and run like a native app, but the core of the app is written in HTML, JS, and CSS, enabling it to run across all major device platforms. This style supports writing native-specific extensions (in the native language), but if this logic is needed across all supported platforms, it will need to be written in multiple languages.
Native– building the rich interfaces to mobile applications – embracing the ecosystems of the native vendors…
The choices become daunting to consumers (both in understanding skills, resources required, best practices etc..)
Richness of the UI increases as you move towards Native.
Portability increases as you move away from Native
Maintenance increase as you move towards Native, as you are typically needing to maintain separate code bases, tools, and infrastructures.
Capabilities available in the various styles:
Web and mobile web - almost all modern Smartphone/tablet browsers support Geolocation (so, getting the user&apos;s location) and ability to store information needed by the app/site locally (but no access is provided to the phone&apos;s file storage area)
Hybrid - same capabilities as web/mobile web, plus the following (primarily provided via PhoneGap):
Accelerometer (captures device motion) - useful for apps where the way the phone is held/moved is important
Camera - take a picture or access photos previously taken with the phone
Capture - Provides access to the audio, image, and video capture capabilities of the device.
Compass - detects the direction or heading that the device is pointed
Contacts - create new contacts and access contacts stored on the phone
File access - read/write files on the device storage
Media - play and record audio files
Network / connection info - provides info about the device&apos;s network connectivity (wifi, 3G, etc)
Notifications - visual, audible, and tactile device notifications (alerts, sounds, vibrations)
Native - everything above, plus access to all APIs and capabilities provided via native SDKs (primarily you&apos;d go with Native if you wanted to use native UI widgets and controls vs. web widgets)
Worklight is a MEAP (Mobile Enterprise Application Platform) positioned between the mobile devices and the back-end systems. It will provideas the platform where the server side of the app resides, but it’s function is not limited to hosting the mobile app. It can act as a Console to fulfill Application Management tasks as version control, it can provide information of what devices are connected does some analytics. The whole application lifecycle tasks can be carried out. In addition IBM’s MEAP (Worklight) provides adapters. These are predefined (but customizable) structures to connect to back-end using protocol-transformation from JSON to HTTP(S), WS, XML, SOAP, MQ etc.
All the CICS connectivity flows through the worklight HTTP adapter, over which can flow SOAP or JSON.
REST - Representational State Transfer
Author Note: Optional Rational slide. Graphic is available in English only.
Increased complexity and cost of developing, testing, and deploying mobile applications due to multiple platforms, devices, languages, APIs, and tools
4 major mobile platforms
Fragmentation within some platforms complicates development and test and increases odds of bugs being found in the field
One development team for each platform
Not support every platform can mean not reaching all your users
Based on our experience and many interactions with clients, partners, and analysts over the years we have defined 4 major challenge areas for IT shops developing and delivering enterprise mobile apps.
(Note: Additional reference that highlights the same top challenge areas: http://www.sdtimes.com/link/36553 )
1) Developing for multiple mobile platforms
Highly fragmented set of mobile devices, platforms and development models (Web, native, hybrid)
Native programming models not portable across devices.
Very large number of configurations of devices, platforms, carriers, etc. to test
Lack of best practices guidance on how to deliver mobile applications
Connecting the enterprise back-end services in a secure and scalable manner
2) Delivering apps that engaged users and meet business objectives
Strong demand by Line of Business to extend brand to mobile
Customers expect higher quality of user experience with mobile apps
More direct involvement from users/stakeholders in design
People want to use their personal devices for everything (BYOD)
3) Integrating with enterprise systems
Enterprise mobile applications are typically multi-tiered and need to leverage existing enterprise back-end data and service
In some cases, existing programs need to be refactored to be consumable from mobile applications
Mobile application development lifecycle needs to bridge different teams which work on the front-end or the back-end separately
4) Meeting accelerated time to market requirements
Faster time-to-market demands
More iterative – frequent releases and updates for apps
There are 2 key factors affecting project velocity:
Gap 1: amongst Line of Business, Development and Test teams (ALM)
Late rework due to misalignment of stakeholders
Slow progress due to hand-off errors and delays between team roles
Gap 2: between Development/Test and Operations Team (DevOps)
Slow cycle/iteration times due to DevOps challenges
Capturing reviews allow people to work as time permits but also can force to push that “button” and document their that they have reviewed or more importantly “approve” that they understand a requirement, work item or Test case. Creating that audit trail forces teams to improve their collaboration over the “verbal” agreements you get in review meetings.
We always want to be testing.
Stub interfacing components out that are unavailable at the time and then re-introduce them when they are available.
Continuous integration testing at a “system” level. When new components are introduced the automated test suite scan be run as regression tests. Thereby controlling the risk of extra functionality being deployed into the test environment by having mitigated the risk through earlier testing against stubs. This is an incremental and iterative approach to integration testing.