We need to have the Strataframe Maintenance events and methods to call the webservices, which in turn, will use the business objects we configured through the business object mapper. In other words, we do not want the Strataframe Maintenance to be using business objects directly.
Is there a way to accomplish that? Or instead of using Strataframe Maintenance Form, do we need to use a regular form and implement the actions (Save, New, Edit, etc) on our own?
Thanks.
The reason we are thinking about using webservice as a middle tier between our front end project (in this case is the form that consumes the business objects) and the back end project (where the business objects are configured) is to provide an abstract layer to shield the direct connection from front end to the back end projects.
Probably, I didn't ask the question clearly the first time: I understand the thing we are trying to achieve may not be specific to strataframe from the design perspective, but from the implementation view, what we would like to know is that if we were to override what the "Save" event is doing in Strataframe Maintenance toolstrip, where can I see the code or how can I access the code that is doing all the actions of the Save button? Or is it possible at all? Or will we be better off writing those events ourselves?
Thanks very much.
StrataFrame is very extensible, so yes, you can overwrite the Save methods of the BO (which is all the form and maintenance form toolstrip calls) and implement whatever type of functionality that you would like. The BOs already have built in methods for serialization and deserialization as well which is something that you will need in order to physically separate the tiers. You can serialize to a byte array or a stream (including a network stream) and pass it between tiers.
In fact, there is a simple sample that shows how to overwrite the Save method of a BO in order to implement XML as a data source. You can see this within the Sample Console or open the C# or VB.NET sample of the XML data source and see how it works. Keep in mind that this is not an "apple to apple" sample, it just shows that the Save can be overwritten...and in your case you may want to serialize a BO.
But in short, yes, the framework is very extensible and you can inherit our business layer and add your changes so that you do not have to make these same changes for each BO you wish to pass back and forth.