arch-09: transforming a complex application apprise® is a registered trademark of apprise software,...

31
ARCH-09: Transforming a Complex Application Apprise® is a registered trademark of Apprise Software, Inc. Transcendix SM is a service mark and trademark of Transforming a Complex Application (ARCH-09)

Upload: madeleine-sherman

Post on 16-Jan-2016

218 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: ARCH-09: Transforming a Complex Application Apprise® is a registered trademark of Apprise Software, Inc. Transcendix SM is a service mark and trademark

ARCH-09: Transforming a Complex Application Apprise® is a registered trademark of Apprise Software, Inc.

TranscendixSM is a service mark and trademark of Transcendix LLC© 2005 All Rights Reserved

Transforming a Complex Application(ARCH-09)

Page 2: ARCH-09: Transforming a Complex Application Apprise® is a registered trademark of Apprise Software, Inc. Transcendix SM is a service mark and trademark

ARCH-09: Transforming a Complex Application Apprise® is a registered trademark of Apprise Software, Inc.

TranscendixSM is a service mark and trademark of Transcendix LLC© 2005 All Rights Reserved

Outline

• Why convert?• Goals of converting• Follow-up projects• What are the choices when converting? • Dynamic or static screens?• How could converted code work?• Code and screen samples• Questions

Page 3: ARCH-09: Transforming a Complex Application Apprise® is a registered trademark of Apprise Software, Inc. Transcendix SM is a service mark and trademark

ARCH-09: Transforming a Complex Application Apprise® is a registered trademark of Apprise Software, Inc.

TranscendixSM is a service mark and trademark of Transcendix LLC© 2005 All Rights Reserved

Why Convert?• All the things you have heard at

Exchange already• Progress client server applications are

beginning to look stale which affects the sales cycle

• System wide features that we wanted to add

• Localization • New form factors• Ease of deployment

Page 4: ARCH-09: Transforming a Complex Application Apprise® is a registered trademark of Apprise Software, Inc. Transcendix SM is a service mark and trademark

ARCH-09: Transforming a Complex Application Apprise® is a registered trademark of Apprise Software, Inc.

TranscendixSM is a service mark and trademark of Transcendix LLC© 2005 All Rights Reserved

Goals of Converting• Technology will change - it shouldn’t be as

hard next time• It should look like Windows• It should act better than Windows • It should provide a platform for the future• It should make system wide changes easier• Localizable

Page 5: ARCH-09: Transforming a Complex Application Apprise® is a registered trademark of Apprise Software, Inc. Transcendix SM is a service mark and trademark

ARCH-09: Transforming a Complex Application Apprise® is a registered trademark of Apprise Software, Inc.

TranscendixSM is a service mark and trademark of Transcendix LLC© 2005 All Rights Reserved

Goals of Converting• Customizable• Thin client architecture• Ease of deployment• Consistent user experience

Page 6: ARCH-09: Transforming a Complex Application Apprise® is a registered trademark of Apprise Software, Inc. Transcendix SM is a service mark and trademark

ARCH-09: Transforming a Complex Application Apprise® is a registered trademark of Apprise Software, Inc.

TranscendixSM is a service mark and trademark of Transcendix LLC© 2005 All Rights Reserved

Follow-up Projects• Localization • Regionalized• Service Oriented Architecture (SOA)• …

Page 7: ARCH-09: Transforming a Complex Application Apprise® is a registered trademark of Apprise Software, Inc. Transcendix SM is a service mark and trademark

ARCH-09: Transforming a Complex Application Apprise® is a registered trademark of Apprise Software, Inc.

TranscendixSM is a service mark and trademark of Transcendix LLC© 2005 All Rights Reserved

Conversion Options• Total rewrite

– Take a team of people and develop a new system from scratch using your old system as a guideline

• Screen by screen– Take a team of people and go from the first screen to

the last screen and convert them one by one

• Conversion tool– Take a team and develop a way to convert your code

from the way you have it to the way you want it programmatically

Page 8: ARCH-09: Transforming a Complex Application Apprise® is a registered trademark of Apprise Software, Inc. Transcendix SM is a service mark and trademark

ARCH-09: Transforming a Complex Application Apprise® is a registered trademark of Apprise Software, Inc.

