Presentation is loading. Please wait.

Presentation is loading. Please wait.

The Next Generation OpenEdge® IDE

Similar presentations

Presentation on theme: "The Next Generation OpenEdge® IDE"— Presentation transcript:

1 The Next Generation OpenEdge® IDE
OpenEdge® Architect The Next Generation OpenEdge® IDE Tomáš Kučera Principal Solution Engineer / EMEA Power Team

2 > whoami TKU Started with Progress Software Czech Republic – Dec 19, 1994 2 Technical Support (1996 at ETSC) Since Dec 1996 – Consultant, Presales, Trainer, Project Manager Currently – GFS Mgmt responsibilities for Cze&Pol, Member of the EMEA Power Team – primary responsibility for SAND Product Areas: OpenEdge, Sonic, some Apama and Actional Contact: Skype: tomas_kucera

3 Agenda What is OpenEdge Architect Adopting OpenEdge Architect
What‘s new in OpenEdge Architect 10.1B

4 What is OpenEdge Architect
OpenEdge Architect is an Integrated Development Environment (IDE) for building service oriented business applications (SOBA). OpenEdge Architect provides an open, intuitive and extensible toolset that enhances OpenEdge developer productivity

5 What is OpenEdge Architect
Eclipse (foundation platform) Tools for Business Logic Meta Catalog DB Navigator Debugger ABL Editor Future: New Plug-ins OpenEdge Runtime Data Administration OpenEdge Studio AppBuilder Pro*Tools, ProxyGen WebSpeed Workshop OpenEdge Database OpenEdge Development Server Application Server WebSpeed Transaction Server Client Networking

6 What is OpenEdge Architect
Available Tools DB Navigator Editor Debugger Tools for Business Logic AppBuilder Integrator Meta Catalog

7 What is OpenEdge Architect
Key Concepts Workspaces Projects Perspectives Views

8 OpenEdge Architect - Workspaces
Personal area that contains Projects, folders and files Configuration settings Preferences Can use multiple workspaces e.g. Different releases Different environments like development, testing, deployment Export / Import preferences between workspaces Project directory does not have to sit under the workspace directory

9 OpenEdge Architect - Projects
Live in a workspace Contain folders and files for resource organization Example of projects Web project Business services project What is a project Examples of projects Change the graphics Make the project bigger

10 OpenEdge Architect - Perspectives
Defines initial set and layout of views Provides a set of functionality aimed at accomplishing a specific type of task Role based A Perspective is a group of views arranged in a layout Each perspective is fully customizable The goal of a perspective is to provide a set of views arranged in a particular way to help the user in accomplishing a task as efficient as possible. Examples: - OpenEdge Editor Perspective - DB Navigator Perspective - OpenEdge AppBuilder Perspective

11 OpenEdge Architect - Views
Allows a developer to view or interact with a specific information The type of interactions a developer is allowed to perform depends upon the specific functionality of the view

12 Benefits of using OpenEdge Architect
Setup once, easy to share Provide SCM tools integration Easy to switch between different environments PROPATH settings Database connections Build settings

13 OpenEdge Architect Demonstration

14 Agenda What is OpenEdge Architect
What‘s new in OpenEdge Architect 10.1B Adopting OpenEdge Architect

15 OpenEdge Architect 10.1B General Enhancements 64-bit Support
Summary General Enhancements 64-bit Support Cheat Sheets Removal of Linked Resources Directory Customization Source Directory Support DB Connection Unification Debugger Framework Object-oriented Extensions Dynamics run from OpenEdge Architect The enhancement section covers general and miscellaneous changes that have been made to OpenEdge Architect for 10.1B. This are changes that are important, but not large enough from a training perspective to warrant there own section.

16 Eclipse Versions OpenEdge Architect ships with the Eclipse 3.2 platform Other versions of Eclipse are not supported with OpenEdge Architect 10.1B OpenEdge 10.1A used Eclipse version Once you open a workspace that was at version with Eclipse 3.2, which is the version of Eclipse in 10.1B1B, it can no longer be opened with Eclipse Warning: Once you open a workspace with Eclipse 3.2 it can no longer be opened with Eclipse 3.1.1

