Office 2007 is a natural fit for Software + Services for two main reasons:
Office has exposed a rich set of services that include features such as security, calculation, Enterprise Search, workflow, and single sign-on.
Office provides the presentation layer for displaying the results of this rich data retrieval into the client applications with which end users are most often comfortable.
The goal of the Office platform here is to achieve integration between software and services and to simplify the consumption of these services for the developer. In addition, Visual Studio 2008, which contains Visual Studio Tools for Office, provides RAD development tools so that teams involving anyone with the skillset of the designer to the professional developer can work collaboratively to create rich, service-oriented Office Business Applications. Let’s take a closer look at the services available in Office today.
Windows SharePoint Services 3.0 sits at the base of the SharePoint Products and Technologies stacks and offers a lot in terms of administrative and management services, as shown in Figure 4-1.
Microsoft Office SharePoint Server (MOSS), which sits on top of WSS architecturally, contains the bulk of the services. MOSS contains many powerful new features, such as Excel Services (the Excel spreadsheet publishing tool, which we will talk more about later on), Forms Services (a thin client of InfoPath), the Business Data Catalog, which enables you to connect to any LOB system and surface that data into your portal without writing any code, Enterprise Search, workflow, and more. Here is a reference of all the Web services available in MOSS:
Microsoft.Office.DocumentManagement.Server | Microsoft.Office.Workflow |
Microsoft.Office.DocumentManagement.WebControls | Microsoft.Office.Workflow.Utility |
Microsoft.Office.Excel.Server.Udf | Microsoft.SharePoint.Portal |
Microsoft.Office.Excel.Server.WebServices | Microsoft.SharePoint.Portal.Administration |
Microsoft.Office.Excel.WebUI | Microsoft.SharePoint.Portal.Analytics |
Microsoft.Office.RecordsManagement.Holds | Microsoft.SharePoint.Portal.Analytics.Processing |
Microsoft.Office.RecordsManagement.InformationPolicy | Microsoft.SharePoint.Portal.Audience |
Microsoft.Office.RecordsManagement.PolicyFeatures | Microsoft.SharePoint.Portal.Search.Admin.WebControls |
Microsoft.Office.RecordsManagement.RecordsRepository | Microsoft.SharePoint.Portal.Search.PortalCrawl |
Microsoft.Office.RecordsManagement.Reporting | Microsoft.SharePoint.Portal.Security |
Microsoft.Office.RecordsManagement.SearchAndProcess | Microsoft.SharePoint.Portal.ServerAdmin |
Microsoft.Office.Server | Microsoft.SharePoint.Portal.SingleSignon |
Microsoft.Office.Server.Administration | Microsoft.SharePoint.Portal.SingleSignon.Security |
Microsoft.Office.Server.ApplicationRegistry.Administration | Microsoft.SharePoint.Portal.SingleSignonAdministration |
Microsoft.Office.Server.ApplicationRegistry.Infrastructure | Microsoft.SharePoint.Portal.SiteAdmin |
Microsoft.Office.Server.ApplicationRegistry.MetadataModel | Microsoft.SharePoint.Portal.SiteAdmin.General |
Microsoft.Office.Server.ApplicationRegistry.Runtime | Microsoft.SharePoint.Portal.SiteData |
Microsoft.Office.Server.ApplicationRegistry.Search | Microsoft.SharePoint.Portal.SiteDirectory |
Microsoft.Office.Server.ApplicationRegistry.SystemSpecific.Db | Microsoft.SharePoint.Portal.Topology |
Microsoft.Office.Server.ApplicationRegistry.SystemSpecific.WebService | Microsoft.SharePoint.Portal.UserProfiles |
Microsoft.Office.Server.ApplicationRegistry.WebService | Microsoft.SharePoint.Portal.UserProfiles.AdminUI |
Microsoft.Office.Server.Audience | Microsoft.SharePoint.Portal.WebControls |
Microsoft.Office.Server.Auditing | Microsoft.SharePoint.Portal.WebControls.Alerts |
Microsoft.Office.Server.EvaluatorModeProvisioning | Microsoft.SharePoint.Portal.WebControls.WSRPWebService |
Microsoft.Office.Server.Infrastructure | Microsoft.SharePoint.Publishing |
Microsoft.Office.Server.Search.Administration | Microsoft.SharePoint.Publishing.Administration |
Microsoft.Office.Server.Search.Administration.Security | Microsoft.SharePoint.Publishing.Administration.WebServices |
Microsoft.Office.Server.Search.Query | Microsoft.SharePoint.Publishing.Design.WebControls |
Microsoft.SharePoint.Publishing.WebControls.EditingMenuActions | |
Microsoft.Office.Server.Security | |
Microsoft.Office.Server.UserProfiles | Area Web Service |
Microsoft.Office.Server.Utilities | Official File Web Service |
Microsoft.Office.Server.WebControls | Published Links Web Service |
Microsoft.Office.Server.WebControls.FieldTypes | Search Web Service |
Microsoft.SharePoint.Publishing.Fields | User Profile Change Web Service |
Microsoft.SharePoint.Publishing.Navigation | User Profile Web Service |
Microsoft.SharePoint.Publishing.WebControls | Workflow Web Service |
For more information about these namespaces and references, refer to http://msdn2.microsoft.com/en-us/library/ms577961.aspx.
By exposing these services, the Office server platform empowers developers to start building their own custom solutions with rich Office features and functionality. For example, let’s drill down into Excel Services found in MOSS. In Figure 4-2, you can see the ExcelService class found in the Microsoft.Office.Excel.Server.WebServices namespace and all of its public methods.
Figure 4-2. Public methods of the ExcelService class found in the Microsoft.Office.Excel.Server.WebServices namespace; Excel Services is a new feature in Office SharePoint Server 2007
Excel Services has full calculation fidelity with the client, so if you consume its Web services, you are getting the full power of Excel right within your custom application. Excel Services has two front ends: the Web services and also the Excel Web Access, which is really the Web part feature in WSS. The back end is the Excel Calculation Services on the Application Server where any user-defined functions can be deployed. More information about Excel Services is available further on in the chapter.
Whether you want to use Office 2007 Web services or you want to consume custom or third-party services, Office 2007 can become the host application for bringing in the data from all your services. Between the flexible development tools and the new user interface it offers, developers can customize the look and feel of the application-use services in ways that appear natural, seamless, and integrated.
There is a whole chapter in this book on customizing the UI (see Chapter 2), so we will not get into detail on this. Keep in mind that customizing the UI means both client and server and that the server can also be quite richly customized. This is true especially with technologies such as AJAX and Silverlight, which can be applied to SharePoint, and with tools such as SharePoint Designer for the design of master pages. Silverlight is a cross-browser, cross-platform plug-in for delivering next-generation media experiences and rich interactive applications for the Web. It has a flexible programming model that supports JavaScript, Visual C#, Visual Basic, and other languages.