The document summarizes IBM's Host Access Transformation Services (HATS) solution and how it was implemented by Total System Services (TSYS) to address challenges around modernizing legacy green screen applications. HATS was used to transform TSYS's core credit/debit card processing applications, which consisted of thousands of 3270 green screens, to enable access through a web interface. This allowed TSYS to improve the user experience and offer services through different delivery channels while avoiding replacing the existing applications.
2. IBM Rational Software Conference 2009
Agenda
Customer challenges
Introduction to HATS
What is it?
How HATS capabilities address customer challenges
TSYS Story
Company background
Business Challenge
Solution Implemented
Lessons Learned
Select View/Master/Slide Master to add Session Number Here 2
3. IBM Rational Software Conference 2009
Value of Existing Applications
Existing applications are among the most valuable assets
a company owns
Fully functional applications that run the business
today
Significant investments over the years
Fine-tuned for dependable optimal performance
Run within fine-tuned reliable, robust, scalable IT
infrastructure and platforms
Accessed via character / text based terminals
Non-intuitive, difficult to navigate user interfaces
Difficult to integrate in modern business processes
5X less expensive to reuse existing applications than to
write new applications from scratch
Reusing proven, time-tested applications can result in
significantly lower risk and faster time to market
Select View/Master/Slide Master to add Session Number Here 3
4. IBM Rational Software Conference 2009
Challenges and Customer Requirements
Customers want to leverage “integration at the glass” -
Portal and Lotus Expeditor technology
Access existing applications from a common portal
(e.g. Customer Service Portal, or Employee/Human
Resources Portal, etc.)
Customers want to use existing applications in their new
business processes
SOA, Web Services based composite applications
Require integration with new J2EE, .NET, etc.
applications for totally new user interfaces and/or
business process automation
Select View/Master/Slide Master to add Session Number Here 4
5. IBM Rational Software Conference 2009
Challenges and Customer Requirements
Improve the appearance of user interfaces
Reduce learning curve for newer employees
Extend to new departments, new business
partners, new end-user customers, who rely on
web application ease-of-use
Improve employee productivity by streamlining
application flow
Automate where appropriate - eliminate
unnecessary keystrokes and screen navigations
Customize access for a specific set of users
Select View/Master/Slide Master to add Session Number Here 5
6. IBM Rational Software Conference 2009
Challenges and Customer Requirements
Eliminate or reduce administration and maintenance of
installed client software
IBM or 3rd party 3270 or 5250 emulation client SW
packages
Browser is universally available without dependence on
HW/SW
Customers want to do all this while minimizing cost and risk
Select View/Master/Slide Master to add Session Number Here 6
7. IBM Rational Software Conference 2009
Host Access Transformation Services (HATS)
What can you do with HATS?
Quickly and easily create Web, portal or rich client
applications that provide an easy-to-use GUI for
your green-screen applications
Low skills requirement
Highly customizable
Iterative development process
Transformation “on the fly”
Extend terminal application tasks as Web services
Benefits
Extend host application to new users
Improve the navigation of your host application
Reuse your existing assets in a Service Oriented
Architecture
Avoid rewriting applications (no impact to code)
Select View/Master/Slide Master to add Session Number Here 7
8. IBM Rational Software Conference 2009
Modernization At Your Own Pace
Today Day 1 Tomorrow
Integration: Text can be
replaced with images, input
fields can be populated from
data on other screens or from
a database, date fields can be
converted into popup
calendar widgets, and more!
Modern UI: All
pages share the
same theme and
style, which can be
based on an existing
Web site.
Instant Value: HATS default
rendering automatically
transforms actions into
clickable links and buttons. No Aggregation: data from
changes required to the host other screens,
application. databases, or other
systems can be merged
and displayed with host
data.
Select View/Master/Slide Master to add Session Number Here 8
9. IBM Rational Software Conference 2009
HATS deployment options
Web
Rich Client
View through your favorite browser
Zero footprint
Integration at the
3270 or 5250 Portal desktop with other
Data stream Eclipse applications
Client side processing
Rich set of user
Mobile interface widgets
Built on the standard,
Web Service open Eclipse foundation
3270e print directly to
Integration at the end user’s printer
glass
Build self-service Click-to-Action
PDA, Cell Phones, Data
transactions support
Collection terminals
Select View/Master/Slide Master to add Session Number Here 9
10. IBM Rational Software Conference 2009
Persistent
Non-persistent
Architecture Comparison
Eclipse-based Provisioning Server
Rich Client (Optional)
327
0/5
250
dat
ast
rea
m
3270/5250 datastream Internet, Intranet,
or VPN
Traditional
Emulator System i or z
(TN5250, 5250W, or
TN3270)
T P
HT
over SOAP over HTTP
ML
HT
Standard Web
Browser HATS Running on
WebSphere Application Server
or WebSphere Portal
PDA/Mobile Device
Web Service Client
Select View/Master/Slide Master to add Session Number Here 10
11. IBM Rational Software Conference 2009
Built on Rational, WebSphere, and Lotus Technologies
IBM Rational Software Delivery Platform
HATS Toolkit is an Eclipse plug-in to the IBM Rational
Software Delivery Platform
Wizard-based
Creates HATS applications
WebSphere Application Server, WebSphere Portal
Server
HATS leverages WebSphere Application Server (WAS) or
WebSphere Portal Server at runtime
HATS Toolkit creates J2EE .war and .ear files for
deployment
HATS runtime is contained in the HATS application
Lotus Expeditor, Eclipse Rich Client
Open, standards-based platform
HATS Toolkit creates Eclipse plug-ins for deployment
HATS runs on the client machine, not on middleware
Select View/Master/Slide Master to add Session Number Here 11
12. IBM Rational Software Conference 2009
Achieving a Green Screen Look with HATS
HATS supports host colors and
extended field attributes, including:
Numeric only, alphabetic only,
signed numeric, reverse image,
column separator, underline, and
blink fields
Supports automatic field advance
Host keypad and OIA can be
displayed (and positioned
anywhere)
Native keyboard support (i.e.
pressing F12 in the browser sends
F12 to the host application).
Select View/Master/Slide Master to add Session Number Here 12
13. IBM Rational Software Conference 2009
Achieving a Modern Web Look with HATS
Customize screens with intuitive web user
controls, including:
Popup lists, drop-downs, checkboxes, lists,
radio buttons, calendar popups, graphs, etc.
Simplify screens and work flow by
Split one screen into multiple screens
Organize data in tabs
Remove functions / actions no longer needed
by removing full screens or partial screens
One customized Web page can be applied to
more than 1 host screen!
Select View/Master/Slide Master to add Session Number Here 13
14. IBM Rational Software Conference 2009
Global Rules and Valid Value Lists
Select View/Master/Slide Master to add Session Number Here 14
15. IBM Rational Software Conference 2009
Integration with WebSphere Portal
Aggregate applications and content
and deliver them as role-based
applications
Tailor your host applications to
different user roles as portlets
Present multiple host applications on
the same page with business,
productivity, and collaboration
portlets
HATS supports:
JSR168 Portlet API
Cooperative portlets
Connection overrides
IBM Portlet API
Cooperative portlets
Single Sign-On with portal
credentials and credential vault
Select View/Master/Slide Master to add Session Number Here 15
16. IBM Rational Software Conference 2009
HATS Rich Client Overview
Extends host applications to the desktop.
Applications run on:
Eclipse RCP 3.2, 3.3, or 3.4
IBM Lotus Expeditor Client 6.1.x
Provide a modern GUI interface to mission
critical green screen applications.
Processing occurs on the desktop
(WebSphere Application Server is not
required)
Provides the capability to integrate host
access applications with other applications
on the desktop.
Alternative to traditional terminal emulator
products.
Targeted at internal users in a controlled
environment.
Select View/Master/Slide Master to add Session Number Here 16
17. IBM Rational Software Conference 2009
HATS Mobile device Support
HATS transformation applications can
Compact Default Rendering
now be accessed by pervasive devices
such as cellular phones, data collection
terminals, and Personal Digital New template
Assistants Icon application keypad
This allows for the HATS developer to: optimized default settings
Customize and transform individual
screens
Add business logic to screen interactions
Enhance the presentation, layout, and flow
of the original host systems
Compact
Supported browser: Internet Explorer default rendering
Mobile 5.0 or later
Reminder: HATS Integration Object or
Web service data can also be used in
conjunction with mobile devices
Select View/Master/Slide Master to add Session Number Here 17
18. IBM Rational Software Conference 2009
Combine and Integrate
Select View/Master/Slide Master to add Session Number Here 18
19. IBM Rational Software Conference 2009
The Value of HATS SOA
HATS is an important part of the IBM SOA strategy!
IBM SOA Foundation helps to extend the value of the applications and business
processes that currently run your business, not replace them.
HATS does not require application reengineering or rewriting
Select View/Master/Slide Master to add Session Number Here 19
20. IBM Rational Software Conference 2009
HATS Macros, Integration Objects, and Web Services
A macro is a script that drives through and interacts with the
green screen applications.
Developer defines “screens” within the macros by identifying screen
recognition criteria and actions to perform when the screen is reached.
Developer links screens together to define the flow of the macro.
An Integration Object (IO) is a Java class that encapsulates a
macro.
IOs can be called directly from JavaServer Faces (JSF), Strutus, or
standard JSP Web pages. Web Service
IOs can also be used in Enterprise Java Beans (EJBs) or Web Integration Object A
Services.
Macro A
A Web service is a repeatable operation that can be accessed
over a network.
Integration Object B
A Web service is composed of 1 or more operations.
An Integration Object is represented by an operation. Macro B
Select View/Master/Slide Master to add Session Number Here 20
21. IBM Rational Software Conference 2009
How It Works - A simple example
<Name>Smith, John</Name> In
O
ut
WebSphere Application Server
<HATS-Results> “Query Address”
<NameAddr>Smith, John H – 100 Saul Rd</NameAddr>
<NameAddr>Smith, John M – 102 Cedar Ln</NameAddr> Web Service TN5250,
5250W, or
<NameAddr>Smith, John S – 200 Kissing Ct</NameAddr> TN3270
<NameAddr>Smith, John T – 201 Jordan Way</NameAddr>
<NameAddr>Smith, John V – 100 Indigo St</NameAddr>
<NameAddr>Smith, John W – 205 Bartons Ln</NameAddr>
</HATS-Results>
Select View/Master/Slide Master to add Session Number Here 21
22. IBM Rational Software Conference 2009
Visual Macro Editor (VME)
The VME is tool for visually developing HATS macros
Macros are the scripts that navigate and interact with 3270, 5250, VT
host applications.
Macros are the foundation for the Web Service support provided by
HATS.
Inputs and outputs in a HATS macro are eventually manifested as
inputs and outputs in a Web Service (screen interactions are hidden
behind the Web Service interface).
The VME provides value by:
Significantly increasing the productivity of HATS macro developers.
Allowing for easier handling of alternate / error flows.
Helping decrease the number of logic / flow problems (since the flow
can be clearly analyzed by both developers, expert users, and business
analysts).
Fully supported in HATS 7.5 (November 2008)
Select View/Master/Slide Master to add Session Number Here 22
23. IBM Rational Software Conference 2009
Case Study: Total System Services (TSYS)
Select View/Master/Slide Master to add Session Number Here 23
24. IBM Rational Software Conference 2009
Company Background
Ticker: TSYS
TSYS became an independent company after former parent
company Synovus relinquished its ownership in TSYS in what is
known as a spin-off transaction
Largest (publicly traded) Electronic Payment Processor in the World
Based in Columbus, Georgia
TSYS is the only company with a single platform capable of serving a
client's portfolio on more than one continent
VERY large mainframe footprint
At one point was the 3rd largest in the US
Select View/Master/Slide Master to add Session Number Here 24
25. IBM Rational Software Conference 2009
Business Challenge
Very large host based applications (TS1/TS2)
Services the credit/debit card industry
These are the systems service reps use when you call your bank
Account balances, payment history, card activations, etc.
1000's of 3270 green screens
Highly available, secure encrypted communications to customer premises
Very complex business logic
> 50,000 users on these systems
18M 3270 screens displayed per day
TS1 in operation for decades, TS2 since 1994
Both offer different services depending upon retail, commercial, debit, or credit
customer
Tiered service offering
3270 Green Screens ($)
ProphIT (.NET) – no custom workflows ($$)
ProphIT with custom .NET, MQ/CICS workflows ($$$$)
Select View/Master/Slide Master to add Session Number Here
26. IBM Rational Software Conference 2009
Business Challenge
Need to replace the interface for lower tier offerings
Gradually losing customers to competition
Competition has Web or Rich UI
Less expensive, more features than TSYS' low tier offering
Top tier offerings still require 3270 for some functions
Very high training costs
~90 days to bring a new CSR up
Average turnover of 10-12 months
7-9 months average productive time
Expensive and risky to replace TS1/TS2
Strict SLA's, Sarbanes-Oxley, SEC, Financial regulations
ProphIT originally meant to replace the UI
Select View/Master/Slide Master to add Session Number Here
27. IBM Rational Software Conference 2009
Technical Challenges
1000's of screens
About 10% used 90% of the time
Complex business logic
CICS, multiple regions, highly customized RACF
Tight real estate on the screens
Many fields are coded results
Many field labels are abbreviated/coded for space
EXTREMELY tight security
No external parties can connect to their internal network
TSYS development teams cannot connect to external networks
Little to no in-house expertise in Java / Java EE
.NET one side, Cobol/Assember on the other
Select View/Master/Slide Master to add Session Number Here
28. IBM Rational Software Conference 2009
Screen Shot
*Data shown is authorized test data, not real / live customer data.
Select View/Master/Slide Master to add Session Number Here
29. IBM Rational Software Conference 2009
Select View/Master/Slide Master to add Session Number Here
30. IBM Rational Software Conference 2009
Previous Solutions – ProphIT
Key revenue stream for top 2 tiers
Originally intended as a UI replacement
Serves as the top 2 tiers for credit/debit card servicing
.NET Based
Custom work flows
Headless MQ/CICS transactions
150+ developers
Each customer gets their own rack space
>$30M initial development cost
Handles 20-25% of TS1/TS2 functionality
95% of CSR's time spent in ProphIT
Remainder using green screens
Select View/Master/Slide Master to add Session Number Here
31. IBM Rational Software Conference 2009
Screen Shot
*Data shown is authorized test data, not real / live customer data.
Select View/Master/Slide Master to add Session Number Here
32. IBM Rational Software Conference 2009
*Data shown is authorized test data, not real / live customer data.
Select View/Master/Slide Master to add Session Number Here
33. IBM Rational Software Conference 2009
Alternatives Considered
Seagull Software
Closest competitor to HATS
Does not support RTL languages (i.e. Arabic, Hebrew)
Recent change of ownership with no clear future strategy
Pegasus Systems
True screen scraper
No way to combine screens
Not mature product, poor documentation
Microsoft Host Integration Solution
Similar to features already used in .NET with MQ transactions
API based
Select View/Master/Slide Master to add Session Number Here
34. IBM Rational Software Conference 2009
New Solution
Initial Proof of Concept
Pilot for single new customer
Our consultancy trained TSYS in-house personnel and performed initial implementation
Wildly successful
One of the fastest deployments IT had done
Sales and marketing group highly interested, ready to sell
Set a precedent for all other departments to match
Conversion to beta for group of key customers
Some new, some old customers
Transition to major project within IT division
Goal to replace Tier1 offering with HATS based UI
No more 3270 offerings except for specific security needs
All web based, no RCP or Mobile
Select View/Master/Slide Master to add Session Number Here
35. IBM Rational Software Conference 2009
Proof of Concept
3 day POC at TSYS facilities
Technical Goals:
Default transform all screens
Showed executive team any screen they wanted
Customize and combine key work flows
Specific screens chosen for relative complexity
Screen customizations, transformations, CSS, macros.
No web services, business logic, custom components
Theme the application based on existing TSYS visual artifacts
Business Goals:
Ease of development
Developed on TSYS workstation
Business analyst at the keyboard
Integrate with existing systems
Provide a replacement for default 3270 interface
Offer features for future desires (SSO, Web Services)
Select View/Master/Slide Master to add Session Number Here
36. IBM Rational Software Conference 2009
Development Methods
Bootstrap development with outside consultancy (Strongback Consulting)
Consultants work remotely as needed
Use Project Interchange to deliver artifacts
No interconnection between TSYS and consultant's systems
Gradually bring on in-house developers
Consultants establish project baselines and dev standards
Train and mentor as we go
Mixture of development skills
Early in-house developers begin mentoring later ones
3 Month Initial Development cycle
End product considered an 'Alpha' release
Fully functional, tested, but limited screen transformations
Default rendering on most screens
Select View/Master/Slide Master to add Session Number Here
37. IBM Rational Software Conference 2009
Implementation/Architecture H TTP 80
H TTPS 443
F ir e w a ll
C lie n t
Host Access Transformation Services V IP
L o a d B a l a n c e rs
for 3270 Applications 7.1
H TTP
80
WebSphere Application Server ND H a rv e s t
6.1 H T T P P ro x y
S e rv e rs
IBM HTTP Server C ode
d e p lo y m e n t s
5101
P lu g in u p d a t e s 1 8 0 0 -1 9 0 0
8008 W e b s p h e re
B i- D ir e c t io n a l
Cisco Load Balancers
P lu g in
9080 P lu g in u p d a t e s
9443 8008
F ir e w a ll
W e b s p h e re A d m in
C lu s te r C o n s o le
Rational Application Developer
23 23
F ir e w a ll
H P le x
Select View/Master/Slide Master to add Session Number Here
38. IBM Rational Software Conference 2009
*Data shown is authorized test data, not real / live customer data.
Select View/Master/Slide Master to add Session Number Here
39. IBM Rational Software Conference 2009
*Data shown is authorized test data, not real / live customer data.
Select View/Master/Slide Master to add Session Number Here
40. IBM Rational Software Conference 2009
HATS (and other) Techniques used
Predominantly Customization/Transformation based
Let default rendering, global rules do the brunt of the work
Macros, Macro Handlers, Global Variables for navigation
Links to screen codes vs. manually typing screen identifiers
Avoid retyping customer data where possible – improve data accuracy
Business Logic in corner cases
i.e. Selectively removing global variables (example in future slide)
HEAVY use of Cascading Style Sheets
Makes for much cleaner JSP
Separation of content from presentation
Dojo Toolkit
More attractive & flexible than HATS tabbed tables
API allow us to change the HTML DOM at rendering time
Can be much easier than a custom component
Select View/Master/Slide Master to add Session Number Here
41. IBM Rational Software Conference 2009
Dojo
JavaScript toolkit maintained by the Dojo Foundation (IBM is a member)
Rational SDP 7.5 embedded support for this toolkit
Select View/Master/Slide Master to add Session Number Here
42. IBM Rational Software Conference 2009
Custom Macro Handlers
Simply a JSP with input tags
One input tag for each prompt in the macro. Name attribute is the name of the
prompt
Set global variables at the same time. GV names are prefixed with “hatsgv_”
Perform client side validation with dojotype, required, regExp attributes
<input class="HATSINPUT" type="text" name="hatsgv_accountNumber"
i d =" a c c o u n t N u m b e r " m a x l e n g t h= " 1 6 " d o j o t y p e=" d i j i t . f o r m . T e x t B o x "
value="<%=
((TransformInfo)request.getAttribute(CommonConstants.REQ_TRANSFORMINFO
) ) . g e t G l o b a l V a r i a b l e (" a c c o u n t N u m b e r ", t r u e ) . g e t S t r i n g ( 0 ) . t r i m ( ) % > "
o n k e y p r e s s= " a l l o w N u m e r i c O n l y ( t h i s ) " r e q u i r e d= " t r u e "
r e g E x p = " [ 0 - 9 ] { 1 6 } ”> < / i n p u t >
Select View/Master/Slide Master to add Session Number Here
43. IBM Rational Software Conference 2009
Business Logic Example
public static void execute(IBusinessLogicInformation blInfo)
{
// Remove all the account specific global variables, leaving
only the search params.
removeGlobalVariable(blInfo, "dateOfBirth");
removeGlobalVariableByPrefix(blInfo, "igb");
removeGlobalVariableByPrefix(blInfo, "mna");
}
private static void removeGlobalVariableByPrefix(
IBusinessLogicInformation blInfo, String prefix) {
Enumeration localGlobalVariables =
blInfo.getGlobalVariables().elements();
IGlobalVariable gv = null;
while (localGlobalVariables.hasMoreElements()) {
gv = (GlobalVariable)
localGlobalVariables.nextElement();
if (gv.getName().toString().startsWith(prefix)) {
removeGlobalVariable(blInfo,
gv.getName().toString());
}
}
}
Select View/Master/Slide Master to add Session Number Here
44. IBM Rational Software Conference 2009
Key Business Benefits
Tactical
Stems the 'bleeding' of existing customers
Major reduction in training costs
Application still under development, but anticipate under 3 weeks of training time (~75%)
Allows SNA/Token Ring customers easy migration path
Prior customers being courted with new features
Strategic
Sales group now selling into new accounts
Some were previously 'untouchable'
Many are competitive accounts
Makes future M&A more appealing
Easier to incorporate new data
Entry point to Java, Java EE, SOA
Only Cobol/Assembler or .NET previously
New integration techniques now available
Creates potential for new revenue tiers, products
Select View/Master/Slide Master to add Session Number Here
45. IBM Rational Software Conference 2009
Key Technical Benefits
Easy development
Wizard driven but code accessible
Reuses existing host system cobol business logic, Screen UI layout
Fast deployment cycles
Encourage iterative design patterns
Customize transformations as needed, default render the rest
Easier deployment to new customers
Only an Internet browser required (IE6, IE7, Firefox)
No terminal emulator to administer or install
HTTP/HTTPS vs. 3270 (firewall friendly)
More scalability
Requires less hardware per customer than ProphIT
Compact data center footprint
Uses System p logical partitioning to gradually scale
Select View/Master/Slide Master to add Session Number Here
46. IBM Rational Software Conference 2009
Select View/Master/Slide Master to add Session Number Here 46
47. IBM Rational Software Conference 2009
Deployment Experience – The Good
Very fast development
Weekly builds
Overnight tests from QA (outsourced overseas)
Iterative cycles
Reuse themes from ProphIT
Skilled Business Analysts accelerated requirements
Excellent documentation – reused many existing docs
Knowledgeable about technology and TSYS systems
Resourceful enterprise architect, Rock solid Project Manager
'HATS' off to Keith Greene, TSYS lead architect & Dan Colombo, PM
Very familiar with TSYS protocols, security, logistics, etc.
Familiar with multiple technologies
UI, HTML, CSS, MVC, Agile, .NET, Cobol, System z
Select View/Master/Slide Master to add Session Number Here
48. IBM Rational Software Conference 2009
Deployment Experience – The Good
Good Team Communication
Group weekly call (keep it short, discuss weeks
goals only)
Daily developer call (let devs get techie here)
Team wiki
Hardware already in place
Chose System p – already on site.
Half already dedicated to Portal project
Built in HATS/RAD features allowed remote
development
Screen captures
Think 'photographs' of screens
Host simulations
Think 'filmstrips' of screens
One per work flow
Project Interchange to deliver builds
Select View/Master/Slide Master to add Session Number Here
49. IBM Rational Software Conference 2009
Deployment Experience – The Bad
Potential to Cannibalize ProphIT (Tier2) business
Care taken to ensure only existing 3270 functions are made available – not
create new ones.
Enhanced navigation for productivity only
Default HATS Components/Widgets fell short on occasion
Custom components/widgets
Extend an existing component, use regular expression to replace HTML
output
Custom HATS Business Logic (Java code)
Dojo toolkit where custom widgets were too complex
No failover of 3270 sessions
This is a limitation of telnet not necessarily HATS/WAS
WAS infrastructure still able to workload balance
If WAS JVM fails, users simply see a message to reconnect and start a new
session
Select View/Master/Slide Master to add Session Number Here
50. IBM Rational Software Conference 2009
Javascript Example – Changing Widgets at Render
// Change tr to display = none when it's an empty row
function changeNDARowsToNotDisplay(){
// disable header button
var trHeader = dojo.query("TR.HATSTABLEHEADER");
trHeader.query("input").forEach(
function(inputElement) { inputElement.disabled = true; }
);
//empty even and odd rows will be removed from the list
checkRows(dojo.query("TR.HATSTABLEEVENROW"));
checkRows(dojo.query("TR.HATSTABLEODDROW"));
}
function checkRows(rows){
rows.forEach(
function(row){
var temp = row.childNodes[1].innerHTML.replace(/ /g, "");
if (temp == ""){
row.style.display = "none"; }
}
);
}
Select View/Master/Slide Master to add Session Number Here
51. IBM Rational Software Conference 2009
Deployment Experience – The Bad
Deploying HATS / Vertical Clustering
runtime.properties files – one needed for each WAS instance, requires custom server properties
Required bash/korn shell, Jython, and batch files
Scripting is a must to avoid errors
Use a build tool
TSYS Standardized on IE 6
Limited some of what we could do with CSS, Javascript
< 20% market share, and decreasing
'Broken Box' CSS model – many sites break in IE 7
TIP: Develop on Firefox, digress for IE 6 - Future proof your investment!
Select View/Master/Slide Master to add Session Number Here
52. IBM Rational Software Conference 2009
Deployment Experience – The Ugly!
Very difficult Unit testing – all manual
JUnit will not test custom widgets/components
No standard on blackbox, or functional testing
Preference: Use Rational Functional Tester
Install of Development Environments
Array of products, patches, licenses
Use scripted IDE install if more than 3 people
ALWAYS start with the latest version
Slow laptops – 5400 RPM encrypted drives
Manual reconciliation between SCM
We never touched their network and worked remotely.
They were prevented from connecting to our SCM.
Lead architect would reconcile code each week.
Project settings (application.hap), and main css most difficult
SCM artifacts (.svn, .harvest, etc) had to be removed or ignored
Difficult and tedious to reconcile between disparate dev teams!
Select View/Master/Slide Master to add Session Number Here
53. IBM Rational Software Conference 2009
Deployment Experience – The Ugly!
Information Security group would randomly
lock us out
Ultra tight security – prepare ahead of time for
red tape
Miscommunication on when passwords expire,
some as quick as one week
Screen captures and Host Sims scrubbed via
InfoSec for customer data – only confirmed test
data sent to us
Information security enforcement stalled
installations
Admin rights required to install SDP
Work to ensure rights early and before 'crunch'
time
Consolation: I feel good that my bank runs through TSYS
Select View/Master/Slide Master to add Session Number Here
54. IBM Rational Software Conference 2009
Summary of the Case Study
Immediate tactical benefits
Quick deployment
Unforeseen strategic benefits
Diverse skill sets on the team
Plan ahead for compliance!
Java / Eclipse platform let you leverage other open source frameworks (Dojo)
Reuse as much as what you already have (requirements, imagery, CSS)
Automation pays for itself very quickly
Build Automation (build forge, ANT, JUnit)
Test Automation (Junit, Functional Tester)
Installation Automation (WAS installation Factory, ANT, shell/batch scripts, Jython)
Select View/Master/Slide Master to add Session Number Here
55. IBM Rational Software Conference 2009
HATS in Action
Rich Client Browser Portal Mobile Web Services
• Integration at the • Zero footprint • Integration at the glass • Access host • Build self-service
desktop with other • Pure HTML • Cooperative portlet applications from transactions
Eclipse-based • Access through your support mobile devices • Expose host business
applications favorite browser, • JSR 168 compliant processes as Web
• Client side processing including Internet Services
• Rich set of user Explorer and Firefox. • Provide controlled
interface widgets access to vital host
• Supports Lotus applications and host
Expeditor deployment data.
• Quick ROI : Host applications can be quickly deployed with a new user interface
• Low cost : No need to rewrite application
• Low risk : Leverage open, proven platforms and technologies
• Increase productivity and reduce training costs
• Improving work flow from multiple applications
• Provides integration of host business processes and data with other Web, portal, and rich client applications
Select View/Master/Slide Master to add Session Number Here 55
56. IBM Rational Software Conference 2009 The IBM Rational Cafés
ibm.com/rational/cafe
a community of industry leaders in trials of new technology
modernization technology
to take full advantage of the knowledge through forums, blogs
latest tools and wiki documents
•Commercial Computing
•Partners •Parallel and Multi-Core
•John’s Corner - Learn Computing
•Rich UI •Scientific Computing
•for IBM i •Standards
•Migration/Transformation
•Japan Street
•Partners
•RDz
•Partners •RDz with EGL
•RDi •RTCz
•RDi SOA •HATS
•RTCi •Standard
•Migrations
*Content subject to change
Select View/Master/Slide Master to add Session Number Here 56
57. IBM Rational Software Conference 2009
Enterprise Modernization Sandbox
Easy and fun to quickly try practical scenarios guided by self-paced exercises
System z Sandbox System i Sandbox
Examples and best practices provide Examples and best practices provide
low-risk, practical, hands-on low-risk, practical, hands-on
path to understanding. Includes: path to understanding. Includes:
Rational Developer for System z v7.1 WebSphere Development Studio Client
Rational Business Developer Extension v7.0 Rational Business Developer Extension
Rational Transformation Workbench v3.1 Host Access Transformation Services
Host Access Transformation Services
Full version software trials Full version software trials
‘Try online’ hosted ‘Try online’ hosted
environments environments
Tutorials Tutorials
Online Resources Online Resources
http://www.ibm.com/developerworks/downloads/emsandbox/
Select View/Master/Slide Master to add Session Number Here 57
58. IBM Rational Software Conference 2009
Online Resources
http://www-949.ibm.com/software/rational/cafe/docs/DOC-3005
Our page on the IBM HATS Cafe site
http://blog.strongbackconsulting.com
Lots of HATS related tips/tricks and 'undocumented' features
Other topics on WAS scripting and performance tuning
http://del.icio.us/klenny/HATS
Social bookmark site for all my HATS related links
Other tags on IBM, WebSphere, WAS, Lotus, Rational, etc
Select View/Master/Slide Master to add Session Number Here 58
59. IBM Rational Software Conference 2009
Other Online Resources
IBM WebSphere Host Integration Solution Product Page:
http://www-306.ibm.com/software/webservers/hostintegration/
Demos: http://rational.dfw.ibm.com/whidemo/atdemo_hats.html
Library, Webcasts, Podcasts, Brochures, Presentations, Redbooks: http://www-
306.ibm.com/software/webservers/hats/library.html
Education: http://www-306.ibm.com/software/webservers/hats/education.html
Services: http://www-306.ibm.com/software/webservers/hats/services.html
Trial Code: http://www14.software.ibm.com/webapp/download/search.jsp?go=y&rs=hatst
Customer Comments: http://www-
306.ibm.com/software/webservers/hats/hats_customers.html
HATS IBM Education Assistant content:
http://publib.boulder.ibm.com/infocenter/ieduasst/v1r1m0/index.jsp?
topic=/com.ibm.iea.hats_v6/plugin_coverpage.html
HATS news group: ibm.software.websphere.hats on news.software.ibm.com
Select View/Master/Slide Master to add Session Number Here 59
60. IBM Rational Software Conference 2009
HATS Demo Site
Interactive HATS Web and Portal applications that customers/partners can play
with.
Interactive HATS Web Services sample.
Videos showing key HATS features.
http://rational.dfw.ibm.com/whidemo/atdemo_hats.html
Select View/Master/Slide Master to add Session Number Here 60
61. IBM Rational Software Conference 2009
Select View/Master/Slide Master to add Session Number Here 61
63. IBM Rational Software Conference 2009
Backup
Select View/Master/Slide Master to add Session Number Here 63
64. IBM Rational Software Conference 2009
HATS Action Lists – A non-invasive approach to a
new application
Is Screen Customized?
Apply
Screen Default
receive Loop through no Transformation
recognition
3270 each screen in matches?
screen customization list
yes
Host System
(3270 or 5250)
Run each action in list
Web browser
Action List Action List
Example 2 Example 1
Last 1. Get Global 1. Apply
keystroke Variable Value Customized
In macro Transformation
Repeat until macro completes 2. Run Business
starts
process Logic
Send recorded
again key strokes to host
3. Run macro
Get screen
from host
Select View/Master/Slide Master to add Session Number Here 64
Editor's Notes
Author Notes: This is the standard session track template for IBM Rational Software Conference 2009 Additional IBM presentation resource links available on W3: Rational Core Messaging Slides https://w3-03.ibm.com/software/marketing/markwh01.nsf/AllObjects/rt_mtb_cms/$file/RationalBrand_CoreSlides.ppt?OpenElement Rational Image Library https://w3-03.ibm.com/software/marketing/markwh01.nsf/AllObjects/rt_rsil/$file/Rational_Image+Library.ppt?OpenElement PowerPoint Best Practices Presentation https://w3-03.ibm.com/software/marketing/markwh01.nsf/AllObjects/rt_mtb_rpbp/$file/PowerPoint_BestPractices.ppt?OpenElement
On this chart just stress how important existing applications are to customers Customers have made a significant investment over the years to develop fully functional applications, finely-tuned deployed in a reliable, robust and scalable infrastructure. However their applications can only be accessed by a terminal, and are difficult to navigate. It’s hard to train the new generation of employees to use these old-style applications, therefore customers are faced with high training costs. Why throwing away these applications ? It’s much less expensive to reuse existing applications than to write new applications from scratch. Reusing robust applications also reduces the risk and allows for faster time to market.
IBM WebSphere Host Access Transformation Server gives you all the tools you need to quickly and easily extend your legacy applications to bus. partners, customers, or employees. HATS makes your 3270 and 5250 applications available through most popular web browsers, while at the same time converting them to graphical user interfaces (GUIs) with a web-like look and feel on the fly in real time HATS provides a zero footprint Web-to-host solution, so that the only software your users will need is a web browser HATS can add drop down lists, tables, radio buttons, tabbed folders, and much more to your host screens. The power of HATS is in its ability to accurately recognize host screens and transform them in real time to an HTML interface according to a set of predetermined rules
IBM WebSphere Host Access Transformation Server gives you all the tools you need to quickly and easily extend your legacy applications to bus. partners, customers, or employees. HATS makes your 3270 and 5250 applications available through most popular web browsers, while at the same time converting them to graphical user interfaces (GUIs) with a web-like look and feel on the fly in real time HATS provides a zero footprint Web-to-host solution, so that the only software your users will need is a web browser HATS can add drop down lists, tables, radio buttons, tabbed folders, and much more to your host screens. The power of HATS is in its ability to accurately recognize host screens and transform them in real time to an HTML interface according to a set of predetermined rules
Let’s talk about how HATS can help customers meet these requirements HATS is a rules-based Web-to-host Transformation engine that can dynamically create a new easy-to-use GUI interface for your green-screens apps. It allows to significantly improve the navigation and productivity of host applications and integrate them with other apps within a portal or a rich client environment. it allows to extend terminal apps tasks as web services. It requires low skills, it’s highly customizable, and does not require any changes to your existing apps. Also HATS supports iterative development – introducing next chart.
This slide illustrates HATS deployment options WEB - HATS apps can be deployed as WEB apps that can be accessed via a traditional browser with zero footprint at the client. Portal – can be integrated with other application within a portlet. Web Services – can be exposed as Web Services Rich Client – can be integrated at the desktop with other Eclipse bases applications within a Rich Client - allowing to take advantage of a rich set of user interfaces widgets Mobile – and also can be accessed via PDA, Cell phones etc.
HATS has the capability to achieve a traditional green screen look. Please turn to slide 20.
Here’s an example of a modern Web look with HATS. Note that the host components, selection lists, function keys, are displayed as widgets selected by developer.
This screen shows the capability to define a rule based on the title of a field. For example, every time a field contains the word date, the global rule ties a calendar input widget to the input field, so the end user can just click on the icon beside the field and use the widget to populate the date field. Keyboard entry of a date is still possible, giving all users a chance to use their preferred entry method. The valid value pull down list provides users with words to choose from instead of typing in a difficult variable normally required when using a traditional green screen. This eliminates user error and the need to memorize a long list of complicated variables.
A JSR168 cooperative portlet is shown on this page.
One of the most exciting features in HATS version 7.1 is the ability to extend transformed green screen applications to mobile users. This feature gives an increasingly mobile work force real time access to critical host application data right when they need it, vs having to wait until they can get to their laptop or office to check something or make an update. For example, a service engineer could mark a repair complete, or check inventory, and order a part if necessary. A warehouse employee could make updates to a terminal application using a handheld device. Prior to HATS 7.1, you could use HATS Integration Objects or Web services to give mobile end users access to terminal application data. Now, in HATS 7.1, end users can connect to a HATS transformation application from a mobile device using Internet Explorer Mobile browser version 5 or later. The HATS developer can customize the host application specifically for mobile users to make it easier to use, streamline the navigation flow, and use business logic to integrate the terminal application with other data sources, such as a database.
This slide shows data from multiple sources 5250 (main transformation), 3270 (perform macro transaction, extract to GV), and VT (perform macro transaction, extract to GV).
Before exploring the improved SOA tooling available in HATS 7.1, let’s step back and review why HATS is an important part of IBM’s SOA story. SOA is all about helping customers create new value by helping them identify application assets that are mission critical and then reusing those assets in new ways. HATS enables customers to reuse logic locked within their green screen application without requiring access to or understanding of application source. No costly, risky rewrite or reengineering is required. In addition, HATS is the only IBM product that can be used extend a wide variety of terminal applications logic as standard Web services. HATS handles 3270 applications, including CICS, IMS, TSO, and ISPF, 5250 applications, and VT terminal applications.
We used a mixture of RAD, RBD, RSA, Rdz, but the only functions we really used were those specific to HATS, Web Development (JSP, HTML, CSS), or Java Development. HATS includes licensing for WebSphere Application Server, but the version is different based on HATS licensing: HATS for 3270 gets WAS ND HATS for 5250 on mulitplatform gets WAS Base HATS for 5250 on System I gets WAS Express
Optional IBM Rational “Demo” Breaker Slide
Image obtained from hitslink.com, March 31, 2009 http://marketshare.hitslink.com/browser-market-share.aspx?qprid=2
So- in summary, HATS 7.1 provides a large variety of deployment options to meet the business needs of your customers. HATS rich client applications can be deployed to Eclipse RCP and Lotus Expeditor, and they enable integration with other desktop applications, client side processing, and a rich user interface. HATS Web applications extend terminal application access to a wide variety of browsers, providing a zero footprint client. HATS portal applications allow integration of terminal applications at the glass, and now the strategic JSR 168 portal API is supported. HATS mobile support allows anywhere/anytime access to mission critical terminal applications, and finally, HATS Web service support enables customers to create standard Web services from green screen terminal application tasks, so that the application logic can be used in new ways. Common across all deployment options is a quick return on investment- host applications can be quickly accessed through a new, intuitive user interface. In addition, HATS is a low cost, low risk solution. There is no need to rewrite applications, and HATS is based on open, proven platforms and technologies such as J2EE, Eclipse, and Web services. And finally, HATS can be used to increase productivity of your end users, and decrease the training costs by making those green screen applications easier to use and providing streamlined navigation.
Small Icon in bottom right is a link to the Rational Cafés landing page
Mention that the System i Sandbox is still evolving.
Another way to demonstrate HATS capabilities for a customer. Mention that this is an Enterprise Modernization Demos site where you also have access to all other EM products: Rational Business Developer (RBD) and Enterprise Generation Language (EGL) , RDi, RDz, Rational Transformation Workbench (RTW)
Optional IBM Rational “Questions” Breaker Slide
Mandatory IBM Rational standard closing slide to be included in all external presentations. Learn more links: IBM Rational software: www.ibm.com/software/rational Rational launch announcements: www.ibm.com/software/rational/announce/ Rational Software Delivery Platform: www.ibm.com/software/info/developer Accelerate change and delivery: www.ibm.com/software/rational/offerings/scm.html Deliver enduring quality: www.ibm.com/software/rational/offerings/testing.html Enable enterprise modernization: www.ibm.com/software/info/developer/solutions/em/index.jsp Ensure Web site security and compliance: www.ibm.com/software/rational/offerings/websecurity/ Improve project success: www.ibm.com/software/rational/offerings/lifecycle.html Manage architecture: www.ibm.com/software/rational/offerings/design.html Manage evolving requirements: www.ibm.com/software/rational/offerings/irm/ Small and midsized business: www.ibm.com/software/rational/smb/ Targeted solutions: www.ibm.com/software/info/developer/solutions/index.jsp Rational trial downloads: www.ibm.com/developerworks/rational/downloads Leading Innovation Web site: www.ibm.com/software/rational/leadership developerWorks Rational: www.ibm.com/developerworks/rational IBM Rational TV: www.ibm.com/software/info/television/index.jsp?cat=rational&media=video&item=en_us/rational/xml/M259765N40519Z80.xml IBM Rational Business Partners: www.ibm.com/partnerworld/pwhome.nsf/weblook/index.html IBM Rational Case Studies: www.ibm.com/software/success/cssdb.nsf/topstoriesFM?OpenForm&Site=rational
Two main points: How HATS works: The path of a screen sent from the host to HATS displaying end user presentation. HATS action list offer a flexible and easy way to customize your application beyond the user interface. Using HATS Toolkit, the Developer has customized particular screens. At runtime, whenever HATS receives a host screen, HATS checks through its customized screen list for a match of the screen recognition defined by the Developer. If there is no match, the screen is not customized and so will be displayed using Default Transformation. If the screen is customized, HATS will run its action list. The HATS action list is a powerful way to modify the application logic as well as customize the user interface. The content and order of actions in the list were created by the Developer using HATS Toolkit. A simple case of an action list to is to run a customized transformation of the screen, thereby simply modifying the content the end user sees. A more extensive example is one where multiple actions are performed, in order, until the action list is complete. In this example, the Developer will get a global variable value set perhaps by collecting some data the end user has entered on previous screens. Let’s use a scenario where a customer calls in to a bank’s customer service rep and to set up a credit account. The global variable could be set to the customer’s bank account number. Using the account number, the business logic runs to determine if the customer is in good standing with his other accounts. The business logic may return a customer rating. The customer rating may be sent to the HATS macro, where the macro navigates through numerous host screens to get to a screen to present to the customer service rep. The screen may indicate the credit limit the customer may be given based on his account rating, along other information. When a macro runs using HATS, the keystrokes recorded in the macro for a particular screen are sent to the host, the host sends a screen to the macro, and the process proceeds until the macro is complete. In our example, the macro would end on the Credit Limit screen, which would then be sent through the Screen Customization logic before being presented to the user. Question : What happens if I change my green screen application? Answer : If using default rendering, HATS picks up the change automatically and transforms the screen. In other scenarios, depending on the type of change and how the application was customized, further modifications may need to be made to the HATS application. If you have made your screen customization logic general enough so that the host screen change is still within the location/specification of the screen recognition, your HATS application will not need to change.