Download presentation
Presentation is loading. Please wait.
Published byIsaac Fisher Modified over 9 years ago
1
DEV-07: Increasing Productivity with Tools for Business Logic Gikas Principal Software Engineer
2
2© 2005 Progress Software Corporation DEV-07: Increasing Productivity with Tools for Business Logic D I S C L A I M E R Under Development n This talk includes information about potential future products and/or product enhancements. n 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.
3
3© 2005 Progress Software Corporation DEV-07: Increasing Productivity with Tools for Business Logic Agenda n What are Tools for Business Logic? n Code/Model Development n Tools for Business Logic Approach n Tools for Business Logic in Action n Summary n Q&A
4
4© 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 Included in the new OpenEdge™ IDE n Supports the OpenEdge Reference Architecture n Support for custom Application Models
5
5© 2005 Progress Software Corporation DEV-07: Increasing Productivity with Tools for Business Logic Users Presentation Layer Business Servicing Layer Data Access Layer Managed Data Stores Unmanaged Data Stores Enterprise Services Integration Layer The Big Picture DB Navigator Tools For Business Logic OpenEdge Studio New Sonic Release Tools for Business Logic build on a foundation of data access tools Tools for Business Logic can have design-time and runtime implementations Sonic XML Editors
6
6© 2005 Progress Software Corporation DEV-07: Increasing Productivity with Tools for Business Logic Right Tool for the Job Data-Oriented Tools and Languages Component- Oriented Tools and Languages SQL, XML JAVA™, C# OO/4GL ERD, etc UML, etc ??? Tools for Business Logic
7
7© 2005 Progress Software Corporation DEV-07: Increasing Productivity with Tools for Business Logic Agenda n What are Tools for Business Logic? n Code/Model Development n Tools for Business Logic Approach n Tools for Business Logic in Action n Summary n Q&A
8
8© 2005 Progress Software Corporation DEV-07: Increasing Productivity with Tools for Business Logic Code/Model Development Visual/Graphically OrientedText/Code Oriented Code-centricModel-centric Code written by hand can easily be transformed into visual model components Model components can be visually edited and the code elements will reflect the change Code/Model Development Accommodate a wide range of development styles
9
9© 2005 Progress Software Corporation DEV-07: Increasing Productivity with Tools for Business Logic Code/Model Round Trip DEFINE TEMP-TABLE ttCust LIKE Customer. DEFINE TEMP-TABLE ttOrder LIKE Order. DEFINE TEMP-TABLE ttOrdlin LIKE OrderLine. DEFINE DATASET CustOrdLin FOR ttCust,ttOrder,ttOrdlin DATA-RELATION Customer_Order FOR ttCust,ttOrder RELATION-FIELDS (CustNum,CustNum) DATA-RELATION Order_OrderLine FOR ttOrder,ttOrdlin RELATION-FIELDS (OrderNum, OrderNum). DEFINE INPUT PARAMETER NumCusts AS INTEGER. DEFINE OUTPUT PARAMETER DATASET FOR CustOrdLin. DEFINE OUTPUT PARAMETER sError AS CHARACTER. DEFINE DATA-SOURCE srcCust FOR Customer. DEFINE DATA-SOURCE srcOrder FOR Order. DEFINE DATA-SOURCE srcOline FOR Orderline. BUFFER ttCust:ATTACH-DATA-SOURCE(DATA-SOURCE srcCust). BUFFER ttOrder:ATTACH-DATA-SOURCE(DATA-SOURCE srcOrder). BUFFER ttOrdlin:ATTACH-DATA-SOURCE(DATA-SOURCE srcOline). BUFFER ttCust:BATCH-SIZE = NumCusts. Code can be created or edited at any time Code is not dependent on a model Code elements can be transformed into model elements at any time Models can be disassociated from code at any time Models create structure and code that can be edited Based on Templates and Rules ttCust CustNum:INTEGER CustName:CHARACTER Contact:CHARACTER Country:CHARACTER ttOrder OrderNum:INTEGER CustNum:INTEGER OrderDate:DATE ShipDate:DATE ttOrderLin OrderNum:INTEGER LineNum:INTEGER ItemNum:INTEGER Qty:DECIMAL 1 N N 1
10
10© 2005 Progress Software Corporation DEV-07: Increasing Productivity with Tools for Business Logic More Code-oriented More Graphically-oriented Stages of Code/Model Development Hand Coding Customary develop- compile process Basic editing features Visual Construction PDS/ADS tools Drag into code Cataloged Components Annotated code Components dragged into code Composite Components Application Model Graphs of models Rules govern the implementation
11
11© 2005 Progress Software Corporation DEV-07: Increasing Productivity with Tools for Business Logic First Look at Tools for Business Logic
12
12© 2005 Progress Software Corporation DEV-07: Increasing Productivity with Tools for Business Logic Agenda n What are Tools for Business Logic? n Code/Model Development n Tools for Business Logic Approach n Tools for Business Logic in Action n Summary n Q&A
13
13© 2005 Progress Software Corporation DEV-07: Increasing Productivity with Tools for Business Logic How the Designers Work Overview of Designer Elements Model Definition Visual Designer Code Catalog Data Schema Code Generation Abstract Syntax Tree (AST) 1 N N
14
14© 2005 Progress Software Corporation DEV-07: Increasing Productivity with Tools for Business Logic Catalog-Oriented n Store and index application metadata eg –Code annotations –Cross-reference data –Define your own! n Simplifies management and organization of components n Some components will be cataloged automatically by the IDE n Can be created and managed independent of the IDE n Rebuild on demand – therefore not a repository Catalog
15
15© 2005 Progress Software Corporation DEV-07: Increasing Productivity with Tools for Business Logic Organized Development Spaghetti to Kabob Code Meta Data Components BE, DAO Schema Definitions Component Catalog Template Meta Data
16
16© 2005 Progress Software Corporation DEV-07: Increasing Productivity with Tools for Business Logic Annotation-Oriented n Annotations describe code elements n Used by tools for business logic designers to implement Code/Model approach n Stored and organized in the Catalog n Define your own annotations –Bug tracking, packaging etc. @module(name=“AR”) @ads-link(type=“dataset”,name=“order”) @
17
17© 2005 Progress Software Corporation DEV-07: Increasing Productivity with Tools for Business Logic Template-Driven /*-------------------------------------------------------- File: Description: Purpose: Parameters: Author: Version: Update Notes: Initial Implementation --------------------------------------------------------- */ n Consistent and customizable starting points for application components n Support for wizards
18
18© 2005 Progress Software Corporation DEV-07: Increasing Productivity with Tools for Business Logic Tools for Business Logic – Visual Designers Outline View for Code and Schemas Text Editors: (4GL, WebSpeed, XML, SQL) Visual Editors: (Model, Schemas) Create components from templates Resource, Catalog & Component Explorers
19
19© 2005 Progress Software Corporation DEV-07: Increasing Productivity with Tools for Business Logic XML Designer The Schema Designer n The centerpiece of the tools for business logic –Most data-oriented objects have schema that needs to be created and manipulated Data Set Designer GraphTreeCode n Operates like an ERD tool and is used to create Application Data Schemas (ADS)
20
20© 2005 Progress Software Corporation DEV-07: Increasing Productivity with Tools for Business Logic Application Data Schema Designer ADS Explorer Logical Objects and Mapping Application Data Schema (Canvas) DB Navigator Physical Objects ProDataSet Component Code Component Catalog Explorer Drag and Drop Physical Data Objects Drag and Drop Logical Data Objects
21
21© 2005 Progress Software Corporation DEV-07: Increasing Productivity with Tools for Business Logic Data Source Mapping n Data Source Mapping (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 Logical Table Logical Field Physical Table Physical Field L_CustomerCustomerNumCustomerCustNum L_CustomerCustomerName … L_CustomerCustomerCityCustomerCity
22
22© 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 - DataSource (4GL) –A procedure who’s output is of type DataSource
23
23© 2005 Progress Software Corporation DEV-07: Increasing Productivity with Tools for Business Logic Data Access Object Designer n The Data Access Object Designer (DAO) is used for designing specific fill and update functionality for the source it’s attached to n The design-time output is code n The runtime implementation is code
24
24© 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
25
25© 2005 Progress Software Corporation DEV-07: Increasing Productivity with Tools for Business Logic Business Flow Designer Outline Order.pd Inventory.wsd l Drill down into OpenEdge Service/ Task Future
26
26© 2005 Progress Software Corporation DEV-07: Increasing Productivity with Tools for Business Logic Tools in the Toolbox Managed Data Stores Unmanaged Data Stores XML OESQL Data Access Object Designer Application Data Schema Designer Data Source Mapping DB Navigator Business Object Designer Tools Business Entity Designer Business Task Designer Business Flow Designer Service Interface Designer Sonic XML Tools Catalog Tools ADS Explorer Sonic DB Service
27
27© 2005 Progress Software Corporation DEV-07: Increasing Productivity with Tools for Business Logic Agenda n What are Tools for Business Logic? n Code/Model Development n Tools for Business Logic Approach n Tools for Business Logic in Action n Summary n Q&A
28
28© 2005 Progress Software Corporation DEV-07: Increasing Productivity with Tools for Business Logic Sneak Preview
29
29© 2005 Progress Software Corporation DEV-07: Increasing Productivity with Tools for Business Logic Agenda n What are Tools for Business Logic? n Code/Model Development n Tools for Business Logic Approach n Tools for Business Logic in Action n Summary n Q&A
30
30© 2005 Progress Software Corporation DEV-07: Increasing Productivity with Tools for Business Logic In Summary n Complete Environment Awareness –Model –Code –Data n Flexible Development Paradigm –Code Model n Customizable Components –Templates –Annotations –Model Rules - OpenEdge Reference Architecture - Abstract Syntax Tree - Application Data Schema - Application-specific, custom tags - Define your own - Influence component construction/assembly
31
31© 2005 Progress Software Corporation DEV-07: Increasing Productivity with Tools for Business Logic Questions?
32
32© 2005 Progress Software Corporation DEV-07: Increasing Productivity with Tools for Business Logic Thank you for your time!
33
33© 2005 Progress Software Corporation DEV-07: Increasing Productivity with Tools for Business Logic
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.