Transforming a Complex Application ARCH09 ARCH09 Transforming a

  • Slides: 31
Download presentation
Transforming a Complex Application (ARCH-09) ARCH-09: Transforming a Complex Application Apprise® is a registered

Transforming a Complex Application (ARCH-09) ARCH-09: Transforming a Complex Application Apprise® is a registered trademark of Apprise Software, Inc. Transcendix. SM 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

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 ARCH-09: Transforming a Complex Application Apprise® is a registered trademark of Apprise Software, Inc. Transcendix. SM 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

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 ARCH-09: Transforming a Complex Application Apprise® is a registered trademark of Apprise Software, Inc. Transcendix. SM 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

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 ARCH-09: Transforming a Complex Application Apprise® is a registered trademark of Apprise Software, Inc. Transcendix. SM 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

Goals of Converting • • Customizable Thin client architecture Ease of deployment Consistent user experience ARCH-09: Transforming a Complex Application Apprise® is a registered trademark of Apprise Software, Inc. Transcendix. SM is a service mark and trademark of Transcendix LLC © 2005 All Rights Reserved

Follow-up Projects • • Localization Regionalized Service Oriented Architecture (SOA) … ARCH-09: Transforming a

Follow-up Projects • • Localization Regionalized Service Oriented Architecture (SOA) … ARCH-09: Transforming a Complex Application Apprise® is a registered trademark of Apprise Software, Inc. Transcendix. SM 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

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 ARCH-09: Transforming a Complex Application Apprise® is a registered trademark of Apprise Software, Inc. Transcendix. SM 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

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 ARCH-09: Transforming a Complex Application Apprise® is a registered trademark of Apprise Software, Inc. Transcendix. SM is a service mark and trademark of Transcendix LLC © 2005 All Rights Reserved

Screen by Screen • Pros – Provable milestones – Can have a staged release

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 ARCH-09: Transforming a Complex Application Apprise® is a registered trademark of Apprise Software, Inc. Transcendix. SM 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

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. ARCH-09: Transforming a Complex Application Apprise® is a registered trademark of Apprise Software, Inc. Transcendix. SM is a service mark and trademark of Transcendix LLC © 2005 All Rights Reserved

The Other Conversion Choice • Dynamic screens vs. Static screens – Static screens: •

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 ARCH-09: Transforming a Complex Application Apprise® is a registered trademark of Apprise Software, Inc. Transcendix. SM 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

How Would It Work? • There are 3 application layers – DB server on any Progress platform – Application Server • Progress App. Server 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 ARCH-09: Transforming a Complex Application Apprise® is a registered trademark of Apprise Software, Inc. Transcendix. SM is a service mark and trademark of Transcendix LLC © 2005 All Rights Reserved

How Would It Work? • Two connections – Application Server to Client Computer •

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. ARCH-09: Transforming a Complex Application Apprise® is a registered trademark of Apprise Software, Inc. Transcendix. SM is a service mark and trademark of Transcendix LLC © 2005 All Rights Reserved

How Would It Work? (By Example) • Setup ARCH-09: Transforming a Complex Application Apprise®

How Would It Work? (By Example) • Setup ARCH-09: Transforming a Complex Application Apprise® is a registered trademark of Apprise Software, Inc. Transcendix. SM 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

How Would It Work? (By Example) • User types in “motors” and hits TAB to leave the field ARCH-09: Transforming a Complex Application Apprise® is a registered trademark of Apprise Software, Inc. Transcendix. SM is a service mark and trademark of Transcendix LLC © 2005 All Rights Reserved

How Would It Work? (By Example) – The App. Server reads the changed data

How Would It Work? (By Example) – The App. Server 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 App. Server then translates the request (leave the category field) into a call to a procedure – The server code runs on the App. Server 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. ) ARCH-09: Transforming a Complex Application Apprise® is a registered trademark of Apprise Software, Inc. Transcendix. SM is a service mark and trademark of Transcendix LLC © 2005 All Rights Reserved

How Would It Work? (By Example) – Finally ARCH-09: Transforming a Complex Application Apprise®

How Would It Work? (By Example) – Finally ARCH-09: Transforming a Complex Application Apprise® is a registered trademark of Apprise Software, Inc. Transcendix. SM is a service mark and trademark of Transcendix LLC © 2005 All Rights Reserved

Old Code vs. New Code • /******* existing code *******/ • ON LEAVE OF

