OOP tutorial? Framework?

dreed

New Member
I work for a small software company and I'm trying to teach the owner about persistent procedures, event-driven programming, and OOP. Is there any sample code or a good tutorial available?

Also, since most business database applications share similar functions within the GUI, are there any good "frameworks" available for building a standard menu and standard maintenance screens for various "types" of tables and relationships of tables?

Thanks.

Dan
 
what's the owners background ?
i.e. an explanation as you would
to your mother or a fellow developer ???

some of the oo concepts aren't that new to progress
which would help with some of the new
true oo feature in oe10.1 ( coming out this fal
and are all over in beta at the moment )

i didn't really get you're other question
how databases, tables, relationships
come together with gui features ?

but anyway if you'll try the dynamics framework ( that comes with oe10 )
or anyone of the other frameworks around e.g. dwp
it's pretty painless to put together
a treeview, menu, toolbar etc.
 
Joey thanks for the response.

To answer your question -- mother or fellow developer -- sort of a cross between the two.

The owner is a 66 yr old self-taught programmer who had used the 4GL for about 10 years, and although we're using Progress 9.1E, he's never used Persistent procedures or the AppBuilder to develop programs. He's accustomed to using multiple wait-fors in every procedure, and even in internal procedures. He does use triggers though.

I used the SmartObjects beta in v7 Progress, and also SmartObjects in v8 -- long ago. I would like to avoid SmartObjects, while still maintaining a semi-OOP model with the new code. However, I haven't used Provision or the AppBuilder in a long time, and I also have to convince the owner to invest in those development tools. So I need to get a sample application that makes use of the newer elements (Persistent procedures, super procedures, messages, etc) so that he can understand the principles and read the code -- because right now it's like Greek to him.

I did find Dynamics and DWP and have been reading up on those, but I guess I still need more information before I can show him how those work. Do both of those frameworks work on 9.1E or will we need to upgrade to 10?

Thanks.
 
joey.jeremiah said:
which would help with some of the new
true oo feature in oe10.1 ( coming out this fal
and are all over in beta at the moment )

I wonder how "true" their OO feature will really be. I've heard people from Progress claim to have OOP for such a long time, and the stuff they have is really cumbersome, and definitely not true OOP -- I just have to wonder if it's worth investing a development effort in Progress tools and frameworks, or should I just look into DWP. We're actually building prototypes in the 4GL (to migrate our existing GUI to more Windows standard) and I'm trying to move us away from procedural code hand written in the 4GL.
 

think of it this way -

persistent procedures are the objects
( persistent of course is an external procedure ( .p )
that stays in memory, until it is explicitly removed )

with methods i.e. internal procedures / functions
that you can invoke externally using it's handle

( as you already know handles are pointers
to any kind of objects, procedures, temp-tables, buffers etc. )

properties i.e. get and set functions
to query and set them

in smartobjects ( adm ) properties are
a one record temp-table defined
inside the object ( persistent procedure )
so if there's a need it can be accessed outside of it.

because well, it's truly, an object
that stays in scope for the entire session
and can be accessed through it's handle anywhere.

and finally events, of course today
programs process flow is mainly event-driven

i.e. publish and subscribe
which i like to think of as the lan cables
that connect the objects.

for example
a data object always transmits when it has data available
and a browse object is always ready to react if it gets data
but only if the objects subscribe to each other
then there's a virtual lan cable and events are received
that's smartlinks in a nutshell.

super procedures are sort of shared parts

what i mean is, if there are procedures in the session
that share a common body of code
instead of carrying it in all of them

you can run it once as a super procedure ( persistently )
for all of them to use.
basically, method libraries or progress dll's.

another important property of super procedures
is inheritance.

because a procedure inherits the behavior of its super procedure
i.e. internal procedures and functions
and can even override and augment that behavior.

smartobjects almost completely inherit all of their
behavior ( procedure and functions )
and almost everything else

from the class/es they belong to
which are super procedures and a few include files.



don't knock smartobjects overall it's a simple neat concept
i think you're really going to love it
plus i don't really think there's a choice if you're going with gui.

instead of writing code from scratch
your putting them together
it's extremely modular reminds me of lego.

i've already said too much,
but just a few last words

don't go into dynamics before
you're very comfortable with adm.

the documents although very in depth are not really to the point

john sadd is one blathering idiot


oh yeah, degrassi rulles !!!
 
another thing i'd like to add -

i'd suggest if you're starting with smartobjects ( adm )

start with the "appbuilder" documentation
( later on you can graduate to "adm and smartobjects" )

just browse through the book ( .pdf ) in a week or two
you won't understand it all.

start getting your hands dirty
it can't be all theory,
you've got to feel it to understand it.

besides as i said the doc's aren't all that great
john tends to say everything on his mind
but he let's you make the conclusion.

that would be great if we're in school
but we've got a job to do.

never mind the examples
you can make your own on the spot.
 
Joey, thanks again for the input. I will use your overview to try to explain the OOP model using Progress. The owner doesn't understand OOP yet, but I told him to read this: http://java.sun.com/docs/books/tutorial/java/concepts/

As for me, I have already used SmartObjects -- even before they were called SmartObjects by Progress. I thought they were poorly implemented, and I was hoping something better has come along since then: Dynamics or DWP or the latest incarnation of SmartObjects in ADM2. I haven't used SmartObjects since 1995 though. I just realized that was 10 years ago -- wow.
 
Back
Top