Office 2007: Real deal for Microsoft developers

John RymerIn a May 2006 report, John R. Rymer, vice president of Application Development and Infrastructure at Forrester Research, and his team characterize the Office 2007 system as a “serious” application platform that offers enterprise developers another option for building customized Windows clients and collaboration applications. Microsoft’s goal, according to Forrester Research, is to make Office part of a broader application platform, along with its Windows servers—BizTalk, SQL, SharePoint—and the .NET Framework. Application Development Trends Senior Editor Kathleen Richards talked with John Rymer to find out how developers can benefit from re-evaluating Office as a development platform.

ADT: In your research, you say Office 2007 will expand Microsoft’s development platform. Hasn’t Office been an application development platform for some time?
Rymer: For some years, it has had development features. You could use Office to build applications, either by customizing personal productivity apps like Excel, or in more recent years, by hooking office apps up to back-end data and using it as a client in a client/server application. But I don't think it would have been fair to call it a platform until this release.

There is a difference between providing development facilities that allow you to customize or access back-end data and providing a real platform, where you've got full blown development tools, a first class comprehensive development environment and a real platform to that environment. Once Microsoft put Office 2007 on top of ASP.NET—the way I think of it is, it is on SharePoint, which is on ASP.NET, which is on the .NET Framework—Office was fully aligned with Microsoft's mainstream development platforms, something which is unique, and something, which is a first. Office has always had its own way of doing things prior to this release, so that's why I say it is a serious application platform now.

ADT: Microsoft is creating a common Windows foundation for Office 2007 that will result in common extensions and customization models for developers. And the upcoming Dynamics suite of products will be built on the same foundation?
Rymer: That's right. The idea here is with the .NET Framework, and ASP.NET, you have a Web development platform. And you've got the Visual Studio development tools that address that platform, so you have the same platform and the same mechanisms for combining components and creating portlets, for creating and using controls within user interfaces. Those elements are now common to ASP.NET development, Office development and extensions of Dynamics. So rather than having different environments for each one of those product lines, which used to be the case, they've converged them. This has big potential value if IT shops can make use of the same skill sets across those three environments. That’s a heck of a lot more flexible, than having different skills that are required to extend Dynamics, different tools that are used to extend Dynamics and a separate set of tools that are used to do ASP.NET development. This greater alignment between the product sets yields that kind of flexibility and that commonality.

ADT: This is also the first version of Office in which Microsoft is introducing a server specifically for Office, in addition to the application- specific servers such as Exchange, Live Communications and Groove. What’s important about Microsoft Office SharePoint Server 2007 from a development standpoint?
Rymer: Well, you need a server in contemporary computing environments to manage certain aspects of any application. In the case of Office, if you are going to be able to use Excel files broadly within applications, you need some place to manage those files centrally and to distribute those files from a server location. The same with electronic forms: You've got to have some place to store the form definitions and then deliver them to desktop clients or browsers or whatever it happens to be, whatever your mechanism is.

The other thing they are doing with the server is the business data catalog, which is a common server-side environment for defining access points to enterprise data. The alternative is that you would have all these definitions and facilities distributed on lots and lots of desktop clients and it becomes unmanageable or it becomes expensive to manage, so concentrating those sorts of features on a server since the advent of the Web has really become the accepted norm.

ADT: So you're saying that's why Office 2003 didn't have the server, but now Microsoft sees the need for it.
Rymer: Right. The purpose of Office 2003 was really different. That’s really the first practical version of Outlook and it was the first introduction of XML and Web services to the product. It really had a different purpose, by aligning with ASP.NET and the .NET Framework, Office has opened up a lot more possibilities now.

ADT: In your research, you say the main value of the Office 2007 system to developers will be in creating collaboration applications with Outlook, Excel and Word as anchors. What functionality has been added to Office to support this type of development?
Rymer: Developers can create these apps using SharePoint, which provides some really good collaboration features. In the past, those applications were typically managed by things like Documentum and FileNet and so forth because those products have the features to manage, move and flow documents. Now those features are incorporated into the SharePoint Server, so basically all those document collaboration type applications are fair game within the Office environment. And of course, you've got Word, Excel, PowerPoint and Project, for that matter, that you can use to help implement those applications.