Old Code vs. New Code • /******* 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-code = scr-cat • NO-LOCK NO-ERROR. • IF AVAILABLE(category) THEN • ASSIGN scr-cat: SCREEN-VALUE = category-code • scr-cat • save-cat-key = category-key. • END. ARCH-09: Transforming a Complex Application Apprise® is a registered trademark of Apprise Software, Inc. Transcendix. SM is a service mark and trademark of Transcendix LLC © 2005 All Rights Reserved

 • • • • • Old Code vs. New Code /******* converted code

• • • • • 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-code = scr-cat NO-LOCK NO-ERROR. IF AVAILABLE(category) THEN DO: RUN set-state ("scr-cat“, "SCREEN-VALUE", category-code ). ASSIGN scr-cat = get-screen-value("scr-cat") save-cat-key = category-key. END. ARCH-09: Transforming a Complex Application Apprise® is a registered trademark of Apprise Software, Inc. Transcendix. SM is a service mark and trademark of Transcendix LLC © 2005 All Rights Reserved

Before And After Samples • Menu system - before ARCH-09: Transforming a Complex Application

Before And After Samples • Menu system - before ARCH-09: Transforming a Complex Application Apprise® is a registered trademark of Apprise Software, Inc. Transcendix. SM is a service mark and trademark of Transcendix LLC © 2005 All Rights Reserved

Before And After Samples • Menu system – after ARCH-09: Transforming a Complex Application

Before And After Samples • Menu system – after ARCH-09: Transforming a Complex Application Apprise® is a registered trademark of Apprise Software, Inc. Transcendix. SM is a service mark and trademark of Transcendix LLC © 2005 All Rights Reserved

Before And After Samples • EIS Information - before ARCH-09: Transforming a Complex Application

Before And After Samples • EIS Information - before ARCH-09: Transforming a Complex Application Apprise® is a registered trademark of Apprise Software, Inc. Transcendix. SM is a service mark and trademark of Transcendix LLC © 2005 All Rights Reserved

Before And After Samples • EIS Information – after ARCH-09: Transforming a Complex Application

Before And After Samples • EIS Information – after ARCH-09: Transforming a Complex Application Apprise® is a registered trademark of Apprise Software, Inc. Transcendix. SM is a service mark and trademark of Transcendix LLC © 2005 All Rights Reserved

Before And After Samples • EIS Information – after ARCH-09: Transforming a Complex Application

Before And After Samples • EIS Information – after ARCH-09: Transforming a Complex Application Apprise® is a registered trademark of Apprise Software, Inc. Transcendix. SM is a service mark and trademark of Transcendix LLC © 2005 All Rights Reserved

Before And After Samples • Product Maintenance - before ARCH-09: Transforming a Complex Application

Before And After Samples • Product Maintenance - before ARCH-09: Transforming a Complex Application Apprise® is a registered trademark of Apprise Software, Inc. Transcendix. SM is a service mark and trademark of Transcendix LLC © 2005 All Rights Reserved

Before And After Samples • Product Maintenance – after ARCH-09: Transforming a Complex Application

Before And After Samples • Product Maintenance – after ARCH-09: Transforming a Complex Application Apprise® is a registered trademark of Apprise Software, Inc. Transcendix. SM is a service mark and trademark of Transcendix LLC © 2005 All Rights Reserved

Modify Screens and Logic ARCH-09: Transforming a Complex Application Apprise® is a registered trademark

Modify Screens and Logic ARCH-09: Transforming a Complex Application Apprise® is a registered trademark of Apprise Software, Inc. Transcendix. SM is a service mark and trademark of Transcendix LLC © 2005 All Rights Reserved

Add and Rename Fields ARCH-09: Transforming a Complex Application Apprise® is a registered trademark

Add and Rename Fields ARCH-09: Transforming a Complex Application Apprise® is a registered trademark of Apprise Software, Inc. Transcendix. SM is a service mark and trademark of Transcendix LLC © 2005 All Rights Reserved

Add Dashboards ARCH-09: Transforming a Complex Application Apprise® is a registered trademark of Apprise

Add Dashboards ARCH-09: Transforming a Complex Application Apprise® is a registered trademark of Apprise Software, Inc. Transcendix. SM is a service mark and trademark of Transcendix LLC © 2005 All Rights Reserved

Individual Look and Feel • • • Icons Colors Fonts Tool bars Screen designs

Individual Look and Feel • • • Icons Colors Fonts Tool bars Screen designs ARCH-09: Transforming a Complex Application Apprise® is a registered trademark of Apprise Software, Inc. Transcendix. SM is a service mark and trademark of Transcendix LLC © 2005 All Rights Reserved

Questions? • Jeff Broadhurst – Apprise Software, Inc. – jbroadhurst@apprise. com • Kevin Ryer

Questions? • Jeff Broadhurst – Apprise Software, Inc. – jbroadhurst@apprise. com • Kevin Ryer – Transcendix LLC – kevin. ryer@transcendix. com ARCH-09: Transforming a Complex Application Apprise® is a registered trademark of Apprise Software, Inc. Transcendix. SM is a service mark and trademark of Transcendix LLC © 2005 All Rights Reserved