Tuesday, March 27, 2007

VSLive, Day 3, .NET 3.0

Some tools that make life easier for editting XML and XSLT
XMLEditor integrated into Visual Studio
  • Create dataschema from example XML
  • Associate schema to XML file enables template insertion of xml fragments

XSLT Debugger

  • Use breakpoints in the XSLT and watch variables.
  • Use breakpoints in the source XML file also.
  • Step into XSLT debugging from a normal code.

Future XSD Designer (availble within "Orcas")
Features including:

  • XML Schema Explorer
  • Entity Data Model (EDM) Wizard:
    Generates class model from existing database
    Drag and drop fields onto a windows form
  • Future EDM Designer:
    This is really cool stuff!!!
    Drag and drop database table onto the Entity Modeler.
    Drag another table over the first and the object combines the related tables into one object.
    Refactor database, while the objectmodel stays intact.
    Is going to work with ADO.NET
    New query language (Entity SQL)
    New Provider (Entity Client)

Data Interaction - LINQ to Entities

  • Query is an database language independent part of the code syntax instead of a database dependent string. It is being checked at compiletime.

Service Oriented Architectur (SOA) Design Patterns with Windows Communication Foundation (WCF)
When metadata is turned on then the WSDL. The URL of WSDL ends typically with <
url>?WSDL. This returns the top document that has a hierarchy of other WSDL documents describing each method or property on the interface. These can be viewed trough url?WSDL=, where reference can be found within the root WSDL.

Next to the WSDL an XSD schema is available also.

It's possible to extend (not change) the contract with an amendent. When a client uses an older proxy then the current service implements the response object has a filled ExtensionData element where the amendent can be found.

Breaking changes should be created within a new namespace. Nothing new here ...

Windows Presentation Foundation (WPF)
All possibilities from gaming engines made available within the .NET Framework.

WPF can call on GPU tools:

  • Transforms
  • Rotate
  • Scale
  • Gradients

Handles for windows nog longer exists. WPF renders controls within the main WPF window, which is the only window.

Since I have some experience with OpenSceneGraph, which is an excellent engine for 3D visualisation, I automatically compare WPF with the OSG. XAML is a declarative way of describing a scene, in some way this can be compared to a "scene graph" stored in an .OSG file. XAML however has the advantage that it can be verified against a scheme. I do not know whether both can be fully compared and hope to find that out within the next couple of days.

WPF uses style (wich can be compared to stateset in OSG???). Templates are more powerfull styles.

WPF uses scRGB values. -scRGB(0.5, 0.75,1.0).

Windows Communication Foundation (WCF)
Use Patterns & Practices for setting up Windows Communication Foundation. Visual Studio integrated CTP does a bad job for any more complex than very simple configurations.

WCF can be used for any layer (or better tier) that you want to implement for your solution. WCF can be scaled up (network boundary) or down (appdomain cross) later on, i.e. by implementing another protocol.

WCF Gives you:

  • Hosting
  • Instance Management
  • Asynchronious calls
  • Reliability
  • Transaction Management
  • Disconnected Queued Calls (i.e. trough MSMQ)
  • Security
  • An extensibility model for customizing nearly every aspect of its behavior.
  • Easy Interoperability (i.e. with Java by using basicHttpBinding, and JAX see ...)

Directly addresses .ASMX (and general Web Service) deficiencies:

  • Performance
  • Security
  • Transactions

So use WCF instead of .NET Remoting or .ASMX Web Services. These last 2 are deprecated. WCF fully replaces them, and offers a lot of other options more.

1 comment:

Steef-Jan Wiggers said...

Keep posting that WPF stuff its good!!!