17 Some of the benefits going to Eclipse 3.2
Cheat Sheets See OpenEdge Architect Cheat Sheets in this session Problems view enhanced Example grouping by severity Preference - Limit visible items per-group Here uses default of first 100 Description can be hidden Group by Severity Toggle for Description Show 100 of 222

18 Changed Directory Structure
Directory structure changed to allow OpenEdge specific plug-ins to be included into a customers own Eclipse installation Eclipse installation can point to the sub-directory that contains the Architect plug-ins We only support the installation that ships with OpenEdge If a customer use their own Eclipse install and encounters a problem they will need to reproduce the problem using the OpenEdge installation of Eclipse Having Architect plug-ins in their own sub-directory, separate from the version of Eclipse that installs with OpenEdge, makes it easier for customer that prefer to use their own install of Eclipse. Note that when installing OpenEdge, Eclipse will still be installed when OpenEdge Architect is installed, even if the customer plans to use their own version of Eclipse.

19 OpenEdge Architect Installation Directory Structure Changes
OpenEdge Architect features/plug-ins now in their own sub-directory DLC\oeide\architect 10.1A mixed with standard Eclipse 10.1B New

20 Change in Editor Functionality
Works like include file support in 10.1A Hover on name of RUN shows location if available Project name and relative path Else Path if in ProPath Location of internal procedure Mouse Double-click opens and positions to RUN item if available For 10.1B Hover help display for RUN statements showing the project name and project relative path to files, external procedures, provided the file name can be found in the ProPath. The format is consistent with the 10.1A include file behavior. The project name is displayed followed by the project relative path if the program file exists within a project. If the program cannot be found, then a “File not found” message is displayed. Double-clicking the mouse in the editor on the name of a program in a RUN statement opens that file in a the editor if the file can be found. If it cannot be found, then there is no effect. This same functionality has also been added for internal procedures referenced in RUN statements. The hover message will display the name of the internal procedure. If the internal procedure is in an external file then the location of the file is displayed followed by the name of the internal procedure. Double-clicking the mouse on the name of an internal procedure will open move the cursor to the start of the internal procedure. If the internal procedure is in an external file referenced by the current file, then the external file will be opened, and the cursor positioned to the internal procedure. Internal Procedure <Project name> and External Procedure

21 Run <program> Selecting drop down run list now shows the name of the program that will be Run local.p, selected in editor, and shown on Run menu option

22 Outline View Option added to expand include content into outline view
Option allows ABL code to open faster in the editor by not automatically expanding/analyzing include content Prior to 10.1B includes were always expanded For 10.1B expands when file is modified or when button ‘Expand Include file contents…’ is selected

23 Cheat Sheets Brief summary of steps to complete tasks
Links allowing quick access to more information Supplements standard documentation Utilizes new functionality in Eclipse for Cheat Sheets Future releases may… Automate task steps Implement interactive tutorials The goal of Cheat Sheets in OpenEdge Architect is to guide users through a series of complex tasks. They make it easier to use the toolset, thus lowering the barriers to adopting OpenEdge Architect. OpenEdge Architect utilizes new Cheat Sheet functionality that was added to Eclipse. The standard documentation that comes with OpenEdge Architect provides complete information on all of the functionality that makes up the product. The value Cheat Sheets is that they put this same information in a set short summary of steps that allow users to complete defined tasks. In other words, Cheat Sheets supplement the current documentation. Links are provided in many areas of the Cheat Sheets to allow users to jump to the location in Architect that provides complete documentation topics covered. Cheat Sheets do this by: Providing a brief summary of the steps to complete tasks Providing quick and easy access to more information in the current documentation Automating the steps involved in completing a task (launching tools, changing perspectives etc…) Implementing interactive tutorials However, Cheat Sheet functionality for Architect will be delivered incrementally. In the 10.1B release, the Cheat Sheets will not have automation or interactive tutorials. For 10.1B Architect provides task summaries and the linking to OpenEdge help. Subsequent releases of OpenEdge Architect may have automation or interactive tutorials.

