Presentation is loading. Please wait.

Presentation is loading. Please wait.

Object-Oriented Programming and the Progress ABL Tomáš Kučera Principal Solution Engineer / EMEA Power Team.

Similar presentations


Presentation on theme: "Object-Oriented Programming and the Progress ABL Tomáš Kučera Principal Solution Engineer / EMEA Power Team."— Presentation transcript:

1 Object-Oriented Programming and the Progress ABL Tomáš Kučera Principal Solution Engineer / EMEA Power Team

2 © 2007 Progress Software Corporation2 > whoami  Started with Progress Software Czech Republic – Dec 19, 1994  2 years @ 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: tku@progress.com, Skype: tomas_kucera TKU

3 © 2007 Progress Software Corporation3 Agenda  Obligatory Theory  Simple Sample

4 © 2007 Progress Software Corporation4 What are Objects?  You interact with objects everyday A customer An order  All objects contains state and behavior What they can do and what changes when they do  Software objects represent these as: Data ( like 4GL variables ) Methods ( like 4GL procedures) Your car The telephone

5 © 2007 Progress Software Corporation5 Object-Oriented Principles  Abstraction Break up complex problem Focus on public view, commonalities  Encapsulation Hide implementation details Package data and methods together  Hierarchies Build new objects by referencing or extending other objects

6 © 2007 Progress Software Corporation6  Type Enforces type consistency at compile time  Class Defines type with data and methods and provides implementation  Object Runtime instantiation of class  Interface Defines type with only methods – no implementation provided Object-Oriented Constructs

7 © 2007 Progress Software Corporation7 Why should I care about Object-Orientation?  Object-orientation is a highly structured way to build applications Simpler modeling tool integration, e.g. roundtrip engineering  Code benefits Less bugs More reuse  Business benefits Time to market Better maintainability Object-orientation’s big benefits

8 © 2007 Progress Software Corporation8 Why should I care about Object-Orientation?  Strong Typing Less runtime processing Improved quality through finding errors at compile-time Class hierarchy known at compile-time  Re-use Abstraction means code re-use Classes can be deployed for re-use Improved quality and higher productivity How do we get the benefits?

9 © 2007 Progress Software Corporation9  Requires more forethought than procedural Type hierarchies can be hard to change –Refactoring and modeling can help  Requires a base class library to get started Base classes can take a while to build  Different mindset from procedural Easier, if you have worked with super procedures before Unfortunately it is not totally free

10 © 2007 Progress Software Corporation10 Object-Orientation versus Procedural  “Types” are created at run-time  Type definition is loosely bound  Inheritance is determined at run-time  Provides flexibility for generic code  Types are known at compile time  Type definition is contractual  Inheritance is set at design-time  Prevents run-time type errors Procedural OO

11 © 2007 Progress Software Corporation11 Mapping Procedures to Classes  Procedure Files (.p)  Main block code  Internal Procedures  Functions  ON CLOSE  Super procedures  Class Files (.cls)  Constructor  Void Methods  Method  Destructor  Inheritance Procedure Class

12 © 2007 Progress Software Corporation12 Agenda  Obligatory Theory  Simple Sample

13 © 2007 Progress Software Corporation13 Simple Sample  Create a solution using Progress OOABL that will perform the following: Feature #1- it will retrieve data from a specific database table into a temp-table based on provided WHERE phrase and will provide access to it Feature #2 - it will check access privileges to the table Feature #3 - it will display the data The Scenario

14 © 2007 Progress Software Corporation14 Simple Sample  Standard Progress ABL  Sophisticated Progress ABL with includes, persistent procedures, super procedures  Progress OOABL Quiz: The Approach

15 © 2007 Progress Software Corporation15 Simple Sample  Standard Progress ABL  Sophisticated Progress ABL with includes, persistent procedures, super procedures  Progress OOABL Answer: The Approach

16 © 2007 Progress Software Corporation16 Simple Sample  Encapsulation  Inheritance  Typing  Interfaces  Polymorphism  Delegation What we will see and will not see  Encapsulation  Inheritance  Typing  Interfaces  Polymorphism  Delegation

17 © 2007 Progress Software Corporation17 Simple Sample The Model

18 © 2007 Progress Software Corporation18 Simple Sample Let‘s do it!

19 © 2007 Progress Software Corporation19 Question? Tomáš Kučera tku@progress.com Skype: tomas_kucera customer

20 © 2007 Progress Software Corporation20 Where to get more Information resources  OpenEdge Documentation: Getting Started: 10.1B Object-oriented Programming manual  PSDN - www.psdn.com Library – Products – OpenEdge – Development Tools & Language – Advanced Business Language (ABL) Library – Product Documentation – OpenEdge Release 10.1B Product Documentation – Getting Started

21 © 2007 Progress Software Corporation21


Download ppt "Object-Oriented Programming and the Progress ABL Tomáš Kučera Principal Solution Engineer / EMEA Power Team."

Similar presentations


Ads by Google