14 th Annual Natural Conference

45
14 14 th th Annual Natural Annual Natural Conference Conference Application Reengineering Application Reengineering Effort Pays Big Dividends Effort Pays Big Dividends in eServices in eServices California State California State Board of Equalization Board of Equalization

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

Page 1: 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

Page 2: 14 th  Annual Natural Conference

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

Page 3: 14 th  Annual Natural Conference

BackgroundBackground

Page 4: 14 th  Annual Natural Conference

CaliforniaBoard of Equalization

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

Page 5: 14 th  Annual Natural Conference

ReengineeringReengineering

Page 6: 14 th  Annual Natural Conference

Before Reengineering

Entered the 1990s with:

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

Page 7: 14 th  Annual Natural Conference

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)

Page 8: 14 th  Annual Natural Conference

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

Web clients withWeb clients withMainframe ServersMainframe Servers

Page 9: 14 th  Annual Natural Conference

First EntireX First EntireX ApplicationApplication

Seller’s PermitSeller’s Permit

Page 10: 14 th  Annual Natural Conference

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

Page 11: 14 th  Annual Natural Conference

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

ExampleExample

Page 12: 14 th  Annual Natural Conference

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

Page 13: 14 th  Annual Natural Conference
Page 14: 14 th  Annual Natural Conference

EntireX ACI examples: EntireX ACI examples:

Mainframe clients withMainframe clients withnon-Mainframe serversnon-Mainframe servers

Page 15: 14 th  Annual Natural Conference

Mainframe Clients with:

Visual Basic Desktop Servers

JAVA Mid-tier Servers

Page 16: 14 th  Annual Natural Conference

JavaService: design/code example

Late 2002From Mainframe Natural to

Mid-tier JavaEncapsulate Java

Page 17: 14 th  Annual Natural Conference

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

Page 18: 14 th  Annual Natural Conference

Send Email Example

Page 19: 14 th  Annual Natural Conference

Parameter Data Area

Page 20: 14 th  Annual Natural Conference

Application object

Page 21: 14 th  Annual Natural Conference
Page 22: 14 th  Annual Natural Conference

VALIDATE object - excerpts

Page 23: 14 th  Annual Natural Conference
Page 24: 14 th  Annual Natural Conference
Page 25: 14 th  Annual Natural Conference

ACI Client - excerpts

Page 26: 14 th  Annual Natural Conference
Page 27: 14 th  Annual Natural Conference
Page 28: 14 th  Annual Natural Conference
Page 29: 14 th  Annual Natural Conference

XML Template - excerpt

Page 30: 14 th  Annual Natural Conference

Extending JavaService

Page 31: 14 th  Annual Natural Conference

Mainframe Batch Mainframe Batch NaturalNatural

RPC ServersRPC Servers

Page 32: 14 th  Annual Natural Conference

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

Page 33: 14 th  Annual Natural Conference

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

Page 34: 14 th  Annual Natural Conference

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

Page 35: 14 th  Annual Natural Conference

Resistance to RPC

New technology

ACI servers already proven

No time for Research and Development

The next project already had a hard delivery date

Page 36: 14 th  Annual Natural Conference

We took the gambleWe took the gamble

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

Page 37: 14 th  Annual Natural Conference

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

Page 38: 14 th  Annual Natural Conference

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

Page 39: 14 th  Annual Natural Conference

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

Page 40: 14 th  Annual Natural Conference

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

Page 41: 14 th  Annual Natural Conference

RPC Server Error handling

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

Page 42: 14 th  Annual Natural Conference

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.

Page 43: 14 th  Annual Natural Conference

The Future of RPC at BOEThe Future of RPC at BOE

Page 44: 14 th  Annual Natural Conference

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

Page 45: 14 th  Annual Natural Conference

Thank you!Thank you!