Presentation is loading. Please wait.

Presentation is loading. Please wait.

OpenEdge GUI for .NET Adoption and Migration Strategies

Similar presentations


Presentation on theme: "OpenEdge GUI for .NET Adoption and Migration Strategies"— Presentation transcript:

1 OpenEdge GUI for .NET Adoption and Migration Strategies
Session 1018 OpenEdge GUI for .NET Adoption and Migration Strategies Mike Fechner Senior Architect & Director, Consultingwerk Ltd.

2 Mike Fechner, Consultingwerk Ltd.
Independent IT consulting organization Focusing on OpenEdge and .NET Located in Cologne, Germany Customers in Germany, Europe, USA Vendor of tools and consulting programs 20 years of Progress experience (V5 … V10) GUI for .NET early adaptor (since 10/2006)

3 Agenda Review GUI for .NET Adoption challenges Adoption strategies
Parallel use of ABL GUI and GUI for .NET Embedding of ABL GUI into GUI for .NET (and vice versa) New development using GUI for .NET Conclusion

4 OpenEdge GUI for .NET A Microsoft® .NET™ based Windows graphical user interface that can replace or be integrated into an existing OpenEdge GUI application

5 OpenEdge GUI for .NET State-of-the-art UI on the Windows desktop
Integrated feature of OpenEdge 10.2A and 10.2B Supported by both GUI clients Fat client, prowin32.exe WebClient No separate license required Deployment Development Access and use any .NET control

6 Agenda Review GUI for .NET Adoption challenges Adoption strategies
Parallel use of ABL GUI and GUI for .NET Embedding of ABL GUI into GUI for .NET (and vice versa) New development using GUI for .NET Conclusion

7 Adoption Challenges Need to support pre-10.2A users as well
Thousands of existing screens Training requirements OO fundamentals (new programming paradigm) .NET fundamentals Infragistics controls (or any other vendor) OpenEdge 10.0: ProDatasets etc. New tool: OpenEdge Architect

8 Adoption Challenges What are our architecture requirements?
Where’s the ADM3? Or at least a working complete sample application? I’ve never used Office 2007, but my customers or sales people request the ribbon… Dockable panes, Explorer bars? What are you talking about? Where the heck is the “Orb” in Office 2010?

9 Agenda Review GUI for .NET Adoption challenges Adoption strategies
Parallel use of ABL GUI and GUI for .NET Embedding of ABL GUI into GUI for .NET (and vice versa) New development using GUI for .NET Conclusion

10 Parallel Use of ABL GUI and GUI for .NET
Progress client supports ABL widgets and .NET controls at the same time Procedures may instantiate and interact with classes Classes may run procedures Procedures may create .NET controls and subscribe to events

11 Enable ABL UI menu.w to support .NET Forms
Requires: The (one and only) WAIT-FOR Statements needs to be .NET style Small modification in mainmenu.w program WAIT-FOR CLOSE OF THIS-PROCEDURE . /* .NET WAIT-FOR not associated to a .NET Form */ WAIT-FOR System.Windows.Forms.Application:Run () . /* Use this method to terminate the WAIT-FOR, e.g from a WINDOW-CLOSE trigger. */ System.Windows.Forms.Application:Exit() .

12 Enable ABL UI menu.w to Support .NET Forms
Requires: The (one and only) WAIT-FOR Statements needs to be .NET style Small modification in mainmenu.w program Replace WAIT-FOR for .NET support WAIT-FOR CLOSE OF THIS-PROCEDURE . /* .NET WAIT-FOR not associated to a .NET Form */ WAIT-FOR System.Windows.Forms.Application:Run () . /* Use this method to terminate the WAIT-FOR, e.g from a WINDOW-CLOSE trigger. */ System.Windows.Forms.Application:Exit() .

13 Demo .NET Form started from ABL menu program
ABL window started from .NET menu form

14 Demo

15 Demo

16 Demo

17 Demo

18 Demo

19 Agenda Review GUI for .NET Adoption challenges Adoption strategies
Parallel use of ABL GUI and GUI for .NET Embedding of ABL GUI into GUI for .NET (and vice versa) New development using GUI for .NET Conclusion

20 Integration of ABL GUI into .NET Forms
ABL Windows embedded into .NET Forms Core feature of OpenEdge 10.2A and 10.2B, contents of Window will be embedded into a .NET control Original intention was mixed mode MDI Upgrading the appearance of ABL application by using .NET controls (menu, toolbar, Explorer bars, dockable panes, lookups with UltraGrid, …) Step-by-step introduction of additional (Infragistics) controls to increase users productivity Active X controls contained on the window are well supported (documented in K-Base)

21 Demo Sample MDI container showing various embedding scenarios
AppBuilder view Embedded view (runtime) MDI Childs with Toolbar Independent Windows with ribbons Turning ADM2 Tabfolder into dockable panes Overlaying ABL Browse Widget with UltraGrid control

22 .NET MDI Container

23 AppBuilder View

24 Embedded View

25 Embedded View Menu-Bar, part of Infragistics Toolbar

26 Dockable Panes

27 Dockable Panes

28 Dockable Panes

29 Browser

30 Browser replaced with UltraGrid

31 Embedded ABL Windows Progress offers two controls for embedding:
Progress.Windows.WindowContainer System.Windows.Forms.UserControl System.Windows.Forms.Control Progress.Windows.MDIChildForm Progress.Windows.Form System.Windows.Forms.Form

32 XXXXX Embedded ABL Windows Progress offers two Controls for embedding:
Progress.Windows.WindowContainer System.Windows.Forms.UserControl System.Windows.Forms.Control Progress.Windows.MDIChildForm Progress.Windows.Form System.Windows.Forms.Form XXXXX

