If you’ve been following the blog for a while now, you’ll know there are two main database schemas I tend to work with for Proof of Concept (PoC) applications, movies and records (vinyl LPs).
Last year I was building an Entity Framework based PoC using a schema made up of information about my LPs, I’ve decided to reuse this schema for my next Proof of Concept with SQL Azure.
The database is not exceptionally complex, but does offer the opportunity to design somewhat large complex cross queries, binary data and multiple relationships. It’s also a great candidate to have an ORM applied to it (like LINQ to SQL, NHibernate, Entity Framework).
For this proof of concept, I’m (most likely) going to use the Entity Framework v4 which is part of the .Net Framework 4.0 Beta (you can find it with the existing Visual Studio 2010 Betas). EF v4 also contains proper POCO (Plain Old CLR Objects) support and a HIGHLY improved SQL provider, many, many times better than v1.
As I develop the application (which is likely to be backed by an Azure application – TBD), I’ll continue to post entries here on the progress made as well as any tips, pointers and other interesting information. Usually, I’d plan this out well in advance, but I’ve decided to chalk out a solution by exploring the capabilities of the early CTP. It is hard to draw up an architecture without fully understanding the capabilities and limitations, so be it
Here are some of the goals I am aiming to complete (some of these are “the normal” requirements):
- Port existing data model and data to SQLAzure
- Web or Windows Client application
- ORM solution using LINQ (EF v4 as planned)
- Multiple search parameters and support for wild cards
- Grid based “search results panel”, support sorting results, and supports pagination
- “Item Views” for viewing records (drill down)
- All data stored in “the cloud” (SQL Azure)
- A maintenance plan/utility to manage and administer data (in the cloud)
Some stretch goals:
- Security – support authentication and filtering data by roles
- Failover support
This forms the high level basis of the PoC. The main aim here is to establish the reliability, performance and maintainability of Azure apps and SQLAzure databases. Heavy emphasis will be on maintenance of SQLAzure and the data access interfaces and security.
Stay tuned for more information, we start looking into this starting from next week.