Utility Business Services

Download Report

Transcript Utility Business Services

Winning in the Web World using Construct Spectrum

Chris Walsh, Senior Systems Architect 1085 Morris Ave, Union, NJ 07083 (908) 289-0552 [email protected]

Utility Business Services, Inc

.

Utility Business Services, Inc

An application service provider (ASP) for the water, wastewater, & gas industries

Serving public and investor-owned utilities and municipal authorities for more than 30 years

Provides full-featured geospatial and customer information systems & services

 

A subsidiary of NUI Corporation 32 CIS clients & 11 GIS clients in 8 states

1 million CIS accounts = 8 million bills sent annually

UBS Products & Services

Customer Information Systems (CIS)

 Water, Wastewater, Gas  Client Support  Bill Printing and Mailing  Payment Processing  Browser or 3270 Choice & Flexibility

Geographic Information Systems (GIS)

 Digital maps  Facilities database  Distribution system modeling  FieldBook  remote access to GIS Automated pipe replacement  Meter route optimization

UBS Environment

Mainframe Platform

 Mainframe OS390  Natural & Adabas  Construct Spectrum  EntireX  Natural Construct  Predict

Web Platform

 Windows NT 4 Server  HTML -Active Server Pages  Construct Spectrum  EntireX  Visual Basic  JavaScript NUI has been a Software AG customer since 1985 Natural & Adabas used by UBS since 1993

Wins

®

CIS

”Classic”

  

Design philosophy - Wins ® CIS adapts to clients’ ever changing business environment and does not require their business processes to adapt to Wins ® CIS UBS developed Wins ® CIS software in 1993

 Designed to be more than a billing “program”  Flexible, customizable, table-driven design  Multi-organization / multi-jurisdiction

Entity Relationship data model evaluated as “one of the best in the utility industry” and “visionary”

Wins

®

CIS

”Classic”

 

Mainframe application with “GUI-fied” look’n feel

 Not your typical “green screen” application  Wins ® CIS is 100% Natural and Adabas  Construct utilized for over 50% of online development

Wins ® CIS is the backbone to UBS’ service offerings

 Application is extremely reliable and accurate  Selected web methodology needs to be as reliable  Many “heads down” users of system performing data entry

It works, so why change?

Wins

®

CIS

”Web”

Why a web browser front-end?

 Most RFPs (request for proposal) require GUI interface and/or client-server topology  Offer more choices to UBS clients  Increase UBS clients’ competitive opportunities  Position UBS and UBS clients’ for growth in the e-world  Web browser is the ultimate thin client!

But how best to get there?

Getting There: Approaches?

Approach #1: Spin-off Existing Application to Create a Second Application Approach #2: Modify Existing Application to Include Multiple Presentations

Original 3270 Presentation New Web Presentation Modified 3270 Presentation New Web Presentation Original 3270 Modules Duplicated and Modified 3270 Modules Pros:

Original not impacted; Independent presentation content; Staff can specialize

Cons:

Maintenance effort duplicated; Synchronization issues

Reengineered 3270 Modules Pros:

One set of business modules; Enforces synchronized maintenance

Cons:

Increased code complexity; Introduces change into a stable system; Rollout issues

Wins

®

CIS

”Web”

 

Not a second system - an

enhancement

to classic Wins Design philosophy - Wins ® CIS will provide coexistent browser (GUI) and mainframe (CUI) presentation layers

 Access shared mainframe-based objects and data  Leverage UBS’ mainframe application investment

Character Application NEXT

Character Based Presentation Layer WEB Based Presentation Layer Business Logic & Data Access Layer

Reengineering for the Web

Original Host Object

Maintenance Model Program Presentation Data Handling Business Logic

Host Based Objects

Presentation Maintenance Dialog Object Maintenance Subprogram Data Handling Business Logic

Taking a legacy application to the web begins with the reengineering process – separating interface from business

Dialog Components

manage presentation and user interface including navigation logic, PF-Key checking and other presentation-specific handling.

Business Components

are natural subprograms that manage database access, business rules, and validation processing

Reengineering for the Web

 

