The Two Best Announcements
I met with Mike Fitzmaurice, Technical Product Manager for Microsoft's Windows SharePoint Services (formerly SharePoint Team Services). SharePoint Services 2003 is one of two show announcements I think are truly excitingthat give developers and users new capabilities rather than simply adding layers of protection (and protectionism) around existing capabilities.
- Improved groupware development capabilities
- A much-needed interface update for Outlook Web Access
The second item is very simple: The newest version of Exchange (currently at RC 1 status) gives you the same mailbox interface features when using Outlook Web Access (OWA) as you get using the standard desktop client. Exchange will now ship in both Standard and Enterprise editions. You can download a version at http://www.microsoft.com/exchange/evaluation/ti/
As nice as that will be, the news about SharePoint, advertised as a file-sharing and team collaboration product, will have a much bigger impact; SharePoint is the next step up in the evolution of Web application development.
The potential impact that SharePoint will have on Web development (especially intranet development) is similar in scale to the introduction of Active Server Pages (ASP), which gave millions of developers easy access to the Web. SharePoint extends the reach by giving users an easy way to create Web sites and work with shared documents.
|The potential impact that SharePoint will have on Web development (especially intranet development) is similar in scale to the introduction of Active Server Pages (ASP), which gave millions of developers easy access to the Web.|
SharePoint uses a "Web Parts" metaphor. Web Parts are pre-designed building blocks that users can drag onto a Web page and fill with data at run time. You can think of them as controls for users rather than controls for developers, as templates for various types of information. Technically, Web Parts are ASP.NET Web server controls with some code tacked on to make them run within a specialized SharePoint Web Form, which handles initializing, interacting with, and storing state for the Web Part.
Developers need about the same level of .NET expertise to build Web Parts as to build server controls. After the Web Parts are built, anyone who can drag-and-drop (which is to say anyone) can use the Web Parts to assemble Web pages. You can create both read-only and fully interactive and updateable Web Parts. You can even create Parts that are multi-user aware, giving developers and users the ability to create groupware applications without worrying about concurrency or resource contention.
Fitzmaurice demonstrated how SharePoint Services provides archive, search, check-in/check-out, and authentication capabilities. Building a low-to-mid-range document management solution, for example, is trivial. Newer Microsoft applications such as Office 2003 (currently in beta) and BizTalk integrate with SharePoint Services so that several people can check out and work on a document simultaneously. Users can assemble pages that require multiple logins. For example, you can create pages using Web Parts that access information from PeopleSoft, SAP, SQL Server, and Oracle. Although each provider might require authentication, SharePoint can use the current user's credentials to access and forward stored credentials for any other secured information source.
|The the best part of Tech·Ed was to see the huge number of hands-on labs ... these labs were full all day long, every day.|
Microsoft provides some general-purpose Web Parts out of the box, but I expect the number of available Web Parts, both free and commercial, to grow rapidly. This product probably spells doom for many Web developer jobs, because it gives users a fair portion of the power that only Web developers had previously. My advice to current Web developers is: learn to write Web Parts as quickly as possible, or at least learn to plan and assemble portals using pre-built parts.
As you might expect, SharePoint provides the capability to expose Web Parts and sites as Web services, so you can easily extend information in a SharePoint site to outside partners or clients, or integrate the information into other applications. Its services work with products such as SharePoint Portal Server to scale all the way from a team/workgroup level through to the enterprise level.
Finally, Office 2003, although not yet released, will go a long way toward eliminating some of the barriers between content and systems. This version adds collaboration, workflow, and (of greatest importance to many developers) greatly improved XML capabilities. It's not as wonderful as it could be; the XML that the Word beta emits is better described as "Near XML." It looks and acts like XML, but it's a far cry from the "human readable" format, which is touted as one of XML's benefits.
Other notable additions to OfficeOneNote, and InfoPathalso rely on XML to give users a single, easy-to-manage place to keep notes (OneNote), and a way to build and deliver complex XML-based forms (InfoPath). I have no doubt thatregardless of its complexityOffice's XML capabilities will serve to increase its market penetration, if that's possible.
From a non-product perspective, the best part of Tech·Ed this week for me was to see the huge number of hands-on labs, set up in relatively large breakout rooms around the Dallas convention center. These labs were full all day long, every day. Pundits may decry the state of innovation in the industry, but a quick glance at the length of the lines for the labs, and the intensity and interest on the faces of those attendees taking the labs indicate that developer interest hasn't waned a bit.