News
Office 2007: Real deal for Microsoft developers
- By Kathleen Richards
- July 26, 2006
In 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.