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.

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.

Few sample .NET applications have had more impact on the .NET development community than the Terrarium sample application that was released during the version 1.0 release cycle of the .NET Framework.  This solution created a community of .NET enthusiasts that far exceeded the expectations of the .NET Framework team.  It showcased a "production-level" end-to-end reference solution that highlighted key features of the .NET Framework and showcased the power and creativity .NET can bring to software development.  I recalled that for many months I inquired as to when the source code for this application was going to be released, because, as you may recall, only the binaries were made available.  Sure you could decompile the executable and supporting libraries, or use great tools like Lutz Roeder's .NET Reflector, but there's nothing like having the Visual Studio projects openly released for all to see!! :-)

Well, Terrarium is BACK!! :-)  The project was resurrected by the Windows SDK Team and MVP Bil Simser has volunteered to coordinate development efforts for the project.

Head on over to CodePlex and be a part of the effort! For all you .NET Framework "old heads" like myself who looked at Terrarium as an amazing solution to dissect, learn from, and foster new ideas around the creation of solution architectures, I emplore you to check out the project. 

Thanks Windows SDK Team for evolving the solution and thanks Bil for stepping up to take on coordination for the effort.

Fun times (especially for me) are ahead! :-)  Especially with the introduction of WPF, WCF, WF, LINQ, Silverlight and an assortment of other technology goodies, this solution is sure to continue to evolve into something that we'll all continue to be proud to showcase as a premier .NET solution.

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.

Silverlight Blueprint for SharePoint

Posted in Microsoft Silverlight | Patterns & Practices | SharePoint Products and Technologies | Software+Services at Wednesday, March 05, 2008 12:19 PM Eastern Standard Time

Microsoft has recently released the Silverlight Blueprint for SharePoint.  The Silverlight Blueprint for SharePoint is source code and guidance for developers describing how to use Microsoft Silverlight and Microsoft SharePoint Products and Technologies together in business applications and Internet Web sites. SharePoint applications that use Web Parts can now be built using Silverlight user interface elements. This capability enables a fresh look at data exposed through SharePoint Products and Technologies using the modern graphics capability in Silverlight.

To get more information about the blueprint and find out when/where you can download the bits, head on over to the Silverligh Blueprint for SharePoint website.

 

 

Our Architecture Strategy Team has recently unveiled a great solution geared at simplifying the task of building Office Business Applications (OBA) using the Microsoft Office System platform. 

The solution, called the OBA Composition Reference Toolkit,  surfaces the underlying composition capabilities of the 2007 Office System and provides a prescriptive application composition experience for Information Workers to build OBA solutions. 

You can head over to the Architecture Center on MSDN to get more information about the solution and download the bits.  Right now, only the binaries are available, but the plan is to release the source code by mid-March.

Microsoft Live Labs Volta Announced

Posted in .NET 3.0 | .NET 3.5 | Architecture | ASP.NET AJAX | Service Oriented Architecture (SOA) | Software+Services | Volta | Windows Live Services at Friday, December 07, 2007 7:46 AM Eastern Standard Time

Microsoft recently announced an experimental developer toolset for building multi-tier web applications using existing and familiar tools, techniques, and patterns, called Microsot Live Labs Volta.

Volta’s declarative tier-splitting enables developers to postpone architectural decisions about distribution until the last possible responsible moment. It enables new end-to-end profiling and testing for higher levels of application performance, robustness, and reliability. In effect, Volta extends the .NET platform to further enable the development of software+services applications, using existing and familiar tools and techniques.

You architect and build your application as a .NET client application, assigning the portions of the application that run on the server tier and client tier late in the development process. You can target either web browsers or the CLR as clients and Volta handles the complexities of tier-splitting. The compiler creates cross-browser JavaScript for the client tier, web services for the server tier, and all communication, serialization, synchronization, security, and other boilerplate code to tie the tiers together. In effect, Volta offers a best-effort experience in multiple environments without requiring tailoring of the application.

You can download a technology preview of Volta from the Live Labs website.

Software + Services Blueprints Released

Posted in .NET 3.0 | Architecture | Office Business Applications (OBA) | Software+Services at Thursday, November 08, 2007 9:40 PM Eastern Standard Time

Microsoft recently released the initial version of Software + Services Blueprints.  These blueprints are a series of source code and guidance packages designed to provide an architectural bridge between vision and implementation by making it easier to build S+S applications.

