Title: Web-Enablement
1Web-Enablement
How to Web-Enable Your ADABAS Data By Using
Existing Natural Programs Natural Conference
Boston Dieter W. Storr May 2004 info_at_storrconsu
lting.com
2WEB
DCOM
Broker
WRQ
WebStar
EntireX
RPC
MQSeries
MOM
CORBA
TP Monitor CICS or Com-plete and NATURAL
ADABAS
3Questions to Start
- Screen Scraping or Middleware?
- Messaging or Brokering?
- Asynchronous processes or dialog?
- TP monitor with multiple TCB capabilities?
- Is a TP monitor necessary?
- Separate the presentation layer from the business
logic and data access in your existing Natural
programs?
4Questions to Start
- Would you like to write for web functions new
componentized Natural programs? - Do you want to write many front-end programs to
control, distribute, and observe the messages? - Do all methods support your existing security
software, for example userid's and passwords?
5Content
- Screen Scraper
- COMMAREA
- Self-Written Solution w/o Middleware
- Com-plete 6.1 Smarts CGI / HTTP Server
- CICS / CICS Web Server / Natural CGI
- Message-Oriented Middleware (MOM)
- Broker Middleware
6Content
- Remote Procedure Call (RPC)
- Products and Examples
- Pros and Cons
7Screen ScraperDescription
- Piece of software used to automate interaction
between two computer systems through the terminal
interface of one of those systems. - It allows a PC to intercept character-based data
from a mainframe - Presents the Green Screen in an easier to
understand graphical user interface (GUI), HTML,
or XML
8Screen ScraperDescription
- Screen scrapers are advantageous when
modifications to the host system are undesirable,
when it is desirable to make use of the existing
business and data integrity logic on the host,
and when no other (peer-to-peer) interface method
is available.
9ADABAS
TP Monitor / Com-plete or CICS
NATURAL Presentation Layer (3270) Business
Logic Data Access
Mainframe
OPEN Systems
Screen Scraper
Web Server
WEB
10WEB
TP Monitor / NATURAL / ADABAS
11Screen ScraperTelnet TN3270
- TN3270.pm uses the standard NetTelnet Perl
library to handle the Telnet protocol, and the
interprets the 3270 data stream as defined by IBM
in 3270 Data Stream Progammers Reference,
GA23-0059-07, found on the web at - http//publibfp.boulder.ibm.com/cgi-bin/bookmgr/Bo
oks/cn7p4000/ccontents
12Screen Scraper - Pros Cons
NATURAL Presentation Layer 3270 INPUT . . . USING
MAP A1234M678 Business Logic IF . . . THEN . .
ELSE . . Data Access READ VIEW BY ISN
13Screen Scraper - Pros Cons
- Pros
- No program change
- Fast migration
14Screen ScraperPros Cons
- Cons
- Can cause performance problems
- New Natural version can cause errors in software,
for example attribute bytes - Map changes screen scraper changes
- Additional costs for software
- Maintenance for self-written screen scrapers
- Displays not state-of-the-art
15Screen Scraper - Pros Cons
- Cons
- Displays are 11
- Displays for customer service may not be good to
display for web users, for example
16Screen Scraper - Reality
- Changed some Natural programs
- Created new Natural programs
- Created redundant business logic in Java on the
application server (performance) - Created some redundant data on the back-end
database (Oracle) and gateway tier
17Internet
Firewall
SSL
CISCO Router
Apache
Web Server
Web Server
Firewall
WebLogic BEA
WebLogic BEA
Screen Scraper
Screen Scraper
Firewall
Com-plete NATURAL ADABAS
CICS COBOL VSAM
Oracle FirstLogic DBs
18Screen Scraper
Webserver stress tool - http//www.paessler.com/i
ndex_eng.html
19Screen Scraper - ADABAS Response Time
AVG DUR ------------ 0.00540
0.00613 0.00251 0.02506 0.00050
0.00040 0.00048 0.00052
0.00072 0.00052 ------------ 0.00355
- ID COMMANDS OF TOTAL
- -------- ---------- -----------
- CW0011 1,299
- CW0012 1,194
- CW0013 565
- CW0014 100
- CW0019 650
- CW0020 369
- CW0021 394
- CW0022 446
- CW0023 179
- CW0025 267
- ---------- -----------
- 5,463 gt
20Screen ScraperSoftware
- Flashpoint, Inc. (www.flashpt.com)
- Intelligent Environments (www.screensurfer.com)
- ISD
- Jacada, Inc. (http//www.jacada.com)
- Multi Soft, Inc. (http//www.frontending.com/)
- WRQ (http//www.wrq.com/products/)
- Attachmate (http//www.attachmate.com/products/0,1
015,1,00.html)
21Screen ScraperSoftware
- Entire Screenbuilder (Software AG)
- Mozart (www.mozart.com) ??
- Natural Engineer WebStar - kind of screen
scraping http//www.softwareagusa.com/index.asp - Reengineering tool
- Separates presentation logic
- Creates XML, XSL
- Creates CALLNAT statements
- Web Server
- EntireX Broker
- NT/2000 web clients, e.g. IE.
22COMMAREA (CICS)
- Rather than rely on screen scrapers and their
overhead, try going directly through the
COMMAREA. - To do this, you will have to locate the desired
programs through a code coverage product. - Once the desired programs are located, in the
execute the business function, use a Code
Splitter to split the user interface from the
business logic. - While this sounds like more work than a scraper,
you will be better positioned for new development
and whatever new interface comes along
23COMMAREA (CICS)
- Code Coverage - XPEDITERhttp//www.year2000.com/r
eleases/compu03_02_1999.htmlhttp//www.compuware.
com/products/xpediter/
24Basic Connection
ADABAS
NATURAL
CGI
Web Server
Web Browser
25Self-Written Solution (Ducks Concept)
- Client Paradigm
- Deliver Fully Functional Applications
- Use a Graphical User Interface
- Anywhere, Anytime
- No Code Distribution (Thin client) to Clients
(Some as yet unknown) - Using a Browser Enabled Device
26Self-Written Solution (Ducks Concept)
- Client Implementation
- Keep The Central Database
- Keep The Central Application Server
- Keep Existing Development Expertise and Tools,
i.e. keep the S/390, ADABAS/DB2 Natural - Remove the 3270 Interface
- Insert the Browser
- Install TCP/IP
- Install the Web Server
- Run over your Internal Network (maybe the
Internet)
27(No Transcript)
28Self-Written Solution (Ducks Concept)
- WebSphere
- Started task called WEBSRV - in SYS1.PROCLIB
- SYS1.PARMLIB(BPXPRM00)
- Directory structure under /web
- /web/httpd.envvars
- /web/httpd.conf
- RACF CLASSSTARTED PROFILEWEBSRV.
- and other RACF stuff(Thanks Skip Horn from
University of Rochester and SAG-L)
29Self-Written Solution (Ducks Concept)
30REXX CGI
NATURAL
31 Self-Written Sol. - Pros Cons
- Pros
- No TP monitor
- No middleware
- No code distribution
- Use the browser thats available at the user site
- Users upgrade the browser
32 Self-Written Sol. - Pros Cons
- Cons
- Possible performance problems under TSO
- Maybe Linux on an established S/390?
33Example of Linux on an established S/390
z900 hardware (up to 15 partitions)
1 Gb/sec or 100MB/sec
1 Gb/sec or 100MB/sec
Internet
VM
10 Gb/sec or 1GB/sec
OS/390 DB2 CICS IMS MQ Server TSM
DB2 / UDB
CICS Connect
Apache
IMS Conne c t
Linux Firewall
...
Samba
CP
CP
CP
CP
IFL
IFL
IFL
4Gb
3Gb
1Gb
Source IBM
IFL Integration Facilities for Linux
FICON CTC z900 STI/HiperSocket
34Com-plete 6.1 Smarts CGI / HTTP Server
- Natural Programs
- Copy relevant Natural programs into a new library
- Remove the presentation layer (input using map)
- Include parameter exchange mechanism
35Com-plete 6.1 Smarts CGI / HTTP Server
- Natural CGI
- Install (INPL) Natural CGI if the CGI should run
under Natural - CGI scripts can be written in any language that
is supported under Com-plete, including Natural - Natural CGI is running under Natural 2.2.8 and
higher - A Natural CGI program is invoked using the
standard browser URL - http//ip-addrport/natcgi/program
36Com-plete 6.1 Smarts CGI / HTTP Server
- HTTP Server
- Install SMARTS server - at least version
APS2.3.2, patch level 8 (Nov 2001) - Set up parameters
- Include new parameter under Com-plete
- Modify Com-plete's start-up procedure and
parameters
37Com-plete 6.1 Smarts CGI / HTTP Server
- Com-plete Version 6.1 Includes
- Full support of the TCP/IP protocol,
- Directly connect mainframe applications to the
Intranet/Internet - HTTP server
- TELNET (tn3270) server (replaces Rumba or Extra)
- sessions build through a JAVA applet that comes
with Com-plete
38Com-plete 6.1 Smarts CGI / HTTP Server
- Com-plete Version 6.1 Includes
- API layer POSIX
- SMARTS (SAG's Multi-Architecture RunTime System)
- Natural Web Interface
- To invoke a Natural Web Interface program, use
the standard browser URL - http//ip-addrport/natcgi/sysweb/nwwaps/library/s
ubprogram
39Com-plete 6.1 Smarts CGI / HTTP Server
VTAM Inter- face
CGI applications
Product X
Utili ties
Old appli- cations
Spool
Telnet
HTTP
HLLI
Posix
RTS
40 Com-plete 6.1 - Pros Cons
- Pros
- Its still the best place to run NATURAL
- Its still the most efficient place from which to
issue ADABAS or EntireX Broker calls - As far as I know, its the only HTTP (web) server
that runs natively under MVS (other ISE390?) - Without the overhead of Unix System Services
(USS) like Websphere - The Telnet feature exposes existing online
applications to the inter/intra net
41 Com-plete 6.1 - Pros Cons
- Pros
- Its not on the sunset list.
- CICS is one task per address space compared to up
to 255 for COM-PLETE. CICS multi-tasks by
propagating CICSs - It takes 200 machine instructions to dispatch
another task in an active address space, but
between 5 to 10 thousand to dispatch an inactive
address space
42 Com-plete 6.1 - Pros Cons
- Cons
- Componentize the Natural programs
- Com-plete and NATURAL is not used a lot worldwide
43CICS / CICS Web Server / Natural CGI
- Natural Programs
- Copy relevant Natural programs into a new library
- Remove the presentation layer (input using map)
- Include parameter exchange mechanism
44CICS / CICS Web Server / Natural CGI
- CICS Web Server
- CICS web server is running in one LPAR, using
Natural as the CGI. - If CICS is being upgraded from version 4.1 to the
latest Transaction Server then SSL is available. - The CICS Web Interface allows web browsers to
call programs in a CICS system using the
hypertext transfer protocol (HTTP).
45CICS / CICS Web Server / Natural CGI
46CICS / CICS Web ServerPros Cons
- Pros
- Many companies worldwide are using CICS and
NATURAL
47CICS / CICS Web ServerPros Cons
- Cons
- Doesn't use MVS native web server
- CICS is not multi-tasking. Can have performance
problems with thousands of parallel users - Is running under MVS with the overhead of UNIX
System Services (USS)
48Middleware (Gartner Group)
- Message Oriented Middleware (MOM)http//www.middl
eware.org/mom/basicmom.html - Platform Middleware
- Application Servers
- Enterprise Portal Software
- Integration Broker Suiteshttp//www.middleware.or
g/mom/broker.html - Other Middleware
49Other Middleware (Gartner Group)
- RPCs
- Data Management Middleware
- Open Database Connectivity (ODBC)
- Web-to-host Middleware
- ABBs Componentware
50Middleware (middleware.org)
- Message Oriented Middleware
- Object-Oriented Middleware
- Transaction Processing Middleware
- Database Middleware
- RPC Middleware
51Message Oriented M. (middleware.org)
- Basic Message Oriented Middleware
- Message Switches
- Data Transformation Tools
- Integration Brokers
- Work Flow Products
- System Management Tools
- Developer Tools
- Other Products
52Message Oriented Middleware (middleware.org)
- Basic Message Oriented Middleware
- Basic Message Oriented Middleware provides
connectionless, asynchronous transactional
message store-and-forward capability. - Basic message oriented middleware can serve as
the core of a message broker. - ProductsBEA, MQSeries, etc.
- http//www.middleware.org/mom/vendors.html
53MOM - MQSeries
- Enables business applications to exchange
information across more than twenty-five
different operating system platforms in a way
that is straightforward and easy for programmers
to implement.
54MOM - MQSeries
- Programs communicate using the MQSeries
Application Program Interface (API), an
easy-to-use, high-level program interface which
shields programmers from the complexities of
different operating systems and underlying
networks. - Developers focus on the business logic, while
MQSeries manages the connections to the computer
systems.
55MQSeries - From the OPEN Framework to the
Mainframe
COM-PLETE
OPEN Framework (Weblogic) JAVA
MQSPMSTR
MQSPCHIN
NATURAL Server (Sessions)
- MQSeries Tasks
- Master Task
- Channel Initiator
ADABAS
- COM-PLETE Tasks
- COMMQP - production
- COMMQT - test
- COMMQD - DBA test
- NATURAL Servers / Sessions
- SHARE (up to 4 in prod)
- DORIS
- DBPT
- TPA
- DORR2
56MQSeries - From the Mainframe to the OPEN
Framework
COM-PLETE
OPEN Framework (Weblogic)
MQSPMSTR
MQSPCHIN
NATURAL Program
ORACLE
- MQSeries Tasks
- Master Task
- Channel Initiator
- COM-PLETE Tasks
- TPFPROD - production
- TPFTEST - test
- TPFDBA - DBA test
- NATURAL Programs
- DORIS 2
- PRICEDIS
57 JAVA / Weblogic
ORACLE
MQSeries Client
OPEN Framework
Mainframe / Server
MQSeries Server MQSPCHIN MQSPMSTR - Master
Task Channel Initiator
Started Tasks
TP Monitor
MQSeries in Com-plete RESIDENTPAGECSQBSRV
MQSeries in Natural's Shared Nucleus CSTATIC(NSPP
FUNC,MQCONN,NATINS,MQBACK,MQCMIT,MQCLOSE,MQDISC,
MQGET,MQINQ,MQOPEN,MQPUT,MQPUT1,MQSET), I
NCLUDE MQSLIB(CSQBSTUB) MQ SERIES STUB MODULE
NATURAL Session 1 (Server) CGSERV Alias
DORIS CALLNAT 'pgm'
NATURAL Session 2 (Server) CGSERV Alias
SHARE CALLNAT 'pgm'
NATURAL Session 3 (Server) CGSERV Alias
DBPT CALLNAT 'pgm'
NATURAL Session 4 (Server) CGSERV Alias
RIA CALLNAT 'pgm'
NATURAL Session n (Server) CGSERV Alias
xxxxx CALLNAT 'pgm'
ADABAS
58MQSeries - CGSERV
59MQSeries
Environment for MQSeries
Client Name .... NATURAL
Project Name ...
DORIS2
Response Code .. 0
Environment Name DBA
MQ Manager Name
MQS1
MQ Request Queue DORIS.ONLINE.NATCLNT1.REQUEST.Q
UEUE MQ Reply Queue..
DORIS.ONLINE.NATCLNT1.REPLY.QUEUE
60(No Transcript)
61Start Task to check out COMMQx /S
COMMQCMD,ACTIONCHECK,ENVMQx
PDS
(started task) CHECKSRV
UU
COM-PLETE
SHARE SHARE DORIS DORIS
SHARE
D O R I S
WTO
CHECKSRV NATURAL and MQSeries Servers COMMQD
CHECKSRV Name Started Date Time
LastTime CHECKSRV -------- ------- ----------
----- -------- CHECKSRV SHARE Yes
2000/12/04 2100 142320 CHECKSRV DORIS
Yes 2000/12/04 2100 085530 CHECKSRVDOWN
SHARE DORIS
CHECKSRVUP SHARE DORIS
Check if all Natural sessions (servers) are up
and running
AF/Oper
Start Server (Modify Command) /F
COMMQD,USER,SHAREFE /F COMMQD,USER,DORISFE
62MQSeries - Pros Cons
NATURAL 3270 Presentation Layer
WEB Presentation Layer
NATURAL Business Logic
NATURAL Data Access
63MQSeries - Pros Cons
- Pros
- Large penetration in market
- Market standard for message-oriented middleware
with largest share - Have system integration mind share
- Strong 3rd party support - many partners using MQ
as universal transport - Big development team - more general features
faster
64MQSeries - Pros Cons
- Cons
- Very complex product in terms of installation and
maintenance - Asynchronous messaging only
- API is complex to write and maintain
- Expensive and complicated management tools
(Tivoli, Candle) - Weak platforms are AS/400, VSE and BS2000
65Competitive Overview IBM
- Strengths
- Worldwide presence
- Most of the worlds structured data stored on IBM
computers - Experience in direct sales
66Broker Function (Message Broker)
- A Message Broker is typically built upon a MOM
- The MOM provides the base communication among the
applications, and things like message persistence
and guaranteed delivery - Message Broker is a higher level concept that
deals more directly with application integration
issues
67Broker Function (Message Broker)
- Message Broker includes
- Data transformation engine
- Content based routing
- Pre-packaged adapters to ERP systems
- Business process integration based on a rules
engine - A set of tools for plugging it all together
68Broker Function (Message Broker)
- Message Broker includes
- Remote Procedure Calls (RPCs),
- Database stored procedures,
- Peer-to-peer services.
69Broker Function (Integration Broker)
- Message Broker or Integration Broker
- Integration Broker is acting as a "bridge"
between two or more different third-party
systems, e.g. MQI and other EAI vendors - An Integration Broker can contain a message
broker, e.g. MQI - Providing adapters able to convert data to and
from various third-party formats
70DCOM (Microsoft Concept)
- DCOM (Distributed Component Object Model) is a
set of Microsoft concepts and program interfaces
in which client program objets can request
services from server program objects on other
computers in a network. - DCOM is based on the Component Object Model
(COM), which provides a set of interfaces
allowing clients and servers to communicate
within the same computer (that is running Windows
95 or a later version).
71Source http//www.sis.port.ac.uk/mab/Computing-F
rameWork/figs/dcom.gif
72CORBA
The Common Object Request Broker Architecture
(CORBA) is an open distributed object computing
infrastructure being standardized by the Object
Management Group (OMG). CORBA automates many
common network programming tasks.
OMG Reference Model Architecture
73Source http//www.sis.port.ac.uk/mab/Computing-F
rameWork/figs/corba.gif
74MOM and CORBA
- CORBA is a standard which leads to middleware
products called "ORBs" (Object Request Brokers) - Both MOM and ORBs are middleware products that
help developers in architecting and creating
distributed systems - The main difference between an ORB and a MOM is
that ORBs embody a request/response
communications paradigm, whereas MOMs embody an
asynchronous (store-forward) communications model.
75Message Broker - Pros Cons
- For some, a Message Broker is viewed as a
complete solution to others, it's viewed as
excess baggage.
76Message Broker
4 Tier Software OpenMom, JMSone BEA Systems,
Inc. M3 IBM MQ Series Integrator Microsoft B
iztalk Software AG (SAGA) Entire
Broker/Sagavista Entire X Communicator etc.
etc. Source http//www.middleware.org/mom/br
oker.html
77Entire X Broker (Communicator)
- Using advanced MOM technology
- Control communication among distributed
application components - Supports many types of communication models
78Entire X Broker Communication Models
- Synchronous communication means the sender and
receiver are active simultaneously. The
requesting application sends its message and then
stops processing while it waits for a reply
(blocking). - Asynchronous is non-blocking communication where
applications can be either concurrently or
non-concurrently executing. - Conversational means participating programs
interact with each other in the form of a dialog,
with each program responding in turn to
information received from the other program.
79Entire X Broker Communication Models
- Request/Reply is based on a single request and a
single return, rather than a conversation. The
sender is usually blocked. - Messaging-and-Queuing is based on intermediate
message storage. The sending application sends
the message to the messaging middleware, which
places it in a queue. The sender is generally
unblocked.
80Entire X Broker (Communicator)
- High Reliability
- High Performance and Resource Management
- The Basics Communicating with the Broker
- ACI (Advanced Communication Interface)
- EntireX RPC
- Support for DCOM
81(No Transcript)
82Mainframe OS/390 - SYSY
Libraries LBWEB1 LBWEB2 USAT1 SYSIDL
ADABAS
ADABAS
ADABAS Data
USAT2 Data
NATURAL Programs
NATURAL Batch //STEPLIB DD DISPSHR,DSNDIETER.EXX
611.LOAD //CMPRMIN DD DISPSHR,DSNDIETER.CNTL(EXX
PARM) RPC(SERVERON,SRVNAMESRV1,SRVNODEENTIREX
,MAXBUF32,SIZE128, NTASKS99) RCA(BROKER)
RCALIAS(BROKER,BKIMBTSO) Starts 1-99 long
running Natural sessions dynamically INCLUDE
NATETB (already exists in NATURAL batch nucleus)
Windows NT Laptop 850 MHz Pentium 256 MB RAM
For Starters
EntireX Broker IP address your.ip.address.here D
NS entry (8 bytes) ENTIREX
Apache or IIS Web Server
83 WEB
3270
LDA / map fields INPUT USING MAP CALLNAT
'BUSYLOGI'
PDA / map fields Verification
rules READ Business logic FIND
ADABAS
84 WEB
3270
LDA / map fields INPUT USING MAP CALLNAT
'BUSYLOGI'
PDA / map fields Verification
rules READ Business logic FIND
PDA / map fields FIND Some logic END-FIND
PDA / map fields READ Some logic END-READ
ADABAS
85EntireX - Performance Figures
- Financial Services, South AfricaJava ACI to
Natural CICS on OS/39022,500 transactions
(upd/del/enq) per hour - Health Services, UKgt 1 million Broker calls a
day, i.e. average gt 42,000 calls per hour - Financial Services, UKexploit server replication
and load balancingthroughput increased more than
6 fold with Broker gt 1 million Broker calls a
day, i.e. average gt 42,000 calls per hour
86EntireX - Performance Figures
- Energy supplier, GermanyRPC calls to Natural on
BS2000400 million Adabas calls created a
dayAssuming 200 Adabas calls per RPC call 2
million RPC calls a day, i.e. average 83,000 RPC
calls per hour - Logistics Services, NLEntireX ACI on OS/3901063
messages per second, i.e. 3,826,800 messages per
hour
87EntireX - Performance Figures
- Software AG internal EntireX Benchmark on NT 424
Broker calls per second, i.e. 1,526,400 calls per
hour
88EntireX vs. MQSeries A prospective Customers
Evaluation (February 2001)
MQSeries
EntireX
Function calls required for a single communication
- 1 function call
- call Broker handing over send data and retrieving
response
- 9 function calls (at least)
- open communication with Queue Manager
- open Input Queue
- open Output Queue
- write to Input Queue
- commit written message
- read all messages from Output Queue
- close Input Queue
- close Output Queue
- close communication with Queue Manager
Network overhead
18 MB network traffic for sending 1MB data
4 MB network traffic for sending 1MB data
Client footprint (Communication part)
5.9 MB
0.5 MB
89EntireX - Pros Cons
- EntireX has tremendous advantages over MQ in
terms of - Deployment
- EntireX has central hub architecture, small
client footprint, can have zero client footprint
configuration - MQ requires queues, i.e. new software, to be
installed on every server in the network - Administration
- EntireX is easier to maintain as it runs on so
few servers - MQ requires queues to be maintained on every
server in the network - requires complicated
error tracking to identify failure points
90EntireX - Pros Cons
- EntireX has tremendous advantages over MQ in
terms of - Performance
- EntireX is significantly faster because it offers
replication and load-balancing based on network
traffic levels messages are placed on queues
only when required and specifically requested by
application - MQ customers complain that its very slow,
creating problems and frustrations when users
need queries or transactions completed quickly
91(No Transcript)
92Helpful Links
- CORBA, MOM, Broker questionshttp//searchwebservi
ces.techtarget.com/http//www.whatis.comhttp//w
ww.cs.wustl.edu/schmidt/corba-overview.html - Computing Framework Diagramshttp//www.sis.port.a
c.uk/mab/Computing-FrameWork/diagrams.html
93Thank you!
Questions?