Reengineering the mainframe components absorbed majority of the total project work effort

 Approximately 75% of developer effort went into transforming maintenance programs into object maintenance subprograms  Requirement that mainframe reengineering be transparent to the user community  Functions needed to look and act the same before and after

Hindsight tip:

 Design mainframe functions utilizing an object-oriented approach where possible by keeping business logic independent of presentation layer

Reengineering for the Web

Why did mainframe reengineering take 75% of the time?

 Average Natural object ratio increased from 2 to 6 modules Original New Maint Program Maps Object PDA Restricted PDA Extra PDA Object Subprogram Maps Dialog Program : U00PF01A : U00MF011 : P00AF01A : P00RF01A : P00XF01A : P00NF01A : M00MF011 : U00PF01A

Reengineering for the Web

Why did mainframe reengineering take 75% of the time?

 Logic did not always transfer to same location in new modules  Needed to verify that no editing and business logic was overlooked during transformation  Business object subprograms must be tested without dialog module to ensure it behaves well in all environments  Reusable modules often required changes when tested in context of parent functions reengineered later in project  Resolving program complexity issues such as embedded presentations, linked modules, and “unique” program logic

Reengineering for the Web

 

Dialog components considerations

 Know the strengths and limitations of planned presentation layers  Limit amount of logic that would need to be replicated in other presentations when accessing the same business component

Business components considerations

 Should make no assumptions about the presentation layer or the environment in which it is running  Must be controlled exclusively by the parameters passed to it and able to influence dialog using parameters passed out of it  Functions well in a stateless environment  Minimize amount of data passed across the network by performing most of work on the mainframe and passing only needed data

Reengineering for the Web

Business Components Considerations

 May not perform any screen I/O such as the statements INPUT, REINPUT, DISPLAY, WRITE, PRINT, AT TOP OF PAGE, etc  Should not interrupt the flow of control or include these statements: STOP, FETCH, STACK, TERMINATE  Avoid using most system variables since many only apply to stand-alone character applications. Includes *PF-KEY, *CURSOR, *CURS-FIELD, *POS, etc  Must “play nice” whenever and wherever used and reused…

Construct Spectrum

Construct Spectrum is cornerstone of web development

 Continues Construct concept of modularity and regenerability  HTML presentation via ASP (active server page) technology  Utilizes server-based Visual Basic objects  Works with both Construct and non-Construct mainframe objects  Frees the developer to focus on “fun stuff”:  HTML customization  JavaScript  Web page layout

Reengineering for the Web

Original Host Object Host Based Objects

Presentation Maintenance Dialog

Web Server Based Objects

Presentation HTML Maintenance Model Program Presentation Object Maintenance Subprogram Page Handler Data Handling Data Handling Business Logic Business Logic ActiveX Business Object Subprogram Proxy

Spectrum Objects

 

Subprogram Proxy

 Generated by Natural Construct  Handles all data that will be passed between the mainframe to the WEB via a 32K pass area  Translates Natural’s internal field formats into platform independent string formats

ActiveX Business Objects (ABO)

 Generated by Construct Spectrum  ABO’s expose the object subprograms as VB classes  Each action supported by the Natural component (ie: Display, Update, Add, etc.) has an equivalent method defined in ABO

Spectrum Objects

 

HTML Template

 Generated by Spectrum the first time, after which they are maintained manually – via Hotdog or Notepad for example  Typically contain static HTML interspersed with special placeholders that get converted dynamically into HTML

Page Handlers

 Generated by Construct Spectrum  One needed for each HTML template to process web page  It scans for replacement tags, processes custom tags, and replaces each tag with field content

Spectrum Connectivity

Entire X Broker & Spectrum connect the two worlds

 Provides adaptive performance management  Automatically starts & ends dispatchers as needed

Web App1 Web App2 Client/Server App ActiveX Business Object Spectrum Dispatch Client EntireX Message Broker Natural Business Object Spectrum Proxy Spectrum Dispatch Server

Web Support

  

Spectrum allows Natural developers to ease into web development without being overwhelmed New skills for the Natural Programmer

 Visual Basic  HTML  JavaScript

