PDC 2008 Architect's Cut

Posted in Architecture | Blog News | Patterns & Practices | PDC 2008 at Sunday, November 09, 2008 10:33 AM Eastern Standard Time

Microsoft has recently revamped it's customer facing Architecture Portal.  It now features a selection of sessions from PDC 2008 that are particularly appealing for the architect audience.  Sessions can be launched on demand in the same page, maximized to full screen and eventually downloaded.

But wait, there's more!

The Patterns & Practics team has been releasing a lot of valuable material as of late, including new whitepapers or sample kits like the Unity dependency injection container or Enterprise Library v4.1.

In addition to the great content published on the Architecture Portal, you'll also find architect-focused content aggregated from non-MS news and media feeds (e.g. infoQ, Redmond News, etc)

 

Hope you find these resources helpful!

Quick Links

Guidance at a Glance

This guidance helps architects and developers build SharePoint intranet applications.  The guidance contains a reference implementation that demonstrates solutions to common architectural, development, and lifecycle management challenges.  This guidance discusses the following:

  • Architectural decisions about patterns, feature factoring, and packaging
  • Design tradeoffs for comon decisions many developers encounter
  • Implementation examples demonstrated in the reference implementation and in the QuickStarts
  • How to design for testability, create unit tests, and run continuous integration
  • Set up of development, build, test, staging, and production environments
  • Managing the application life cycle including upgrade
  • Team-based intranet application development

The following areas are not discussed in this version of the guidance:

  • Content-oriented sites that use web content management
  • Internet and enterprise-scale SharePoint applications
  • Multilingual SharePoint applications
  • Scale or security testing of SharePoint applications

To read my PDC Day 1 recap, click here.

Ray Ozzie once again kicked off the keynotes for the day.  Today, the focus was on the client and the Live Services component of the Windows Azure platform.  In his opening remarks, Ozzie further solidified our story around the integration of the PC/Web/Phone and how our strategy will fundamentally change how we as consumers interact with these devices and that consumers demands for this type of integration is growing.  Our approach is to seamlessly integrate our S+S platform across these devices, exploiting the power of the PC through our investments in Windows and client runtimes such as Windows Presentation Foundation (WPF), the power of the web through our investments in Silverlight 2 and Internet Explorer 8, and the power of the mobile device (e.g. Phone) through our investments in Windows Mobile and our Windows Live Services.  In his commentary, he basically broke down the 3 aforementioned areas as follows:
 
PC

  • Full and high-performance access to displays & peripherals
  • Natural UI & common controls for ink voice/audio, camera, touch
  • Local data privacy, portability, reliable/fast/full access
  • Use & recombine applications, data, documents, media
  • A personal environment, trusted & assumed under your control

Web

  • One common way to find, access, assemble & interact with people
  • One common way to find, access, share & transact information
  • One common way to connect devices, services, organizations & activities

Phone

  • Like the PC, provide a natural UI & common controls for voice/audio, camera, touch
  • Like the PC, provide facilities for local data privacy, portability, and reliable/fast/full access to data
  • Like the PC, use & recombine applications, data, documents and media
  • Provide a secure and reliable experience
  • Provide rich access to media/data through similar facilities afforded by the PC and Web "tiers"

KEY TAKEAWAY: Microsoft's Software + Services strategy includes driving rich user experiences across multiple mediums highlighting the strategic advantage afforded to us through the Internet.  Our client runtimes such as Silverlight and WPF, coupled with our Windows brand (to include mobile) and key advances in our Internet Explorer technology will position us to deliver the next generation of user experiences on top of our investments in our Windows Azure Services Platform.
 
