So WCF offers many new features like :
- Simplifying the configuration model – you can run without svc or config file. (new tags included like serviceActivation)
- Windows server Appfabric (formerly “Dublin”)
- Monitoring WCF with AppFabric. Turning on ETW (Event tracing for windows) providing a lot of information on traces we output. Associating that with the relevant monitoring program
- Can be configured from IIS in the monitoring section (Health monitoring, end-to-end Monitoring and so on…)
- Call History including each service
- Dashboard - Failed calls and service exceptions – with detailed information
- Message Pump as a Service is available in 4.o to host and extend
Scenarios :
- Basic Message routing
- Protocol Bridging
- Service Aggregation
- Versioning
The C can be IRequestReplyRouter while the B can be for example BasicHttp, you can build a routing filter table which have some filtering on diffrent actions. if you have multiple matches all the endpoint that apply get the message.
The Routing service for example can bridge from SOAP 1.1 to SOAP 1.2 on the other end, or basichttp to Net.tcp on the other end. Another common scenario is from Client Identity to another Client ID (Impersonation using WindowsIdentity)
One nice Scenarion demonstrated was Error Handling whcih you can echo the exception to different routes using the Routing Service.
The routing service is also shielding the end client from intermediate access.
Also a nice thing is Discovery :
- Helps a lot to write scalable loosely coupled services.
- WS-Discovery : Complete implementation and it helps looking out for services.
- A client can send a probe have information about which kind of information service are we’re looking for.
- A Managed discovery model can contain a Discovery Proxy. Supress multicast messages, and let us expose metadata that we want to expose. A client can take advantatge of that information to find the service he wants.
- A Discovery contains
- Types
- List of xs:QName, and contracts
- Scopes
- EndPointReference
More on PDC later on…
Scott Hanselman is on stage :
- A new syntax in MVC 2 there is a new way to say HTML.Encode which is
just putting a “ : “ in front of what you want to come out. - MVC 2 is available in VS2010 b2, and of course you can download it to VS2008.
- BTW, the empty model folder is just for developers to find it, no special function.
- You can manipulate the tooling of “add view” with code templates under
“Program files/Visual studio 10.0”. You can drag this folder to your project and choose custom tool in the properties window. This is of course T4 template. (tt extension). looks like classic asp but instead of generating html it generates code. Once those templates are inside a project, they are local overrides. You can also copy and rename one and it shows in the view content combo. - About broken links. David Ebo have a Template (T4) called T4MVC.tt. When you use it just give you strong type in front. MVCBuildViews = true in the csproj file will make sure the views are pre-build and the errors like broken links can be found in advance. (on Codeplex)
- Using Data Annotations, you can mark your class with Data Annotations.
- An important thing to mention that the term Dynamic data should be mentioned as something that is referring to both MVC and Webforms and less as a technology by itself.
- using the annotation with HTML.EnableClientValidation on the view makes it use client side (jQuery) validation for example for “Required” annotation. You can of course write meta data dynamically and write custom rules as in DD.
- Instead of render partial you can write HTML.DisplayForModel() and it assume what to render from the model.
- Scott recommends MVCContrib and MVC turbine (Codeplex) which is a simple extended framework (using Unity) implementing IRouteRegistrator, or IServiceRegistration, and if you want to move from Unity to Structure Map, it’s a very easy staff.
- Also another recommendation is to read a lot of posts and comments from the community and not only take the things Microsoft say for granted (like “Nerd Dinner” application implementations).
Scott Guthrie on Stage, talking about Silverlight now deployed on around 45% of computers worldwide.
And… Announcing Silverlight 4 :
- Web Cam and Microphone
- including video and stills + effects
- Also showing a barcode application like the one exists for iPhone, showing how you can scan a barcode, and it can give you the product details through a web service.
- Showing Silverlight player with pausing, real-time rewinding and slow motion options.
- IPhone that have http streaming format and you’ll be able to publish through IIS the output to iPhone although it doesn’t support Silverlight at the moment, for streaming of course, not for a full blown SL app at the moment.
- Business applications -
- Printing – directly print and make your own printing preview dialog
- Rich Text
- Clipboard Access
- Right Click
- Mouse Wheel
- Implicit Styling
- Drag/Drop ! works beautifully
- Bidi & RTL
- HTML – host HTML control in SL application
- Host any plug-in control in it like flash
- Commanding and MVVM !
- Additional controls as well extending existing controls and …..
- Supporting Hebrew !!!! and Arabic + some Asian languages
- Select text from data grid and copying it to excel
- Flip between left and right scroll bars
- Share Assemblies across SL and .NET 4
- Data Binding Improvements
- UDP Multicast Support
- REST Enhancements
- WCF improvements and RIA Services
- VS2010
- Design Surface
- XAML Instellisense
- Data Binding, Layout Styles
- WCF REST
- Data Sources window works with SL, so you can drag data source from that window and you get a thing that looks like the way available for Win forms, but there are way more options, include more control on the generated XAML.
- Support for Data Annotations that you may be familiar with, on ASP.NET Dynamic data (if you are not familiar with that concepts you can look at web casts I made earlier this year on that matter).
- Notification Support and Windows API
- Elevated Trust when running outside the browser !! Enabling :
- Custom Windows Chrome
- Local File System
- Cross-Site Network
- Keyboard in Full Screen Mode
- Hardware device Access
- COM Automation Support
- For example :
- work with Office
- Location APIs
- Performance
- Twice as Fast
- 30% Faster startup
- New Profiling support
- Support for Google Chrome !
Next Showing a facebook application using these options and I can tell you that it looks just great!
Silverlight 4 Beta is available for download and it’s suppose to go out on the first half of 2010.
* Earlier scott showed some brush options like scrambling parts of Rick Ashley Video (of course not selected by random since it’s sarcastic way to apply to the so called iPhone virus shown Rick photo on iPhone background, that was spread a few weeks ago).
Steve is
on stage talking about the things learned from Windows 7, the rhythm that was going between Microsoft and the community, involving feedback they got from the beta and RC versions.
The Telemetry included :
- Send feedback button
- Device Diagnostics
- SQM- Software Quality Monitor (what is the sequence of events performed by users, and what are the most used way to get from one place to another within the operating system
- Watson – Windows error reporting (remember that tool? :-)) sending dumps and make the whole process of fixing
errors a lot errors by Microsoft a lot easier.
The numbers are enormous, like 1,729,890 Send Feedback reports, and ~10 million Aggregate Windows Error Reports, and ~900 Million SQM Sessions. ~ 514 Million Start Menu clicking.
They are showing a lot of different hardware manufacturers and many kinds of different hardware from net books to more advanced ones.
Also, they just now announced that they are going to give away free laptops multi touch to delegates of the conference.
The new things that the ASP.NET team are considering :
- Smartyroute – easier to configure routes (if you are familiar with routing from MVC and ASP.NET forms 4.0)
- one Time setup of routes and you’ll be able to ask the smartyroute methods to give you the next page, route, etc…
- Performance of web pages. like combining few images into one image, making the number of round trips smaller
- Some common operations that could be simplified :
- email verification, openID, Active record
- ASP.NET Helpers :
- Image manipulation – make it easier since it’s common task
- Image.AddWatermark (…) etc…
- email verification
- (Login.Register(username….) etc…
- Background tasks – help in the scenario of calling long processes whithin an asp.net page
- TaskScheduler.Add(Mailtask, 500);…
- File upload real progress update – not the “so called” progress that everyone is trying to put on their sites.
- <%= AsyncFileupload.Render(“….”,….);%>
- HTML5
- Enhanced Drag and drop
- Web storage from offline storage.
- Supporting things like <video>, <audio>, <menu>
- like taking the menu control of asp. net it was :
- rendered in ASP.NET 2.0 as nested table
- rendered in ASP.NET 4.0 as <ul> and <li>
- in HTML5 it will take advantage of <menu> element
- Performance
- output caching that works with Velocity (provider of VelocityCache as part of AppFabric that I mentioned earlier) all you need to do is just writing a few lines in Web.config
- if you are familiar with CSS sprites term, it is going to be in ASP.NET MVC (and later ASP.NET Web Forms), very easily like toggling a switch for generating few images to one images, and changing the name of the “images” folder to “sprites”, and of course using a helper of HTML.SpriteImage(…)
- Active Records
- Works with ASP.NET MVC :
- Alter both classes and DB for changes, and make it really simple even from code only.
More on PDC later on…
ASP.NET core services is always a great thing to hear about, and on the stage is Stefan Shackow :
ARM is letting ASP.NET to keep track about how much an application in an appdomain is using the CPU, and this let us use few performance counters to use performance monitor to check it up. (by the way, the counter name is partly managed memory estimated time because of GC, that until Gen 2 collection you don’t get an accurate number.
Session Sate :
- Heavy use of customers on Session state, and that got the ASP.NET team to put their mind into it.
- Added support for compression of the session object. 1/3rd to 2/3rd reduction in size.
- The only change is through a config, using the httpcontext, if you want or not a compression.
- Partial session state is using AppFabric session state (Velocity), only using some of the session variables for example.
- SessionStateBehaviour in SessionState Class let you control using or not the session from asp.net code.
OutputCaching
Because it’s output of the httpResponse, it doesn’t matter if it’s MVC of webforms. There will be some new staff for both technologies the following :
- New extensibility point so you can write your own outputcache provider and use it in your application.
- Supportes : Absolute expiration, file dependencies, static substitution and callbacks.
- GetOutputCacheProviderName, some add, remove etc.. override and you are there, after of course inheriting from OutputCacheProvider.
Amortizing startup costs
- Improving the startup costs by using service Auto-start, telling IIS that we want some worker process to come up and also operate some logic for that. (no more ghost calls for applications to start them up running)
- Built on IIS 7.5 auto-start feature and works with any ASP.NET version
- Easy to configure and use it in web apps.
More on PDC later on…
Live from PDC 09 :
Ray is on the stage. There are going to be a lot of talking about server side today, and more on Client side tomorrow. It also going to be about mobile devices and the next Windows mobile 7.
Loic Lemeur (from Seesmic.com) is talking about about the their application powered by Silverlight. Shipping today Seesmic for Windows . On windows have current location give you the possibility to add plug-ins and more.
Windows Azure which have filled many slots on the Conference agenda is being referenced as a Windows server managed by Azure system center, public and private cloud. Model based extension to Windows.
This is one year since the original declaration on last PDC, it’s announced that it’s in Production. On February customer billing will begin.
Features coming out from Azure :
- Using it in VS2010
- API’s
- VMs
- Support for any pattern of roles (Not only VS)
- PHP, Java Apps and MySQL working with Azure
- Fast CGI Support
- Entity Group transactions
- Snapshot and Copy
- Block Blobbing and much more
- Azure extra – Durable blob to NTFS vhd
- SQL Azure has been transformed – Database in the cloud. you can create a database when you need one, without carrying about all the rest. Supporting ADO.NET, XML, Sql transactions and more
WordPress by Automatic, working a lot with Azure on the Preview phase.
Matt Mullenweg Fouder, Automatic (WordPress) :
- Talking about scaling up on some WordPress based blogs (www.oddlyspecific.com – funny blog) running on Windows Azzure. on the backend there is a plugin for Wordpress.
Infrastructure delivered as a service. Microsoft PinPoint. Directed to Programmers, integrated into the partner network (www.pinpoint.com), Office and sharepoint communication online, bring your service to a common marketplace for developers.
Announcing Dallas CTP. Open Catalog and marketplace for Data. A uniform discovery for Data. Trial Datasets. A uniform way to bring Data as a service.
Dave Cambel (Technical Fellow from Microsoft) is talking about Dallas :
Catalog, Subscription and account management. Discovery and exploring of data from services, at a first look it looks like a kind of UDDI for data services. Generating a proxy for your .NET program to connect that service
He demonstrates WPF in front of the generated proxy to the service model of Dallas and showing 3D images from Mars.
Bob Muglia is on Stage talking about the cloud. How to make a group of computers delivering it as a service.
Bing and online services as an example working across hunderd of thousands of computers. it work on “Auto Pilot”, if something goes down, another comes up. Talking about a cloud you should take in mind that it’s always available, Scale-out, Elastic, Model Driven, Self Service, federating, Staging, on-line evolvement of applications etc…
Private cloud as a local Azure is also available.
Don Box is on stage, writing a CGI web site and some Ajax code in front of a SQL Azure, it’s very easy to write a simple application that works with these services (of course Don box gave a good show as always).
Andy Lapin from “Kelly Blue Book”, showing a Silverlight application working with some datacenters, showing how to make a data sync with SQL Azure working with a wizard that make it almost automatic.
There will be a Windows Azure Virtual Machine Role type to help move existing Apps to the cloud !
Announcing AppFabric (Beta), provides a platform for building WCF and WF services on the cloud, and also providing a database cache to use it.
(Also mentioning Go live license on Visual Studio 2010 FW 4.0)
Douglas Pury is talking about Application Model project template in VS2010.
(not on VS2010 B2 yet). looks nice in terms of architectural diagram building a Azure project using MVC, WCF and WF altogether.
More on PDC later on…
One more time I’m attending the PDC 2009 conference, and this time I’m
here with almost 20 other Sela employees, both lecturers and consultants. Being in such a large group of fellow professionals make it both fun and interesting, during the fact that on almost every conversation you can just see how the technical information flows from one to another.
This time, Sela is also have a booth here on PDC Expo, and we are going to show a lot of demos and labs about XP to Windows 7 and Silverlight (It’s going to be very impressive, so if you are reading it, and you are participating in the conference, I recommend visiting).
This PDC is going to be also about many announcements and a lot of new staff is coming up, Win 7, Azure, WCF and my favorite: Web development staff (which I’m going to write a lot about, on the following days).
So, my next posts are going to give some highlights about the PDC content, and I’ll try to share my thoughts, and future directions. I’ll love to hear comments both in this blog and by mail, so if you’ll have questions, or on the other hand wants to hear more about it on WDC (Web Developers Community) sessions, I’ll be happy to read all about it.