Showing posts with label TechEd. Show all posts
Showing posts with label TechEd. Show all posts

Thursday, November 12, 2009

[Event] TechED 2009 – Experience Summary

Last Sunday I arrived at the TechEd 2009 in Berlin and registered in the evening. There were many people from all over Europe and even Speakers from the US. About 736 Sessions for over 7000 people were announced. What an event, the week promised to be awesome!

I did 4-5 session per day and also tried to do as much Hands-On-Labs and Interactive Discussions as possible. When I got a possibility to talk to Microsoft collaborators on upcoming technologies I did it!

I attended at sessions on Architecture, WCF 4.0, WIF, Dublin, Parallel Programming, SQL Azure and Visual Studio 2010 and many others. An enormous amount of news was given to the audience and I was very excited of what was presented.

WCF 4.0 will not have major updates but will get default bindings, default behaviors and standard endpoints that will make configuration in most cases much easier. There will be new protocol mappings, a whole new routing mechanism (!!!) and new ad-hoc service discovery features that make it possible to detect services on the network automatically. It will be possible to configure the content-type of the service return format (xml, text, json, atom, etc...).

The Geneva project, that will rewrite history for security handling in application, was renamed to WIF (Windows Identity Foundation). This new claims based approach decouples security handling and management from application development. It works via Tickets that are delivered via an STS (Security Token Service). Cardspace 2.0 will be used to provide users with the possibility to select an identity.

WIF is the framework that is used inside applications for being able to use Tickets and recover claims that are important for them. Finally an abstraction layer for security, something that will make application development much easier and security handling much more flexible!

Dublin, which was renamed to "AppFabric", will provide a new hosting environment for WCF. Some extensions to IIS were shown, that add for example, a new management Dashboard that greatly aids in managing WF 4.0 Workflows and WCF services. WCF 4.0 in conjunction with Dublin will really provide a whole new experience and will be a good alternative for BizTalk in many use cases. Definitely worth looking into it when it will be shipped!

The new Parallel Programming features in .NET 4.0 will make it much easier to get the most out of multi-core machines. In most cases you just have to identify the parts of the application that may be parallelized and use Tasks, PLINQ and the TPL (Task Parallel Library) to optimize for parallel processing. Thread optimization and complicated algorithms will rarely be necessary. There are many new features in Visual Studio 2010 that further aid the developer to master parallel development (Thread/Tasks can be separately debugged and profiled, Performance analysis can be done, etc...).

SQL Azure will be a relational database in the Cloud that can be used together with Windows Azure or client applications on client servers. The experience is seamless and you really see no difference inside your applications. You even can use SQL Server Management Studio (in a new version that can be found here) to manage your online databases. Your databases can have a size be up to 10 GB and the same on-a-use based payment model is applied as with Windows Azure ($9.99 and $19.99 payment plans).

And I could go on and on. This was really an amazing event and I am very happy that Winwise sent me to it. I would love to get into more detail on all the new features, so just contact me if you want additional information.
Share/Save/Bookmark

Wednesday, November 11, 2009

[WIF] TechED 2009 – Windows Identity Foundation, Cardspace 2.0, ADFS 2.0

The new claims based security abstraction layer (before project “Geneva”) was presented. It will likely change how applications implement security handling in the future.

Until now when you developed your application, you had to decide during development time what security approach you wanted to support.  Then your application was more or less coupled to the security implementation.

Changing your application from a Windows to a Web application could mean re-developing the whole security handling (recovery of rights and verification, etc…) for example.

New WIF Security Abstraction Layer

This is about to change considerately with Windows Identity Foundation (WIF), Cardspace 2.0 and ADFS 2.0 or any other provider that can act as STS.

Applications will not mind anymore from where security is coming. In fact they won’t know anymore. They will just know what rights – or better what claims they need and who they trust. It will be the responsibility of the Security Token Service (STS) provider to recover claims and sending them to requesting applications.

