Transforming a Complex Application ARCH09 ARCH09 Transforming a
- Slides: 31
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 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 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 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 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 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 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 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 • 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 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: • 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 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 • • 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® 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 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 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® 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 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 *******/ 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 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 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 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 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 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 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 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 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 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 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 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 – 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
- Simple compound complex rules
- Oedipus complex and electra complex
- Bruno dislikes sitting on the beach
- Psychoanalytic
- Ghon complex
- Sublimation defense mechanism
- Which of the quadratic functions has the narrowest graph
- Lesson 11 transforming the graph of the sine function
- Lesson 6-4 transforming linear functions answer key
- Transforming security operations
- What is the transformation process
- Lesson 2-4 writing linear equations
- Transforming school culture: how to overcome staff division
- Transformation of square root function
- How to convert unstructured data into structured data
- Transforming school culture
- Transforming i/o requests to hardware operations
- Lawn mower energy transformation
- Lesson 4-10 transforming linear functions answers
- 8-4 modeling with quadratic functions
- Transforming polynomial functions quiz part 1
- Enwisen onboarding
- Transforming beliefs adalah
- Forces transforming the service economy
- Transforming linear functions lesson 6-4
- The unit that transform data into information
- Transforming teacher education through clinical practice
- Transforming thoughts ideas and
- Transforming patient experience
- 9-4 transforming quadratic functions
- Transforming quadratic functions
- Leona and fred are friendly competitors