Index
1999-02-13 12:56Geof whitham : CB OOP & 3 Tier Architecture- Definitions
1999-02-13 23:18Bob Archer : Re: CB OOP & 3 Tier Architecture- Definitions
1999-02-14 10:45Ed Leafe : Re: CB OOP & 3 Tier Architecture- Definitions
Back to top
CB OOP & 3 Tier Architecture- Definitions

Author: Geof whitham

Posted: 1999-02-13 12:56:33   Link

Hi one and all,

This is a general question, related to the theoretical organization of OOP and CB.

Not being in the centre of the Coding community this may seem an odd question but I am not sure of the distinctions between USER Services, BUSINESS Services and Data services.

By way of example....

USER or BUSINESS

In the CB world Is a Combobox in a bizobj Proper to a user service or a Business Service. If this same cbo is directly in a formobj is its theoretical classification different.

BUSINESS or USER

Are CB's BizObjs BUSINESS services or USER services as they are the interface between the underlying data and the user.

Should Classes like "MySpecialProxyListBox" be classified as a User Class or a Business class as it would presumably be the interface to the user but located in a bizobj.

BUSINESS or DATA

As business object undertake the creation and saving of the views data in CB are they Data services or Business services.

This may seem "OLD Hat to many of you but I am playing "Catchup"

Thanks in advance to all you theoreticians

Geof Whitham

Penang,Malaysia

©1999 Geof whitham
Back to top
Re: CB OOP & 3 Tier Architecture- Definitions

Author: Bob Archer

Posted: 1999-02-13 23:18:49   Link

<b>User Services</b>... basically, UI controls and coding that is responsible for interacting with the user. Things such as presenting data, accepting input, showing messages to the user, etc. (cForms.vcx, cControls, etc.)

<b>Business Services...</b> this entails classes and code the is reponsible for defining business domian rules... Things like, If a customers credit rating is 4 they can order up to $5,000 per month on credit. Or, this may be code that posts GL transactions. (Business objects, generally, there are still some UI stuff in CB bizobjects. Also, there is no current way in CB to physically seperate the User and Business tiers.)

<b>Data Services...</b>... this is generaly the physical manipulation of the data and the integraty thereof seperate from the bizrules. Handels saves, generating keys, cascade deletes, audit trails, etc. (This is generally a combination of the data behavior objects and the VFP data engine (.DBC definitions) or SQL server or other basckend you are using.)

BOb

BOb

©1999 Bob Archer
Back to top
Re: CB OOP & 3 Tier Architecture- Definitions

Author: Ed Leafe

Posted: 1999-02-14 10:45:37   Link

<I><FONT COLOR="#663300">Not being in the centre of the Coding community this may seem an odd question but I am not sure of the distinctions between USER Services, BUSINESS Services and Data services.</FONT></I>

I see that Bob has already given you a good explanation of the different services, or tiers, in Codebook.

<I><FONT COLOR="#663300">USER or BUSINESS

In the CB world Is a Combobox in a bizobj Proper to a user service or a Business Service. If this same cbo is directly in a formobj is its theoretical classification different.</FONT></I>

This is one of the problems with Codebook as it originally existed: it mixed the elements of the presentation layer and the business layer. Its examples included bizobjs with contained controls; even the choice of basing the cBizobj class on the VFP base class of "Container" instead of "Custom" reflects this design.

The important thing to remember is that there is absolutely nothing in Codebook which <I>requires</I> that you mix the two. I have created many apps with non-visual bizobjs, and they work perfectly well.

<I><FONT COLOR="#663300">BUSINESS or DATA

As business object undertake the creation and saving of the views data in CB are they Data services or Business services.</FONT></I>

They are business services, but the actual saving, requerying and opening of views does not take place in the bizobj, but rather in the DataBehavior object to which the bizobj has a reference. That way if you ever wanted to work with a data source which did not lend itself to VFP views, you could write a new DataBehavior class to handle the translation, and the bizobjs would work without change.

<font color="#cc0000"> ___/

/

__/

/

____/</font>

Ed Leafe

©1999 Ed Leafe