P1000382 P1000383
Security will be decoupled completely form application development in this scenario. And it is very easy to do!
The WIF API will provide all functions and objects, that are necessary to do the implementations in your applications. You may change your security configuration by modifying the application configuration file (like for WCF) and changes will be immediate even in production environments.

Claim Recovery Example

Here is an example of how to recover a claim (ex: “age”) that the application needs for security verification (note the usage of LINQ in this context).

P1000384

Visual Studio 2010 Tooling Support

Visual Studio 2010 will provide the tools necessary to make this as easy as possible. There will wizards that greatly help configuring your applications. You may even have a local simulated STS implementation that can be used during development (not everyone has a fully configured STS at hand).

P1000385P1000370P1000372 P1000373

ASP.NET & WCF Integration

With WIF authorization and security handling will provide more flexibility and will allow more complex scenarios.

P1000394 P1000395

Summary

The new security concept that will be provided by WIF will really change how application security will be built. There are already Hands-On-Labs and documentations on WIF and I encourage you to further “dive” into the subject. I for my part will closely follow the next releases and can’t wait to see the final product.

P1000413P1000411
Share/Save/Bookmark

Tuesday, November 10, 2009

[Parallel Programming] TechED 2009 – Parallel Programming in .NET 4.0

There are many new features in .NET 4.0 concerning Parallel Programming such as Tasks, PLINQ, Coordination Structures and many more. Most of these were also presented during the session at the TechED.

P1000295
  • Tasks make it much easier to cope with parallel processing optimizations since they add an abstraction layer. Complicated thread programming is not necessary anymore.
P1000301
  • Parallel LINQ (PLINQ) is a very easy way to add parallelism to your applications since you just have to add knobs to the LINQ expression and the processing is automatically parallelized.
P1000299
  • Task Parallel Library (TPL) provides APIs, structures and objects for parallel programming
P1000314
  • Coordination Structures can then be use inside and outside the code that is parallelized to assure that the processing is correctly done.
P1000315
  • Visual Studio 2010 will include parallel debugging and tracing and many other feature for parallel programming. Here an example of a parallel stack diagram.
P1000312
Share/Save/Bookmark

[AppFabric] TechED 2009 – Project “Dublin” now "AppFabric"

The session on Project “Dublin” (now called "AppFabric") was very interesting. It clearly is an alternative to BizTalk and might just be the right solutions to many business needs. It should ship until the second semester of 2010.
 P1000285P1000278
There are nice extensions to IIS that allow managing & analyzing WCF services in a common Dashboard that is very BizTalk like. From this new dashboard you see what your WCF services are doing and if they are suspended or in Error state.

AppFabric will provide very useful features and is in conjunction with WF 4.0 a very powerful new offer. 

P1000286P1000287
Share/Save/Bookmark

[Architecture] TechED 2009 – Architecture Talk
Command Query Responsibility Segregation

The architecture talk of Udi Dohan,  SOA Specialist and Mastermind behind NServiceBus, was centered around current architecture layer schemes and real life scenarios and new ways of solving customer needs.

I really liked his talk and admit that he made me think critically on our current architecture approaches. This was by far the best architecture talk on TechED 2009. There were so many interesting ideas and concepts. This article sums them up.

Current n-tier Architecture Weaknesses

Software development is all about helping customers to solve problems and/or do some work. It only serves for something if there are added values and if the user intents were correctly discovered and satisfied. Udi stated that the current n-tier approach may not always provide the best way to achieve this goal.

Developers spend most of their time on building software infrastructures instead of concentrating on solving user needs. By having all these different layers in a n-tier architecture there is also the need for transforming data between them. This transformation makes maintainability and extensibility much more complicated.

P1000320
Much overhead is added for data transformations. Functionalities that the user will not see in the end and that will cost performance (nothing is for free). No added value! The user is just interested in the final result – the application that he uses to achieve his goals.

