Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
Mere Mortals and Strataframe: BO Basis Differences
Message
From
24/01/2007 05:30:10
 
 
To
23/01/2007 21:49:57
James Hansen
Canyon Country Consulting
Flagstaff, Arizona, United States
General information
Forum:
ASP.NET
Category:
Other
Miscellaneous
Thread ID:
01188469
Message ID:
01188533
Views:
20
Hi Jim

>Mere Mortals bases its Business Objects on MarshalByRefObject, whereas StrataFrame bases its BO on MarshalByValueComponent.
>
>I know that Marshal by Ref has some advantages for remoting over Marshal by Value, but is that relevant to choosing a framework? Are there other differences between Ref and Value that are relevant?
>
>I can drag and drop an SF BO from the toolkit to a form, but I can’t do that for an MM BO. I believe that is because the SF BO is a component whereas MM BO is an object. Are there other differences between basing BOs on Object and on Component that I should be aware of?

I have recently developed an enterprise wide application using StrataFrame (SF). This was approximately 14 months+ of development using SF. Whilst I can't give you the "official" line, MarshalByValueComponent objects implement IComponent. If the SF BO wasn't based on MarshalByValueComponent, it couldn't be hosted as a component on a Form/UserControl and moreover, it wouldn't appear in the toolbox. So, I believe that their decision was based solely on the requirement for the business object to appear and act like a true component in the VS environment and provide easier more "drag and drop" style development.

As to serialisation and remoting using these types of businessobjects, I don't actually see this as a major advantage/issue. With SF, they have developed an Enterprise Middle Tier component that, with a single line of code, their business objects will "talk" to equivalent objects on the middle tier using web services. You don't have to think/worry about any of this - the middle tier component is hosted on a server running IIS. As I said, you change one line of code - job done.

Both frameworks you have referenced internally "house" an ADO.Net DataTable or DataSet to handle multiple "entities" (instead of an external collection of business objects). If you were using a business object of the type described by Rocky Lhotka, the business object class instance only ever represents a single entity - in RDBMS terms, a single data row. So, you could easily serialise that entity and pass it across the wire - also Lhotka uses a DataPortal based approach, generally housed on an application server suggesting that true, single entity business objects are serialised and passed across the wire between the UI and the DataPortal.

If the serialisation of business objects for the purpose of passing them around is an issue, I would probably look around before making a final decision. I understand that in the next major version of SF, they are looking to provide an alternative entity based business object of the type I have described and personally prefer, so, this may provide some future proofing.

You might also want to look at http://www.ideablade.com/ or LLBL Gen Pro (an excellent OR-Mapping system) for other alternatives.

If you have any other StrataFrame related questions, feel free to ask away.

HTH
-=Gary
Previous
Reply
Map
View

Click here to load this message in the networking platform