chris walsh, senior systems architect 1085 morris ave, union, nj 07083 (908) 289-0552 [email protected]...

36
Chris Walsh, Senior Systems Architect 1085 Morris Ave, Union, NJ 07083 (908) 289-0552 [email protected] Winning in the Web World Winning in the Web World using Construct Spectrum using Construct Spectrum Utility Business Utility Business Services, Inc Services, Inc.

Post on 21-Dec-2015

212 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Chris Walsh, Senior Systems Architect 1085 Morris Ave, Union, NJ 07083 (908) 289-0552 cwalsh@nui.com Winning in the Web World using Construct Spectrum

Chris Walsh, Senior Systems Architect

1085 Morris Ave, Union, NJ 07083

(908) 289-0552

[email protected]

Winning in the Web World Winning in the Web World using Construct Spectrumusing Construct Spectrum

Utility Business Services, Utility Business Services, IncInc.

Page 2: Chris Walsh, Senior Systems Architect 1085 Morris Ave, Union, NJ 07083 (908) 289-0552 cwalsh@nui.com Winning in the Web World using Construct Spectrum

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

Utility Business Services, IncUtility Business Services, Inc

Page 3: Chris Walsh, Senior Systems Architect 1085 Morris Ave, Union, NJ 07083 (908) 289-0552 cwalsh@nui.com Winning in the Web World using Construct Spectrum

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 Products & UBS Products & ServicesServices

Page 4: Chris Walsh, Senior Systems Architect 1085 Morris Ave, Union, NJ 07083 (908) 289-0552 cwalsh@nui.com Winning in the Web World using Construct Spectrum

Mainframe Platform

Mainframe OS390

Natural & Adabas

Construct Spectrum

EntireX

Natural Construct

Predict

UBS EnvironmentUBS Environment

NUI has been a Software AG customer since 1985Natural & Adabas used by UBS since 1993

Web Platform

Windows NT 4 Server

HTML -Active Server Pages

Construct Spectrum

EntireX

Visual Basic

JavaScript

Page 5: Chris Walsh, Senior Systems Architect 1085 Morris Ave, Union, NJ 07083 (908) 289-0552 cwalsh@nui.com Winning in the Web World using Construct Spectrum

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”

WinsWins®® CIS CIS ”Classic””Classic”

Page 6: Chris Walsh, Senior Systems Architect 1085 Morris Ave, Union, NJ 07083 (908) 289-0552 cwalsh@nui.com Winning in the Web World using Construct Spectrum

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?

WinsWins®® CIS CIS ”Classic””Classic”

Page 7: Chris Walsh, Senior Systems Architect 1085 Morris Ave, Union, NJ 07083 (908) 289-0552 cwalsh@nui.com Winning in the Web World using Construct Spectrum

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?

WinsWins®® CIS CIS ”Web””Web”

Page 8: Chris Walsh, Senior Systems Architect 1085 Morris Ave, Union, NJ 07083 (908) 289-0552 cwalsh@nui.com Winning in the Web World using Construct Spectrum

Getting There: Approaches?Getting There: Approaches?

Original 3270 Presentation

Duplicated and Modified 3270

Modules

Original 3270 Modules

Reengineered 3270 Modules

New Web Presentation

Approach #1:

Spin-off Existing Application to Create a Second Application

Approach #2:

Modify Existing Application to Include Multiple Presentations

Modified 3270 Presentation

New Web Presentation

Pros:Pros: Original not impacted; Independent presentation content; Staff can specialize

Cons:Cons: Maintenance effort duplicated; Synchronization issues

Pros:Pros: One set of business modules; Enforces synchronized maintenance

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

Page 9: Chris Walsh, Senior Systems Architect 1085 Morris Ave, Union, NJ 07083 (908) 289-0552 cwalsh@nui.com Winning in the Web World using Construct Spectrum

Business Logic& Data Access

Layer

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

WinsWins®® CIS CIS ”Web””Web”

Character Based Presentation Layer

WEB Based Presentation Layer

CharacterApplication

NEXT