The blueprints serve as a good starting point for designing an developing S+S solutions through source code, architectural guidance, and step-by-step workflow on software construction.  Each S+S Blueprint is focused on the following core areas:

  • Media/Community
  • eCommerce
  • Office Business Applications (OBA)
  • Mobility

with future S+S application areas being planned.  A CodePlex Project Site has been created and will serve as the "hub" for all information, code, and documentation around this great solution offering.

We've officially launched a new website dedicated to providing invaluable information around building Services Oriented Architecture (SOA) and Business Process Management (BPM) solutions using the Microsoft platform.  As a part of this site, we've released our latest roadmap and product strategy around the next generation of Microsoft SOA-based technologies, codenamed "Oslo", to included updated messaging and workflow technologies in BizTalk Server and other products starting in 2009.

The "Olso" vision will leverage the next version of BizTalk Server as it's primary delivery vehicle for delivering a superior SOA infrastructure, but that's not all.  "Olso" will also feature updates to the Visual Studio development environment and the System Center line of systems management products as well as provide the appropriate infrastructure support to support business-to-business composite applications.

This is going to be an exciting ride in the world of SOA, and Microsoft will be right there in the mix!

One of the biggest challenges I feel that we (Microsoft) face in showcasing the "value" of architecting/developing Office Business Applications is providing what I'll call "solid reference implementations" along the lines of Duwamish Books, Fitch and Mather, Global Bank, LitwareHR, other many other solutions we've released.  Sure, we have the OBA Reference Architecture Packs (OBA RAPs), but, by definition, they are meant to serve as simple examples of how to leverage the OBA pattern to address a given business scenario.  However, where I think they are lacking is in providing sound guidance and implementation practices around many of the architectural and implementation challenges many organizations face today in trying to deliver business value to their users.  Many organizations today are asking questions like:

  • What are good practices for securing our OBA solution?
  • What are good practices for integrating with other Line-Of-Business (LOB) applications and how do we take advantage of other Microsoft integration technologies in order to accomplish this?
  • What are good practices for implementing other Microsoft platform technologies and services like Windows Live Services (Live ID, Virtual Earth, etc) and UX technologies like Microsoft Silverlight and WPF?  And, more importantly, WHEN should they be used?
  • What are good implementation strategies for building addressing scability and performance challenges in your solution design?
  • What are some common implementation patterns that allow for changes in business objectices and requirements and changes in technology?

and tons more.  So my question to you, dear reader, is what would you like to see in an OBA reference implementation?  Is something like Duwamish too much?  Are the OBA RAPs a step in the right direction?  This is an opportunity for you to be heard.

OBA Resources

Wow, October 18, 2005?  That was the date of my last post!  Well certainly a lot has happened since then!  I've had brief "blog post cameos" on my team's blog at http://blogs.msdn.com/publicsector, but I think it's about time I get back to my roots and start posting.  For those of you who've followed my blog, even back when I was on DotnetJunkies.com, you know that I joined Microsoft back in 2005 as a Technology Architect at the Microsoft Technology Center.  During my time there, I've had the opportunity to architect some of the coolest solutions on our platform.  The desire to further evangelize our platform in delivering robust solutions has landed me as an Architect Evangelist within our Public Sector Developer & Platform Evangelism team where I now work with customers to help them realize the potential of our platform in delivering compelling solutions that tackle many of the business problems that plague organizations today.  Still staying true to my SharePoint roots, I've been doing a lot of work helping customers architect Office Business Applications in efforts to exploit the power and flexibility of the 2007 Office System platform for delivering compelling business solutions.  In addition, I've also been focusing on helping customer deliver solutions using our take on SaaS (Software as a Service) methodologies with our S+S (Software+Services) initiatives, improving the web user experience with technologies our recently introduced Silverlight platform, as well as continuing to build robust, SOA-enabled enterprise applications using .NET 3.0.

I've had the opportunity to do a number of cool things that I'll be blogging about and I promise to not go on such long "blog sabbaticals" again :-)

View Lamont Harrington's profile on LinkedIn

Microsoft Employee


Calendar

<November 2008>
SunMonTueWedThuFriSat
2627282930311
2345678
9101112131415
16171819202122
23242526272829
30123456

On this page...

Tags