24 Cheat Sheets Topics in 10.1B
To select OpenEdge cheat sheets open the Cheat Sheet Selection dialog by selecting Cheat Sheets from the workbench help menu. The following OpenEdge cheat sheets are available for 10.1B: Using ABL Annotations — Creating OpenEdge Database Connection Profiles — Creating SQL Connection Profiles — Troubleshooting JDBC driver — shows how to check the configuration parameters for the default OpenEdge driver. JDBC Driver Configuration — summarizes driver configuration. OpenEdge Projects — summarizes how to create an OE Architect project and add resources. Access from workbench menu: Help  Cheat Sheets…

25 Cheat Sheets Cheat sheets simplify the use of tools by guiding the user through a series of complex tasks to achieve an overall goal New Options Off of the Workspace Help menu are two new options. One of those allows Cheat Sheets to be selected. The other option, although it is not the focus of this slide, is new way to select Keyword Help. Selecting Cheat Sheets from the help menu pops up a list of categories that have Cheat Sheets defined for them. Select the OpenEdge category to see the available Cheat Sheets that are specific to OpenEdge. The screen shot above provides an example of a Cheat Sheet, showing Configuring JDBC Drivers.

26 Customization Goal - Provide an easy way to customize some parts of the OpenEdge Architect development environment Allows users to: Add actions to a menu or toolbar For example to call an ABL program Specify a template for creating a file For example when creating a new ABL program Specify a template that overrides an OpenEdge Architect template In 10.1A OpenEdge Architect does not provide any means by which an ABL user can customize the functionality of the menu entries or the templates used for generating code. The only method available in 10.1A is for a user to write an Eclipse Platform based plug-in, which requires skills in Eclipse and Java development. The goal of customization is to add features that make customizing the menus and template functionality within OpenEdge Architect easier for ABL developers. Customization functionality in 10.1B allows a users to: Add actions to a menu or toolbar that calls an ABL developer’s program Specify a new template that can be used to create a new file (i.e. creating a new ABL program) Specify a template that overrides an existing template that already exists within OpenEdge Architect ABL developers will not be required to know java to use any of the Customization functionality. Non-goals: To provide a complete customization tool. A tool is already written in the form of the Eclipse Plug-in Development Environment (or PDE). The PDE provides a complete set of tools for creating Eclipse platform plug-ins that can be used with OpenEdge Architect. Provide a means to create new template files. Internals: The customization editor works by modifying the plugin.xml file for the new plug-in that supports Customization. The plugin.xml file is the standard file that is used by all Eclipse Platform plug-ins that contribute features to the user interface. The new plug-in is named com.openedge.pdt.extensibility.user. This plug-in ships as part of OpenEdge Architect, but does not initially contribute any functionality to the UI for OE Architect. The OpenEdge Architect user uses the customization editor to modify the plugin.xml file. ABL developers are not required to know the details of the plugin.xml file itself or its location. The customization editor presents the user with a simplified interface that requires only what is required to modify the supported features, or tool bars, menus, and templates. All customizations that ABL developers create using the customization editor are contributed to the OpenEdge Editor perspective. Developers do not need to know Java

27 Customization Editor Used to customize the OpenEdge Editor Perspective
Editor selectable from Workbench menu The new Customization Editor will be the primary way for developers to customize OpenEdge Architect. The editor’s main goal will be to make it easy for the user to add supported functionality to certain areas of the product. However, this editor will not prevent a user from writing their own Eclipse platform plug-in, should users want to make changes that are not supported by the Customization editor. The Editor is can be opened by selecting it from the workbench menu OpenEdge > Customization Editor. The Customization Editor provides users with the ability to extend there OpenEdge Architect environments easily. However, keep in mind that the users must have defined their own ABL tools and/or templates to make use of these features. Customizations that ABL developers create to OpenEdge Architect are contributed to the OpenEdge Editor perspective.

