CSC/ECE 517 Fall 2010/ch7 S36 JB: Difference between revisions

From Expertiza_Wiki
Jump to navigation Jump to search
No edit summary
 
(2 intermediate revisions by the same user not shown)
Line 9: Line 9:
[http://www.openoffice.org OpenOffice] is a free office suite provided as [http://en.wikipedia.org/wiki/Open_source_software Open-source Software] (OSS) by [http://www.oracle.com Oracle] (previously by [http://www.sun.com Sun Microsystems] and before that by Star Division as Star Office).  It is available for many different operating systems on many different platforms.
[http://www.openoffice.org OpenOffice] is a free office suite provided as [http://en.wikipedia.org/wiki/Open_source_software Open-source Software] (OSS) by [http://www.oracle.com Oracle] (previously by [http://www.sun.com Sun Microsystems] and before that by Star Division as Star Office).  It is available for many different operating systems on many different platforms.
====API====
====API====
Through the [http://wiki.services.openoffice.org/wiki/Documentation/BASIC_Guide/API_Intro OpenOffice API], a user has access to manipulate files created by OpenOffice using the language of their choice.  OpenOffice uses the [http://udk.openoffice.org/common/man/uno.html Universal Network Objects] (UNO) interface for this.
Through the [http://wiki.services.openoffice.org/wiki/Documentation/BASIC_Guide/API_Intro OpenOffice API], a user can manipulate files created by OpenOffice using the language of their choice.  OpenOffice uses the [http://udk.openoffice.org/common/man/uno.html Universal Network Objects] (UNO) interface to provide this functionality.
 
====Language Support====
====Language Support====
In addition to supporting several non-OO languages, OpenOffice supports the following OO languages:
* Perl
* Java
* C++
* Python
* Others
===Google Docs===
===Google Docs===
[http://www.google.com Google Docs] is also a free office suite.  It follows the recent trend of transferring more executables online, making them easily available from anywhere with an Internet connection.
[http://www.google.com Google Docs] is also a free office suite.  It follows the recent trend of transferring more executables online, making them easily available from anywhere with an Internet connection.
====API====
====API====
The API for Google Docs, like for OpenOffice, is well thought out and supported.  It allows for external modification and control of the suite software by programs written in various languages.
According to the [http://code.google.com/apis/documents/docs/developers_guide.html Google Docs Developer's Guide], "The Google Documents List Data API allows client applications to request a list of a user's documents, query the content of a user's documents, upload/download documents, modify the sharing permissions, view the revision history, and file documents within folders."
====Language Support====
====Language Support====
* Java
* .Net
* PHP
* Python
===Microsoft Word===
===Microsoft Word===
[http://www.microsoft.com Microsoft] has long had a reputation for being closed and anti-competitive and entered the API game very late.  It is now trying to catch up with the big boys.
[http://www.microsoft.com Microsoft] has long had a reputation for being closed and anti-competitive and entered the API game very late.  It is now trying to catch up with the big boys.
====API====
====API====
Microsoft's API stinks!
The [http://msdn.microsoft.com/en-us/library/aa165081%28office.10%29.aspx Microsoft Office] API provides support for accessing its documents through external scripts and programs.
====Language Support====
====Language Support====
* VBA
* .Net?
==Conclusion==
==Conclusion==
Not all APIs are created equal!  Some office suites have been built around their APIs, while others put them in as afterthoughts.  A well-defined API can be used by a large number of different programming languages, allows many different file formats to be modified, and provides many ways to manipulate those files.
==References==
==References==
# [http://www.openoffice.org OpenOffice.org API]
# [http://www.openoffice.org OpenOffice.org API]
# [http://www.google.com Google Docs]
# [http://www.google.com Google Docs]
# [http://www.microsoft.com Microsoft Word]
# [http://www.microsoft.com Microsoft Word]

Latest revision as of 06:27, 2 December 2010

O-O packages for implementing office suite APIs

Introduction

Office suite software has been around now for many years. The first was Microsoft Office, released in 1989, which included a word processor, a spreadsheet, and a presentation program. These were separate programs which were integrated together into a single package. For many years, Microsoft has remained the dominant player in the game, but not the only one. Others have come (and sometimes gone) that have had their own popularity. Although all of them have tried to provide every function they thought their users might need and/or want, none of them are perfect. Many users have identified shortcomings or wished for special features that are not available in their favorite office suites. Some of the suite providers have recognized this and now offer Application Interfaces (APIs) that allow people to access core functions of their software from outside of the program, using separate scripts or programs. This chapter is a review of the APIs available in various suites and some of the packages that are available to different Object Oriented (OO) languages for implementing this API.

The Office Suites

There are many different office suites. Below we review a few of the more popular ones that can be easily found today.

OpenOffice

OpenOffice is a free office suite provided as Open-source Software (OSS) by Oracle (previously by Sun Microsystems and before that by Star Division as Star Office). It is available for many different operating systems on many different platforms.

API

Through the OpenOffice API, a user can manipulate files created by OpenOffice using the language of their choice. OpenOffice uses the Universal Network Objects (UNO) interface to provide this functionality.

Language Support

In addition to supporting several non-OO languages, OpenOffice supports the following OO languages:

  • Perl
  • Java
  • C++
  • Python
  • Others

Google Docs

Google Docs is also a free office suite. It follows the recent trend of transferring more executables online, making them easily available from anywhere with an Internet connection.

API

According to the Google Docs Developer's Guide, "The Google Documents List Data API allows client applications to request a list of a user's documents, query the content of a user's documents, upload/download documents, modify the sharing permissions, view the revision history, and file documents within folders."

Language Support

  • Java
  • .Net
  • PHP
  • Python

Microsoft Word

Microsoft has long had a reputation for being closed and anti-competitive and entered the API game very late. It is now trying to catch up with the big boys.

API

The Microsoft Office API provides support for accessing its documents through external scripts and programs.

Language Support

  • VBA
  • .Net?

Conclusion

Not all APIs are created equal! Some office suites have been built around their APIs, while others put them in as afterthoughts. A well-defined API can be used by a large number of different programming languages, allows many different file formats to be modified, and provides many ways to manipulate those files.

References

  1. OpenOffice.org API
  2. Google Docs
  3. Microsoft Word