14 th Annual Natural Conference

Post on 12-Jan-2016

29 views 0 download

Tags:

description

14 th Annual Natural Conference. Application Reengineering Effort Pays Big Dividends in eServices California State Board of Equalization. BOE Background Reengineering EntireX ACI: Web clients w/ Mainframe Servers EntireX ACI: Mainframe clients w/ non-Mainframe servers. - PowerPoint PPT Presentation

Transcript of 14 th Annual Natural Conference

1414thth Annual Natural Annual Natural ConferenceConference

Application Reengineering Application Reengineering Effort Pays Big Dividends in Effort Pays Big Dividends in

eServiceseServices

California State California State Board of EqualizationBoard of Equalization

Overview

BOE Background

Reengineering

EntireX ACI:Web clients w/Mainframe Servers

EntireX ACI:Mainframe clients w/non-Mainframe servers

JavaService: design/code example

RPC Servers in Mainframe Batch Natural

The Future of RPC at BOE

Q & A

BackgroundBackground

CaliforniaBoard of Equalization

Taxing Agency Over $40 billion annually Over a third of California tax revenue A financial institution An information source

ReengineeringReengineering

Before Reengineering

Entered the 1990s with:

Stove pipe type systems Redundant de-normalized data structures Running on in-house mainframe

Reengineering Summary

Entire Business process was inspected Business Entities and workflows identified Normalized relational data model created Object oriented principles introduced:

Reusable components, Encapsulation Presentation, rules, I/O layer separation principles Natural and Adabas selected Natural, coded with OO & layer separation principles Adabas, files defined with relational principles Moved to State data center Integrated Revenue Information System (IRIS)

EntireX Advanced EntireX Advanced Communication Communication Interface(ACI) Interface(ACI) examples:examples:

Web clients withWeb clients withMainframe ServersMainframe Servers

First EntireX First EntireX ApplicationApplication

Seller’s PermitSeller’s Permit

Seller’s Permit - 1998

Web query of Seller’s tax status Read only, no updates EntireX ACI, code both client and server ASP/Delphi Web client presentation Mainframe batch Natural/Adabas ACI server Co-developed with Interactive Voice Recognition

(IVR) and CICS client presentations Reuse of rules and I/O layer objects

Business-to-Business-to-Government Government (B2G)(B2G)

ExampleExample

Electronic Return – late 2000

3rd party Electronic Return Originator (ERO) Web presentation

Messaging format is XML A Web service (w/o the SOAP envelope) Real-time updates to Adabas and Tamino Selected fields saved first to Adabas Complete Tax filing saved as XML in Tamino Delphi ACI on mid-tier Mainframe batch Natural/Adabas ACI server Reuse of existing Mainframe Natural backend

EntireX ACI examples: EntireX ACI examples:

Mainframe clients withMainframe clients withnon-Mainframe serversnon-Mainframe servers

Mainframe Clients with:

Visual Basic Desktop Servers

JAVA Mid-tier Servers

JavaService: design/code example

Late 2002From Mainframe Natural to

Mid-tier JavaEncapsulate Java

JavaService – Mainframe Components Application object: uses standard Callnat

Validation object: Natural subprogram,

checks parameters, adds Java Classpath

ACI client: Natural subprogram, selects Broker node and class, sends and receives Broker message

Send Email Example

Parameter Data Area

Application object

VALIDATE object - excerpts

ACI Client - excerpts

XML Template - excerpt

Extending JavaService

Mainframe Batch Mainframe Batch NaturalNatural

RPC ServersRPC Servers

Journey into RPC Servers

Issues: Higher administration with ACI servers, always a

need for a new service and servers

Leveraging existing ACI servers not viable option

Resistance: Know and trust ACI servers

ACI Server Proliferation

ACI Server Count

Year Prod Test/Devl

Sellers Permit 1998 1 2 ERO Filing 2000 2 4 B2G Fuels Filing 2002 4 6

Total Server Count = 19 Total Service Definition Count = 19

Seller Permit ACI Server

Had multi-use data area with ACTION field to direct secondary subprogram CALLNATs via a controlling subprogram

There was always “developer anxiety” associated with changes to the controlling subprogram

Developers did not want other subsystems using the controlling subprogram

Resistance to RPC

New technology

ACI servers already proven

No time for Research and Development

The next project already had a hard delivery date

We took the gambleWe took the gamble

RPC has paid RPC has paid back big time!back big time!

Benefits of RPCTangible (original goal):

Reduced administration Reduced service definition and server count No more coding of Natural servers

Intangible:

Natural Interface Definition Language (IDL) object generation

Wrapper generation for: Java, WSDL, etc. Error handling Trace facilities

IDL/Wrapper Generator

Java programmers now worked with generated Java wrapper objects versus parsing data strings

The generated Java wrapper object performed the complex task of language-dependent data alignment

Leveraged many existing IRIS subprograms (e.g. Tax Calculator subprogram)

Wrapped existing mainframe rules and exposed via EntireX versus duplicating rules on another platform

IDL/Wrapper Generator – cont.

Allowed Java developers to utilize existing mainframe Natural data areas without the overhead of having to code for each variable

Changed the focus to the data being passed between Java and Natural versus the technical issues of dealing with the data at either end

Java programmers feel enabled with the Natural IDL and Java wrapper generator

IDL/Wrapper Generator – cont.

Faster development, a few clicks of the mouse and the Natural IDL and Java wrapper objects are generated

Regenerate Natural IDL and Java wrapper objects if Natural PDA changes – no more bit-by-bit parsing changes within Java

RPC Server Error handling

The RPC server acts similar to a CICS region in that individual transactions do not bring down the server

RPC Trace Facilities

Adjustable setting: 0 - Nothing is traced. 1 - Only messages (inclusive Natural errors) are

traced. (1,E) - Messages are traced in the event of an error

only. 2 - All messages and data from/to client are

traced. (2,E) - Messages and data from/to client are traced in

the event of an error only.

The Future of RPC at BOEThe Future of RPC at BOE

The Future of RPC at BOE

Old ACI servers and services will be retired as time permits. The Seller’s Permit has already been converted.

Logging RPC errors from user exit NATRPC01 to generalized Error log reporting mechanism

Additional production RPC server instances (i.e. batch jobs) will be added to support increasing load

XML/SOAP Wrappers and Web Services

Thank you!Thank you!