DEV07 Increasing Productivity with Tools for Business Logic
DEV-07: Increasing Productivity with Tools for Business Logic Gikas Principal Software Engineer
Under Development D n n I S C L A I M E R This talk includes information about potential future products and/or product enhancements. What I am going to say reflects our current thinking, but the information contained herein is preliminary and subject to change. Any future products we ultimately deliver may be materially different from what is described here. 2 © 2005 Progress Software Corporation DEV-07: Increasing Productivity with Tools for Business Logic
Agenda n n n What are Tools for Business Logic? Code/Model Development Tools for Business Logic Approach Tools for Business Logic in Action Summary Q&A 3 © 2005 Progress Software Corporation DEV-07: Increasing Productivity with Tools for Business Logic
What are Tools for Business Logic? n Visual design tools for the development of business objects – Business objects represent the data elements and business logic code that provide application functionality n n n Included in the new Open. Edge™ IDE Supports the Open. Edge Reference Architecture Support for custom Application Models 4 © 2005 Progress Software Corporation DEV-07: Increasing Productivity with Tools for Business Logic
The Big Picture Enterprise Services Users §Tools for Business Logic build on a foundation of data access tools Open. Edge Studio Presentation Layer New Sonic Release Integration Layer Business Servicing Layer §Tools for Business Logic can have design-time and runtime implementations Tools For Business Logic Data Access Layer Managed Data Stores DB Navigator 5 © 2005 Progress Software Corporation Unmanaged Sonic XML Data Stores Editors DEV-07: Increasing Productivity with Tools for Business Logic
Right Tool for the Job Component. Oriented Tools and Languages Data-Oriented Tools and Languages OO/4 GL SQL, XML ERD, etc Tools for Business Logic 6 © 2005 Progress Software Corporation ? ? ? JAVA™, C# UML, etc DEV-07: Increasing Productivity with Tools for Business Logic
Agenda n n n What are Tools for Business Logic? Code/Model Development Tools for Business Logic Approach Tools for Business Logic in Action Summary Q&A 7 © 2005 Progress Software Corporation DEV-07: Increasing Productivity with Tools for Business Logic
Code/Model Development Accommodate a wide range of development styles Code written by hand can easily be transformed into visual model components Text/Code Oriented Visual/Graphically Oriented Code-centric Model-centric Code/Model Development Model components can be visually edited and the code elements will reflect the change 8 © 2005 Progress Software Corporation DEV-07: Increasing Productivity with Tools for Business Logic
Code/Model Round Trip § Code can be created or edited at any time § Code is not dependent on a model DEFINE TEMP-TABLE tt. Cust LIKE Customer. DEFINE TEMP-TABLE tt. Order LIKE Order. DEFINE TEMP-TABLE tt. Ordlin LIKE Order. Line. DEFINE DATASET Cust. Ord. Lin FOR tt. Cust, tt. Order, tt. Ordlin DATA-RELATION Customer_Order FOR tt. Cust, tt. Order RELATION-FIELDS (Cust. Num, Cust. Num) DATA-RELATION Order_Order. Line FOR tt. Order, tt. Ordlin RELATION-FIELDS (Order. Num, Order. Num). DEFINE INPUT PARAMETER Num. Custs AS INTEGER. DEFINE OUTPUT PARAMETER DATASET FOR Cust. Ord. Lin. DEFINE OUTPUT PARAMETER s. Error AS CHARACTER. DEFINE DATA-SOURCE src. Cust FOR Customer. DEFINE DATA-SOURCE src. Order FOR Order. DEFINE DATA-SOURCE src. Oline FOR Orderline. BUFFER tt. Cust: ATTACH-DATA-SOURCE(DATA-SOURCE src. Cust). BUFFER tt. Order: ATTACH-DATA-SOURCE(DATA-SOURCE src. Order). BUFFER tt. Ordlin: ATTACH-DATA-SOURCE(DATA-SOURCE src. Oline). BUFFER tt. Cust: BATCH-SIZE = Num. Custs. tt. Cust tt. Order. Lin Cust. Num: INTEGER Cust. Name: CHARACTER Contact: CHARACTER Country: CHARACTER § Code elements can be transformed into model elements at any time § Models can be disassociated from code at any time Order. Num: INTEGER Line. Num: INTEGER Item. Num: INTEGER Qty: DECIMAL 1 N tt. Order N Order. Num: INTEGER Cust. Num: INTEGER Order. Date: DATE Ship. Date: DATE 1 § Models create structure and code that can be edited § Based on Templates and Rules 9 © 2005 Progress Software Corporation DEV-07: Increasing Productivity with Tools for Business Logic
Stages of Code/Model Development More Code-oriented More Graphically-oriented Cataloged Components Hand Coding § Customary developcompile process § Basic editing features § Annotated code § Components dragged into code Visual Construction § PDS/ADS tools § Drag into code 10 © 2005 Progress Software Corporation Application Model § Graphs of models § Rules govern the implementation Composite Components DEV-07: Increasing Productivity with Tools for Business Logic
First Look at Tools for Business Logic 11 © 2005 Progress Software Corporation DEV-07: Increasing Productivity with Tools for Business Logic
Agenda n n n What are Tools for Business Logic? Code/Model Development Tools for Business Logic Approach Tools for Business Logic in Action Summary Q&A 12 © 2005 Progress Software Corporation DEV-07: Increasing Productivity with Tools for Business Logic
How the Designers Work Overview of Designer Elements Model Definition Data Schema Visual Designer Catalog 1 N N Code Generation Abstract Syntax Tree (AST) Code 13 © 2005 Progress Software Corporation DEV-07: Increasing Productivity with Tools for Business Logic
Catalog-Oriented n Catalog Store and index application metadata eg – Code annotations – Cross-reference data – Define your own! n n Simplifies management and organization of components Some components will be cataloged automatically by the IDE Can be created and managed independent of the IDE Rebuild on demand – therefore not a repository 14 © 2005 Progress Software Corporation DEV-07: Increasing Productivity with Tools for Business Logic
Organized Development Spaghetti to Kabob Code Meta Data Template Component Catalog Meta Data Schema Definitions Components BE, DAO 15 © 2005 Progress Software Corporation DEV-07: Increasing Productivity with Tools for Business Logic
Annotation-Oriented n @ Annotations describe code elements @module(name=“AR”) @ads-link(type=“dataset”, name=“order”) n n n Used by tools for business logic designers to implement Code/Model approach Stored and organized in the Catalog Define your own annotations – Bug tracking, packaging etc. 16 © 2005 Progress Software Corporation DEV-07: Increasing Productivity with Tools for Business Logic
Template-Driven n n Consistent and customizable starting points for application components Support for wizards <%@ jet package="hello" class="New. Procedure. Template" %> <%@ include file="copyright. txt" %> /*----------------------------File: <%=args. get('file. Name')%> Description: <%=args. get('description')%> Purpose: <%=args. get('purpose')%> Parameters: Author: <%=args. get('author')%> Version: <%=args. get('version')%> Update Notes: Initial Implementation ----------------------------*/ 17 © 2005 Progress Software Corporation DEV-07: Increasing Productivity with Tools for Business Logic
Tools for Business Logic – Visual Designers Text Editors: (4 GL, Web. Speed, XML, SQL) Resource, Catalog & Component Explorers Outline View for Code and Schemas 18 © 2005 Progress Software Corporation Visual Editors: (Model, Schemas) Create components from templates DEV-07: Increasing Productivity with Tools for Business Logic
The Schema Designer XML Designer Data Set Designer n The centerpiece of the tools for business logic – Most data-oriented objects have schema that needs to be created and manipulated n Graph Tree Code Operates like an ERD tool and is used to create Application Data Schemas (ADS) 19 © 2005 Progress Software Corporation DEV-07: Increasing Productivity with Tools for Business Logic
Application Data Schema Designer Drag and Drop Logical Data Objects Component Catalog Explorer ADS Explorer Application Data Schema (Canvas) Drag and Drop Physical Data Objects DB Navigator Pro. Data. Set Logical Objects Physical Objects Component Code and Mapping DEV-07: Increasing Productivity with Tools for Business Logic 20 © 2005 Progress Software Corporation
Data Source Mapping n Logical Table Logical Field Physical Table Physical Field L_Customer. Num Customer Cust. Num Customer. Name <Derived> … Customer. City Customer City Data Source Mapping L_Customer (DSM) is used for connecting PDS to ADS – Table/Field pairs are loosely linked – Attributes such as keys need an affordance – Code could be entered for derived data n The DSM operates in a simple grid format – More complicated “wiring” mode to be added later 21 © 2005 Progress Software Corporation DEV-07: Increasing Productivity with Tools for Business Logic
Data Source Mapping n Design-time output is XML – Field pairs in an XML document n Runtime implementation is: – Code - Data. Source (4 GL) – A procedure who’s output is of type Data. Source 22 © 2005 Progress Software Corporation DEV-07: Increasing Productivity with Tools for Business Logic
Data Access Object Designer n n n The Data Access Object Designer (DAO) is used for designing specific fill and update functionality for the source it’s attached to The design-time output is code The runtime implementation is code 23 © 2005 Progress Software Corporation DEV-07: Increasing Productivity with Tools for Business Logic
Business Entity Designer n Add business related processing to data elements n Coordinate the interaction between DAO & Data Schema elements through code n Visual canvas similar to modeling tools 24 © 2005 Progress Software Corporation DEV-07: Increasing Productivity with Tools for Business Logic
re u t u F Business Flow Designer Order. pd Inventory. wsd l Outline Drill down into Open. Edge Service/ Task 25 © 2005 Progress Software Corporation DEV-07: Increasing Productivity with Tools for Business Logic
Tools in the Toolbox Application Data Schema Designer Business Object Designer Tools Business Entity Designer Catalog Tools Business Task Designer ADS Explorer Business Flow Designer Service Interface Designer Data Source Mapping DB Navigator Data Access Object Designer Managed Data Stores OE SQL 26 © 2005 Progress Software Corporation Unmanaged Data Stores XML Sonic DB Service Sonic XML Tools DEV-07: Increasing Productivity with Tools for Business Logic
Agenda n n n What are Tools for Business Logic? Code/Model Development Tools for Business Logic Approach Tools for Business Logic in Action Summary Q&A 27 © 2005 Progress Software Corporation DEV-07: Increasing Productivity with Tools for Business Logic
Sneak Preview 28 © 2005 Progress Software Corporation DEV-07: Increasing Productivity with Tools for Business Logic
Agenda n n n What are Tools for Business Logic? Code/Model Development Tools for Business Logic Approach Tools for Business Logic in Action Summary Q&A 29 © 2005 Progress Software Corporation DEV-07: Increasing Productivity with Tools for Business Logic
In Summary n Complete Environment Awareness – Model - Open. Edge Reference Architecture – Code - Abstract Syntax Tree – Data - Application Data Schema n Flexible Development Paradigm – Code Model n Customizable Components – Templates - Application-specific, custom tags – Annotations - Define your own – Model Rules - Influence component construction/assembly 30 © 2005 Progress Software Corporation DEV-07: Increasing Productivity with Tools for Business Logic
Questions? 31 © 2005 Progress Software Corporation DEV-07: Increasing Productivity with Tools for Business Logic
Thank you for your time! 32 © 2005 Progress Software Corporation DEV-07: Increasing Productivity with Tools for Business Logic
33 © 2005 Progress Software Corporation DEV-07: Increasing Productivity with Tools for Business Logic
- Slides: 33