SlideShare a Scribd company logo
1 of 52
11/19/15
A Natural Web Front End using
CICS Transaction Gateway
Michael Erichsen, CSC
GSE Nordic and UK CICS Conference
Hursley, May 1999
Session N25
11/19/15
Agenda
 CSC
 Covering Students’ Living Costs
 The US2000 Project
 A three Tier Architecture
 Three different views of Data
 The Program Flow
 Java Development
 Other Challenges
11/19/15
CSC
 A “Collection of Small Companies” - 51,000 employees

Management Consulting

Systems Integration & IT Consulting

Technology Management
 CSC Scandinavia

CSC Denmark

CSC Computer Management

CSC Sweden
11/19/15
Agenda
Covering Students’ Living Costs
11/19/15
Covering Students’ Living Costs
 SU (Statens Uddannelsesstøtte) is the Danish State
Education Grants and Loan Scheme Agency
 Provides for 250,000 students every year
 Tuition is free at public and most private educational
institutions
 Supports students with grants and loans
 Annual budget over 8,000,000,000 DKK - 0.6% of GNP
11/19/15
Agenda
The US2000 Project
11/19/15
The US2000 Project
 The current system consists of 70+ 3270 applications
running Software AG Natural and Adabas on CICS/VSE
 The Agency decided in 1997 to modernise system
 Asked three partners for proposals November 1997
 A technical model was prepared by CSC in May 1998
 Specification made in June 1998
 CSC on project July 1998
 Pilot production 2Q 1999
 Full implementation 4Q 1999
11/19/15
Why a Web Interface?
 A modern graphical user interface
 Safeguard the investment in business logic
 Maintain a stable environment
 Easier to learn for new users
 Can cooperate with PC environment
 Relieve the Agency of the responsibility for the users’
network connections and software distribution
 Enabling self service by students
11/19/15
Agenda
A Three Tier Architecture
11/19/15
PC UNIX Server VSE
WEB
Browser
CICS Client
CICS
Gateway
for Java
WEB Server
VTAM
CICS
Natural
HTTP
APPC
ADABAS
Personal
Comm
A Three Tier Architecture
11/19/15
The Communication Architecture
 A classic Windows Client/server model was rejected due
to configuration and software distribution problems
 A general transaction format is designed to simplify
programming
 Application logic in Client and on CICS/VSE, not on
middle tier
 Fundamentally just a new incarnation of the well-tested,
rock-solid transaction processing model
11/19/15
Why a Middle Tier?
 CICS/VSE has no direct Web interface - yet
 Design prepared for interfacing directly with CICS
 Two different proposals:

SAG Entire Broker

CICS Transaction Gateway
 The Agency bought a complete IBM package with
RS/6000, AIX, LDGWS, and CICS Transaction Gateway
for the middle tier
11/19/15
The Server Architecture
 Total separation of user dialogue from business logic
and data access
 Natural programmers can concentrate on business logic
 Willing to reprogram 3270 applications to server
programs
 Prepare architecture for the future
 Two simple CICS Assembler programs make up server
end of "Pipeline"
11/19/15
The NATCALL Interface
11/19/15
The Client Architecture
 Visual classes
 Formatting classes
 Transaction classes
 The architecture has matured through three steps to
Client heaven

Step 1: The decision to use Java

Step 2: Applets or Applications

Step 3: Java Beans
11/19/15
Step 1: The Decision to use Java
 Better function than plain HTML
 Enables mouseless operation
 Java Applets are easy to distribute on-line
 Response time proves acceptable

Averaging 0.5 seconds on browser
11/19/15
Step 2: Applets or Applications
 Applications run Stand-alone on the desktop
 Applets run inside a browser
 Problems with caching of jar files
 Browsers are not compatible
 Applications can also be distributed on-line
 But loses some functionality
11/19/15
Step 3: Java Beans
 Java Beans is a component technology
 Helps to design for code reuse
 Visual builder tools understands the components
 Systems programmers can encapsulate complexities
and validation in Java Beans
 Application programmers can concentrate on user
interfaces
 Both applets and applications can be built from Java
Beans
11/19/15
Agenda
Three Different Views of Data
11/19/15
Three Different Views of Data
 Java classes

Internal fields/properties with names and types

Accessed through "setter" and "getter" methods
 CICS Program

One long buffer (Commarea) with an implicit structure

Each end must understand offsets, lengths and types
 Natural Programs

Positional parameters with names and types

Accessed by name
11/19/15
How to Map a Commarea?
 Different models

Self describing format

Variable length fields

Predefined structure known by both ends

...
 Characters only or binary numeric data?
11/19/15
Predefined Transaction Format
SSeeggmmeenntt UUsseedd bbyy CCoonntteennttss
A Pipeline only Password
Natural and
Adabas identifiers
Internal response
time
B Pipeline
Natural Control
Userid
Error information
C Natural Control
Server Programs
Personal ID No.
Response text
Journal
information
D Specific Server
Program only
Transaction
specific fields
11/19/15
Data Inversions
SSuubbssyysstteemm DDaattaa vviieewweedd aass DDaattaa aacccceesssseedd bbyy
Client front-end Visual fields Getters and
setters
Client back-end Bean Properties Getters and
setters
Pipeline Data buffer -
Natural programs Positional
parameters
Name
11/19/15
Agenda
The Program Flow
11/19/15
PC UNIX
Server
VSE
Java
Client
CICS
Transaction
Gateway
ADABAS
The Program Flow
Front
end
Back
end
Boot
strap
Control
Server
11/19/15
The US2000 Java Client
11/19/15
Formatting Beans
A M O U N T _ N 8
B e a n
D D _ M M _ Y Y Y Y
B e a n
C P R N R
B e a n
E t c .
N a t u r a lF o r m a t e r in g
( A b s t r a c t )
C o m p o n e n t
O b je c t
11/19/15
Transaction Beans
D is p la y S t u d e n t I n fo r m a t io n
B e a n
D is p la y P a r e n t I n c o m e
B e a n
E t c .
C s c A b s t r a c t T r a n s a c t io n
O b je c t
11/19/15
CICS Transaction Gateway
11/19/15
Front-ending Natural
TS Queue
11/19/15
3GL Front End on CICS
 Distributed Program Link with a Commarea from CICS