Windows 7 is Coming!
A lot of emphasis was put on Windows 7, as it was one of the main things PDC attendees wanted to see.  Most of the other topics discussed during the keynotes were further fleshed out during the breakout sessions, but I'll provide some commentary about those in this post.  Steve Sinofsky, Senior VP, Windows division discussed our strategy around Windows and it's future as it relates to delivering next generation experiences.  During his keynote, Sinofsky laid out our strategy around Windows 7 as it relates to what investments we're making in the OS to build upon the platform established by Windows Vista, learning from the mistakes we made with Vista (and yes, he openly said we made mistakes :-)) while at the same time building upon the groundbreaking work we've done in the area of Windows security, to deliver a product that we'll be proud to sell and our customers will be proud to use.  In his "Transition from Windows Vista" discussion, he highlighted several lessons learned from our Vista experience:

  1. Ship solid Windows Server 2008 and Windows Vista SP1 products - With the negative press we got from the initial launch of Windows Vista, it was imperative that we shipped a solid Windows Server 2008 product and SP1 update to Windows Vista.  In reference to Vista SP1, we needed to ensure that we addressed the key issues highlighted by our customer feedback in efforts to drive broader adoption of Vista (and not just on new PC sales)
  2. Ecosystem Readiness - Driving Vista readiness was a key area during the launch lifecycle where we needed to spend more energy.  Through working with our partners, ISVs, OEMs, we need to ensure that they are equipped with the information they need in order to make Vista the platform of choice for new deployments, highlighting the enhanced capabilities of the OS, and showing clear evidence of the value add for customers making the investment
  3. Standards - Our investment in standards support as it relates to security, network protocols, etc has positioned us as a leader in driving industry standardization around the aforementioned areas in addition to new capabilities we introduce in future versions of the OS
  4. Compatibility - Working closely with our OEMs to drive more hardware compatibility with Vista is key.  Microsoft is making significant investments in this arena, particularly as we drive towards the RTM of Windows 7, to ensure that customers have the best possible experience with Windows 7
  5. Scenarios - Clear identification/clarification of Windows usage scenarios is key for us in improving the overall quality of the product.  We are taking very proactive measures to learn how the product is being used and what critical areas we need to focus on to deliver the best possible experience

Julie Larson-Green gave the PDC audience a demonstration of the Windows 7 (build 6933) and it was met with much applause and "ooohs and aaahs" :-)  To quickly summarize the things she demoed/discussed:

  • "One click" experience when navigating Windows taskbar and menus.  For example, if you have multiple instances of an application (say Internet Explorer) open on your desktop, by hovering over the any of the windows in the taskbar, you get a thumbnail view of all the instances, thereby allowing you to select whichever instance you want from a single mouse click
  • Taskbar "Jump List" which essentially gives you an MRU list of the most recently launched applications & documents.  For example, if you have an Excel icon in your taskbar that you use to launch Excel, by hovering over the icon you can see a MRU list of Excel workbooks you've opened.  This capability extends to the Windows menu as well.
  • "Libraries" which help you aggregate and search content across multiple hard drives and machines connected within your network
  • "Homegroups", which gives you the ability to creates groups of Windows 7-based machines or other computing resources (ex: printers) within your home network and when your machine is connected, have any one of those machines automatically discover/connect to those resources.
  • Ability for Windows 7 to automatically detect whether you are on your home or work network and automatically change your connection to network resources (such as printers) without you having to do any manual configuration :-)
    Docable windows which essentially allows you to drag an application window to the left/top/right side of the screen and have it dock (or "snap") to that location.
  • Windows Gadgets, which now work differently.  No more dependency of the Windows Gadget Sidebar.  Gadgets now float freely on the desktop
  • Enhancements to the task tray that essentially allow you to organize what goes into the task tray (and not have it "dictated" to you by the installed application/driver/service)
  • Windows 7 touch features extend to Windows Live Services such as Virtual Earth

Sinofsky stressed our focus on "Fundamentals" in our engineering efforts as we drive towards the RTM of Windows 7.  In his fundamentals discussion, he focused on the following:
 
Decrease

  • Memory Footprint
  • Disk I/O
  • Power Consumption

Increase

  • Speed (Faster Boot, Device Ready)
  • Responsiveness (Start menu, Taskbar)
  • Scale (256 processors)  - Yes, you read it right, Windows 7 is being positioned to support up to 256 processors)

It is important to understand though that Windows 7 shouldn't discount the benefits of moving to Windows Viata.  This essentially goes without saying, but opting Windows Vista positions enterprises to more easily migrate to Windows 7 when it becomes available.  Windows 7 is going to present some very compelling features that may have folks thinking they should wait, however, it's key that Microsoft wil continue to drive Windows Vista as the base platform to build upon.  Sinofsky made it evident in his keynote that we're still committed to Windows Vista.
 
What about Windows XP?
We will continue to push out updates to Windows XP for our XP customers.  It is important though to get them moving towards Windows Vista.
 