28 Customization X Used to add ABL based tools to the OpenEdge Architect menu and toolbar Y Used to add ABL based tools to the context menu of the OpenEdge Editor Z Used to add a new template Q Used to override an existing template with a customized template Menu/Toolbar Entries: The customization editor allows ABL developers to define a new menu or toolbar entry, that when chosen, runs an ABL program. The ABL program needs to be provided by the user. If the user chooses to put their new entry on the menu, the new menu entry is displayed as part of a new menu that contains only the menu entries created by an ABL developer. The name of the menu can be set within the editor. This menu will become part of the OpenEdge Editor perspective. If the user chooses to add their program to the toolbar, then a new toolbar group will be created and all of the user’s menu entries will be grouped together within that toolbar group. Editor Context Menu: The editor also allows ABL developers to add their program to the context menu for the OpenEdge Editor in the same manner as adding the program to the main OpenEdge Architect menu or toolbar. The user’s programs should be added to a specific submenu of the context menu in order to avoid over populating the context menu. As it stands right now, there are currently 23 menu and submenu entries on the context menu. Any more on the primary level of the context menu would probably be too many, especially if the user had more than a couple of program entries. New Templates: The customization editor provides a means for a user to specify a template that will be used as the basis for a new file wizard. The new file wizard prompts the user for a few pieces of information such as the file name and then uses the template specified by the user to generate the code. The customization editor uses this information to create a new file wizard entry in the plugin.xml file. The wizard entry appears on the File  New menu of OpenEdge Architect. Template Overrides: The editor presents the user with a list of templates that can be overridden. The user will specify the new template file to be used. When the wizard that uses that template is run, the wizard generates code using the overridden template instead of the default OpenEdge Architect template.

29 Menus and Toolbars Menus and Toolbars can call
ABL programs Defined launch configurations Menus allow accelerator keys to be specified ABL programs can be set to run either persistent or non-persistent Entries disabled if OpenEdge project context is not available OpenEdge runtime is not available The user can choose a launch configuration to start instead of a program to run. The user can choose among the list of predefined launch configurations. This allows them to place a specific launch configuration on the menu or toolbar. Whenever the menu or toolbar entry is selected, the specified launch configuration is run. When defining a menu the user can specify a key binding (accelerator key) that allows the user to run the program without needing to navigate to the menu selection. The user can define whether the program should be run persistently or non-persistently. The OpenEdge runtime that the programs run in is defined by the current selection context. If an editor is in focus and is currently open against a file that is part of an OpenEdge project, and the OpenEdge runtime for that project is available, then the program is allowed to run. If the resources view is in focus and the first resource that is selected is from an OpenEdge project, and the runtime for the OpenEdge project is available, then the program is allowed to run. If any other editor or view is selected, then there is no available OpenEdge runtime context, and the program entry on the menu and/or toolbar is disabled. To execute ABL programs requires a running OpenEdge runtime. The option to run a program is disabled when there is no context in which to run. For example, if there are no projects available within OpenEdge Architect then the program cannot be run, so the individual entries are disabled. For an entry to call an ABL program that is placed on the OpenEdge editor’s context menu, the program entry will be enabled if the editor is open against a file from an OpenEdge project, and the OpenEdge runtime is available.

30 Templates (New and Overrides)
Editing existing templates requires some knowledge of template format How to do this is not provided in OpenEdge documentation Starting point is the white paper: OpenEdge Architect™ Working with Custom Templates Writing new templates requires users knowledgeable in using JET and its associated technologies Starting point: The customization editor makes it much easier for users to override or add new templates that are going to be used in the OpenEdge Architect environment. However, modifying and creating templates requires knowledge that is beyond the scope of what is supported by PSC and the documentation that is provided by OpenEdge. Users will need to go to other sources such as the eclipse website. A whitepaper is provided by Progress to help users get started on how to customize templates. The title of the white paper is OpenEdge Architect™ Working with Custom Templates. A good place to start at the eclipse website is with the two tutorials on how to use JET:

31 Sharing Customizations
Customizations are saved in the plug-in com.openedge.pdt.extensibility.user To share plug-ins copy this plug-in from the plug-in directory where the customizations were created (the source) to the plug-in directory of another users plug-in directory (the target) Copy the com.openedge.pdt.extensibility.user plug-in from/to directory C:\Progress\OpenEdge\oeide\architect\eclipse ###