TranscendixSM is a service mark and trademark of Transcendix LLC© 2005 All Rights Reserved

Total Rewrite• Pros:

– You get to use the latest and greatest technology and you don’t need to worry about what you already have

– Few limits except your budget

• Cons:– The team is going to work off a code base and feature set and

unless you plan on stopping new development on the existing software you end up with two products with different feature sets

– The new application generally ends up much less feature rich than the old one for a long period of time

– Time to market– There is a very high probability of project failure

Page 9: ARCH-09: Transforming a Complex Application Apprise® is a registered trademark of Apprise Software, Inc. Transcendix SM is a service mark and trademark

ARCH-09: Transforming a Complex Application Apprise® is a registered trademark of Apprise Software, Inc.

TranscendixSM is a service mark and trademark of Transcendix LLC© 2005 All Rights Reserved

Screen by Screen• Pros

– Provable milestones– Can have a staged release

• Cons– Development needs to stop on the old module while

converting or need to retrofit new work– As the standards evolve for the new product you need

to revisit the already converted code and update it – Will have a mutated product to sell for a while

Page 10: ARCH-09: Transforming a Complex Application Apprise® is a registered trademark of Apprise Software, Inc. Transcendix SM is a service mark and trademark

ARCH-09: Transforming a Complex Application Apprise® is a registered trademark of Apprise Software, Inc.

TranscendixSM is a service mark and trademark of Transcendix LLC© 2005 All Rights Reserved

Conversion Program• Pros:

– The conversion can be run often, resulting in little loss of feature development on the old application

– As the standards for the new system evolve and improve, the process can be rerun allowing fixes to the conversion utility which will fix the rest of the system

• Cons:– This takes the longest amount of time before you can

show the first couple of screens.

Page 11: ARCH-09: Transforming a Complex Application Apprise® is a registered trademark of Apprise Software, Inc. Transcendix SM is a service mark and trademark

ARCH-09: Transforming a Complex Application Apprise® is a registered trademark of Apprise Software, Inc.

TranscendixSM is a service mark and trademark of Transcendix LLC© 2005 All Rights Reserved

The Other Conversion Choice• Dynamic screens vs. Static screens

– Static screens:• Faster load time• Use standard tools to modify (Visual Studio)• Harder to upgrade next time

– Dynamic screens:• Easier to allow user customization• Easier to replace next time• Enforces standards /allows changes to standards better• Simpler Globalization configuration• Simpler look and feel• More options

Page 12: ARCH-09: Transforming a Complex Application Apprise® is a registered trademark of Apprise Software, Inc. Transcendix SM is a service mark and trademark

ARCH-09: Transforming a Complex Application Apprise® is a registered trademark of Apprise Software, Inc.

TranscendixSM is a service mark and trademark of Transcendix LLC© 2005 All Rights Reserved

How Would It Work?• There are 3 application layers

– DB server on any Progress platform– Application Server

• Progress AppServer running the business logic of your application

• No direct client interaction done at this layer• UNIX or Windows• Can be the same machine as the DB server

– Client Computer• Running on Windows• No connection to the database• No knowledge of the application at this level

Page 13: ARCH-09: Transforming a Complex Application Apprise® is a registered trademark of Apprise Software, Inc. Transcendix SM is a service mark and trademark

ARCH-09: Transforming a Complex Application Apprise® is a registered trademark of Apprise Software, Inc.

TranscendixSM is a service mark and trademark of Transcendix LLC© 2005 All Rights Reserved

How Would It Work?• Two connections

– Application Server to Client Computer• Pass requests to do work• Using standard procedures • “Update this field on the screen”• “Validate this data”

– Application Server to DB Server• All the traditional Progress db communications such as

FOR EACH, FOR FIRST, etc.

Page 14: ARCH-09: Transforming a Complex Application Apprise® is a registered trademark of Apprise Software, Inc. Transcendix SM is a service mark and trademark

ARCH-09: Transforming a Complex Application Apprise® is a registered trademark of Apprise Software, Inc.

TranscendixSM is a service mark and trademark of Transcendix LLC© 2005 All Rights Reserved

How Would It Work? (By Example)

• Setup

Page 15: ARCH-09: Transforming a Complex Application Apprise® is a registered trademark of Apprise Software, Inc. Transcendix SM is a service mark and trademark