Developer Platform
Scott Guthrie came on stage and talked about our investments in our client runtimes (e.g. Silverlight, WPF) as well as our enhancements in Internet Explorer and IIS7, and our web development platform (e.g. ASP.NET, ASP.NET AJAX, ASP.NET MVC, ASP.NET Dynamic Data) as well as laid some groundwork for where our future investments are as we evolve these platforms/technologies.
 
Windows Live Services
David Treadwell rounded out the keynote to talk about our investment in the Live Services component of the Windows Azure platform.  He discussed the Windows Live Essentials offering (currently in beta and available for download at http://download.live.com/) which provides capabilities like email, blogging, messaging, photos, etc. In addition Treadwell talked about the rich integration of Windows Live Platform with Windows 7 and how key Windows Live capabilities will be a natural part of the Windows 7.
 
Announcements

  • Windows Live Framework - Provides a developer framework for building applications on the Live Services platform.
  • Office Web Applications - Web-based equivalents of the Office client applications (Word, Excel, PowerPoint and OneNote) During the keynotes, the Group PM of Office demonstrated the Office Web Applications.  This provides a solid platform for delivering web-enabled versions of our popular office suite that BLOWS THE DOORS off the competition.

IMPORTANT NOTE: As it relates to Office Web Applications, this should NOT be viewed as a replacement for the client suite.  As a matter of fact, the web applications should be viewed as complementary and a part of of the Microsoft S+S strategy.  It is important that this not be positioned as an alternative, but as a solution to further extend the reach of Office. 

The day was filled with great breakout sessions that covered the following products/technologies:

Resources

  • Engineering Windows 7 Blog - Great blog that gives a "behind the scenes" view, from the perspectives of the product team themselves, on how Windows 7 is being built
  • Windows Azure Portal - Provides information on the Windows Azure platform as well as it's sub-components (ex: Live Services)

That's about all I have for now :-)  Hope it's useful.

A lot of exciting things came out of day #1 at the PDC.  I’m sure you’ve already started to see/hear about the great technology that we are unveiling.  During the keynote, I saw laptops being pulled out and I’m quite sure there are tons of blogging going on in the blogosphere

Today, Ray Ozzie kicked off the 2008 PDC with a keynote that basically laid the foundation of our software plus services strategy and highlighted the key investments we've been making over the last few years in bringing our cloud platform to fruition.  In his talk, he focused on the landscape as we see it in 3 tiers:

  • Experience Tier – The experience tier focuses on the end-user and their user experiences with the desktop/mobile device
  • Enterprise Tier – The enterprise tier focuses on people interaction with enterprise systems and system-to-system interaction within the enterprise
  • Web Tier – The web tier focuses on leveraging the web as the backbone for next generation computing.  Our cloud computing initiative is focused on leveraging the web through providing scalable hosting services for applications services.

Windows Strata becomes Windows Azure

During the keynote, Ray made the "formal" announcement of the name of our new cloud platform.  For those of you who knew this as codename "Windows Strata", the platform has now been officially branded as Windows Azure.

 

 

Windows Azure provides a hypervisor-based model for providing secure and scalable hosting services.  It separates the application/service being hosted from the underlying operating system.  It is also important to note that Azure is not only for managing server infrastructure, but also web services as well and provides an end-to-end approach for accomplishing this.  At the heart of Azure is a "Fabric controller" which dynamically manages resources within the data center to preserve the health of services/applications that are deployed to the Azure Platform.

Windows Azure will provide support for both managed (.NET) and unmanaged code which essentially allows you to host non-.NET applications within this cloud fabric.  From a developer perspective, developers will be able to take advantage of this platform locally, through the Azure SDK and supporting tools for Visual Studio, that'll provide facilities to support the development/debugging of cloud-based applications.  Through a "publish" operation in Visual Studio, developers will be able to publish their solution to the Azure services Developer Portal.

The Azure Services Platform consists of the following platform technologies:

  • Windows Live Services
  • Microsoft .NET Services
  • Microsoft SQL Services
  • Microsoft SharePoint Services (this is not to be confused with WSS)
  • Microsoft Dynamics CRM Services

The Azure platform should also not be confused as a replacement of our one-premise offerings, but rather a complementary, cloud-based equivalent.  our on-premise offerings as a part of our strategy include:

  • SQL Server 2008
  • BizTalk Server
  • SharePoint Server
  • Dynamics CRM
  • Windows Server
  • Systems Center

The platform will provide capabilities that allow developers to model the services deployed on the platform.  Service modeling consists of:

  • Roles and Groups (e.g. who has access to the services that are being published and what operations/actions they can perform
  • Channels and Endpoints (e.g. defining how the services will be exposed and over what transport protocols)
  • Interfaces
  • Configuration Settings

During the keynote, there were partner demonstrations of solutions that are already taking advantage of the Azure Services Platform.  Jonathan Greensted, CEO of Sentient, gave a demonstration of a solution that his company has been working on called, Bluehoo.com (http://m.bluehoo.com) that integrates cloud-based services with mobile devices.  You can download and starting playing with the solution from http://m.bluehoo.com.  In addition, Shawn Davison, VP of RedPrairie, a Supply-chain manufacturing solutions firm, demoed a "one button" product recall orchestration running on Windows Azure and leveraging .NET services like workflow.

Bob Muglia came on stage and discussed our roadmap leading into 2009+.  He focused on the theme of the "5th generation computing".  In his discussion, he highlighted where we've been and where we're going

  • 1970s - Monolithic
  • 1980s - Client-server
  • 1990s - Web
  • Today - SOA
  • 2009+ - Services

Bob’s “evolutionary” discussion provided additional context to what Ray covered in his keynote and further solidified our messaging around the Windows Azure platform and the investments that we’ll be making from now, until we ship.

What's in Microsoft .NET Services?
.NET Services (formerly known as BizTalk Services) are a set of Microsoft hosted, scalable, developer-oriented services that provide key building blocks upon which developers can create cloud-based or cloud-aware applications.  Essentially, it breaks down into the following 3 components:

  • A full end-to-end service bus solution – Makes it easy to connect disparate applications over the internet
  • Facilities that support Identity/Access Control – Provides an easy way to control web applications and services using standards-based identity providers, including enterprise directory services such as Active Directory and web-based identity stores such as Windows Live ID
  • Workflow Services – Provides a highly scalable host for running workflows in the cloud. 

What's in SQL Services?
SQL Data services extend the capabilities of SQL Server to the cloud as web-based services, which enable you to store your data in a highly-scalable and internet-facing distributed database service infrastructure.  It contains the following key components:

  • Database
  • Data Sync
  • Reporting
  • Data Mining
  • ETL
  • Reference Data

What about Microsoft Online?
Our Microsoft Online Strategy still remains intact and will take advantage of the new Windows Azure platform as it evolves.  The Microsoft Online platform is geared at addressing many customer challenges we've heard, including:

  • Best in class collaboration
  • Staying up-to-date with software versions/patches/updates
  • Lower, predictable costs
  • Scarce IT resources
  • High Security
  • High Availability

NOTE: It is important to note that the current version of Microsoft Online IS NOT built on the Windows Azure platform.  Over time, it will take advantage of our investments in Windows Azure.

Can customers host Windows Azure within their own data centers?
This question was asked several times within today’s breakout sessions.  The answer to this is that as the features/capabilities of Windows Azure evolve, we (Microsoft) will take a look at the capability stack and identify key features of Windows Azure and roll it into our enterprise server products.  There is still significant value within our enterprise server platform and overtime, those products will benefit from the rich investments being made in Windows Azure.

When are we going to ship Windows Azure?
Answer: When it’s ready. :-)  

Essentially, we’re targeting some time in calendar year 2009, however, we’re largely basing our release on when our customers think that it’s ready to be released, and not a moment sooner.  We will follow a similar process that we’ve followed with CTP services we’ve already released and will be doing frequent updates.  However, the final ship date was not disclosed.

Are there any resources available to learn more about Windows Azure?
You can find more information about the Azure Services Platform, including whitepapers, SDK and tool downloads, datasheets, and a link to sign-up for a test/dev account to the Windows Azure cloud platform at the Azure Services Platform website.

That about sums up day #1.  I hope you find this recap helpful.

 

Microsoft Application Virtualization (App-V) version 4.5

Infrastructure Planning and Design guides have been updated with the introduction of Microsoft Application Virtualization (App-V) version 4.5.  Download the ensire IPD series or download the entire IPD series or download the individual guide.

This guide provides you with key information to bring your infrastructure up to date, saving you time and money.  Find out how App-V's HTTP streaming of virtual applications from an IIS server will impact your performance and scalability decisions.  Using App-V 4.5 with its many new features to strategically plan your application virtualization infrastructure can hep you avoid problems before they begin, allowing you to serve your customers more accurately and reliably.

Use these guides to determine the scope of the services to be provided and choose to partially or completely redesign your infrastructure. Have confidence in knowing that the steps in each phase are described in detail and that the necessary tools are provided to manage the process.

Join the Beta

Additional Infrastructure Planning and Design series guides are available as beta releases on the Connect Web site. They are open beta downloads. See below for instructions on how to access the beta guides.

To join the Infrastructure Planning and Design Beta, follow these steps:

  1. Visit the Infrastructure Planning and Design Beta on the Microsoft Connect website.
  2. Sign in using a valid Windows Live ID to continue to the invitations page.
  3. Scoll down to Infrastructure Planning and Design.

If you have not previously registered with Microsoft Connect, you might be required to register before continuing with the invitation process.

The Best Practices Resource Center for SharePoint Server 2007 has been recently launched on our TechNet site.  The intent of the site is to provide a resource for guidance and best practices in efforts to avoid common pitfalls and keep your Office SharePoint Server 2007 environment available and performing well.  The best practices cited within the resource center is based on real-world experience from Microsoft Consulting Services and the SharePoint Product Team.

Came across this blog post by Dare Obasanjo, PM on the Windows Live Team, about our approach to data center management where he highlights a paper written by Michael Isard of Microsoft Research, called Autopilot: Automatic Data Center Management, which describes the technology that Windows Live and Live Search uses to manage their web server farms. 

The paper provides a high-level overview of AutoPilot, while Dare’s post goes into more of its practical implementation.  Both are definitely worth reading :-)

The Patterns & Practices Team have recently released v1.0 of the web services security guide (in PDF format) that shows how to make the most out of WCF.  With end-to-end application scenarios, it shows you how to design and implement authentication and authorization in WCF. Learn how to improve the security of your WCF services through prescriptive guidance including guidelines, Q&A, practices at a glance, and step-by-step how tos. It's a collaborative effort between patterns & practices, WCF team members, and industry experts.

The guide has been released on CodePlex and is available for download.

Architect Panel Discussion released to TechEd Online

Posted in Architecture at Monday, July 28, 2008 2:16 PM Eastern Daylight Time

An interesting panel discussion video was recently released to the TechEd Online Library that focuses on extending the role/disciplines of the Architect into the area of providing mentoring. 

Taken from the TechEd Online Library:

"There are many disciplines that a software architect must master in order to do the job: requirements definition, use cases, modeling, layering, object orientation, service orientation, methodologies, and so on. In addition, as we are typically project leaders, we are usually tasked with mentoring others on the team in the understanding, adoption and application of these disciplines. This panel discussion focuses on the use of blogs, social networking and other online tools and content repositories that can be used to enhance and deliver mentoring to architects, developers and project teams."

If you have a hi-bandwidth connection, click here to view the video.

If you have a low-bandwidth connection, click here to view the video.

Microsoft Application Request Routing for IIS7 CTP1 recently released

Posted in Architecture | Windows Server 2008 | ASP.NET | IIS 7 at Wednesday, July 09, 2008 9:34 AM Eastern Daylight Time

Application Request Routing for IIS7 is a proxy based routing module that forwards HTTP requests to content servers based on HTTP headers and server variables, and load balance algorithms.  Application Request Routing can be used to:

  • Increase application availability and scalability.
  • Better utilize content server resources.
  • Facilitate application deployment including pilot management and A/B testing.
  • Lower management costs and create opportunities for shared hosters.

Application Request Routing relies on URL rewrite module to inspect the incoming HTTP requests to make the routing decisions, and therefore, the URL rewrite module is required to enable Application Request Routing features.

Download the Modules:

Features:

  • HTTP based routing decisions
    Unlike hardware load balancers that make the routing decisions at the IP level, Application Request Routing makes the routing decisions at the application level.  Working with URL rewrite module, powerful routing rules can be written based on HTTP headers and server variables.
  • Load balance algorithms
    A user selected load balance algorithm is applied to determine which content server is most appropriate to service the HTTP requests.  Six algorithms are provided.
  • Health monitoring
    Both live traffic and specific URL test are used to determine the health of content servers.  A set of configuration parameters are provided to define the meaning of server health.
  • Client affinity
    Using a cookie, Application Request Routing can affinitize all requests from a client to a content server.  It differentiates the clients behind NAT, so each client is treated independently.  This feature requires that the clients accept cookies.
  • Host name affinity
    “Host name affinity” is a specific feature for shared hosters. It changes the deployment topology to minimize and streamline administration and to create additional business opportunities.  For more information on this scenario refer to Overview of Shared Hosting Deployment Using Application Request Routing.
  • Multiple server groups
    Application Request Routing can manage multiple server groups, which are logical groupings of content servers in an environment.  This feature allows Application Request Routing to be used in pilot management and A/B testing scenarios.
  • Management and monitoring via UI
    All configuration settings and aggregated runtime statistics of Application Request Routing are managed and viewable via IIS Manager.
  • Failed Request Tracing Rules
    Specific traces have been added to quickly troubleshoot and diagnose Application Request Routing.

Using the module:

These articles explain how to configure and achieve the core scenarios using Application Request Routing.  It is recommended that the articles are read in the following order as the scenarios get richer with each article:

RIScreenshots_small.png

 

The Patterns & Practices team has recently released the Composite Application Guidance for WPF which provides guidance for "componetizing" the development of enterprise-class WPF applications across multiple development teams, with each team owning a piece of the application, and then seamlessly integrating these pieces into one homogenous application.

Included in the guidance package is a reference implementation of WPF application, CFI Stock Trader, that models this guidance, reusable library code (called the Composite Application Library), documentation, quick start tutorials and hands-on labs.

You can download the bits here or to learn more about what the guidance entails, head on over to the developer center on MSDN.

I can't wait to try this stuff out!

Announced on the SharePoint Team Blog, the SharePoint Deployment Planning Services program has been launched and is geared at helping our Software Assurance (SA) customers sucessfully plan and deploy SharePoint Products & Technologies.  I think this program provides a great resource for those customers who are struggling to make sense of SharePoint technologies or are trying to uncover proven "best practices" around how to properly deploy and implement SharePoint-based solutions.

During my time as a Technology Architect within the Reston, VA Microsoft Technology Center, I worked with a number of customers in definining SharePoint-based solution architectures where we covered topics such as understanding SharePoint architecture, definining portal taxonomies and physical deployment topologies/architecture, development and integration opportunities through Strategy Briefings and Architecture Design Sessions as well as "real world" implementation through Proof of Concept engagements to demonstrate the capabilties of a "live" SharePoint solution.  It's certainly great to see these getting packaged into a set of service offerings that we can make more widely available to our customers and partners.

And speaking of partners, this program is jointly managed by our partner ecosystem as well as Microsoft Consulting Services which together provides proven business and technical expertise in architecting/deploying SharePoint-based solutions for small, medium, and large organizations alike.

To learn more about the SDPS program and what it can do for you, head over to the SDPS website.  Microsoft Partners having strong competency in the Microsoft Office System stack are encouraged to sign up and participate in this growing community.

 

Version 2.0 of the OBA Composition Reference Toolkit was released to the web today, on schedule and with all the great new features promised for the release. Version 1.0 of the toolkit was released at the Office Developer’s Conference in February 2008.

Watch the OBA Composition Reference Toolkit Overview Video to get an overview of the toolkit, the motivations for creating it, and its intended use. Visit the OBA Composition Reference Toolkit site to access and explore related resources: Installers for the toolkit & sample components, Documentation – architecture, user, admin, developer, and overview video.

What’s New in Version 2.0?
  • IT administration capabilities integrated into the SharePoint Central Administration portal
  • A prescriptively secure user experience for OBA composition
  • Support for incremental deployment of OBAs.
  • Support for installing the OBA Composer on a client computer that is running the Windows Vista operating system and connecting to a remote computer that is running Office SharePoint Server.
  • Spport for many new, out-of-the-box components, too, which cover scenarios that pertain to Expense Reporting, Purchase Requisition Management, Financial Services, and Health & Life Sciences solutions
  • Source code (framework, tools, and sample components) of the OBA Composition Reference Toolkit to enable independent software vendors (ISVs) and solution integrators to extend and repurpose the Toolkit to suit their individual needs.

Visit the OBA Composition Reference Toolkit site for more information.

Unity Application Block v1.0 Released

Posted in Architecture | Patterns & Practices at Friday, April 04, 2008 8:18 PM Eastern Standard Time

Unity Application Block

April 2008 Release (1.0)

The Patterns & Practices team have recently released v1.0 of the Unity Application Block.  The Unity Application Block (Unity) is a lightweight, extensible dependency injection (DI) container. It facilitates building loosely coupled applications and provides developers with the following advantages:

  • Simplified object creation, especially for hierarchical object structures and dependencies;
  • Abstraction of requirements; this allows developers to specify dependencies at run time or in configuration and simplify management of crosscutting concerns;
  • Increased flexibility by deferring component configuration to the container;
  • Service location capability; this allows clients to store or cache the container.

You can download the bits from MSDN here and participate in the community forums on CodePlex.

Web Service Software Factory: Modeling Edition

For Visual Studio 2008

This deliverable is available on MSDN at:

http://msdn.microsoft.com/servicefactory

About the Deliverable

The Web Service Software Factory: Modeling Edition (also known as the Service Factory) is an integrated collection of resources designed to help our customers quickly and consistently build WCF and ASMX Web services that adhere to well-known architecture and design patterns. These resources consist of models with code generation in the form of tools integrated with Visual Studio and patterns and architecture topics in the form of written guidance.

The Service Factory contains automation and guidance integrated into Visual Studio 2008 for building Web services. The core of the automation components is a Web services domain model. This domain model contains elements such as service contracts, operations, messages, and data contracts. This domain model manifests itself in the form of three integrated domain-specific languages (DSLs) that are used to model services: Service Contract Model, Data Contract Model, and the Host Model. The Service Contract Model is illustrated in the following screenshot.

To learn more about the Service Factory, please visit its official home on MSDN at http://msdn.microsoft.com/servicefactory.

Community (http://www.codeplex.com/servicefactory)

The community site contains hands-on labs for both using and extending the Service Factory, discussions with customers and field, known issues, and roadmap information. In the near future the site will include presentations, demonstration videos, and community contributions.

Web Client Software Factory Shipped

Posted in .NET 3.0 | .NET 3.5 | Architecture | ASP.NET AJAX | ASP.NET MVC | Patterns & Practices | Software Factories | Visual Studio at Thursday, February 28, 2008 10:11 PM Eastern Standard Time

Web Client Software Factory 2.0

February 2008 Release

Resources

About the Deliverable

The Web Client Software Factory (WCSF) provides a set of guidance for architects and developers building enterprise Web applications. The factory includes samples, reusable code and a guidance package which automates key development tasks from within Visual Studio.

Using the Web Client Software Factory assets, developers can create Composite Web applications composed of independently developed and deployed modules. These modules are dynamically brought together at runtime into a common shell. Additionally the factory includes support for ASP.NET AJAX thus providing users with a richer and more responsive user experience.

New In This Release

The February 2008 release of the Web Client Software Factory has the following improvements to the June 2007 release.

  • Full support for Visual Studio 2008 and .NET Framework 3.5
  • Added ASP.NET AJAX extenders for Context Sensitive Autocomplete, AJAX Validation, and Real Time Search that can be used in existing ASP.NET sites and ASP.NET sites built using the Composite Web Application Block.
  • Added UI Composition capability through extending our dependency injection mechanism to support Pages, User Controls and Master Pages.
  • Added Dependency Injection on ASMX Web Services and JSON services.
  • Added a new set of Quickstarts and How-To topics on MVP, Modularity and the new AJAX extenders
  • Added a new Order Entry Reference application that demonstrates all of the new functionality.

In addition, this release of WCSF has the following community issues and fixes:

  • 42 Workitems closed including the top-voted items on CodePlex
  • Add ASP.NET AJAX Support (97 votes)
  • Web Client Software Factory Support for Enterprise Library 3.1 (62 votes)
  • Services through configuration (32 votes)
  • Support for using the Validation Application Block (16 votes)
  • Recipe support for Visual Basic .NET (20 votes)
  • Added Presenter support for Master Pages (11 votes)

Microsoft has recently released a set of lectures and whitepapers on advanced topics around Office SharePoint Server 2007.  Below is a description (taken from the TechNet website) of topics and links.

Title Description Streaming Video Whitepaper
Overview: Office SharePoint Server server farm architecture Describes how to plan server farms for reliability and scalability, and how to deploy Office SharePoint Server 2007 and Windows SharePoint Services 3.0 on a server farm. <