.net 3.5 - my recent presentation resources
Yesterday I presented to one of my financial services customers in the city on an overview of what's new from 2.0 to 3.5. The audience was a mixture of project managers, developers and architects. I thought I would post some of the content and sources here for future reference.
What's new in 3.5
General
-
- Daniel Moth writes about features aligned per framework assembly
- Paul Andrew lists a number of .net 3.5 whitepapers
- .NET Framework 3.5: Communication, database improvements abound
- Reasons for adopting .net Framework 3.5
- Adventures in .NET 3.5 Part 1 - Method extensions
I mentioned that WCF complies with much of the WS* standard. More so than other platforms I am led to believe. This is a nice article explaining the standards.
Incidentally I have highlighted below the 2007 Microsoft WS* standing:
3.5 Specific areas of interest:
-
- JSON
- JSON-Enabled WCF Services in ASP.NET 3.5
- JSON Serialisation - a DIY guide to DataContractJsonSerliaizer
- Creating JSON-enabled WCF services in .NET 3.5
- Linq - Working with business objects
- Peer to Peer
- WF
- WPF
- Nice XAML blog
- FAQ
- ObjectDataProvider binding
- JSON
During this exercise I decided to freshen up my WCF programming skills:
I remember this great advice and tool for enabling http WCF services within Vista (UAC locks down access by default)
I'd forgotten about meta data publication. So, I relearned the various ways of enabling meta data. I remembered that the service behaviour configuration needed to include metaDataSupport - good article here
<system.serviceModel> <behaviors> <serviceBehaviors> <behavior name="metadataSupport"> <serviceMetadata /> </behavior> </serviceBehaviors> </behaviors> <services> <service name="OnlineBanking.Test.AccountService" behaviorConfiguration="metadataSupport"> <endpoint address="net.tcp://localhost:8001/AccountService/"
Although much of the documentation I found would push towards having a serviceMetadata section like so:
<behaviors> <serviceBehaviors> <behavior name="metadataSupport"> <serviceMetadata httpGetEnabled="true" httpGetUrl="https://computer/Services/SampleService/Metadata"/> </behavior> </serviceBehaviors> </behaviors>
I found that it was better to provide a specific mex endpoint:
<endpoint address="https://localhost:8002/AccountManager/mex" binding="mexHttpBinding" contract="IMetadataExchange" />
In this way basic serviceMetaData could be exposed for multiple transports and not only HTTP.
Also when communicating across multiple processes you may come into identity issues. Easily resolved in WCF. I recollected thanks to this MSDN forum article.
For the PPTX I used some of the Stock Photo's from FreePixels
Demo:
I built a small demo that I built previously for an Online Banking demo. It was based from the simple, but elegant, example from IDesign's Transaction Flow banking sample.
The bank samples I used can be found here
The RFID originated event entrance application (with bouncing WPF bubbles) can be found here
Other:
Along the way I discovered, from this post, the winners of the WPF in Finance Innovation Contest which was shown at the Microsoft Financial Services Developer Conference
- To understand the graphic above:
- A boid’s visual appearance represents the stock pricing at a given date
- for each stock symbol found in the dataset a boid is placed on a random location on screen
- There are two arcs on the outer ring: the longer one represents the range from lowest to highest prices, and the shorter one represents the range from the opening to closing prices.
- The colour of the inner circle reflects the percentage Change value of the stock price at given day relative to the price a day before
- When you click on a boid a new window opens showing charts with all the data for a given symbol
You can download this and the runner's up Daniel Chait's skydrive here
As an aside I was looking at ReSharper's new tools. In particular this post shows how to convert some standard types to generics.