Page 10: Chris Walsh, Senior Systems Architect 1085 Morris Ave, Union, NJ 07083 (908) 289-0552 cwalsh@nui.com Winning in the Web World using Construct Spectrum

Reengineering for the Web Reengineering for the Web

Presentation

Data Handling

Business Logic

Maintenance Model Program

PresentationMaintenance Dialog

Data Handling

Business Logic

Object Maintenance Subprogram

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

Host Based ObjectsOriginal Host Object

Page 11: Chris Walsh, Senior Systems Architect 1085 Morris Ave, Union, NJ 07083 (908) 289-0552 cwalsh@nui.com Winning in the Web World using Construct Spectrum

Reengineering for the Web 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

Page 12: Chris Walsh, Senior Systems Architect 1085 Morris Ave, Union, NJ 07083 (908) 289-0552 cwalsh@nui.com Winning in the Web World using Construct Spectrum

Reengineering for the Web Reengineering for the Web Why did mainframe reengineering take 75% of the time?

Average Natural object ratio increased from 2 to 6 modules

Original Maint Program : U00PF01A

Maps : U00MF011

New Object PDA : P00AF01A

Restricted PDA : P00RF01A

Extra PDA : P00XF01A

Object Subprogram : P00NF01A

Maps : M00MF011

Dialog Program : U00PF01A

Page 13: Chris Walsh, Senior Systems Architect 1085 Morris Ave, Union, NJ 07083 (908) 289-0552 cwalsh@nui.com Winning in the Web World using Construct Spectrum

Reengineering for the Web 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

Page 14: Chris Walsh, Senior Systems Architect 1085 Morris Ave, Union, NJ 07083 (908) 289-0552 cwalsh@nui.com Winning in the Web World using Construct Spectrum

Reengineering for the Web 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

Page 15: Chris Walsh, Senior Systems Architect 1085 Morris Ave, Union, NJ 07083 (908) 289-0552 cwalsh@nui.com Winning in the Web World using Construct Spectrum

Reengineering for the Web 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…

Page 16: Chris Walsh, Senior Systems Architect 1085 Morris Ave, Union, NJ 07083 (908) 289-0552 cwalsh@nui.com Winning in the Web World using 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

Construct Spectrum Construct Spectrum

Page 17: Chris Walsh, Senior Systems Architect 1085 Morris Ave, Union, NJ 07083 (908) 289-0552 cwalsh@nui.com Winning in the Web World using Construct Spectrum

Reengineering for the Web Reengineering for the Web

Presentation

Data Handling

Business Logic

Maintenance Model Program

PresentationMaintenance Dialog

Data Handling

Business Logic

Subprogram Proxy

Object Maintenance Subprogram

ActiveX Business Object

Page Handler

PresentationHTML

Web Server Based ObjectsHost Based ObjectsOriginal Host Object

Page 18: Chris Walsh, Senior Systems Architect 1085 Morris Ave, Union, NJ 07083 (908) 289-0552 cwalsh@nui.com Winning in the Web World using Construct Spectrum

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 ObjectsSpectrum Objects

Page 19: Chris Walsh, Senior Systems Architect 1085 Morris Ave, Union, NJ 07083 (908) 289-0552 cwalsh@nui.com Winning in the Web World using Construct Spectrum

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 ObjectsSpectrum Objects

Page 20: Chris Walsh, Senior Systems Architect 1085 Morris Ave, Union, NJ 07083 (908) 289-0552 cwalsh@nui.com Winning in the Web World using Construct Spectrum

Entire X Broker & Spectrum connect the two worlds

Provides adaptive performance management

Automatically starts & ends dispatchers as needed

Spectrum ConnectivitySpectrum Connectivity

Web App1

SpectrumDispatch Client

EntireXMessage Broker

NaturalBusiness Object

SpectrumProxy

SpectrumDispatch Server

Web App2

Client/ServerApp

ActiveXBusiness Object

Page 21: Chris Walsh, Senior Systems Architect 1085 Morris Ave, Union, NJ 07083 (908) 289-0552 cwalsh@nui.com Winning in the Web World using Construct Spectrum

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 SupportWeb Support

