Forrester Research,and his team characterize the Office 2007 system as a“serious” application platform that offers enterprisedevelopers another option for building customized Windows clients andcollaboration applications. Microsoft’s goal, according toForrester Research, is to make Office part of a broader applicationplatform, along with its Windows servers—BizTalk, SQL,SharePoint—and the .NET Framework. Application DevelopmentTrends Senior Editor Kathleen Richards talked with John Rymer tofind out how developers can benefit from re-evaluating Office as adevelopment platform.ADT: In your research, you say Office 2007 will expandMicrosoft’s development platform. Hasn’t Office been anapplication development platform for some time?
Rymer: For some years, it has had developmentfeatures. You could use Office to build applications, either bycustomizing personal productivity apps like Excel, or in more recentyears, by hooking office apps up to back-end data and using it as aclient in a client/server application. But I don't think it would havebeen fair to call it a platform until this release.
There is a difference between providing development facilities thatallow you to customize or access back-end data and providing a realplatform, where you've got full blown development tools, a first classcomprehensive development environment and a real platform to thatenvironment. Once Microsoft put Office 2007 on top of ASP.NET—theway I think of it is, it is on SharePoint, which is on ASP.NET, whichis on the .NET Framework—Office was fully aligned withMicrosoft's mainstream development platforms, something which isunique, and something, which is a first. Office has always had its ownway of doing things prior to this release, so that's why I say it is aserious application platform now.
ADT: Microsoft is creating a common Windows foundation forOffice 2007 that will result in common extensions and customizationmodels for developers. And the upcoming Dynamics suite of products willbe built on the same foundation?
Rymer: That's right. The idea here is withthe .NET Framework, and ASP.NET, you have a Web development platform.And you've got the Visual Studio development tools that address thatplatform, so you have the same platform and the same mechanisms forcombining components and creating portlets, for creating and usingcontrols within user interfaces. Those elements are now common toASP.NET development, Office development and extensions of Dynamics. Sorather than having different environments for each one of those productlines, which used to be the case, they've converged them. This has bigpotential value if IT shops can make use of the same skill sets acrossthose 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 oftools that are used to do ASP.NET development. This greater alignmentbetween the product sets yields that kind of flexibility and thatcommonality.
ADT: This is also the first version of Office in whichMicrosoft is introducing a server specifically for Office, in additionto the application- specific servers such as Exchange, LiveCommunications and Groove. What’s important about Microsoft OfficeSharePoint Server 2007 from a development standpoint?
Rymer: Well, you need a server incontemporary computing environments to manage certain aspects of anyapplication. In the case of Office, if you are going to be able to useExcel files broadly within applications, you need some place to managethose files centrally and to distribute those files from a serverlocation. The same with electronic forms: You've got to have some placeto store the form definitions and then deliver them to desktop clientsor browsers or whatever it happens to be, whatever your mechanism is.
The other thing they are doing with the server is the business datacatalog, which is a common server-side environment for defining accesspoints to enterprise data. The alternative is that you would have allthese definitions and facilities distributed on lots and lots of desktopclients and it becomes unmanageable or it becomes expensive to manage,so concentrating those sorts of features on a server since the adventof the Web has really become the accepted norm.
ADT: So you're saying that's why Office 2003 didn't have theserver, but now Microsoft sees the need for it.
Rymer: Right. The purpose of Office 2003 wasreally different. That’s really the first practical version ofOutlook and it was the first introduction of XML and Web services tothe product. It really had a different purpose, by aligning with ASP.NETand the .NET Framework, Office has opened up a lot more possibilitiesnow.
ADT: In your research, you say the main value of the Office2007 system to developers will be in creating collaborationapplications with Outlook, Excel and Word as anchors. Whatfunctionality has been added to Office to support this type ofdevelopment?
Rymer: Developers can create these apps usingSharePoint, which provides some really good collaboration features. Inthe past, those applications were typically managed by things likeDocumentum and FileNet and so forth because those products have thefeatures to manage, move and flow documents. Now those features areincorporated into the SharePoint Server, so basically all thosedocument collaboration type applications are fair game within theOffice environment. And of course, you've got Word, Excel, PowerPointand Project, for that matter, that you can use to help implement thoseapplications.
ADT: Office 2007 will also offer a new repository for Webservices, and Service APIs to make it easier to use the Office apps asfront ends for enterprise data. How significant are these features?
Rymer: The major advance there is thebusiness data catalog. This is a facility that developers would use todefine Web services that access back office data so if they haveASP in house, for example, they can use the business data catalog todefine a Web service that provides access to inventory or ordering, orwhatever functions that they have—the ASP backend. What isimportant about this is that the business data catalog will have commondefinitions. So the way I think it is going to go is there will betypically one or two developers who understand the backend data reallywell. They will define Web services interfaces to those systems becausethey understand those systems. Then other developers can use the Webservices that are defined within their applications so they don't haveto learn the intricacies of backend systems, which can be prettycomplex, to access the data in them. So you are basically creating areusable integration point that lots of developers can use.
There are third party products that are going to be much better forcomplex and heavy volume requirements. It is a first release, so Iwouldn't lean too heavily on it but it does provide the ability forreusable integration points—a very powerful idea.
ADT: Can enterprise developers use Office 2007 to build richInternet applications, and how does Atlas, Microsoft’snext-generation Internet application framework fit into this?
Rymer: The Atlas framework is an AJAXframework, JavaScript and XML. It is a development facility thatMicrosoft makes available. It is not well aligned. It is not used inOffice 2007. It is a separate dev facility that you can use to createan app using AJAX, which has become a preferred mechanism for buildingso-called rich Internet applications.
Office, nominally at least, provides facilities that you can use toprovide Internet apps and clients, but for most rich Internet apps,Office is not going to be as good as AJAX or Adobe FLEX or somethinglike that. Its major drawbacks are that it is too heavyweight with toomuch mechanism. Typically, the rich Internet apps are very lightweightand they user browsers for that reason, with lightweight logic andputting data into that logic. Also typically, rich Internet applicationsare portable—cross-browser. Microsoft Office is not portable; itruns in Office and it runs in Internet Explorer. So I expect thatMicrosoft, over time, will align AJAX with its mainline developmentplatforms, but it just hasn't done that work yet so AJAX is notaligned with ASP.NET either. It is a separate facility.
ADT: What about the Windows Live development platform? Doyou expect Live to become important in the enterprise developmentspace?
Rymer: Oh yes, very definitely. Butit’s not a platform yet. Live is a set of products. You've gotWindows Live and Office Live, and they are products at this point. TheWindows Live services are united in brand name only. There is no commonplatform that developers can use. Presumably, it would be a hostedplatform that you can write a variety of applications to, services, andthey'd all be very well defined, but Microsoft hasn't done thatdefinition. We are expecting much more detail on that by the end of theyear. But it is the next big platform for Microsoft and it isdefinitively coming.
ADT: How would you characterize Microsoft's relationship withdevelopers?
Rymer: What I've seen over the years is MS hasalways targeted corporate developers. With every new generation of theMS platform, they've sought deeper and deeper commitment and providedmore support for developers. All of the primary data that we'vegathered on usage of platforms and of languages indicates thatMicrosoft has the strongest position.
ADT: In your view, what is the key value of the Office 2007system to enterprise developers?
Rymer: The most important thing thatenterprise developers need to do, I think, is to be aware that this isone of these periodic big changes that Microsoft makes to thedevelopment environment. You have to evaluate it. A lot of people thatare doing custom Windows development should probably re-evaluate thatbecause they may be able to get a better result for a lower cost byusing Office as a basis for Windows clients. My biggest fear is thatpeople will just sort of let this go by, and just say, ‘Well, itis Office, so it doesn't concern us,' and continue to do things the waythat they have been doing them, and potentially find themselvesbuilding things at a higher then necessary cost in terms of developmentbudgets and ongoing maintenance and complexity. That for me is the bigneed here, to recalibrate, to take a look, there are opportunities todo things better here if you are in the Microsoft world.