Friday, April 30, 2010

Enterprise Library 5.0 Released

Enterprise Library 5.0 is available on MSDN for download. Enterprise Library is made up of a series of application blocks, each aimed at managing specific crosscutting concerns. In case this word is unfamiliar, crosscutting concerns are those annoying tasks that you need to accomplish in several places in your application, and where there is a risk that you may end up implementing slightly different specific solutions at each location (or just forgetting it altogether). Some good examples of this are writing entries to a system log file or Windows Event Log, caching data, and validating user input. While there are several approaches to managing your crosscutting concerns, the Enterprise Library application blocks make it a whole lot easier by providing generic and configurable functionality that you can centralize and manage.
As well as the application blocks, Enterprise Library contains configuration tools, plus a set of core functions that manage tasks applicable to all of the blocks. Some of these functions are exposed and available for you to use in your own applications—for example, routines for handling configuration and serialization.
What’s new in 5.0?
·         Major architectural refactoring that provides improved testability and maintainability through full support of the dependency injection style of development
·         Dependency injection container independence (Unity ships with Enterprise Library, but you can replace it with a container of your choice)
·         Programmatic configuration support, including a fluent configuration interface and an XSD schema to enable IntelliSense
·         Redesign of the configuration tool to provide:
o   A more usable and intuitive look and feel
o   Extensibility improvements through meta-data driven configuration visualizations that replace the requirement to write design time code
o   A wizard framework that can help to simplify complex configuration tasks
·         Data accessors for more intuitive processing of data query results
·         Asynchronous data access support
·         Honoring validation attributes between Validation Application Block and DataAnnotations
·         Integration with Windows Presentation Foundation (WPF) validation mechanisms
·         Support for complex configuration scenarios, including additive merge from multiple configuration sources and hierarchical merge
·         Optimized cache scavenging
·         Better performance when logging
·         A reduction of the number of assemblies
·         Support for the .NET 4.0 Framework and integration with Microsoft Visual Studio 2010
·         Improvements to Unity

Thursday, April 1, 2010

Web Role vs Worker Role

Windows Azure currently supports two types of roles:
1.       Web Role
2.       Worker Role
A comparison chart can be as
Web Role
Worker Role
Customized for web application development
Useful for generalized development, performs background processing.
Driven by a UI, involves user interaction and process the request.
Performs background processing
May define a single HTTP/ HTTPS endpoint for communications with external clients.
May define a number of endpoints using HTTP, HTTPS or TCP
Can communicate with other roles in a service via single HTTP endpoint
Can  define internal endpoints for HTTP or TCP

Both web and worker roles can make outbound connections to Internet resources via HTTP or HTTPS and via Microsoft .NET APIs for TCP/IP sockets. All roles may access the Windows Azure storage services via the REST APIs or the Windows Azure Storage Client Library