33 Embedded ABL Windows Menu Bar Window Border Client Area (FRAMEs)
Message Area Status Area

34 Embedded ABL Windows Client Area (FRAMEs)

35 Embedded ABL Windows .NET Form Client Area (FRAMEs) Window Container

36 Embedded ABL Windows ASSIGN oContainer = NEW WindowContainer ()
oContainer:EmbeddedWindow = hWindow . Window may not yet be REALIZED (i.e., HIDDEN and VISIBLE not yet set, no LOAD-ICON) When using AppBuilder generated code, this is only possible by using the Method-Library and include files

37 Recommended Practices
Use include files for modifications on existing .w files; use compile-time check for pre 10.2A support Render .NET controls dynamically from existing ABL widgets (menu, toolbar first) Identification of additional ABL widgets that may be substituted with .NET controls (low-hanging-fruits first, tab folder, browser, …) Design specialized .NET controls using Visual Designer, no dynamic code without need

38 Recommended Practices / Event Handling
Keep the control in the .w file to reuse existing logic .NET Event handlers should APPLY ABL Events CLOSE OF WINDOW FormClosing Event should always be cancelled as ABL WINDOW-CLOSE trigger might terminate with RETURN NO-APPLY CHOOSE of MENU-ITEM, BUTTON, … .NET ToolClick Event Handler executes ABL Event (i.e., CHOOSE on ABL widget)

39 Real-world Sample I: Update Texware / Germany
ERP for textile producers of a German Progress partner AppBuilder view Runtime GUI for .NET Own framework, developed in V7/V8 Transition to multi-window application Challenge with pessimistic locking and large transactions 10 days of research, customization of partners’ framework and WinKit

40 Real-world Sample I: Update Texware / Germany

41 Real-world Sample I: Update Texware / Germany

42 Real-world Sample I: Update Texware / Germany

43 Real-world Sample II: Shuttleworth / UK
UK-based Progress Partner Huge ERP system for printing industry V8 style framework (ADM1-like) Clear vision of Outlook look-and-feel Browse windows as MDI children Data windows as separate windows Similar to Outlook where s and Appointments are opened separately Majority of changes in existing framework Minor changes to existing screens

44 Shuttleworth: Menu Toolbar & Browse Window

45 Shuttleworth: Menu Toolbar & Browse Window

46 Shuttleworth: Menu Toolbar & Browse Window
ABL Frame

47 Shuttleworth: Data Window

48 Shuttleworth: Data Window

49 Shuttleworth: Data Window
ABL Frame

50 Customer Feedback on Embedded Windows
Takes away time pressure from Progress ISV Recognizable UI improvements with minimal effort Reduced implementation risk (reduces testing and training) Same source code remains usable on V9, V10.0, V (preprocessor checks) Simplified maintenance, single code base Developers can still use the well-known tools (AppBuilder) to maintain the application Technology change at the pace of the team, not the trend No “shock” for existing users, but sales easier

51 Enhancing ABL GUI‘s Appearance
Don’t underestimate the power of new icons or images (before showing the first prototype to users or decision makers) It’s usually worth US$ 250 — for s of icons (even when you may have to change later) Review colors and fonts of the ABL GUI, use the blue colors known from Office 2007/2010, use modern fonts (Segoe UI, Verdana)

52 Agenda Review GUI for .NET Adoption challenges Adoption strategies
Parallel use of ABL GUI and GUI for .NET Embedding of ABL GUI into GUI for .NET (and vice versa) New development using GUI for .NET Conclusion

53 New Development Using GUI for .NET
Possible strategies New screens integrated into existing application (e.g., scheduler/planning screen or drill down) Redevelop whole client New development might go along with an architectural revision (OERA) UI as the driver for new architecture

54 New Development Using GUI for .NET
Don’t underestimate the time required to build (good) reusable components Requires at least basic OO understanding Type concepts, interface types, CAST Strong typing can be a blessing and a curse UI Framework or template building requires good OO design skills and knowledge about Visual Designer internals Extension of (some) .NET classes is key to productive application development Don’t inherit just because “you can”

55 New Development Using GUI for .NET
Get used to MSDN, Infragistics Forum, Google and .NET community sites (e.g. Codeproject) to find answers to how-to questions Learn translating C# or VB.NET to ABL Consider hiring a .NET developer or mentor for the UI (but let him know that AppServer is not an SQL server or a Web server)

56 Agenda Review GUI for .NET Adoption challenges Adoption strategies
Parallel use of ABL GUI and GUI for .NET Embedding of ABL GUI into GUI for .NET (and vice versa) New development using GUI for .NET Conclusion

57 Conclusion GUI for .NET is well integrated in today’s ABL and client products Fully compatible to classic ABL GUI Nobody forces you to rewrite your client (at once) Start with integrating existing app into GUI for .NET Consider new architecture (OERA) Tools available to support adoption of GUI for .NET Start using OpenEdge Architect and OO today! That is the best starting point for GUI for .NET

58 Additional Information
Please visit our booth at the Exchange Online 2010 solutions expo! WinKit Update texware case study WinKit showcase SmartComponent Library GUI for .NET Forum on

59 OpenEdge GUI for .NET Adoption and Migration Strategies
Session 1018 OpenEdge GUI for .NET Adoption and Migration Strategies Mike Fechner Senior Architect & Director, Consultingwerk Ltd.


Download ppt "OpenEdge GUI for .NET Adoption and Migration Strategies"

Similar presentations


Ads by Google