If the application is not doing what the user needs than he will not be happy with it, even if the underlying architecture was from a technical point of view “perfectly” designed.

P1000322
That is why we need to break free from our current thinking and try to approach problems in another manner. Ideally the goal of software architecture is to come up with simple solutions for complex problems.

Udi presented a more simple way of displaying read only data in the UI (which is a use case that does not apply to all user needs but sometimes it is just what needs to be done). Let the UI have a direct connection to the “Persitent View Model” (in other words have a view in the DB for each view in the UI).

P1000326
By doing it like this all intermediary steps are suppressed and when there is a change only the UI Layer and the corresponding views are affected. Simpler, easier to maintain and providing better performance! A win on each level!

This is not possible for all application scenarios but if possible it should be considered when designing application architectures.

Validation and Business Rules

The next topic concerned the separation of Validation and Business Rules: What is covered by Validation and what needs to be done in Business Rules? Udi provided a good explication, that says that Validation should be done upfront to assure that the input is correct (and only that). Business Rules apply to a combination of system states and business logic. They decide if the treatment must be continued or aborted.

P1000332

Command Processing Layer Approach

If we consider a new layer approach that handles commands we could describe the different layers and their interaction as follows.

P1000333 P1000335

Capturing User Intent

Udi gave an example of how to capture user intents and how to architecture the system that fulfills the user needs. He took an example of a ticket reservation system for a football stadium and how the IT system was built to satisfy the users.

P1000342 P1000343
The user enters his needs into the system and gives information of what is acceptable (ex: 4 places together in a group, seat type, etc…). The systems then searches asynchronously if the user needs can be satisfied and alerts the user via email when it has finished (it either finds the places and reserves them or it doesn’t). Less frustrations for the user since it is the system that finds the places and reserves them (in fact working like an agent).

P1000350

Summary

By using the Command Query Responsibility Segregation Principle that he introduced and having an asynchronous approach the system is more scalable, easier to maintain – and for the user – easier to use and understand.

P1000351 P1000352
Share/Save/Bookmark

Monday, November 9, 2009

[WCF] TechED 2009 - New features of WCF 4.0

Today I attended at a Session by Christian Weyer that contained information on the new features of WCF 4.0. There are no big changes but many ameliorations that make it much easier and much more comfortable to work with WCF.

P1000220P1000224
WCF is very flexible and easy to use, but there are also some down-sides such as the configuration file management. There are many switches and elements that need to be mastered, configured and maintained.
The next version of WCF will include default settings that will minimize the need to have very verbose configuration files if standard settings are used.

P1000228P1000229P1000231
Furthermore, there are now protocol mappings that can be customized and redefined.

P1000232P1000234
A big new feature are the new Routing functionalities. They can be used to have a single entry point for all client requests, that are then dispatched internally to the right business services. The business services can use completely different protocols and bindings. Routing tables and filters can be used to configure routing rules.

P1000238P1000239 P1000240
WCF services can now be made discoverable, which is also a quite interesting new feature that may fit very well in some use cases.

P1000243P1000245 P1000247
Rest support was largely enhanced and dynamic content types are now also supported (a feature that already exists in ADO.NET Data Services since some time).

P1000251P1000252
There are some additional little tweaks that further enhance the overall WCF experience.

P1000254
Don't hesitate and navigate to the Blog of the speaker. He really did a good job and managed to do quite and interesting session.

P1000255
Share/Save/Bookmark

[Event] TechED 2009 has started

I am right now at the TechED 2009 in Berlin where I am mainly interested in Architecture sessions, WCF 4.0, Dublin, WF 4.0, Visual Studio 2010, BizTalk 2009 and as many Hands-On-Labs as possible.

I will try to post all the news as fast as possible in the next days. So please stay tuned or if you have the possibility come to Berlin and see it for yourself.

P1000212 P1000213 P1000218
Share/Save/Bookmark