On Entities...
I am jazzed by the fact that people are reading our docs and posting opinions. The feedback, positive or negative, is always good stuff for us to consume and internalize. One thing that I wanted to talk about, having read many of the blogs out there, is the bigger picture of the Entity Data Model and how the investment we are making in ADO.NET is a step towards a greater vision.
When I look out at the market trends and technology landscape today I see a number of interesting things. The move towards service orientation, composite applications and process-centric applications has been evolving for some time. The information landscape is changing from silos of data viewed through application-centric perspectives to composite, aggregated "dashboards" of information viewed through contextual (user and activity contexts) perspectives. It is no longer acceptable to have to open "n" applications or sift through "m" screens to have sufficient information and forms to perform business or personal activities. We want to be able to have all of the information and forms required to perform our desired activity in a single, rich, client experience. Much of the innovation we have seen to date has been in terms of the infrastructure to facilitate the peer-wise collaboration of mutually distrustful systems that must co-exist to satisfy the desired user experience. We see new technology offerings like Windows Communication Foundation and Windows Workflow Foundation from Microsoft and various aspects of the ESB offering on both the Java and .NET platform.
At the end of the day, however, the core piece to the puzzle is Data. Data is the "key to the castle". Our investment in the Entity Data Model and our overall Data Programmability vision contemplates the role of data-centric services that can support the provisioning of composite applications which sit on top of networks of autonomous systems. The Entity Data Model is a store agnostic conceptual model which shall form the common substrate for data-centric services in the future. We envision a world where Master Data Management and Data Virtualization solutions are facilitated by the composition of conceptual models from collections of in-service persistent stores and external data services. We envision an environment where declarative expression of intent for OLTP activities, ad-hoc reporting, OLAP, replication can be done in terms of EDM entities. The EDM shall play a world in rich client scenarios where the EDM provides a client-specific conceptual model that aggregates locally persistent and service data in a single model which forms the basis for user presentation and client-side processes.
All of this is a lot of words to describe what I think are exciting times to come. We are dedicated to bringing the data programmability story to prominence in composite client and service scenarios. LINQ, ADO.NET Entities and the EDM are our first steps towards that vision. Our client views infrastructure provides the first level of model to model transformation (Entities to Relational Model), there is lots more to come. So keep the feedback coming... we shall endeavor to be transparent in our efforts as we can only improve through these exchanges. Hopefully you will find our existing and future work both interesting and useful.