web-enablement
DESCRIPTION
Web-Enablement. How to Web-Enable Your ADABAS Data By Using Existing Natural Programs Natural Conference Boston Dieter W. Storr May 2004 [email protected]. WEB. DCOM. Broker. WRQ. WebStar. EntireX. RPC. MQSeries. MOM. CORBA. TP Monitor CICS or Com-plete and NATURAL. - PowerPoint PPT PresentationTRANSCRIPT
Web-Enablement
How to Web-Enable Your ADABAS Data By Using Existing Natural Programs
Natural Conference Boston
Dieter W. Storr May 2004
May 2004 Dieter W. Storr -- [email protected]
2
WEB
ADABASADABAS
TP Monitor CICS or Com-pleteand NATURAL
TP Monitor CICS or Com-pleteand NATURAL
WRQ
EntireX
WebStar
MQSeries MOM
RPC
DCOM
CORBA
Broker
May 2004 Dieter W. Storr -- [email protected]
3
Questions 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?
May 2004 Dieter W. Storr -- [email protected]
4
Questions 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?
May 2004 Dieter W. Storr -- [email protected]
5
Content
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
May 2004 Dieter W. Storr -- [email protected]
6
Content
Remote Procedure Call (RPC) Products and Examples Pros and Cons
May 2004 Dieter W. Storr -- [email protected]
7
Screen 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
May 2004 Dieter W. Storr -- [email protected]
8
Screen 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.
May 2004 Dieter W. Storr -- [email protected]
9
ADABAS
WEB
Screen Scraper
Web Server
OPEN Systems
NATURALPresentation Layer (3270)
Business LogicData Access
NATURALPresentation Layer (3270)
Business LogicData Access
TP Monitor / Com-plete or CICS
Mainframe
May 2004 Dieter W. Storr -- [email protected]
10
MS Internet Information Server (I I S) -Web Server with Perl Script support
TN3270_cgi.pm
3270xml.asp
MS Internet Information Server (I I S) -Web Server with Perl Script support
TN3270_cgi.pm
3270xml.asp
WEB
MS DOS / Command Level
TN3270_server.pllistening on port 8888
tn3270.pmhost = 'your.host.com'
xmltest.scriptxxxx.script
MS DOS / Command Level
TN3270_server.pllistening on port 8888
tn3270.pmhost = 'your.host.com'
xmltest.scriptxxxx.script
TP Monitor / NATURAL / ADABASTP Monitor / NATURAL / ADABAS
May 2004 Dieter W. Storr -- [email protected]
11
Screen ScraperTelnet TN3270
TN3270.pm uses the standard Net::Telnet Perl library
to handle the Telnet protocol, and the interprets the
3270 data stream as defined by IBM in “3270 Data
Stream Progammer’s Reference”, GA23-0059-07,
found on the web at
http://publibfp.boulder.ibm.com/cgi-bin/
bookmgr/Books/cn7p4000/ccontents
May 2004 Dieter W. Storr -- [email protected]
12
Screen Scraper - Pros & Cons
NATURAL
Presentation Layer 3270
INPUT . . . USING MAP ’A1234M678’
Business Logic
IF . . . THEN . . ELSE . .
Data Access
READ VIEW BY ISN
May 2004 Dieter W. Storr -- [email protected]
13
Screen Scraper - Pros & Cons
Pros:
No program change
Fast migration
May 2004 Dieter W. Storr -- [email protected]
14
Screen ScraperPros & ConsCons:
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
May 2004 Dieter W. Storr -- [email protected]
15
Screen Scraper - Pros & Cons
Cons:
Displays are 1:1
Displays for customer service may not be
good to display for web users, for example
May 2004 Dieter W. Storr -- [email protected]
16
Screen Scraper - Reality
Changed some Natural programsCreated new Natural programsCreated redundant business logic in Java on
the application server (performance)Created some redundant data on the back-
end database (Oracle) and gateway tier
May 2004 Dieter W. Storr -- [email protected]
17
Web Server
Firewall
WebLogic BEA
InternetInternet
Screen Scraper
Firewall
Com-pleteNATURAL ADABAS
CICSCOBOL VSAM
Firewall
SSL
OracleFirstLogic
DBs
Web Server
WebLogic BEA
Screen Scraper
CISCO Router
Apache
May 2004 Dieter W. Storr -- [email protected]
18
Screen Scraper
Webserver stress tool - http://www.paessler.com/index_eng.html
May 2004 Dieter W. Storr -- [email protected]
19
Screen Scraper - ADABAS Response Time
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 |========>
AVG DUR ------------
0.00540
0.00613
0.00251
0.02506
0.00050
0.00040
0.00048
0.00052
0.00072
0.00052
------------
0.00355
May 2004 Dieter W. Storr -- [email protected]
20
Screen 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,1015,1,00.html)
May 2004 Dieter W. Storr -- [email protected]
21
Screen 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.
May 2004 Dieter W. Storr -- [email protected]
22
COMMAREA (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
May 2004 Dieter W. Storr -- [email protected]
23
COMMAREA (CICS)
Code Coverage - XPEDITERhttp://www.year2000.com/releases/compu03_02_1999.htmlhttp://www.compuware.com/products/xpediter/
May 2004 Dieter W. Storr -- [email protected]
24
Basic Connection
ADABAS
NATURAL
CGI
Web Server
Web Browser
May 2004 Dieter W. Storr -- [email protected]
25
Self-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
May 2004 Dieter W. Storr -- [email protected]
26
Self-Written Solution (Ducks Concept)
Client ImplementationKeep The Central DatabaseKeep The Central Application ServerKeep Existing Development Expertise and Tools,
i.e. keep the S/390, ADABAS/DB2 & NaturalRemove the 3270 Interface Insert the Browser Install TCP/IP Install the Web ServerRun over your Internal Network (maybe the Internet)
May 2004 Dieter W. Storr -- [email protected]
27
HTMLWeb Browser
WebSphereMainframe
WEBCGI2REXX / TSO
WEBSTUB1Natural
WEBCUA01Natural
WEBCUA02Natural
WEBxxx01 WEBXXX01
WorkFile 1
WorkFile 2
nn0201
Execute Natural Batch
ADABAS
May 2004 Dieter W. Storr -- [email protected]
28
Self-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 CLASS=STARTED PROFILE=WEBSRV.**and other RACF stuff
(Thanks Skip Horn from University of Rochester and SAG-L)
May 2004 Dieter W. Storr -- [email protected]
29
Self-Written Solution (Ducks Concept)
CGI Start CGICGI Receive and parse data from the webCGI Write data to work file 1CGI Start Natural batch nucleusCGI Call Natural stub programNAT Stub Read work file 1NAT Stub Call Natural subprogram 1 and pass dataNAT Sub 1 Read ADABAS dataNAT Sub 1 Call Natural Subprogram 2 and pass dataNAT Sub 2 Create HTML code and insert ADABAS dataNAT Sub 2 Write HTML code and ADABAS data to work file 2NAT Sub 2 Pass control back to the CGICGI Read work file 2CGI Send HTML code and data back to the webCGI End CGI
May 2004 Dieter W. Storr -- [email protected]
30
ADDRESS TSO "FREE F(CMWKF01 CMWKF02 CMPRINT CMPRT01)" IF RC>0 THEN SAY 'FREE WAS NOT SUCCESSFUL - RC=' RCADDRESS TSO "ALLOC F(CMWKF01) NEW RECFM(F) LRECL(80) DSORG(PS)" /* TEMP */ IF RC>0 THEN SAY 'ALLOCATION FOR CMWKF01 NOT COMPLETED - RC='RC REC.1 = TYPE <snip> REC.6 = LAST REC.7 = EMAIL "EXECIO 7 DISKW CMWKF01 (STEM REC. FINIS" IF RC>0 THEN SAY 'DID NOT WRITE SUCCESSFULLY 7 RECORDS - RC=' RCADDRESS TSO "ALLOC F(DDCARD) DA('ADABAS.TEST.USERLIB(RUNDBID)') SHR REU" "ALLOC F(CMWKF02) NEW RECFM(F) LRECL(80) DSORG(PS)" /* TEMP */ "ALLOC F(CMPRINT) SYSOUT(Y)" "ALLOC F(CMPRT01) SYSOUT(Y)" "ALLOC F(CMPRMIN) DA('ZINDWS.DBA.CNTL(WEBPARM)') SHR REU" "ALLOC F(CMSYNIN) DA('ZINDWS.DBA.CNTL(WEBSYNIN)') SHR REU" IF RC>0 THEN SAY 'ALLOC WAS NOT SUCCESSFUL - RC=' RC "CALL 'ADABAS.TEST.WEBLOAD(NAT232BA)'" IF RC>0 THEN SAY 'CALL NATURAL STUB FAILED - RC=' RCADDRESS TSO "EXECIO * DISKR CMWKF02 (FINIS" IF RC>0 THEN SAY 'READ ALL HTML RECORDS FAILED - RC=' RCDO I=1 TO 100 PARSE PULL RECORD IF RECORD = '<!--END-->' THEN LEAVE SAY RECORDENDSAY 'INFO PASSED TO THE WEB BROWSER'ADDRESS TSO "FREE F(CMWKF01 CMWKF02 CMPRINT)"EXIT
REXX CGI
NATURAL
May 2004 Dieter W. Storr -- [email protected]
31
Self-Written Sol. - Pros & ConsPros: No TP monitorNo middlewareNo code distributionUse the browser that’s available at the user
siteUsers upgrade the browser
May 2004 Dieter W. Storr -- [email protected]
32
Self-Written Sol. - Pros & ConsCons: Possible performance problems under TSO
Maybe Linux on an established S/390?
May 2004 Dieter W. Storr -- [email protected]
33
Example of Linux on an established S/390
* FICON CTC** z900 STI/HiperSocket
OS/390
DB2CICSIMS
MQ ServerTSM
CPCP
4Gb
CP CP IFLIFL
3Gb
...
VM
DB2 / UDB
CICS Connect
IMS Conne c t
Samba
Apache
z900 hardware (up to 15 partitions)
1Gb
IFL
Linu
x F
irew
all
10 Gb/sec or 1GB/sec**
Internet
1 Gb/sec or 100MB/sec* 1 Gb/sec or 100MB/sec*
Source: IBM
IFL = Integration Facilities for Linux
May 2004 Dieter W. Storr -- [email protected]
34
Com-plete 6.1 Smarts CGI / HTTP ServerNatural Programs:
Copy relevant Natural programs into a new library
Remove the presentation layer (input using map)
Include parameter exchange mechanism
May 2004 Dieter W. Storr -- [email protected]
35
Com-plete 6.1 Smarts CGI / HTTP ServerNatural CGI: Install (INPL) Natural CGI if the CGI should run
under NaturalCGI 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 higherA Natural CGI program is invoked using the standard
browser URL:http://ip-addr:port/natcgi/program
May 2004 Dieter W. Storr -- [email protected]
36
Com-plete 6.1 Smarts CGI / HTTP ServerHTTP 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
May 2004 Dieter W. Storr -- [email protected]
37
Com-plete 6.1 Smarts CGI / HTTP ServerCom-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
May 2004 Dieter W. Storr -- [email protected]
38
Com-plete 6.1 Smarts CGI / HTTP ServerCom-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-addr:port/natcgi/sysweb/nwwaps/library/subprogram
May 2004 Dieter W. Storr -- [email protected]
39
Com-plete 6.1 Smarts CGI / HTTP Server
VTAM
Inter-
face
Utili
ties
Old
appli-
cations
SpoolTelnet
HTTP
CGI
applicationsProduct X
May 2004 Dieter W. Storr -- [email protected]
40
Com-plete 6.1 - Pros & ConsPros: It’s still the best place to run NATURAL It’s still the most efficient place from which to issue
ADABAS or EntireX Broker callsAs far as I know, it’s 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
May 2004 Dieter W. Storr -- [email protected]
41
Com-plete 6.1 - Pros & ConsPros: It’s 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 CICS’s 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
May 2004 Dieter W. Storr -- [email protected]
42
Com-plete 6.1 - Pros & ConsCons: Componentize the Natural programs
Com-plete and NATURAL is not used a lot worldwide
May 2004 Dieter W. Storr -- [email protected]
43
CICS / CICS Web Server / Natural CGINatural Programs:
Copy relevant Natural programs into a new library
Remove the presentation layer (input using map)
Include parameter exchange mechanism
May 2004 Dieter W. Storr -- [email protected]
44
CICS / CICS Web Server / Natural CGICICS 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).
May 2004 Dieter W. Storr -- [email protected]
46
CICS / CICS Web ServerPros & ConsPros: Many companies worldwide are using CICS
and NATURAL
May 2004 Dieter W. Storr -- [email protected]
47
CICS / CICS Web ServerPros & ConsCons:
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)
May 2004 Dieter W. Storr -- [email protected]
48
Middleware (Gartner Group)
Message Oriented Middleware (MOM)http://www.middleware.org/mom/basicmom.html
Platform Middleware Application Servers Enterprise Portal Software Integration Broker Suites
http://www.middleware.org/mom/broker.html
Other Middleware
May 2004 Dieter W. Storr -- [email protected]
49
Other Middleware (Gartner Group)
RPCs Data Management Middleware Open Database Connectivity (ODBC) Web-to-host Middleware ABBs Componentware
May 2004 Dieter W. Storr -- [email protected]
50
Middleware (middleware.org)
Message Oriented MiddlewareObject-Oriented MiddlewareTransaction Processing MiddlewareDatabase MiddlewareRPC Middleware
May 2004 Dieter W. Storr -- [email protected]
51
Message Oriented M. (middleware.org)
Basic Message Oriented MiddlewareMessage SwitchesData Transformation ToolsIntegration BrokersWork Flow ProductsSystem Management ToolsDeveloper ToolsOther Products
May 2004 Dieter W. Storr -- [email protected]
52
Message Oriented Middleware (middleware.org)
Basic Message Oriented MiddlewareBasic 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
May 2004 Dieter W. Storr -- [email protected]
53
MOM - 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.
May 2004 Dieter W. Storr -- [email protected]
54
MOM - 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.
May 2004 Dieter W. Storr -- [email protected]
55
OPEN Framework(Weblogic)
JAVA
OPEN Framework(Weblogic)
JAVA
MQSPMSTRMQSPMSTR
MQSPCHINMQSPCHIN
COM-PLETECOM-PLETE
NATURAL Server
(Sessions)
NATURAL Server
(Sessions)
MQSeries Tasks-Master Task-Channel Initiator
COM-PLETE Tasks-COMMQP - production-COMMQT - test-COMMQD - DBA test
NATURAL Servers / Sessions-SHARE (up to 4 in prod)-DORIS -DBPT -TPA -DORR2
ADABAS
MQSeries - From the OPEN Framework to the Mainframe
May 2004 Dieter W. Storr -- [email protected]
56
MQSeries - From the Mainframe to the OPEN Framework
OPEN Framework(Weblogic)
OPEN Framework(Weblogic)
MQSPMSTRMQSPMSTR
MQSPCHINMQSPCHIN
COM-PLETECOM-PLETE
NATURAL Program
NATURAL Program
MQSeries Tasks-Master Task-Channel Initiator
COM-PLETE Tasks-TPFPROD - production-TPFTEST - test-TPFDBA - DBA test
NATURAL Programs-DORIS 2 -PRICEDIS
ORACLE
May 2004 Dieter W. Storr -- [email protected]
57
JAVA / WeblogicJAVA / Weblogic ORACLE
MQSeries in Com-pleteRESIDENTPAGE=CSQBSRVMQSeries in Com-plete
RESIDENTPAGE=CSQBSRV
NATURALSession 1(Server)
CGSERVAlias DORIS
CALLNAT 'pgm'
NATURALSession 1(Server)
CGSERVAlias DORIS
CALLNAT 'pgm'
MQSeries ClientMQSeries Client
NATURALSession 2(Server)
CGSERVAlias SHARE
CALLNAT 'pgm'
NATURALSession 2(Server)
CGSERVAlias SHARE
CALLNAT 'pgm'
NATURALSession 3(Server)
CGSERVAlias DBPT
CALLNAT 'pgm'
NATURALSession 3(Server)
CGSERVAlias DBPT
CALLNAT 'pgm'
Mainframe / Server
TP Monitor
ADABAS
NATURALSession 4(Server)
CGSERVAlias RIA
CALLNAT 'pgm'
NATURALSession 4(Server)
CGSERVAlias RIA
CALLNAT 'pgm'
MQSeries in Natural's Shared NucleusCSTATIC=(NSPPFUNC,MQCONN,NATINS,MQBACK,MQCMIT,MQCLOSE,MQDISC, MQGET,MQINQ,MQOPEN,MQPUT,MQPUT1,MQSET),INCLUDE MQSLIB(CSQBSTUB) MQ SERIES STUB MODULE
MQSeries in Natural's Shared NucleusCSTATIC=(NSPPFUNC,MQCONN,NATINS,MQBACK,MQCMIT,MQCLOSE,MQDISC, MQGET,MQINQ,MQOPEN,MQPUT,MQPUT1,MQSET),INCLUDE MQSLIB(CSQBSTUB) MQ SERIES STUB MODULE
MQSeries Server MQSPCHIN & MQSPMSTR - Master Task & Channel InitiatorMQSeries Server
MQSPCHIN & MQSPMSTR - Master Task & Channel Initiator
OPEN Framework
Started Tasks
NATURALSession n(Server)
CGSERVAlias xxxxx
CALLNAT 'pgm'
NATURALSession n(Server)
CGSERVAlias xxxxx
CALLNAT 'pgm'
May 2004 Dieter W. Storr -- [email protected]
58
01 W00-QMGR (A48) INIT<'MQS1'>01 REQUESTS(A8/20) INIT<'MONITOR', 'AELOOK', 'DLRLOOK1','TOALOOK1', 'TPALOOK', 'ARCLOOK', 'TOACRUD', 'DBPTLOOK', 'RIALOOK', 'USRCHECK','TEST', 'TEST2'>01 PROGRAM-NAME(A8)01 CALLNAT-PROGRAM(A8/20) INIT<'CGRQST', 'CGAEINQ', 'CGDLR1', 'CGTOAINQ', 'CGTPAINQ','CGARCINQ','CGTOAUPD','CGDBPINQ', 'CGRIAINQ','CGACF2', 'CGTEST', 'CGTEST2'CALLNAT ‘CGMQCONN’ W00-QMG …… /* Establish ConnectionCALLNAT ‘CGMQOPGT’…. /* Open Get QueueCALLNAT ‘CGMQOPPT’…. /* Open Put QueueRepeat CALLNAT ‘CGMQGET’ …. /* Receive Input CALLNAT PROGRAM-NAME SAVE-HCONN SAVE-HOBJ-PUT RC HOLD-MSGID GET-MSG-TIMESTAMP LOGGING-DATA(*) RCVR-BUFFER(1:20000)End-RepeatCALLNAT 'CGMQCLS' ….. CloseCALLNAT 'CGMQDISC' …. Disconnect
MQSeries - CGSERV
May 2004 Dieter W. Storr -- [email protected]
59
MQSeries
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.QUEUE MQ Reply Queue..: DORIS.ONLINE.NATCLNT1.REPLY.QUEUE
May 2004 Dieter W. Storr -- [email protected]
60
Start all Natural Servers in the environments COMMQP / COMMQT / COMMQD
/S COMMQCMD,ACTION=STRT,ENV=MQ P for Production T for Test D for Development DBA
Example:/S COMMQCMD,ACTION=STRT
Start single Natural Server in the environments COMMQP / COMMQT / COMMQD
/F COMMQ P, USER ,SHAREFE T, ,DORISFE D, ,DORR2FE ,TPAFE ,DBPTFE ,RIAFE
Example:/F COMMQT,USER,DORISFE
May 2004 Dieter W. Storr -- [email protected]
61
COM-PLETECOM-PLETE
SHARE
DORIS
(started task)CHECKSRV
(started task)CHECKSRV
SHARESHAREDORISDORIS
Start Server (Modify Command)
/F COMMQD,USER,SHAREFE/F COMMQD,USER,DORISFE
Start Server (Modify Command)
/F COMMQD,USER,SHAREFE/F COMMQD,USER,DORISFE
PDS
AF/OperAF/Oper
WTO
+CHECKSRV: NATURAL and MQSeries Servers COMMQD +CHECKSRV: Name Started Date Time LastTime +CHECKSRV: -------- ------- ---------- ----- --------+CHECKSRV: SHARE Yes 2000/12/04 21:00 14:23:20 +CHECKSRV: DORIS Yes 2000/12/04 21:00 08:55:30 +CHECKSRVDOWN SHARE DORIS +CHECKSRVUP SHARE DORIS
+CHECKSRV: NATURAL and MQSeries Servers COMMQD +CHECKSRV: Name Started Date Time LastTime +CHECKSRV: -------- ------- ---------- ----- --------+CHECKSRV: SHARE Yes 2000/12/04 21:00 14:23:20 +CHECKSRV: DORIS Yes 2000/12/04 21:00 08:55:30 +CHECKSRVDOWN SHARE DORIS +CHECKSRVUP SHARE DORIS
Start Task to check out COMMQx:/S COMMQCMD,ACTION=CHECK,ENV=MQx
UU
Check if all Natural sessions (servers) are up and running
May 2004 Dieter W. Storr -- [email protected]
62
MQSeries - Pros & Cons
NATURAL 3270 Presentation Layer
NATURAL Business Logic
NATURAL Data Access
WEBPresentation Layer
May 2004 Dieter W. Storr -- [email protected]
63
MQSeries - Pros & ConsPros: Large penetration in marketMarket standard for message-oriented
middleware with largest shareHave system integration mind shareStrong 3rd party support - many partners using
MQ as universal transportBig development team - more general features
faster
May 2004 Dieter W. Storr -- [email protected]
64
MQSeries - Pros & ConsCons: Very complex product in terms of installation
and maintenanceAsynchronous messaging onlyAPI is complex to write and maintain Expensive and complicated management
tools (Tivoli, Candle)Weak platforms are AS/400, VSE and
BS2000
May 2004 Dieter W. Storr -- [email protected]
65
Strengths:
Worldwide presence
Most of the world’s structured data stored on IBM computers
Experience in direct sales
Weaknesses:
Major product transition to MQSeries Integrator v.2
Few off-the-shelf adapters
Huge product line in hardware and software
Opportunities:
Strengthen middleware-oriented sales force
Provide “one-stop shop”
Leverage strength of MQSeries in messaging market
Threats:
Shift from re-licensing technology to in-house R&D
Patchy expertise within IBM Global Solutions
Competitive Overview: IBM
May 2004 Dieter W. Storr -- [email protected]
66
Broker 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
May 2004 Dieter W. Storr -- [email protected]
67
Broker Function (Message Broker)
Message Broker includesData transformation engineContent based routingPre-packaged adapters to ERP systemsBusiness process integration based on a
rules engineA set of tools for plugging it all together
May 2004 Dieter W. Storr -- [email protected]
68
Broker Function (Message Broker)
Message Broker includes
Remote Procedure Calls (RPCs), Database stored procedures, Peer-to-peer services.
May 2004 Dieter W. Storr -- [email protected]
69
Broker Function (Integration Broker)
Message Broker or Integration BrokerIntegration 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
May 2004 Dieter W. Storr -- [email protected]
70
DCOM (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).
May 2004 Dieter W. Storr -- [email protected]
71
Source: http://www.sis.port.ac.uk/~mab/Computing-FrameWork/figs/dcom.gif
May 2004 Dieter W. Storr -- [email protected]
72
OMG Reference Model Architecture
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.
CORBA
May 2004 Dieter W. Storr -- [email protected]
73
Source: http://www.sis.port.ac.uk/~mab/Computing-FrameWork/figs/corba.gif
May 2004 Dieter W. Storr -- [email protected]
74
MOM and CORBACORBA 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.
May 2004 Dieter W. Storr -- [email protected]
75
Message Broker - Pros & ConsFor some, a Message Broker is viewed as a
complete solution; to others, it's viewed as excess baggage.
May 2004 Dieter W. Storr -- [email protected]
76
Message Broker
4 Tier Software OpenMom, JMSone
BEA Systems, Inc. M3
IBM MQ Series IntegratorMicrosoft BiztalkSoftware AG (SAGA) Entire Broker/Sagavista
Entire X Communicatoretc. etc.
Source: http://www.middleware.org/mom/broker.html
May 2004 Dieter W. Storr -- [email protected]
77
Entire X Broker (Communicator)
Using advanced MOM technology
Control communication among distributed application components
Supports many types of communication models
May 2004 Dieter W. Storr -- [email protected]
78
Entire 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.
May 2004 Dieter W. Storr -- [email protected]
79
Entire 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.
May 2004 Dieter W. Storr -- [email protected]
80
Entire X Broker (Communicator)High ReliabilityHigh Performance and Resource
ManagementThe Basics: Communicating with the BrokerACI (Advanced Communication Interface)EntireX RPCSupport for DCOM
May 2004 Dieter W. Storr -- [email protected]
81
May 2004 Dieter W. Storr -- [email protected]
82
Windows NT Laptop 850 MHz Pentium 256 MB RAM
EntireX BrokerIP address = your.ip.address.hereDNS entry (8 bytes) = ENTIREX
Apache or IISWeb Server
NATURAL Batch//STEPLIB DD DISP=SHR,DSN=DIETER.EXX611.LOAD//CMPRMIN DD DISP=SHR,DSN=DIETER.CNTL(EXXPARM)
RPC=(SERVER=ON,SRVNAME=SRV1,SRVNODE=ENTIREX,MAXBUF=32,SIZE=128, NTASKS=99)RCA=(BROKER) RCALIAS=(BROKER,BKIMBTSO)Starts 1-99 long running Natural sessions dynamicallyINCLUDE NATETB (already exists in NATURAL batch nucleus)
Mainframe OS/390 - SYSY
ADABAS Data
USAT2 Data NATURAL Programs
ADABAS ADABAS
Libraries:LBWEB1LBWEB2USAT1SYSIDL
For Starters
May 2004 Dieter W. Storr -- [email protected]
83
PDA /* map fields
Verification rules
READ
Business logic
FIND
LDA /* map fields
INPUT USING MAP
CALLNAT 'BUSYLOGI'
ADABAS
WEB 3270
May 2004 Dieter W. Storr -- [email protected]
84
PDA /* map fieldsVerification rulesREADBusiness logicFIND
LDA /* map fields
INPUT USING MAP
CALLNAT 'BUSYLOGI'
ADABAS
WEB 3270
PDA /* map fieldsFIND Some logicEND-FIND
PDA /* map fieldsREAD Some logicEND-READ
May 2004 Dieter W. Storr -- [email protected]
85
EntireX - Performance FiguresFinancial Services, South Africa
Java ACI to Natural CICS on OS/39022,500 transactions (upd/del/enq) per hour
Health Services, UK> 1 million Broker calls a day, i.e. average > 42,000 calls per hour
Financial Services, UKexploit server replication and load balancingthroughput increased more than 6 fold with Broker > 1 million Broker calls a day, i.e. average > 42,000 calls per hour
May 2004 Dieter W. Storr -- [email protected]
86
EntireX - 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
May 2004 Dieter W. Storr -- [email protected]
87
EntireX - Performance Figures
Software AG internal EntireX Benchmark on NT 424 Broker calls per second, i.e. 1,526,400 calls per hour
May 2004 Dieter W. Storr -- [email protected]
88
EntireX vs. MQSeries A prospective Customer‘s Evaluation (February 2001)
1 function call call Broker handing over send data and
retrieving response
MQSeries EntireX
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
Function calls required for a single communication
18 MB network traffic for sending 1MB data 4 MB network traffic for sending 1MB data
5.9 MB 0.5 MB
Network overhead
Client footprint (Communication part)
May 2004 Dieter W. Storr -- [email protected]
89
EntireX - 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
May 2004 Dieter W. Storr -- [email protected]
90
EntireX - 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 it’s very slow, creating problems
and frustrations when users need queries or transactions
completed quickly
May 2004 Dieter W. Storr -- [email protected]
91
May 2004 Dieter W. Storr -- [email protected]
92
Helpful Links CORBA, MOM, Broker questions
http://searchwebservices.techtarget.com/http://www.whatis.comhttp://www.cs.wustl.edu/~schmidt/corba-overview.html
Computing Framework Diagramshttp://www.sis.port.ac.uk/~mab/Computing-FrameWork/diagrams.html