ADT: Office 2007 will also offer a new repository for Web services, and Service APIs to make it easier to use the Office apps as front ends for enterprise data. How significant are these features?
Rymer: The major advance there is the business data catalog. This is a facility that developers would use to define Web services that access back office data  so if they have ASP in house, for example, they can use the business data catalog to define a Web service that provides access to inventory or ordering, or whatever functions that they have—the ASP backend. What is important about this is that the business data catalog will have common definitions. So the way I think it is going to go is there will be typically one or two developers who understand the backend data really well. They will define Web services interfaces to those systems because they understand those systems. Then other developers can use the Web services that are defined within their applications so they don't have to learn the intricacies of backend systems, which can be pretty complex, to access the data in them. So you are basically creating a reusable integration point that lots of developers can use.

There are third party products that are going to be much better for complex and heavy volume requirements. It is a first release, so I wouldn't lean too heavily on it but it does provide the ability for reusable integration points—a very powerful idea.

ADT: Can enterprise developers use Office 2007 to build rich Internet applications, and how does Atlas, Microsoft’s next-generation Internet application framework fit into this?
Rymer: The Atlas framework is an AJAX framework, JavaScript and XML. It is a development facility that Microsoft makes available. It is not well aligned. It is not used in Office 2007. It is a separate dev facility that you can use to create an app using AJAX, which has become a preferred mechanism for building so-called rich Internet applications.

Office, nominally at least, provides facilities that you can use to provide Internet apps and clients, but for most rich Internet apps, Office is not going to be as good as AJAX or Adobe FLEX or something like that. Its major drawbacks are that it is too heavyweight with too much mechanism. Typically, the rich Internet apps are very lightweight and they user browsers for that reason, with lightweight logic and putting data into that logic. Also typically, rich Internet applications are portable—cross-browser. Microsoft Office is not portable; it runs in Office and it runs in Internet Explorer. So I expect that Microsoft, over time, will align AJAX with its mainline development platforms, but it just hasn't done that work yet so AJAX is not aligned with ASP.NET either. It is a separate facility.

ADT: What about the Windows Live development platform? Do you expect Live to become important in the enterprise development space?
Rymer: Oh yes, very definitely. But it’s not a platform yet. Live is a set of products. You've got Windows Live and Office Live, and they are products at this point. The Windows Live services are united in brand name only. There is no common platform that developers can use. Presumably, it would be a hosted platform that you can write a variety of applications to, services, and they'd all be very well defined, but Microsoft hasn't done that definition. We are expecting much more detail on that by the end of the year. But it is the next big platform for Microsoft and it is definitively coming.

ADT: How would you characterize Microsoft's relationship with developers?
Rymer: What I've seen over the years is MS has always targeted corporate developers. With every new generation of the MS platform, they've sought deeper and deeper commitment and provided more support for developers. All of the primary data that we've gathered on usage of platforms and of languages indicates that Microsoft has the strongest position.

ADT: In your view, what is the key value of the Office 2007 system to enterprise developers?
Rymer: The most important thing that enterprise developers need to do, I think, is to be aware that this is one of these periodic big changes that Microsoft makes to the development environment. You have to evaluate it. A lot of people that are doing custom Windows development should probably re-evaluate that because they may be able to get a better result for a lower cost by using Office as a basis for Windows clients. My biggest fear is that people will just sort of let this go by, and just say, ‘Well, it is Office, so it doesn't concern us,' and continue to do things the way that they have been doing them, and potentially find themselves building things at a higher then necessary cost in terms of development budgets and ongoing maintenance and complexity. That for me is the big need here, to recalibrate, to take a look, there are opportunities to do things better here if you are in the Microsoft world.