Try OpenEdge Now
skip to main content
Online Help
Introducing Tools for Business Logic : Concepts : Application modeling

Application modeling

In the context of Progress Developer Studio for OpenEdge, modeling is the process of creating visual representations of application components and their associated relationships, and storing these components in a format that makes it easy to share and reuse them. The tool used for this process is the Component Designer, a graphical editor.
With Tools for Business Logic, you can use two basic approaches:
*Model-to-code (forward engineering) - You begin by using the Component Designer to create a visual diagram of a component. Tools for Business Logic can generate the ABL code corresponding to the diagram on demand.
*Code-to-model (reverse engineering) - You use Tools for Business Logic to derive component diagrams from existing ABL code. You can then edit the diagrams with the Component Designer, and store and reuse the components.
The results of the design process are captured in two forms:
*A diagram, which is the visual representation of a single component and its subcomponents. This is the resource that you directly edit. The diagram file simply stores the information needed to render the picture that appears in the Component Designer.
*A component model, which stores detailed information about the structure and relationships of all components in a project. You assign each diagram to a specific component model, and although you may have many models in your workspace, each component belongs to only one model. When you save a diagram, or when you derive a diagram from existing code, its associated model is automatically updated. The component model is stored either in a OpenEdge database or as an XMI (EMF Ecore) file.
Two entities govern the creation of Tools for Business Logic components and the generation of the corresponding ABL code:
*Component definition file - An Ecore file that contains the rules of component structure. The component definition file determines what types of components you can create and what options are available in the Component Designer for constructing each type.
*Template - A JET (Java Emitter Template) file that specifies how the structure of a valid component is defined in ABL code. There is one template for each component type.
Progress Developer Studio for OpenEdge provides a standard model definition file and templates for the supported component types. Customization of these files requires advanced knowledge of Java and JET concepts and syntax, and working knowledge of EMF. If you choose to customize any of these files, be sure to keep backup copies of the original versions.