New Posts New Posts RSS Feed: General DevForce architecture questions...
  FAQ FAQ  Forum Search   Calendar   Register Register  Login Login

General DevForce architecture questions...

 Post Reply Post Reply
baumsh View Drop Down

Joined: 27-May-2009
Posts: 4
Post Options Post Options   Quote baumsh Quote  Post ReplyReply Direct Link To This Post Topic: General DevForce architecture questions...
    Posted: 03-Aug-2009 at 7:31am
Hi Folks,

I'm completely new to DevForce so some of my question might sound simple, I did try to read the manual as much as I can but the following are still not clear to me.

First I need to point out that DF seems to be a very well organized and well thought out product that seems to cover the "real life" scenarios, you could see that throughout the manual.

Just to understand my background, we've been developing an N-Tier product in Delphi using a product called DataAbstract, it was/is an excellent framework, and they also have a full blown .net product, we are now going to redesign our product for Silverlight and naturally I'm researching what is out there before we commit to anything. The main drawback I see with DA (data abstract) is that its by nature more "dataset" oriented, although you could generate Linq classes from the "datatables" and work as if it was an Object the entire framework doesn't work like an ORM tool, so when you want to pull data from multiple objects of the graph you first create a so called "DataTable" (mainly in thier schema designer using SQL) and was its combined you could utilise this dataTable using Linq.

When you made changes to the Object it saved the changes to a "delta" and when submitted to the server it deserilized the delta and processed all the changes of the delta, and you had the ability via Bussiness Processor events to "plug-in" every step of the posting processes of the delta and its changes. I mention this because this part of DA I really like and gave us lots of control and this is where I'm not fully compfortable with DF.

Server side processing:
There are lots of times when there's a change on an object which after this particular is being changed (on object at a time) it makes sense to do processing on lots of related data and it doesn't make sense to me having to pull or the related objects client side just to update one property of the related objects, it just just means that I need to pull a ton of data (of the entire object) just to update one field/property.

lets say for example (just to throw one, but there's a ton of others) when doing a "work Order" and a line item of that work order is a "part/item" and depnedent on that part you might have to update inventory, update GL entries, update Invoice entries, integrate with other ERP systems, all of the above if we need to do that client side (which seems to be the case with DF) would cause to pull down from the server an enourmas amount of data that should rather be done server side.

Now I did see there's on the server an OnSaving, OnSaved events, but those I'm not sure if they are fired on an Object by Object basis or one for the entire save procedure, and if its only once it would make the process very diffocult. And lets say we could get it to work do we have access to the original values of the object once on the OnSaved event?

Web Services for objects:
We have a request from primarily larger customers to give access to our objects via a webservice, in the manual there's mention about a web service wrapper in the works so I was wondering how this is coming along?

The goal is to provide via a webservice the same object with its properties without having to manually create them and then server side when the values are submitted to perform the validation in the verfirication engine to ensure validation of submitted data.

Join of data
Being new to this ORM kind of architecture I was wondering what is the best way for instance when we want to fetch an order, but we also want have one field of the Customer object, do we need to pull the entire Customer object with all its properties (using the include method) just to have this one field of the Customer object? Is there a way to avoid this?

I suppose you could do an annonimous type and use projection, but would we in that case lose editing of objects? are you able to modify objects that are fecthed with projection using all the normal verification and rules?

Using an ORM tool how do you provide dynamic report capabillites for the end user? I mean the ability to dynamically generate reports by the end user. Currently we have some tables that contains all the Tables of the database and their fields/captions/relations and we have a tool that allows them graphically to generate the sql statments to do the report, we then display the data in a DevExpress grid that provides all sorts of cool functions sorting/grouping/filtering etc. Using an ORM tool like DF how would you accomplish something like that. I guess we'd build our tool to be based on the DF graph... and then genenrate the sql based on the user selection?

Async Validation
Given the nature of Silverlight that it only allows Async network calls, how do you work with situations that you need to get server data at the BeforeSet rule, say your user enteres a part and you need to check if this order is in stock before you actually commit that value to the property, you need to inform the user if this part is not in stock and confirm/disallows to proceed (dependant on company rules or user logged in) rather then waiting until they finish entering a ton of data thinking that this part is in stock and then when finally saving the object after entereing a ton of other data based on that wrong assumption, which is I assume the case when using the verification engine for this. I understand that this is more of a general SL/Async design question, but I'm just wondering how others work with this constaint.

Sorry for the lengthy post, those are things that I'm trying to understand while evaluating DevForce.

Thank in advance.
Shloma Baum
Pioneer Interactive, Inc.

Back to Top
 Post Reply Post Reply

Forum Jump Forum Permissions View Drop Down