Interfaces to the Business Logic?

Topics: General Discussion Forum, Service Factory Modeling Edition Forum
Mar 5, 2008 at 8:06 PM
Our projects have their respective Data Layers and Business Layers in their own library/project.

Given that the services generated by the WSSF are effectively interfaces themselves, is there any significant value to having an interface on the Business Layer that the WSSF would in turn interact with? Or is that just architectural belt and suspenders. We don't have huge teams where there's lots of opportunities for problems due to bad coordination between developers of each layer. If you are recommending an interface on top of the business layer, should it be versioned/dated (e.g., 200802), like the service itself, for all the same reasons?
Mar 6, 2008 at 12:00 AM
Regarding BL and DL, you can simply use whatever design you want since WSSF:ME does not impose any restriction or requirement on that. You don't even require an interface to interact between your DataContracts and your Business Entities (translators will do this mapping so that wil actually decouple your BL from the service contract.
Let me know if I missed the point but as I said at the beginning you are free to use the design of your choice in your BL/DL.
Mar 6, 2008 at 12:24 AM
Edited Mar 6, 2008 at 12:26 AM
Hi Charly. Yes. I realize I have all the freedom in the world to pick, but I was more curious about best practices. With the previous incarnations of the tool, it appears, based on the directories created, that it had not instituted an interface layer on the BL side. Now that there's all the good ORM tools coming out of MS (e.g., Linq to Entities, Linq to SQL), we're revisiting the architecture choices. One of those choices is how to we expose the business layer - or do we not worry about that at all and just let it all hang out internally.

I am more curious, where you're seeing this from the meta/tool level and seeing multiple projects successfully or not so successfully running through the development lifecycle processes enabled by your tool, what you'd recommend.
Mar 6, 2008 at 2:18 PM
I don’t have enough expertise in this area to recommend a particular model so having the simple baseline that WSSF:ME generate regarding BL/DL (just placeholders), adopting something in the way of LINQ and its flavors (Entity SQL, ADO.NET Entity Framework) seem like a good choice, naturally depending on the scenario.