InfoQ Homepage News Five Orcas Short Demos
Microsoft's Data blog has five short demos on Orcas and post-Orcas features for editing XML files and XSD files, debugging XSLT, and working with Entity Data Models (EDM).
The first demo by Stan Kitsis shows covers some XML features such as automatic schema generation. While the schemas probably won't be perfect, it should serve as a good starting point. Another useful development is the generation of XML files based on schemas. Essentially it works like C#/VB code snippets, complete with highlighted fields that one can tab through. Auto-complete and background validation are also included.
In the XSLT Debugging demo, Stan Kitsis shows Visual Studio's side-by-side debugging. In stand-alone mode, break points can be set in both the XSTL and XML files. When a break point is hit the relevant line is highlighted in both files, with additional information in the call stack, locals, and watch windows. In integrated mode, developers can step into an XSLT transformation from a C# program.
The EDM Wizard demo is somewhat mixed. It starts with automatically generating classes from tables, views and stored procedures. While this is a potentially huge timesaver, the way it is used in the demo is somewhat questionable. Using drag and drop from the data sources pane, Sanjay Nagamangalam creates a GUI that looks surprising like something one would build using Access or Visual Basic 3. After 14 years of development, it seems drag and drop data binding is still very primitive.
The first post-Orcas demo covers the XSD designer. The schema explorer handles schema sets, allowing support for complex schemas that span multiple XSD files. Like the class view for C#/VB, all the elements can be merged into a single tree instead of being grouped by file. Searching and filtering is done across all files in the schema set.
The final post-Orcas presentation is on the EDM Designer. This demo, presented by Noam Ben-Ami, shows how database models can be graphically mapped to entity models. Using drag and drop, a single entity class can be created from one or more database tables. When the underlying tables are altered, say by normalizing a column into a lookup table, the affected entity models are flagged. The data mapping can be fixed simply by dragging the correct column onto the entity designer. With both the database schema and entity model being under source control, keeping them in sync should be easy.