Monday, January 07, 2008
We had a requirement to generate some extract data in the form of XML.
So while designing the solution, I had 2 options.
1. Use FOR XML in the Query with SQL 2005
2. Use regular SQL Queries and usign a Custom DataSet, serialize the data to XML.
SQL 2005 has nice options to get the XML.
You can assign name spaces to nodes, can have nested XMLs, can have custom Root and Child Xml node names.
One example can be found here.
http://www.wrox.com/WileyCDA/Section/id-301088.html
But FOR XML queries are much slower when getting huge amounts of data.
You can find a comparison here.
http://searchsqlserver.techtarget.com/tip/0,289483,sid87_gci1265579,00.html
So the bottom line is, FORXML is suitable only for small output.
Else do the logic in the business components.
And in most of the circumstances, the load on the database need to be kept low.
Hence second method was found the more suitable one.
WPF is the next generation Interface Design System for Windows Forms applications.
The arrival of WPF is going to change the WinForm application development a lot. The WPF has made many architectural changes to UI subsystem. Now there is a better element subsystem, notification mechanism for the changed events for the UI elements etc.
What are the new features of WPF?
- Integration : With existing UI services like User32, WinForms, Direct3D etc.
- Simplified Development using XAML : Flexible UI composition using XAML
- Simplified Deployment: Deploy the UI to deploy as a WInForm or a browser enabled WinForm GUI (XBAP)
- Vector Graphics : implements vector based composition engine, allows graphics to scale based on screen resolution w/o loosing quality (eg: SVG : Scalable Vector Graphics)
- Document Portability : By supporting compression, custom meta data, digital signatures and XPS (Xml Paper Specifications)
Why XAML?
Provides us the facility to define UI declaratively using XML.
* Convenience of a declarative system
* The tool Expression Blend from MS is a designer tool that helps the designers to create rich UI and the same can be save
as an XAML file.
* The developer can take over the same fiel add the functionality in the code behind.
XBAP?
XABP is XML enabled browser application.
This is not a Web Application and is never a replacement to ASP.NET
Here is the comparison.
|
Stand Alone Windows
|
XBAP
|
|
Has full access to System resources
|
Xaml Browser Application:
This is not a web application.
The client is required to have the .NET Framework.3.0 installed on his computer, and the application will run within the security context of the browser.
Runs inside the browser, hosted by PresentationHost.exe, which loads the CLR
XBAP is for delivering the compiled WPF applications through Browser.
ASP.NET is to create a web application that is cross-browser compatible and to create "true" web applications.
|
|
Two navigation systems:
- Std Win form navigation
- New Hyperlink navigation
|
Structured Navigation
|
|
Runs under full truest security sandbox
|
Runs under partial truest security sandbox
|
|
|
Data Access:
Does not support direct DB access, have to use service oriented model.
(Web Service, WCF)
|
|
State Management:
*Application Object :
* Isolated Storage
|
State Management:
*Application Object :
* Isolated Storage
|
So how do you provide the similar rich UI to ASP.NET?
Silver Light is the answer for that.
http://silverlight.net/GetStarted/
I came across a good BizTalk online magazine.
http://biztalkhotrod.com/default.aspx
It has good content for Biztalkers..!
Both the .NET 3.0 and .NET 3.5 are built on top of .NET 2.0.
.NET 3.0 adds four frameworks namely Windows Communication Foundation (WCF), Windows Workflow Foundation (WF), Windows Presentation Foundation (WPF) and Card Space to .NET 2.0 and Microsoft named the resulting framework as .NET 3.0 (a marketing tactic).
Similarly .NET 3.5 adds Language Integrated Query (LINQ), Representational State Transfer (REST) and AJAX functionality to .NET 3.0 and named the resulting framework as .NET 3.5.
I will start writing my understanding on these emerging technologies soon.