StrataFrame Forum

Some fundamental questions

http://forum.strataframe.net/Topic7640.aspx

By Ben Hayat - 3/21/2007

As I'm spending more time going through the tutorials, and helps and seeing how the system works, now I want to step back and look at SF from outside to inside, rather than jumping right into details.

Doing so, several fundamental questions have come up and I don't seem to find a clean cut answers to them. I had looked at many other OR mappers before or products that let you create 3-tier apps or discounted apps, using memory tables and so forth. Each vendor seem to have their own definitions of Business layer, business objects, tables and so on.



Now my humble request to SF team is to provide (and perhaps put it in the help as well) or point me to the right directions which defines the following concepts and also establishes relationships among them and where they fit.



We have:



a) Data Access Layer class

b) Business Layer class

c) Business Object class

d) Data tables

e) Views



What I like to know (before jumping into methods and properties) of each one, is to have a full definition of each. For example:

How is business layer and data access layer relate with each other?

What's Business object in relation with Business layer?

Is Business object simply a collection of rows with methods and events? Is it more like a disconnected memory table?

What's data tables in relation to Business object?

What's view in relation to data tables?



Thank you in advance!
By Trent L. Taylor - 3/21/2007

Ben,

All of your questions are answered in the help.  For example, there is a diagram that shows exactly how the BO ties to the DAL which talks to the databases (Application Framework -> Data Access Concepts -> Overview).

The BusinessLayer class is the class which all business objects inherit from.  A business object is just an entity with a business layer.  A business layer is nothing more than a collection of business objects. 

Is Business object simply a collection of rows with methods and events? Is it more like a disconnected memory table?

A business object is the entity which houses all of the logic that interacts with the UI and the DAL.  It is the "middle tier" of the application.  The business object uses an ADO.NET data table to house all of the disconnected data that is either created or retreived from a server or database.  This is only a piece of the data.  As for a disconnected memory table...yes.  Everything in StrataFrame is disconnected and a BO runs in memory.  You can serialize a BO to a stream or to a byte array which then extends the flexibility of a BO to a true memory object it you have the need for serialization or remoting.

What's data tables in relation to Business object?

None other than the BOs use an internal data table that can be reference on each BO through the CurrentDataTable property.  I recommend that you read the help article: Application Framework -> Business Layer -> Programmatic Access -> Exposed ADO.NET Components.  This will answer the next question as well in regards to a view.  This is all covered in the help.

By Ben Hayat - 3/21/2007

Thanks!


By Trent L. Taylor - 3/21/2007

Sure.  One thing about the in-class training is that when you leave all of this type of information and logic is covered to the point that it is just second nature.  I recommend coming to the class in May if you get the chance!
By Ben Hayat - 3/21/2007

Sure. One thing about the in-class training is that when you leave all of this type of information and logic is covered to the point that it is just second nature. I recommend coming to the class in May if you get the chance!




That's exactly what I was thinking, as I was reading your post.

Let's see...