ARCH-09: Transforming a Complex Application Apprise® is a registered trademark of Apprise Software, Inc.

TranscendixSM is a service mark and trademark of Transcendix LLC© 2005 All Rights Reserved

How Would It Work? (By Example)• User types in “motors” and hits TAB to leave the field

Page 16: ARCH-09: Transforming a Complex Application Apprise® is a registered trademark of Apprise Software, Inc. Transcendix SM is a service mark and trademark

ARCH-09: Transforming a Complex Application Apprise® is a registered trademark of Apprise Software, Inc.

TranscendixSM is a service mark and trademark of Transcendix LLC© 2005 All Rights Reserved

How Would It Work? (By Example)– The AppServer reads the changed data and updates the server

program with the new data (the category screen value is “motors” when before it was blank)

– The AppServer then translates the request (leave the category field) into a call to a procedure

– The server code runs on the AppServer which calls the database as needed

– The old code that updated the screen directly has been modified to a call that updates the request table to send back to the client

– When the procedure is done the Application server returns a list of updates to the screen that need to be processed (mark this field as sensitive, put this value in this field, hide this button, etc.)

Page 17: ARCH-09: Transforming a Complex Application Apprise® is a registered trademark of Apprise Software, Inc. Transcendix SM is a service mark and trademark

ARCH-09: Transforming a Complex Application Apprise® is a registered trademark of Apprise Software, Inc.

TranscendixSM is a service mark and trademark of Transcendix LLC© 2005 All Rights Reserved

How Would It Work? (By Example)– Finally

Page 18: ARCH-09: Transforming a Complex Application Apprise® is a registered trademark of Apprise Software, Inc. Transcendix SM is a service mark and trademark

ARCH-09: Transforming a Complex Application Apprise® is a registered trademark of Apprise Software, Inc.

TranscendixSM is a service mark and trademark of Transcendix LLC© 2005 All Rights Reserved

• /******* existing code *******/• ON LEAVE OF scr-cat IN FRAME F-Main /* Category */• DO WITH FRAME {&FRAME-NAME}:• IF scr-cat:SCREEN-VALUE <> scr-cat THEN• DO:• ASSIGN scr-cat.• FIND FIRST category WHERE• category.category-code = scr-cat• NO-LOCK NO-ERROR.• IF AVAILABLE(category) THEN• ASSIGN scr-cat:SCREEN-VALUE =

category.category-code• scr-cat• save-cat-key = category.category-key.• END.• END.

Old Code vs. New Code

Page 19: ARCH-09: Transforming a Complex Application Apprise® is a registered trademark of Apprise Software, Inc. Transcendix SM is a service mark and trademark

ARCH-09: Transforming a Complex Application Apprise® is a registered trademark of Apprise Software, Inc.

TranscendixSM is a service mark and trademark of Transcendix LLC© 2005 All Rights Reserved

