1 / 30

Your Applications and .netUI

Your Applications and .netUI. John Campbell CTO ProStar Software. Overview. Personal and business introductions Architecture of.netUI Technical detour What's supported and what's not How to prepare / program for .netUI Alternatives Resources Futures. Personal Introduction.

wilmer
Download Presentation

Your Applications and .netUI

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Your Applications and .netUI John Campbell CTO ProStar Software

  2. Overview • Personal and business introductions • Architecture of.netUI • Technical detour • What's supported and what's not • How to prepare / program for .netUI • Alternatives • Resources • Futures

  3. Personal Introduction • Progress developer since 1985 • First QAD customer 1989 • Multiple Progress publications • Presenter and trainer for 20+ years • Domestic and international clientele • Author of multiple Progress applications

  4. Business Introduction • ProStar Software – spun off in 2002 • Alliance partner in 2006 • Publisher of multiple QAD tools • Domestic and international distributor network • Over 70 customers worldwide

  5. History of the QAD Application • Character starting in 1985 • GUI – character with win-95 front end • Desktop – first deployment to distributed (browser-based) architecture • .netUI – next-generation • MS .net – future implementation

  6. .netUI Background • QAD's Strength: functionality • QAD's Achilles heel: "interface" • Actually, it is "modularity" • Desktop and .netUI are attempts to modernize QAD

  7. .netUI Architecture • Character mode screen • Connection via telnet • Screen scraper (aka widget walker) • Browser rendering

  8. Architecture – Part 2 • Screen scraper reads the screen • Creates a Progress temp table • Builds an XML document • Transfers to browser

  9. Architecture – Part 3 • Code on browser side (Tomcat) intercepts XML doc • Renders doc into browser interface • Manages Web data entry

  10. Screen Scraper Details • "Walks" a character screen • Reads the screen objects • Determines the characteristics of each • Records them • Transmits them

  11. Drilling down the screen scraper • Only recognizes frames and fields • Finite / limited number of attributes • Location • Size • Format / label • Tab order • Etc.

  12. Progress Technical Insights • V6 vs. V7 • V6 was static, frame-oriented interface • V7 introduced dynamic objects • Character and GUI • Ability to build and modify objects "on the fly" • Multiple new objects

  13. List of Screen Objects • Windows OR character • Browser • Radio Set • Check Box • Selection List • Drop-down box • Editor • Alert-boxes • Etc.

  14. A widget "tree" • Hierarchy of screen objects • Imagine a temp-table of on-screen objects • Attributes • Type • Location • Tab Order, etc. • Related through a pre-determined hierarchy • Window frame field

  15. Tying this together • The screen scraper accesses this hierarchy by means of handles • It traverses the tree • Bundles the attributes • Transmits them

  16. Screen scraper decisions • Which objects to recognize and package • Which to ignore • Which attributes to recognize • Which to ignore

  17. Screen scraper display choices • How to represent objects in a browser • Character vs. logical, for example • How to add affordances (lookups, etc) • How to navigate • Next / prev buttons • Tab order

  18. What objects are recognized • Frames and Fields • Period

  19. What does this mean for you

  20. The dark (gray) side • Any GUI applications have to be rewritten • You cannot use alert-boxes • You may not use anything but frames and fields

  21. "Wrapper" Considerations • Entry events in wrappers only fire on the first field of a frame • Leave events do not fire • Overlay frames must disable the other frames on the screen until complete

  22. The Bright Side • If you follow the rules on the last pages: • All applications will work: • Standalone programs • Source code customizations • Wrappers • TailorPro • Etc.

  23. How to code for .netUI • Use QAD includes • Scrolling frames • Messages • Reports • Lookup Browsers • Can implement new menu items

  24. Example of overlay frame

  25. Architecture Insights • Unix character is "single-tier" or host based • GUI is / can be client-server • .netUI approaches 3-tier • MS .net will be multi-tier

  26. Implications of Multi-tier • Business logic MUST be separated out • Interface can perform validation • No direct connection to DB • Use of app server • Data exchanged through prodatasets • Code could be / should be object-oriented

  27. Future considerations (cont'd) • Progress O-O ABL • Implementation of object orientation in the "4GL" • Difficult to design • New learning curve / paradigm • Will require complete rewrite of every line of QAD code

  28. Worth Thinking About • Pros and Cons of .netUI • Alternatives to upgrading

  29. Resources • QAD Desktop / .netUI development Guidelines • ProStar .netUI implementation guidelines

  30. Discussion / Questions Thank you! John Campbell john@prostar-software.com

More Related