Client through APPC
 Saves Commarea in a Temporary Storage queue
 Saves User id, response time etc. in a Data Table for
surveillance and performance monitoring
 Links to Natural Boot Strap with a list of dynamic
parameters including data from the A and B segments
11/19/15
Natural Boot Strap Program
 Does Natural initialisation and housekeeping behind the
covers
 Cannot be called with data
 Calls out again to another 3GL program
 Just two lines of code
11/19/15
3GL Back End on CICS
 Reads the Commarea from Temporary Storage
 Allocates extra storage for communication between
Natural subprograms to prevent storage violations
 Calls Natural Parameter List Builder Program
 Calls Natural Control Subprogram with Commarea as a
single positional parameter
 Afterwards data is returned through Temporary Storage
 A dummy back end seems to be necessary to get
around Natural’s Menu system...
11/19/15
Natural Subprograms
 Natural Control Subprogram

Subdivides the Commarea into positional parameters

Gives control to the appropriate server subprogram

Saves response time returned from the Client

Assembles data from server subprogram back into a single
positional parameter
 Natural Server Subprogram

Validates data

Does business logic

Accesses Adabas

Eventually about 100 server programs with as many
different D segments
11/19/15
Other CICS programs
11/19/15
Agenda
Java Development
11/19/15
Java Development
 Objects, reuse, and components
 Division of work
 Education
 Designing the component architecture
 Visual builder tools and how to choose them
11/19/15
Objects, Reuse, and Components
 Object technology still hasn’t fulfilled the promises of
code reuse
 Have to consciously build code reuse into the design of
classes and applications
 Components can help doing this
 Supported by a new generation visual builders
 Need to organise the project group division of work
 Need to adopt an iterative development process
11/19/15
Division of Work
 Visual application programmers

User interface
 Systems programmers

Communication

Complex technical matters
 Tools for each kind of person
 Optimal use of differentiated qualifications and interests
 Make it fun for everybody to ensure motivation and to
reduce staff turnover
11/19/15
Visual Programming
11/19/15
Education
 Java is difficult to learn for a Natural or 3GL developer

Objects is a different ballgame than structured (or even
unstructured) programming

Components are something else again
 Three distinct education needs

User interface design

Object design

Using the specific tool
11/19/15
Designing the Component Architecture
 Generalise common functionality into abstract parent
classes

Secures optimal reuse of code

Concrete, derived classes only contain what is specific to
them
 An iterative development process

Continuous identification of functions to be moved from
application to systems programming
 Keep classes small and simple
11/19/15
Visual Builder Tools
 Visual Café from Symantec
 Visual Age from IBM
 More than 20 others
 Started with Visual Café 2.5
 Changed to Visual Age 2.0
11/19/15
Criteria for Visual Builder Choice
 Import/export of source
 Support for the preferred division of work
 Support for programming styles and services
 External support