Page 22: Chris Walsh, Senior Systems Architect 1085 Morris Ave, Union, NJ 07083 (908) 289-0552 cwalsh@nui.com Winning in the Web World using Construct Spectrum

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 ChallengesWeb Challenges

Page 23: Chris Walsh, Senior Systems Architect 1085 Morris Ave, Union, NJ 07083 (908) 289-0552 cwalsh@nui.com Winning in the Web World using Construct Spectrum

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

Web ChallengesWeb Challenges

Page 24: Chris Walsh, Senior Systems Architect 1085 Morris Ave, Union, NJ 07083 (908) 289-0552 cwalsh@nui.com Winning in the Web World using Construct Spectrum

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 ManagementProject Management

Page 25: Chris Walsh, Senior Systems Architect 1085 Morris Ave, Union, NJ 07083 (908) 289-0552 cwalsh@nui.com Winning in the Web World using Construct Spectrum

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 ManagementProject Management

Page 26: Chris Walsh, Senior Systems Architect 1085 Morris Ave, Union, NJ 07083 (908) 289-0552 cwalsh@nui.com Winning in the Web World using Construct Spectrum

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 ManagementProject Management

Page 27: Chris Walsh, Senior Systems Architect 1085 Morris Ave, Union, NJ 07083 (908) 289-0552 cwalsh@nui.com Winning in the Web World using Construct Spectrum

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 ManagementProject Management

Page 28: Chris Walsh, Senior Systems Architect 1085 Morris Ave, Union, NJ 07083 (908) 289-0552 cwalsh@nui.com Winning in the Web World using Construct Spectrum

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

Project ManagementProject Management

Page 29: Chris Walsh, Senior Systems Architect 1085 Morris Ave, Union, NJ 07083 (908) 289-0552 cwalsh@nui.com Winning in the Web World using Construct Spectrum

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

ImplementationImplementation

Page 30: Chris Walsh, Senior Systems Architect 1085 Morris Ave, Union, NJ 07083 (908) 289-0552 cwalsh@nui.com Winning in the Web World using Construct Spectrum

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?”

Managing Expectations Managing Expectations

Page 31: Chris Walsh, Senior Systems Architect 1085 Morris Ave, Union, NJ 07083 (908) 289-0552 cwalsh@nui.com Winning in the Web World using Construct Spectrum

DemonstrationDemonstration

Page 32: Chris Walsh, Senior Systems Architect 1085 Morris Ave, Union, NJ 07083 (908) 289-0552 cwalsh@nui.com Winning in the Web World using Construct Spectrum

Before

teamwork teamwork

thatthat

delivers!delivers!

Before (and After)

Page 33: Chris Walsh, Senior Systems Architect 1085 Morris Ave, Union, NJ 07083 (908) 289-0552 cwalsh@nui.com Winning in the Web World using Construct Spectrum

teamwork teamwork

thatthat

delivers!delivers!

After

Page 34: Chris Walsh, Senior Systems Architect 1085 Morris Ave, Union, NJ 07083 (908) 289-0552 cwalsh@nui.com Winning in the Web World using Construct Spectrum

Examples Examples The Standard Spectrum Template

Page 35: Chris Walsh, Senior Systems Architect 1085 Morris Ave, Union, NJ 07083 (908) 289-0552 cwalsh@nui.com Winning in the Web World using Construct Spectrum

Examples Examples Customizing the Standard Templates

Current Organization Name

Message Line

TOPX Account information,indicator line and launch buttons

Standard Action Keys

Functiontoggle link

StandardFunctions

Next orgshown if user

can accessmultiple orgs

FindButtons

allow usersto search for

values

Page 36: Chris Walsh, Senior Systems Architect 1085 Morris Ave, Union, NJ 07083 (908) 289-0552 cwalsh@nui.com Winning in the Web World using Construct Spectrum

Utility Business Services, Utility Business Services, IncInc.

1085 Morris Ave, Union NJ 07083

(908) 289-9433

Chris Walsh, Senior Systems Architect

[email protected]

Thank you! Thank you!

Q & A Q & A