By using Spectrum, developers need not have in depth knowledge of:

 EntireX Broker  ASP (Active Server Pages)

Web Challenges

 

Reengineering over 1,000 presentations within 370+ business functions for Internet/Intranet environments Wins® CIS functions are robust and flexible:

 Dual presentations (full-screen & window)  Dynamic presentation/validation based on profile tables  Interactive account banner information  On-the-fly formatting using DY and CV variables  Internal and external key fields for access  Very flexible security methodology

Web Challenges

  

Original modules contain embedded presentations, data access, and business rules - 50% Construct (non-object) No technical specifications or documentation available Presentation customization issues addressed early in project

 “To cache or not to cache”  Unique navigation methodology  How much

“webification”

to implement  Resemblance to mainframe field arrangement  What browsers and versions to support  Handling of pop-up windows on the web

Project Management

 

Contracted with Software AG Professional Services to perform reengineering of Wins ® CIS presentation modules

 Offsite Project Team consisted of Project Management, Mainframe and Web Developers and Application Testers  Project teamwork has provided –  Transfer of knowledge to UBS Staff  Formalized technical documentation  Reengineering procedures and methodologies

Offsite Methodology of baseline testing and shipping each unit has allowed all work to be done remotely, reducing costs, focusing communication and helping to build the expertise of the project team into being a UBS “virtual staff”

Project Management

Challenge to balance client-responsiveness during project

 Instituted a code freeze for duration of project  Limited program modifications on a “need-to-go” basis  Larger-scale requests deferred  Change is inevitable despite memos and policies!!!

 Techniques for identifying changes made during the freeze  Source code saved at beginning of each unit was compared against current version at end of unit  All changes made during freeze must be well-documented and recorded in a tracking spreadsheet

Project Management

What to freeze and when?

 Project encompassed over 370 functions and 1,000 modules  Divided into four compliance units for easier handling  First unit small – used to define methodology, techniques, and identify major roadblocks  Subsequent units grew in size and complexity  Eliminates the need to freeze the entire system all at once  Froze all related objects for each logical function  Objects were identified by using a home-grown analysis utility  Included maps, subprograms, fetched programs and data areas used by parent program

Project Management

 

Activities to begin compliance unit

 Identify size and content of compliance unit  Develop test scripts and test conditions  Establish test environment and take baseline backup  Execute test scripts and take second backup

Establish offsite environment

 Restore test environment from baseline backup  Execute test scripts and compare to script samples  Validates that both sites are equal and consistent

Project Management

 

Offsite reengineering and web development takes place

 Test scripts and peer testing used to validate transformation  Mainframe scripts basis for testing of web version  Preview testing used throughout reengineering to identify major issues and provide feedback to development team

Following delivery, acceptance testing takes place

 Restore test environment to baseline backup  Execute test scripts and compare results  Perform freeform “off-script” testing to identify other issues  Feedback returned to development team in form of problem reports for resolution, redelivery and retesting

Implementation

 

Install reengineered objects

 Apply changes made during “freeze”  Final testing and remediation  Options: “Big bang” versus “Staged”  Reengineer remaining functions

The ultimate test: the users

 Training and support  Which users and when?

 Listen and react

Managing Expectations

  

Staff expectations

 “Is this really necessary?”

Management expectations

 “Why can’t it be done faster? Cheaper?”  “The reengineering is done, why isn’t it implemented?”  “Do we really need to keep changes made during the freeze?”

User expectations

 “We want it. What is it?”

Demonstration

teamwork that delivers!

(and After)

teamwork that delivers!

After

Examples

The Standard Spectrum Template

Examples

Customizing the Standard Templates

Find Buttons allow users to search for values Current Organization Name Message Line Next org shown if user can access multiple orgs TOPX Account information, indicator line and launch buttons Function toggle link Standard Functions Standard Action Keys

Q & A

Utility Business Services, Inc

.

1085 Morris Ave, Union NJ 07083 (908) 289-9433 Chris Walsh, Senior Systems Architect [email protected]

Thank you!