11/19/15
Keeping Java classes in Sync
with Natural Development
11/19/15
Natural in - Java out
16:23:44 Subprogram ISTA Library U
0010 ************************************
0020 * PROGRAM : ISTA
0030 * FUNKTION : Stamoplysninger
0040 * BESKRIVELSE : Viser stamoplysnin
0050 * støtteår.
0060 * Programmør : Finn Jørgensen
0070 * OPRETTET : 16-12-1998
0080 ************************************
0090 * Versionsændringer:
0100 *
0110 * Version Init Dato Beskrivelse
0120 * ------- ---- -------- ------------
0130 * 001 FJ 16-12-98 VERSION 1.
0140 ************************************
0150 DEFINE DATA PARAMETER
0160 *
0170 USING A-PARMTR
0180 *
0190 LOCAL USING T-PERSON
0200 LOCAL USING T-REKVIS
0210 *
package dk.su.us2000.trans;
import java.beans.*;
import com.sun.java.swing.*;
/*** This class represents the commarea b
* It is generated by the CSC Commarea Ge
* <p>This class contains accessors and m
* in the D segment of the transaction de
* It inherits accessors and mutators
* for the A, B, and C segments from its
* @version Natural: 981216 16:23, Java:
* @author Finn Jørgensen
*/
public class ISTA extends dk.su.us2000.tr
/** No-arg constructor
*/
public ISTA() {
super();
initialize();
} // No-arg c:tor
/** Gets the VERSION property (String) va
* @return The VERSION field.
* @see #setVERSION
*/
public String getVERSION() {
byte[] ba = new byte[3];
System.arraycopy(commarea, 830, ba, 0, 3)
String sout = new String(ba);
if (isDebug()) {
System.out.println("Method getVERS
} // if debug
return strip(sout, "N");
} // getVERSION()
11/19/15
Properties of a Generated Transaction Bean
11/19/15
Agenda
Other Challenges
11/19/15
State Handling
 CICS pseudo transactions have states - web
transactions are stateless
 User can go away without telling CICS
 Retaining sign-on between calls
 Achieving update integrity by serialisation using
timestamps on each database record
11/19/15
New Version Problems on Old Bottles
 Web distribution solves the old version problems
 But the most common browsers do not implement Java
identically

Can be remedied by using the Java Plug-In
 Still have to handle a multitude of version
interdependencies and incompatibilities
11/19/15
Security
 Logon is done with userid and password and is
validated by Natural Security
 A user profile is retrieved from Adabas and sent to the
Client to control the dynamic menu
 Security of userids, passwords, and data when running
on the open network is currently being analysed
11/19/15
Any Questions?

More Related Content

Viewers also liked

Viewers also liked (10)

Java on the Mainframe
Java on the MainframeJava on the Mainframe
Java on the Mainframe
 
Sepsis Core Quality Measures Webinar
Sepsis Core Quality Measures WebinarSepsis Core Quality Measures Webinar
Sepsis Core Quality Measures Webinar
 
RESPIRATORY SYSTEM EXAMINATION IN PEDIATRICS
RESPIRATORY SYSTEM EXAMINATION IN PEDIATRICSRESPIRATORY SYSTEM EXAMINATION IN PEDIATRICS
RESPIRATORY SYSTEM EXAMINATION IN PEDIATRICS
 
Receptors and signal transduction
Receptors and signal transductionReceptors and signal transduction
Receptors and signal transduction
 
Normas apa
Normas apa Normas apa
Normas apa
 
Volunteer Hub Final Report for Organisations
Volunteer Hub Final Report for OrganisationsVolunteer Hub Final Report for Organisations
Volunteer Hub Final Report for Organisations
 
Through CICS OS/2 with 50 Million Peas an Hour
Through CICS OS/2 with 50 Million Peas an HourThrough CICS OS/2 with 50 Million Peas an Hour
Through CICS OS/2 with 50 Million Peas an Hour
 
Saisons
SaisonsSaisons
Saisons
 
pi926.pdf
pi926.pdfpi926.pdf
pi926.pdf
 
EquityDaily.pdf
EquityDaily.pdfEquityDaily.pdf
EquityDaily.pdf
 

Similar to A Natural Web Front End using CICS Transaction Gateway

3 Tier Architecture
3 Tier Architecture3 Tier Architecture
3 Tier Architectureguestd0cc01
 
CICS basics overview session-1
CICS basics overview session-1CICS basics overview session-1
CICS basics overview session-1Srinimf-Slides
 
ICS UserGroup - 2015 - Infrastructure Assessment - Analyze, Visualize and Opt...
ICS UserGroup - 2015 - Infrastructure Assessment - Analyze, Visualize and Opt...ICS UserGroup - 2015 - Infrastructure Assessment - Analyze, Visualize and Opt...
ICS UserGroup - 2015 - Infrastructure Assessment - Analyze, Visualize and Opt...Christoph Adler
 
engage 2015 - - 2015 - Infrastructure Assessment - Analyze, Visualize and Op...
engage 2015 -  - 2015 - Infrastructure Assessment - Analyze, Visualize and Op...engage 2015 -  - 2015 - Infrastructure Assessment - Analyze, Visualize and Op...
engage 2015 - - 2015 - Infrastructure Assessment - Analyze, Visualize and Op...Christoph Adler
 
La Cics Tools Overview April 2009
La   Cics Tools Overview   April 2009La   Cics Tools Overview   April 2009
La Cics Tools Overview April 2009CICS ROADSHOW
 
Vb net xp_15
Vb net xp_15Vb net xp_15
Vb net xp_15Niit Care
 
The Database Environment Chapter 9
The Database Environment Chapter 9The Database Environment Chapter 9
The Database Environment Chapter 9Jeanie Arnoco
 
client-server-architecture.ppt
client-server-architecture.pptclient-server-architecture.ppt
client-server-architecture.pptgowriganesh
 
client-server-architecture ss.ppt
client-server-architecture ss.pptclient-server-architecture ss.ppt
client-server-architecture ss.pptOsmanGani61
 
Microservice 微服務
Microservice 微服務Microservice 微服務
Microservice 微服務YOU SHENG CHEN
 
Time to Talk about Data Mesh
Time to Talk about Data MeshTime to Talk about Data Mesh
Time to Talk about Data MeshLibbySchulze
 
Overview of 3-tier Client Server Architecture
Overview of 3-tier Client Server ArchitectureOverview of 3-tier Client Server Architecture
Overview of 3-tier Client Server ArchitectureMeghaj Mallick
 
Ch 8 Client Server
Ch 8  Client  ServerCh 8  Client  Server
Ch 8 Client Serverguest8fdbdd
 
Emerging computer environments- By Dr. V. Rajaraman
Emerging computer environments- By Dr. V. RajaramanEmerging computer environments- By Dr. V. Rajaraman
Emerging computer environments- By Dr. V. Rajaramanmunicsaa
 
3 Tier Architecture
3  Tier Architecture3  Tier Architecture
3 Tier ArchitectureWebx
 
Highway to heaven - Microservices Meetup Munich
Highway to heaven - Microservices Meetup MunichHighway to heaven - Microservices Meetup Munich
Highway to heaven - Microservices Meetup MunichChristian Deger
 
Meetup folien big data zu smart data
Meetup folien big data zu smart dataMeetup folien big data zu smart data
Meetup folien big data zu smart dataDavid Patrick Chang
 

Similar to A Natural Web Front End using CICS Transaction Gateway (20)

3 Tier Architecture
3 Tier Architecture3 Tier Architecture
3 Tier Architecture
 
CH12.ppt
CH12.pptCH12.ppt
CH12.ppt
 
CICS basics overview session-1
CICS basics overview session-1CICS basics overview session-1
CICS basics overview session-1
 
ICS UserGroup - 2015 - Infrastructure Assessment - Analyze, Visualize and Opt...
ICS UserGroup - 2015 - Infrastructure Assessment - Analyze, Visualize and Opt...ICS UserGroup - 2015 - Infrastructure Assessment - Analyze, Visualize and Opt...
ICS UserGroup - 2015 - Infrastructure Assessment - Analyze, Visualize and Opt...
 
engage 2015 - - 2015 - Infrastructure Assessment - Analyze, Visualize and Op...
engage 2015 -  - 2015 - Infrastructure Assessment - Analyze, Visualize and Op...engage 2015 -  - 2015 - Infrastructure Assessment - Analyze, Visualize and Op...
engage 2015 - - 2015 - Infrastructure Assessment - Analyze, Visualize and Op...
 
Domain specific modeling for mobile and io t apps
Domain specific modeling for mobile and io t appsDomain specific modeling for mobile and io t apps
Domain specific modeling for mobile and io t apps
 
La Cics Tools Overview April 2009
La   Cics Tools Overview   April 2009La   Cics Tools Overview   April 2009
La Cics Tools Overview April 2009
 
Vb net xp_15
Vb net xp_15Vb net xp_15
Vb net xp_15
 
The Database Environment Chapter 9
The Database Environment Chapter 9The Database Environment Chapter 9
The Database Environment Chapter 9
 
client-server-architecture.ppt
client-server-architecture.pptclient-server-architecture.ppt
client-server-architecture.ppt
 
client-server-architecture ss.ppt
client-server-architecture ss.pptclient-server-architecture ss.ppt
client-server-architecture ss.ppt
 
Microservice 微服務
Microservice 微服務Microservice 微服務
Microservice 微服務
 
Time to Talk about Data Mesh
Time to Talk about Data MeshTime to Talk about Data Mesh
Time to Talk about Data Mesh
 
Overview of 3-tier Client Server Architecture
Overview of 3-tier Client Server ArchitectureOverview of 3-tier Client Server Architecture
Overview of 3-tier Client Server Architecture
 
Ch 8 Client Server
Ch 8  Client  ServerCh 8  Client  Server
Ch 8 Client Server
 
Emerging computer environments- By Dr. V. Rajaraman
Emerging computer environments- By Dr. V. RajaramanEmerging computer environments- By Dr. V. Rajaraman
Emerging computer environments- By Dr. V. Rajaraman
 
Rajendra asp.net
Rajendra asp.netRajendra asp.net
Rajendra asp.net
 
3 Tier Architecture
3  Tier Architecture3  Tier Architecture
3 Tier Architecture
 
Highway to heaven - Microservices Meetup Munich
Highway to heaven - Microservices Meetup MunichHighway to heaven - Microservices Meetup Munich
Highway to heaven - Microservices Meetup Munich
 
Meetup folien big data zu smart data
Meetup folien big data zu smart dataMeetup folien big data zu smart data
Meetup folien big data zu smart data
 

More from Michael Erichsen

How to test a Mainframe Application
How to test a Mainframe ApplicationHow to test a Mainframe Application
How to test a Mainframe ApplicationMichael Erichsen
 
SOA Mainframe Service Architecture and Enablement Practices Best and Worst Pr...
SOA Mainframe Service Architecture and Enablement Practices Best and Worst Pr...SOA Mainframe Service Architecture and Enablement Practices Best and Worst Pr...
SOA Mainframe Service Architecture and Enablement Practices Best and Worst Pr...Michael Erichsen
 
Java is a new language on the mainframe
Java is a new language on the mainframeJava is a new language on the mainframe
Java is a new language on the mainframeMichael Erichsen
 
Websphere on z/OS and RACF security
Websphere on z/OS and RACF securityWebsphere on z/OS and RACF security
Websphere on z/OS and RACF securityMichael Erichsen
 
z13: New Opportunities – if you dare!
z13: New Opportunities – if you dare!z13: New Opportunities – if you dare!
z13: New Opportunities – if you dare!Michael Erichsen
 

More from Michael Erichsen (11)

ZCX Hybrid Application
ZCX Hybrid ApplicationZCX Hybrid Application
ZCX Hybrid Application
 
SMP/What?
SMP/What?SMP/What?
SMP/What?
 
ZD&T Survival Kit
ZD&T Survival KitZD&T Survival Kit
ZD&T Survival Kit
 
How to test a Mainframe Application
How to test a Mainframe ApplicationHow to test a Mainframe Application
How to test a Mainframe Application
 
A002 200 yearsofit
A002 200 yearsofitA002 200 yearsofit
A002 200 yearsofit
 
SOA Mainframe Service Architecture and Enablement Practices Best and Worst Pr...
SOA Mainframe Service Architecture and Enablement Practices Best and Worst Pr...SOA Mainframe Service Architecture and Enablement Practices Best and Worst Pr...
SOA Mainframe Service Architecture and Enablement Practices Best and Worst Pr...
 
Java is a new language on the mainframe
Java is a new language on the mainframeJava is a new language on the mainframe
Java is a new language on the mainframe
 
Websphere on z/OS and RACF security
Websphere on z/OS and RACF securityWebsphere on z/OS and RACF security
Websphere on z/OS and RACF security
 
Trends but No Directions
Trends but No DirectionsTrends but No Directions
Trends but No Directions
 
z13: New Opportunities – if you dare!
z13: New Opportunities – if you dare!z13: New Opportunities – if you dare!
z13: New Opportunities – if you dare!
 
Cobol 5 presentation
Cobol 5 presentationCobol 5 presentation
Cobol 5 presentation
 

Recently uploaded

WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...WSO2
 
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...masabamasaba
 
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park %in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park masabamasaba
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...Health
 
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...WSO2
 
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyviewmasabamasaba
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnAmarnathKambale
 
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...Jittipong Loespradit
 
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024VictoriaMetrics
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...masabamasaba
 
What Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the SituationWhat Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the SituationJuha-Pekka Tolvanen
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisamasabamasaba
 
%in Benoni+277-882-255-28 abortion pills for sale in Benoni
%in Benoni+277-882-255-28 abortion pills for sale in Benoni%in Benoni+277-882-255-28 abortion pills for sale in Benoni
%in Benoni+277-882-255-28 abortion pills for sale in Benonimasabamasaba
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...Shane Coughlan
 
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...masabamasaba
 
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...WSO2
 
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...chiefasafspells
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...panagenda
 
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfonteinmasabamasaba
 

Recently uploaded (20)

WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
 
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
 
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
 
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park %in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
 
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
 
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
 
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
 
What Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the SituationWhat Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the Situation
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
%in Benoni+277-882-255-28 abortion pills for sale in Benoni
%in Benoni+277-882-255-28 abortion pills for sale in Benoni%in Benoni+277-882-255-28 abortion pills for sale in Benoni
%in Benoni+277-882-255-28 abortion pills for sale in Benoni
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
 
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
 
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
 
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
 

A Natural Web Front End using CICS Transaction Gateway

  • 1. 11/19/15 A Natural Web Front End using CICS Transaction Gateway Michael Erichsen, CSC GSE Nordic and UK CICS Conference Hursley, May 1999 Session N25
  • 2. 11/19/15 Agenda  CSC  Covering Students’ Living Costs  The US2000 Project  A three Tier Architecture  Three different views of Data  The Program Flow  Java Development  Other Challenges
  • 3. 11/19/15 CSC  A “Collection of Small Companies” - 51,000 employees  Management Consulting  Systems Integration & IT Consulting  Technology Management  CSC Scandinavia  CSC Denmark  CSC Computer Management  CSC Sweden
  • 5. 11/19/15 Covering Students’ Living Costs  SU (Statens Uddannelsesstøtte) is the Danish State Education Grants and Loan Scheme Agency  Provides for 250,000 students every year  Tuition is free at public and most private educational institutions  Supports students with grants and loans  Annual budget over 8,000,000,000 DKK - 0.6% of GNP
  • 7. 11/19/15 The US2000 Project  The current system consists of 70+ 3270 applications running Software AG Natural and Adabas on CICS/VSE  The Agency decided in 1997 to modernise system  Asked three partners for proposals November 1997  A technical model was prepared by CSC in May 1998  Specification made in June 1998  CSC on project July 1998  Pilot production 2Q 1999  Full implementation 4Q 1999
  • 8. 11/19/15 Why a Web Interface?  A modern graphical user interface  Safeguard the investment in business logic  Maintain a stable environment  Easier to learn for new users  Can cooperate with PC environment  Relieve the Agency of the responsibility for the users’ network connections and software distribution  Enabling self service by students
  • 10. 11/19/15 PC UNIX Server VSE WEB Browser CICS Client CICS Gateway for Java WEB Server VTAM CICS Natural HTTP APPC ADABAS Personal Comm A Three Tier Architecture
  • 11. 11/19/15 The Communication Architecture  A classic Windows Client/server model was rejected due to configuration and software distribution problems  A general transaction format is designed to simplify programming  Application logic in Client and on CICS/VSE, not on middle tier  Fundamentally just a new incarnation of the well-tested, rock-solid transaction processing model
  • 12. 11/19/15 Why a Middle Tier?  CICS/VSE has no direct Web interface - yet  Design prepared for interfacing directly with CICS  Two different proposals:  SAG Entire Broker  CICS Transaction Gateway  The Agency bought a complete IBM package with RS/6000, AIX, LDGWS, and CICS Transaction Gateway for the middle tier
  • 13. 11/19/15 The Server Architecture  Total separation of user dialogue from business logic and data access  Natural programmers can concentrate on business logic  Willing to reprogram 3270 applications to server programs  Prepare architecture for the future  Two simple CICS Assembler programs make up server end of "Pipeline"
  • 15. 11/19/15 The Client Architecture  Visual classes  Formatting classes  Transaction classes  The architecture has matured through three steps to Client heaven  Step 1: The decision to use Java  Step 2: Applets or Applications  Step 3: Java Beans
  • 16. 11/19/15 Step 1: The Decision to use Java  Better function than plain HTML  Enables mouseless operation  Java Applets are easy to distribute on-line  Response time proves acceptable  Averaging 0.5 seconds on browser
  • 17. 11/19/15 Step 2: Applets or Applications  Applications run Stand-alone on the desktop  Applets run inside a browser  Problems with caching of jar files  Browsers are not compatible  Applications can also be distributed on-line  But loses some functionality
  • 18. 11/19/15 Step 3: Java Beans  Java Beans is a component technology  Helps to design for code reuse  Visual builder tools understands the components  Systems programmers can encapsulate complexities and validation in Java Beans  Application programmers can concentrate on user interfaces  Both applets and applications can be built from Java Beans
  • 20. 11/19/15 Three Different Views of Data  Java classes  Internal fields/properties with names and types  Accessed through "setter" and "getter" methods  CICS Program  One long buffer (Commarea) with an implicit structure  Each end must understand offsets, lengths and types  Natural Programs  Positional parameters with names and types  Accessed by name
  • 21. 11/19/15 How to Map a Commarea?  Different models  Self describing format  Variable length fields  Predefined structure known by both ends  ...  Characters only or binary numeric data?
  • 22. 11/19/15 Predefined Transaction Format SSeeggmmeenntt UUsseedd bbyy CCoonntteennttss A Pipeline only Password Natural and Adabas identifiers Internal response time B Pipeline Natural Control Userid Error information C Natural Control Server Programs Personal ID No. Response text Journal information D Specific Server Program only Transaction specific fields
  • 23. 11/19/15 Data Inversions SSuubbssyysstteemm DDaattaa vviieewweedd aass DDaattaa aacccceesssseedd bbyy Client front-end Visual fields Getters and setters Client back-end Bean Properties Getters and setters Pipeline Data buffer - Natural programs Positional parameters Name
  • 27. 11/19/15 Formatting Beans A M O U N T _ N 8 B e a n D D _ M M _ Y Y Y Y B e a n C P R N R B e a n E t c . N a t u r a lF o r m a t e r in g ( A b s t r a c t ) C o m p o n e n t O b je c t
  • 28. 11/19/15 Transaction Beans D is p la y S t u d e n t I n fo r m a t io n B e a n D is p la y P a r e n t I n c o m e B e a n E t c . C s c A b s t r a c t T r a n s a c t io n O b je c t
  • 31. 11/19/15 3GL Front End on CICS  Distributed Program Link with a Commarea from CICS Client through APPC  Saves Commarea in a Temporary Storage queue  Saves User id, response time etc. in a Data Table for surveillance and performance monitoring  Links to Natural Boot Strap with a list of dynamic parameters including data from the A and B segments
  • 32. 11/19/15 Natural Boot Strap Program  Does Natural initialisation and housekeeping behind the covers  Cannot be called with data  Calls out again to another 3GL program  Just two lines of code
  • 33. 11/19/15 3GL Back End on CICS  Reads the Commarea from Temporary Storage  Allocates extra storage for communication between Natural subprograms to prevent storage violations  Calls Natural Parameter List Builder Program  Calls Natural Control Subprogram with Commarea as a single positional parameter  Afterwards data is returned through Temporary Storage  A dummy back end seems to be necessary to get around Natural’s Menu system...
  • 34. 11/19/15 Natural Subprograms  Natural Control Subprogram  Subdivides the Commarea into positional parameters  Gives control to the appropriate server subprogram  Saves response time returned from the Client  Assembles data from server subprogram back into a single positional parameter  Natural Server Subprogram  Validates data  Does business logic  Accesses Adabas  Eventually about 100 server programs with as many different D segments
  • 37. 11/19/15 Java Development  Objects, reuse, and components  Division of work  Education  Designing the component architecture  Visual builder tools and how to choose them
  • 38. 11/19/15 Objects, Reuse, and Components  Object technology still hasn’t fulfilled the promises of code reuse  Have to consciously build code reuse into the design of classes and applications  Components can help doing this  Supported by a new generation visual builders  Need to organise the project group division of work  Need to adopt an iterative development process
  • 39. 11/19/15 Division of Work  Visual application programmers  User interface  Systems programmers  Communication  Complex technical matters  Tools for each kind of person  Optimal use of differentiated qualifications and interests  Make it fun for everybody to ensure motivation and to reduce staff turnover
  • 41. 11/19/15 Education  Java is difficult to learn for a Natural or 3GL developer  Objects is a different ballgame than structured (or even unstructured) programming  Components are something else again  Three distinct education needs  User interface design  Object design  Using the specific tool
  • 42. 11/19/15 Designing the Component Architecture  Generalise common functionality into abstract parent classes  Secures optimal reuse of code  Concrete, derived classes only contain what is specific to them  An iterative development process  Continuous identification of functions to be moved from application to systems programming  Keep classes small and simple
  • 43. 11/19/15 Visual Builder Tools  Visual Café from Symantec  Visual Age from IBM  More than 20 others  Started with Visual Café 2.5  Changed to Visual Age 2.0
  • 44. 11/19/15 Criteria for Visual Builder Choice  Import/export of source  Support for the preferred division of work  Support for programming styles and services  External support
  • 45. 11/19/15 Keeping Java classes in Sync with Natural Development
  • 46. 11/19/15 Natural in - Java out 16:23:44 Subprogram ISTA Library U 0010 ************************************ 0020 * PROGRAM : ISTA 0030 * FUNKTION : Stamoplysninger 0040 * BESKRIVELSE : Viser stamoplysnin 0050 * støtteår. 0060 * Programmør : Finn Jørgensen 0070 * OPRETTET : 16-12-1998 0080 ************************************ 0090 * Versionsændringer: 0100 * 0110 * Version Init Dato Beskrivelse 0120 * ------- ---- -------- ------------ 0130 * 001 FJ 16-12-98 VERSION 1. 0140 ************************************ 0150 DEFINE DATA PARAMETER 0160 * 0170 USING A-PARMTR 0180 * 0190 LOCAL USING T-PERSON 0200 LOCAL USING T-REKVIS 0210 * package dk.su.us2000.trans; import java.beans.*; import com.sun.java.swing.*; /*** This class represents the commarea b * It is generated by the CSC Commarea Ge * <p>This class contains accessors and m * in the D segment of the transaction de * It inherits accessors and mutators * for the A, B, and C segments from its * @version Natural: 981216 16:23, Java: * @author Finn Jørgensen */ public class ISTA extends dk.su.us2000.tr /** No-arg constructor */ public ISTA() { super(); initialize(); } // No-arg c:tor /** Gets the VERSION property (String) va * @return The VERSION field. * @see #setVERSION */ public String getVERSION() { byte[] ba = new byte[3]; System.arraycopy(commarea, 830, ba, 0, 3) String sout = new String(ba); if (isDebug()) { System.out.println("Method getVERS } // if debug return strip(sout, "N"); } // getVERSION()
  • 47. 11/19/15 Properties of a Generated Transaction Bean
  • 49. 11/19/15 State Handling  CICS pseudo transactions have states - web transactions are stateless  User can go away without telling CICS  Retaining sign-on between calls  Achieving update integrity by serialisation using timestamps on each database record
  • 50. 11/19/15 New Version Problems on Old Bottles  Web distribution solves the old version problems  But the most common browsers do not implement Java identically  Can be remedied by using the Java Plug-In  Still have to handle a multitude of version interdependencies and incompatibilities
  • 51. 11/19/15 Security  Logon is done with userid and password and is validated by Natural Security  A user profile is retrieved from Adabas and sent to the Client to control the dynamic menu  Security of userids, passwords, and data when running on the open network is currently being analysed

Editor's Notes

  1. CSC has operated in Europe since 1966 with HQ in Farnborough, England. The specific industries for which we currently provide experience and expertise in Europe include Chemicals, Financial Services, Government, Healthcare, Information Technology, Life Sciences, Manufacturing (Aerospace, Automotive, Discrete), Oil and Gas, Retail, Telecommunications and Travel and Transport. In Europe we are 15,000 employees in &amp;gt;200 locations in 16 countries. Number of employees and locations in the Nordic Area: Norway 100 1 Sweden 100 1 Denmark1,200 5 CSC Denmark: Development &amp; Consultancy CSC Computer Management: Facility Management, Data Centre Operations &amp; Network Services CSC Sweden: Consultancy CSC Norway: Financial and Insurance Applications
  2. SU (Statens Uddannelsesstøtte) is the Danish State Education Grants and Loan Scheme Agency Under the auspices of the Danish Ministry of Education Provides for 250,000 students every year Tuition is free at public and most private educational institutions SU supports students aged 18 and above with grants (6,600,000,000) and loans (1,400,000,000) Loans are paid back after graduation (or giving up studies) Annual budget over 8,000,000,000 DKK - 0.6% of GNP
  3. Combine a modern graphical user interface with the investment in business logic and a stable development and operations environment Willing to re-code the back end into server programs while retaining the business logic 3270 to be phased out completely Easier to learn for new users Cooperate with PC environment Relieve the Agency of the responsibility for the users’ network connections and software distribution Initially 500 existing 3270 users in educational institutions Enabling self service by students
  4. When the architecture was designed, CICS Gateway for Java and the CICS Client were bundled, but separate components. They have now been merged into the CICS Transaction Gateway and the CICS Client has been promoted to a CICS Universal Client
  5. CICS/VSE has no direct Web interface - yet Design prepared for interfacing directly with CICS Will only need to change a single abstract class Two different proposals: SAG Entire Broker Deemed too complicated to program Unstable on VSE CICS Client + CICS Gateway for Java = CICS Transaction Gateway Fits together with CICS/VSE, but not with Natural
  6. Willing to reprogram 3270 applications to server programs Replace SEND/RECEIVE MAP with LINK PROGRAM COMMAREA Prepare architecture for future availability of CICS Web Interface on VSE Also for other types of communication like FTP of batch input from other systems at large educational institutions
  7. If you find this slide ugly, you should try to read the manual! Natural is born to send and receive 3270 24*80 characters screens Natural subprograms can be called from a 3GL through the “NATCALL” interface with a standard parameter list Rather vaguely documented in Natural manuals Had to do some guessing and some disassembly to understand why samples had to be followed 100% One circumvention did not survive upgrading Natural from V228 to V232 Follows quite a wrinkled path into Natural Three front-end and one back-end program needed
  8. Visual classes Present the user interface Formatting classes Handle validation Transaction classes Make up client end of &amp;quot;pipeline”
  9. Browsers are not compatible Applets might look different from how you want them to Applets might not run at all Applications can also be distributed on-line Users must accept to click on a “Download” button on your home page and an “Install” button afterwards But loses some functionality: Printing using the Browser print command has to be substituted by programming native print function This is a tactical decision and the same US2000 Client program can run both ways
  10. Self describing format Tags or separators around data, like SGML, HTML or XML: &amp;lt;TAG ATTRNAME=attrvalue&amp;gt; data &amp;lt;/TAG&amp;gt; or: data1;data2;data3; Flexible, but requires parsing Variable length fields Like CICS Control blocks: llbb ll field ll field where ll is a halfword length field and bb are nulls Complicated, but uses minimum space Predefined structure known by both ends Like a Commarea AAAABBCCCCDD1234EEE Uses more space and demands strong data discipline, but is less complicated Characters only or also binary numeric data? ”High-endian” and ”low-endian”
  11. Visual components are JTextFields, JLabels, and specialised custom subclasses of JTextField Text properties of visual fields are connected to the field-related properties of the transaction bean with setters and getters Setters and getters in the transaction bean are moving data between property fields and the Commarea using arraycopy() The pipeline itself is ignorant of any structure in the data. The host end of the pipeline inserts the Commarea into a single positional parameter. The Natural control program subdivides the data into Natural variables
  12. Executes as an applet in a browser window. Can also run as an application The Web browser gets an HTML page from the server containing a tag identifying a Java applet, followed by the relevant Java classes, including CICS Transaction Gateway classes The browser displays the US2000 Client and creates a JavaGateway object to connect to a long running Gateway process on the server Data is displayed entered in JTextFields, validated locally by formatting beans, and assembled into a single printable character buffer by a transaction bean When the submit button is pressed, an ECIRequest object containing ECI calls is created and sent to the Gateway The Gateway receives the request, unpacks it, and makes a corresponding ECI call to the CICS Universal Client, which DPL’s it to CICS/VSE --- User response time is measured as the duration of the call and returned to the mainframe on the next call To the left is a dynamic menu tree, which is built from downloaded host data The main window is a multi-document window, which enables the user to keep one window open while using another for an incoming phone call Each working window is a separate, self-contained entity An extensive help system is also available
  13. Non-visual components Common abstract ancestor subclasses Component Formats and validates data in types like amounts with different width, person identification number, date formats, and lists of what formerly were abbreviated codes
  14. Non-visual components Abstract ancestor contains the Gateway calls and maps the fields in the A, B, and C segments of the Commarea The concrete classes maps the variable fields in the specific D segment Eventually about 100 classes Any substantial program changes will be in the single abstract class only. If a new field is inserted, the specific classes will have to be regenerated to change the initial offset into the Commarea The visual programmer connects the Text property of each JTextField and JLabel to properties of the Transaction Bean
  15. CICS Gateway for Java Java classes that encapsulate ECI calls Downloaded from Server machine to Client CICS Universal Client Passes data along to CICS/VSE as an ECI Call Resides on server machine New name, new version, new packaging, and new pricing of the CICS Client Available without CICS Transaction Server now
  16. Parameter list passed to Natural STRTPRMSEQU *RSTRTRID DS CL4Front-end restart trans idPARMADDR DS FAddress of dynamic parms storagePARMLGTH DS HLength of dynamic parm stringTRANSID DS CL4CICS transaction idXCTLPRGM DS CL8Pgm name to Xfer control to Dynamic parameters PARMLIST DC C&amp;apos;STACK=(LOGON SYSTEM USERID PASSWORD;CSCSUCAL),’ DC C&amp;apos;PROGRAM=CSCSURET,’ DC C&amp;apos;AUTO=OFF,’ DC C&amp;apos;MENU=OFF,’ DC C&amp;apos;OUTDEST=CSMT,’ DC C&amp;apos;SENDER=CSMT,’ DC C&amp;apos;FUSER=(&amp;apos;????,????),FDIC=(????,????) &amp;apos; Batch logon, 3GL back end program, No automatic logon, No menu system, Error message Destination, Normal Output Destination, Program location, Data location EXEC CICS LINK PROGRAM(NATURAL_NUCLEUS) COMMAREA(STRTPRMS) LENGTH(STRTPRML) NOHANDLE
  17. Really just two lines: CALL &amp;apos;CSCSUBCK’END
  18. Parameter list for Natural NAT_PARMSDSECT NATPLIST_ADDR DS FAddress of Natural parameter lst NATSUB_ADDR DS FAddress of Natural subprogram USERID_ADDR DS FUserid ADABAS_TIME_ADDR DS FTimestamp RETNCODE_ADDR DS FReturn code RETNMSG_ADDR DS FMessage if RETNCODE is not blank NATDATA_ADDR DS FAddress of Natural data NATDATA DS CL1Maps up to 10K Commarea Call Natural Parameter List Builder Program LA R1,NAT_PARMSPoint to address listLA R13,SAVEAREAAddress save areaCALL NCIXCPRM Natural Parameter List NATPLIST DS CL132 Use the NATCALL interface MVC CALEN,=H&amp;apos;132’Length of Natural parmlistEXEC CICS LINK PROGRAM(&amp;apos;NCIXCALL&amp;apos;) COMMAREA(NATPLIST) LENGTH(CALEN) NOHANDLE
  19. Operations and monitoring designed into system from day one A program to monitor server program usage, response time and user A PLTPI-started program to keep APPC connection to the Gateway alive A PLTSD-program to generate response time statistics at CICS Shutdown A dummy return program
  20. Tools for each kind of person Visual builders Text editors Exception eliminators Bytecode optimisers Native compilers Profilers Obfuscators
  21. The Visual Programmer first places all visual components in the Working Window and then connects the Text property of each Visual bean to the corresponding property in the Transaction bean by dragging a ”rubber band”. Visual Age understands which type the Transaction bean property is, e.g. MONTH_YYYY. It accepts the visual connection, if it is possible to create a formatting object of this type in the constructor, and if the toString() method is overridden in the formatting bean. If the toString() method is not overridden in the formatting object, the connection is illegal, and you get a warning from Visual Age. This way we are able to make sure that data in US2000 Java Client fields correspond correctly to fields in Natural. Visual Age translates the drawn connection into two methods to move data in either direction. One method creates an object of the formatting class with the Visual Bean’s Text property. It then invokes a setter on the Transaction Bean with the object. The Transaction Bean setter moves data to the right offset of the Commarea. The formatting bean constructor sets its Text property according to its specific formatting rules. The other method invokes the appropriate getter on the Transaction Bean and casts it to a String. It then invokes setText() on the Visual field with the String. The Transaction Bean getter creates an object of the formatting class, sets its Text property to the contents of the right part of the Commarea, and returns this object. When data is changed in either end of the connection (by user input or a successful Gateway call), the corresponding method is invoked.
  22. User interface design Intuitive Interactive Human-oriented Platform independent Put yourself in the user’s place Object design Inheritance Polymorphism Encapsulation Properties Methods Events
  23. Continuous identification of functions to be moved from application to systems programming If common to several classes If considered as complicated
  24. Visual Café from Symantec Market leader, Visual Basic-like Visual Age from IBM Smalltalk-like More than 20 others New versions all the time Started with Visual Café 2.5 Too many shortcomings Changed to Visual Age 2.0 Still no support for latest versions of Java and JFC
  25. Import/export of source to coexist with plain source coding Supporting the preferred division of work Support for Visual programming Support for Java Beans Support for at least Swing/JFC version 1.0.2 Support for or coexistence with CICS Transaction Gateway 3.0 Availability of external support (education and consultants) Support for Packages and JAR files Debugging facilities Multi-user environment with version control
  26. Automatic conversion of Natural data definitions to Java Beans representing the Commarea The Commarea Generator program is written in Java and uses the Gateway to have Natural server subprogram source code unloaded by another Natural server subprogram It analyses the Natural source, extracts the relevant data definitions into a generalised format, and then generates the Transaction Bean that matches the Natural server subprogram This is accomplished by a simple standard for comments in Natural, eg.: 0290 2 TR-VERSION (N3) /*VALUE=001 0590 2 TR-STOP (N1) /*CLASS=STOP The generated bean can be imported into and understood by Visual Age Designed a syntax for comments in the Natural source to ensure that type-specific visual beans are only connected to the corresponding Commarea field types and for initialisation of values where needed
  27. A visual Java development tool shows the properties of a Java bean in a property sheet, where the developer can examine and change values of all exposed properties The tool is able to analyse the generated Java bean and display both field names and initialised values
  28. Update integrity Cannot take a read lock not knowing whether the user will continue to work, drink coffee, or go home Cannot depend on data in client still being valid after operator think time, since somebody else might have updated it behind our back One solution is to compare timestamps on data and refuse to update if they do not match
  29. Web distribution solves the old version problems But the most common browsers do not implement Java identically Can be remedied by using the Java Plug-In But this is a 7 MB download in itself Still have to handle interdependencies between JDK versions JFC versions Java Plug-in versions Tool versions and makes CICS Gateway Versions
  30. Security of userids, passwords, and data when running on the open network is currently being analysed End-to-end cryptography? SSL? Client and server Java security classes with CSC-developed 1028 bit cryptography?