
fact sheet
|
When Microsoft first announced its ADO.NET Entity Framework (EF) back in 2006, it promised developers a data model and a set of design-time and run-time services to allow developers to describe and interact with data at a conceptual level. It was also designed to isolate the application from the underlying database schemas. These changes allowed developers to work more at the business logic level in their code, rather than having to deal with the nuts and bolts of a relational database. While in theory these were laudable goals, in practice, there were some shortcomings with the implementation—especially for enterprise-wide applications.
"One of Entity Framework's biggest drawbacks was that it was two-tier. This makes it of limited use to those wanting to develop scalable enterprise applications" says Albert Wang, Founder and Chief Executive Officer of IdeaBlade. "We wanted to take the Entity Framework to a place where it could be really useful for enterprise applications."
Enter IdeaBlade's DevForce WinClient.
DevForce WinClient is a .NET server and application framework designed for professional developers looking to take advantage of Microsoft's Entity Framework. "We used our many years of experience building object-relational mapping tools to enable the Entity Framework to become a scalable, enterprise-class data management layer" says Wang. Anyone developing a data-intensive application for .NET should be looking at DevForce WinClient.
Data-Intensive RIAs Over the Internet
The architecture of DevForce WinClient is such that it is designed to allow developers to build data-intensive rich applications that work over the Internet. With a client-side executing component of the application, users are more productive with the application by viewing, modifying and manipulating data in a much more efficient fashion. IT organizations will see benefit as well, because with the RIA model, much of the processing is done by the client, so the server is extremely scalable as it doesn't need to maintain the state of every transaction as it progresses and re-render the state of the user interface for every action. DevForce WinClient enables all this by providing for n-tier movement of the business objects from the server to execute on the client.
Developers can deliver this sort of functionality because of several key middleware components. The Entity Framework, as published by Microsoft, is strictly is a two-tier technology—meaning it doesn't work over the Internet. DevForce WinClient n-tier enables Entity Framework business objects—so that you can move them across the Internet and have them execute on the client-side PC, regardless of where you're located. It also enables developers to use the full, unrestricted syntax of LINQ over the Internet, allowing them to easily express complex queries for business objects. And, client-side caching further increases performance by eliminating redundant data access requests from the application.
"We provide these value-adds to Entity Framework because we saw there was still a large gap between what was provided by the Entity Framework and what is needed by line-of-business applications," says Wang. "Developers shouldn't have to spend months or even years building plumbing and infrastructure for their application. We want developers to be productive, reduce their time to market, simplify their code, and focus on their business problem rather than the technology problem."
RAD Tools to Simplify Development
DevForce WinClient contains two primary RAD tools to streamline application development: an object mapper and data binding manager.
The object mapper (sometimes referred to as an object relational mapping or ORM tool) allows you to map business objects to your database tables and makes it easy to generate the classes for your business objects and domain model. You can then easily customize your business objects with your own business logic. This tool also works with the basic ORM tool in WinClient to enable more functionality.
The other RAD tool is the data binding manager. Once you create your object model, you bring up this tool to browse the model, select the properties you want to show from the object in the UI and then the UI will be auto-populated with the appropriate controls, labels, grids—whatever is necessary to display that information to the user. Then each control would be automatically bound to the back-end data object. Currently this tool works for WinForms and support for other UI technologies is planned for the future.
Putting DevForce WinClient Into Practice
Let's take a sample scenario of building an order tracking application and see how DevForce WinClient speeds development. First, a developer would use the Microsoft Entity Framework object mapper to create the basic business object model, or EDMX. Then a developer would run the DevForce object mapper to customize the Entity Framework business object and use that to generate the customizable DevForce business object classes. This would work on both small (50-100 tables) applications as well as large (several thousand tables).
Next the developer would write custom business logic in these DevForce classes (calculating taxes, checking credit limits, purchase authorization, etc). Then the developer would write unit tests to automate testing and validate the business logic. The UI comes next and the developer would databind the UI to the business objects. After adding a bit of workflow logic to complete the application, the developer would finally deploy to an IIS server in an n-tier fashion across the Internet.
With DevForce WinClient, you get the productivity of a RAD tool with the power and flexibility of an enterprise-class framework. Plus, DevForce WinClient is backed by a support organization to help you through the rough spots. "We're very open and very customizable," says Wang. "Our customers' biggest fears are getting boxed in by a tool. We designed DevForce WinClient to be as open and transparent as possible to make sure that never happens."
And while some developers might feel that their investment in DevForce WinClient today might be rendered moot tomorrow, with Microsoft providing this same technology "in the box", as they have in the past, Wang looks at the prospect differently. "We want to keep developers on the Microsoft train, but at the very front of it" says Wang. "If Microsoft incorporates our technology in the box tomorrow, not only does it validate what our customers are already doing, it insures that they will have a leg up on their competition."
Read More: Silverlight Is Ready for Business with IdeaBlade DevForce Silverlight »