32 Removing All Customizations
To remove all customizations do one of the following: Select remove for each customization Replace plug-in com.openedge.pdt.extensibility.user with the original installation version of this plug-in

33 Passing Events Options exist to allow the capture and response to certain ABL events Allows ABL developers to customize their development environments Architect publishes events to the associated OpenEdge runtime for a project See 10.1B documentation for more details One of the options that is available is to allow the user to capture and respond to events from ABL when certain actions are performed within OpenEdge Architect. In OpenEdge Studio, when an ABL developer uses the AppBuilder or Procedure Editor for development a number of operations the user performs are trapped and sent to a program called _adeevnt.p. These events are related to file events such as file open, file close, and file save. There are also events for AppBuilder startup and shutdown as well as others. A similar mechanism has been implemented in OpenEdge Architect so that ABL developers can customize their development environment. OpenEdge Architect publishes events within the OpenEdge runtime for a project if it is available. Certain actions in the AppBuilder can be cancelled by the return code of the _adeevent.p. Canceling an action in OpenEdge Architect is not possible. These actions may not be fired in the OpenEdge runtime if the runtime is in a state where it cannot receive the event. An example would be a user opening or closing a file while running the debugger. Because of the single-threaded nature of the OpenEdge runtime, IDE events cannot be run without the risk of interfering with a running process. Published events: File Open File Close Before file save After file save Before file compile After file compile Before run After run IDE Project Startup IDE Project Shutdown Before debug After debug These events are published using the PUBLISH () function within the OpenEdge ABL. The published events will pass the project name, event name, and the full file name as appropriate. Only a single published event will be defined. This one event will contain the name of the event as one of the parameters that is passed to any subscribers. Using OpenEdge Studio within OpenEdge Architect results in both the AppBuilder events being fired through _adeevnt.p as well as the published events from Architect. For developers that need to use the events within Architect it is recommended that they use the events published from OpenEdge Architect instead of the OpenEdge Studio events where possible. When OpenEdge Architect starts the OpenEdge runtime for a particular project, a file called _idestartup.p is searched for and executed if it exists within the ProPath of the project’s runtime. This file is called as the last part of initializing the OpenEdge runtime. The _idestartup.p hook is provided as a mechanism for ABL developers to start any programs needed within their environment. ABL developers are now able to subscribe to the published events from within their applications or using the _idestartup.p procedure.

34 Equating Events OpenEdge Studio OpenEdge Architect New Before-Open
Open-file Before-Close Close Close-file Before-Save Before-save Save After-save Before-Compile Before-compile Compile After-compile Before-Run Before-run Run After-run Before-Debug Before-debug Debug After-debug Before-Check-Syntax Check-Syntax Before-Check-Syntax-Partial Check-Syntax-Partial Startup Project-startup Shutdown Project-shutdown The table shows both the OpenEdge Studio events and the OpenEdge Architect events and their approximate corollary.

35 OpenEdge Architect Demonstration

36 Agenda What is OpenEdge Architect
What‘s new in OpenEdge Architect 10.1B Adopting OpenEdge Architect

37 Adopting OpenEdge Architect
Where to start Application Code Single Project in OpenEdge Architect

38 Adopting OpenEdge Architect
Maybe it‘s time to break up ... the code Considerations: Packaging and deployment Working on multiple releases Examples By application modules e.g. order processing By server and client By OpenEdge Reference Architecture layers By different client types e.g. GUI, Web By technology e.g. ABL and Java™ projects Any combination of above… How do I make my application modular? What are the dependencies among my application

39 Adopting OpenEdge Architect
Leveraging the project environment Application Code Multiple Projects Server Chui GUI Common utilities Propath outside of project Dependency structure

40 Headline – Arial 32 pt. Text – Arial 28 pt.
Subtitle Goes Here - Arial Italic 24 pt. Text – Arial 28 pt.

41 Two-line Headline Arial 32 pt.
Subtitle Goes Here - Arial Italic 24 pt. Text – Arial 28 pt.

42 Question? Tomáš Kučera Skype: tomas_kucera


Download ppt "The Next Generation OpenEdge® IDE"

Similar presentations

Ads by Google