CSC/ECE 517 Fall 2010/ch7 S36 JB: Difference between revisions
No edit summary |
No edit summary |
||
(One intermediate revision by the same user not shown) | |||
Line 11: | Line 11: | ||
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. | 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. | ||
Line 16: | Line 22: | ||
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." | 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. | ||
Line 21: | Line 31: | ||
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. | 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.