web-enablement how to web-enable your adabas data by using existing natural programs natural...

Post on 29-Mar-2015

228 Views

Category:

Documents

1 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Web-Enablement

How to Web-Enable Your ADABAS Data By Using Existing Natural Programs

Natural Conference Boston

Dieter W. Storr May 2004

info@storrconsulting.com

May 2004 Dieter W. Storr -- info@storrconsulting.com

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 -- info@storrconsulting.com

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 -- info@storrconsulting.com

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 -- info@storrconsulting.com

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 -- info@storrconsulting.com

6

Content

Remote Procedure Call (RPC) Products and Examples Pros and Cons

May 2004 Dieter W. Storr -- info@storrconsulting.com

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 -- info@storrconsulting.com

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 -- info@storrconsulting.com

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 -- info@storrconsulting.com

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 -- info@storrconsulting.com

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 -- info@storrconsulting.com

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 -- info@storrconsulting.com

13

Screen Scraper - Pros & Cons

Pros:

No program change

Fast migration

May 2004 Dieter W. Storr -- info@storrconsulting.com

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 -- info@storrconsulting.com

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 -- info@storrconsulting.com

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 -- info@storrconsulting.com

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 -- info@storrconsulting.com

18

Screen Scraper

Webserver stress tool - http://www.paessler.com/index_eng.html

May 2004 Dieter W. Storr -- info@storrconsulting.com

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 -- info@storrconsulting.com

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 -- info@storrconsulting.com

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 -- info@storrconsulting.com

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 -- info@storrconsulting.com

23

COMMAREA (CICS)

Code Coverage - XPEDITERhttp://www.year2000.com/releases/compu03_02_1999.htmlhttp://www.compuware.com/products/xpediter/

May 2004 Dieter W. Storr -- info@storrconsulting.com

24

Basic Connection

ADABAS

NATURAL

CGI

Web Server

Web Browser

May 2004 Dieter W. Storr -- info@storrconsulting.com

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 -- info@storrconsulting.com

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 -- info@storrconsulting.com

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 -- info@storrconsulting.com

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 -- info@storrconsulting.com

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 -- info@storrconsulting.com

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 -- info@storrconsulting.com

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 -- info@storrconsulting.com

32

Self-Written Sol. - Pros & ConsCons: Possible performance problems under TSO

Maybe Linux on an established S/390?

May 2004 Dieter W. Storr -- info@storrconsulting.com

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 -- info@storrconsulting.com

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 -- info@storrconsulting.com

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 -- info@storrconsulting.com

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 -- info@storrconsulting.com

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 -- info@storrconsulting.com

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 -- info@storrconsulting.com

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 -- info@storrconsulting.com

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 -- info@storrconsulting.com

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 -- info@storrconsulting.com

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 -- info@storrconsulting.com

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 -- info@storrconsulting.com

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 -- info@storrconsulting.com

45

CICS / CICS Web Server / Natural CGI

May 2004 Dieter W. Storr -- info@storrconsulting.com

46

CICS / CICS Web ServerPros & ConsPros: Many companies worldwide are using CICS

and NATURAL

May 2004 Dieter W. Storr -- info@storrconsulting.com

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 -- info@storrconsulting.com

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 -- info@storrconsulting.com

49

Other Middleware (Gartner Group)

RPCs Data Management Middleware Open Database Connectivity (ODBC) Web-to-host Middleware ABBs Componentware

May 2004 Dieter W. Storr -- info@storrconsulting.com

50

Middleware (middleware.org)

Message Oriented MiddlewareObject-Oriented MiddlewareTransaction Processing MiddlewareDatabase MiddlewareRPC Middleware

May 2004 Dieter W. Storr -- info@storrconsulting.com

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 -- info@storrconsulting.com

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 -- info@storrconsulting.com

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 -- info@storrconsulting.com

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 -- info@storrconsulting.com

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 -- info@storrconsulting.com

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 -- info@storrconsulting.com

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 -- info@storrconsulting.com

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 -- info@storrconsulting.com

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 -- info@storrconsulting.com

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 -- info@storrconsulting.com

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 -- info@storrconsulting.com

62

MQSeries - Pros & Cons

NATURAL 3270 Presentation Layer

NATURAL Business Logic

NATURAL Data Access

WEBPresentation Layer

May 2004 Dieter W. Storr -- info@storrconsulting.com

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 -- info@storrconsulting.com

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 -- info@storrconsulting.com

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 -- info@storrconsulting.com

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 -- info@storrconsulting.com

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 -- info@storrconsulting.com

68

Broker Function (Message Broker)

Message Broker includes

Remote Procedure Calls (RPCs), Database stored procedures, Peer-to-peer services.

May 2004 Dieter W. Storr -- info@storrconsulting.com

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 -- info@storrconsulting.com

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 -- info@storrconsulting.com

71

Source: http://www.sis.port.ac.uk/~mab/Computing-FrameWork/figs/dcom.gif

May 2004 Dieter W. Storr -- info@storrconsulting.com

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 -- info@storrconsulting.com

73

Source: http://www.sis.port.ac.uk/~mab/Computing-FrameWork/figs/corba.gif

May 2004 Dieter W. Storr -- info@storrconsulting.com

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 -- info@storrconsulting.com

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 -- info@storrconsulting.com

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 -- info@storrconsulting.com

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 -- info@storrconsulting.com

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 -- info@storrconsulting.com

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 -- info@storrconsulting.com

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 -- info@storrconsulting.com

81

May 2004 Dieter W. Storr -- info@storrconsulting.com

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 -- info@storrconsulting.com

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 -- info@storrconsulting.com

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 -- info@storrconsulting.com

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 -- info@storrconsulting.com

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 -- info@storrconsulting.com

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 -- info@storrconsulting.com

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 -- info@storrconsulting.com

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 -- info@storrconsulting.com

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 -- info@storrconsulting.com

91

May 2004 Dieter W. Storr -- info@storrconsulting.com

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

May 2004 Dieter W. Storr -- info@storrconsulting.com

93

Thank you!

Questions?

top related