Old Code vs. New Code• /******* converted code *******/• PROCEDURE leave_scr-cat :• DO : • IF get-screen-value("scr-cat") <> scr-cat THEN • DO: • ASSIGN scr-cat =get-screen-value("scr-cat") .• FIND FIRST category WHERE• category.category-code = scr-cat• NO-LOCK NO-ERROR. • IF AVAILABLE(category) THEN • DO: • RUN set-state ("scr-cat“,• "SCREEN-VALUE",• category.category-code ).• ASSIGN scr-cat = get-screen-value("scr-cat") • save-cat-key = category.category-key .• END.• END.• END.

Page 20: ARCH-09: Transforming a Complex Application Apprise® is a registered trademark of Apprise Software, Inc. Transcendix SM is a service mark and trademark

ARCH-09: Transforming a Complex Application Apprise® is a registered trademark of Apprise Software, Inc.

TranscendixSM is a service mark and trademark of Transcendix LLC© 2005 All Rights Reserved

Before And After Samples• Menu system - before

Page 21: ARCH-09: Transforming a Complex Application Apprise® is a registered trademark of Apprise Software, Inc. Transcendix SM is a service mark and trademark

ARCH-09: Transforming a Complex Application Apprise® is a registered trademark of Apprise Software, Inc.

TranscendixSM is a service mark and trademark of Transcendix LLC© 2005 All Rights Reserved

Before And After Samples• Menu system – after

Page 22: ARCH-09: Transforming a Complex Application Apprise® is a registered trademark of Apprise Software, Inc. Transcendix SM is a service mark and trademark

ARCH-09: Transforming a Complex Application Apprise® is a registered trademark of Apprise Software, Inc.

TranscendixSM is a service mark and trademark of Transcendix LLC© 2005 All Rights Reserved

Before And After Samples• EIS Information - before

Page 23: ARCH-09: Transforming a Complex Application Apprise® is a registered trademark of Apprise Software, Inc. Transcendix SM is a service mark and trademark

ARCH-09: Transforming a Complex Application Apprise® is a registered trademark of Apprise Software, Inc.

TranscendixSM is a service mark and trademark of Transcendix LLC© 2005 All Rights Reserved

Before And After Samples• EIS Information – after

Page 24: ARCH-09: Transforming a Complex Application Apprise® is a registered trademark of Apprise Software, Inc. Transcendix SM is a service mark and trademark

ARCH-09: Transforming a Complex Application Apprise® is a registered trademark of Apprise Software, Inc.

TranscendixSM is a service mark and trademark of Transcendix LLC© 2005 All Rights Reserved

Before And After Samples• EIS Information – after

Page 25: ARCH-09: Transforming a Complex Application Apprise® is a registered trademark of Apprise Software, Inc. Transcendix SM is a service mark and trademark

ARCH-09: Transforming a Complex Application Apprise® is a registered trademark of Apprise Software, Inc.

TranscendixSM is a service mark and trademark of Transcendix LLC© 2005 All Rights Reserved

Before And After Samples• Product Maintenance - before

Page 26: ARCH-09: Transforming a Complex Application Apprise® is a registered trademark of Apprise Software, Inc. Transcendix SM is a service mark and trademark

ARCH-09: Transforming a Complex Application Apprise® is a registered trademark of Apprise Software, Inc.

TranscendixSM is a service mark and trademark of Transcendix LLC© 2005 All Rights Reserved

Before And After Samples• Product Maintenance – after

Page 27: ARCH-09: Transforming a Complex Application Apprise® is a registered trademark of Apprise Software, Inc. Transcendix SM is a service mark and trademark

ARCH-09: Transforming a Complex Application Apprise® is a registered trademark of Apprise Software, Inc.

TranscendixSM is a service mark and trademark of Transcendix LLC© 2005 All Rights Reserved

Modify Screens and Logic

Page 28: ARCH-09: Transforming a Complex Application Apprise® is a registered trademark of Apprise Software, Inc. Transcendix SM is a service mark and trademark

ARCH-09: Transforming a Complex Application Apprise® is a registered trademark of Apprise Software, Inc.

TranscendixSM is a service mark and trademark of Transcendix LLC© 2005 All Rights Reserved

Add and Rename Fields

Page 29: ARCH-09: Transforming a Complex Application Apprise® is a registered trademark of Apprise Software, Inc. Transcendix SM is a service mark and trademark

ARCH-09: Transforming a Complex Application Apprise® is a registered trademark of Apprise Software, Inc.

TranscendixSM is a service mark and trademark of Transcendix LLC© 2005 All Rights Reserved

Add Dashboards

Page 30: ARCH-09: Transforming a Complex Application Apprise® is a registered trademark of Apprise Software, Inc. Transcendix SM is a service mark and trademark

ARCH-09: Transforming a Complex Application Apprise® is a registered trademark of Apprise Software, Inc.

TranscendixSM is a service mark and trademark of Transcendix LLC© 2005 All Rights Reserved

Individual Look and Feel

• Icons• Colors• Fonts• Tool bars• Screen designs

Page 31: ARCH-09: Transforming a Complex Application Apprise® is a registered trademark of Apprise Software, Inc. Transcendix SM is a service mark and trademark

ARCH-09: Transforming a Complex Application Apprise® is a registered trademark of Apprise Software, Inc.

TranscendixSM is a service mark and trademark of Transcendix LLC© 2005 All Rights Reserved

Questions?

• Jeff Broadhurst – Apprise Software, Inc.– [email protected]

• Kevin Ryer – Transcendix LLC– [email protected]