sdOffice
2.0 Preview
sdOffice, since its initial release in
2001, has helped developers more efficiently and fully integrate non-Windows
"outside" applications with the MS-Office productivity suite and other
Windows-based software applications. The standard object technologies that
sdOffice supports include the following:
- Microsoft Excel
- Microsoft Word
- Microsoft Outlook
- MAPI (electronic mail via Microsoft MAPI)
- ADO (database acess via ADODB/ODBC)
- Email (email send/receive via SMTP and POP),
new in sdOffice 2.0
- System (access to system folders and the
Windows shell for launching tasks), new in sdOffice 2.0
- Popup (pop-up messages), new in
sdOffice 2.0
- Preview (text report print preview),
new in sdOffice 2.0
With sdOffice 2.0,
the architecture has been re-designed from a "server within
a Windows client" to a three-tier client-server
model. This was undertaken to facilitate remote
client access to sdOffice, as the first release had
"issues" with remote connectivity due to firewalls.
The new architecture also allows a much-preferred
per-concurrent-job server licensing model, with a
free sdOffice client which can be installed on
any
number of workstations. Another benefit of the new
architecture is the inclusion of a file distribution
utility which allows files to be stored on the
server for later distribution to workstation clients
as they connect to the sdOffice server.
An excerpt from the
introduction chapter in the sdOffice 2.0 user manual gives a
good background and overview of the product's uses,
capabilities and functionality.
sdOffice is a unique software tool that enables
access to Microsoft Office® and other Windows-based technologies from
non-Windows systems and applications. Any application or computer that
can interact with a TCP/IP socket or Unix/Linux pipe can now work with
Microsoft Office and other products, using sdOffice as the bridge to the
Component Object Model (COM) interfaces found in many Windows
applications.
COM is a method used in the Windows application
world to treat programs, such as Microsoft Excel® and Microsoft Word®,
as programmable objects from within other programs. This powerful
facility is an important part of the Microsoft Windows® platform, but
many legacy programming environments are not able to take advantage of
it. In addition, many applications today run in Unix and Linux
environments and have no direct way to access COM objects on Windows
systems.
sdOffice is the bridge that allows applications of
any sort to work with the COM object model for Microsoft Office.
sdOffice accepts commands from an application and translates them to the
appropriate COM methods, allowing applications written in virtually any
programming language, and running on virtually any operating system, to
control programs like Excel and Word in real time with a comprehensive,
extensible set of commands.
As an example of the sort of capability that
sdOffice provides, imagine the example of a traditional export to Excel
procedure used by many legacy software users. In the original effort,
the user runs a report that creates a tab-delimited or
comma-separated-value text file. The user then copies the file to their
PC, opens Excel, and imports the file. The columns in that file show up
in the cells in Excel, and then the work begins. The user begins
formatting the columns to match the data types and formats, adds column
headings, inserts a formula column, adds column totals or maybe some
grouped subtotals. Quite a while later, the Excel worksheet finally
looks like a finished document.
With sdOffice, that same report that started the
whole process can export directly to Excel and perform every one of
those formatting, formula, and totaling steps without any user
intervention. With that sort of automated functionality, the
application, rather than the user, performs all the work to produce the
finished document, saving a tremendous amount of time.
sdOffice is composed of several elements ......
|
THREE-TIER
ARCHITECTURE
The elements referred
to above form the cornerstones of the three-tier
architecture mentioned at the top of the article.
The three-tier client server architecture is
depicted in the following graphic, and discussed
below in excerpt from the user
manual.
sdOffice is composed of three elements:
- An sdOffice Network Server
- Windows-based Office clients
- Application clients
The heart of sdOffice is the Network Server. This
software runs full time in background, optionally as a service under
Windows, and as a daemon on Unix or Linux. The Network Server is the
interface point for both Office clients and Application clients.
The Office clients connect to the network server
when they start up, and maintain a persistent connection while waiting
for application clients to connect and initiate jobs. The Office client
is the piece that translates commands into COM object methods. The
Office client is similar to, but more powerful than, the old sdOffice
1.0 Windows client.
The Application clients connect to the network
server whenever a job needs to be executed on an Office client. The
Application connects to the Network Server, specifies which client and
which job object, and then begins sending commands. The Network Server
routes the commands to the appropriate client, and returns responses
back. Application clients include:
- The application software itself, if it can
work with a TCP/IP socket
- A Perl-based pipe for applications that can
use bi-directional pipes but not sockets
- sdRun executables (Perl-based on Unix/Linux,
native on Windows) which process the commands from a text file
- BBx and ProvideX wrappers around the above
features, providing a familiar CALL interface to programmers in
those languages
It is also possible to emulate an Application
Client using Telnet, or by using the Application window in the Office
Client’s visual interface.
|
OFFICE CLIENT
VISUAL INTERFACE
The Office client
which is installed on the Windows workstation(s) has
a new visual interface which automates a number of
management, control, and development-oriented
tasks, including access to the new
object-extensibility features which are a major
benefit of the new version. With this new visual
interface, the task of developing and maintaining sdOffice jobs is given an integrated environment
which greatly simplifies access to common sdOffice
tasks.
Below is a preview of the new visual interface for sdOffice 2.0 . Each
shortcut element is
described below the screenshot graphic.
Note the familiarity of the
Windows layout with task shortcuts labeled on the left and the MDI interface in
the main body of the window, allowing you to work with multiple open sdOffice
sub-windows in an organized manner from within the same interface.
Connections
View all connections currently
opened to the server and active jobs for each connection. Cancel jobs, close
connections.
Job Log
View a list of the latest jobs
(since last cleared), with start/end date/times and duration info. If
detailed job logging is enabled in the current job command file, each
command issued by a job is captured and displayed in the bottom half of the
screen.
Event Log
View a list of detailed
"events" (since last cleared), such as error messages and certain system
activities. If detailed event logging is enabled, the actual commands sent
to the server and the server's response back are also displayed, including
individual jobs' detailed commands.
Command Editor
Open connections, load, edit and
send command files to the sdOffice server for execution. View detailed job status
as the job executes. This module acts as an sdOffice Application client,
generally for development and testing purposes. In a "production"
environment, the commands being processed are generated by a program or
script or process that acts as the application client by interfacing the
"back-end" application data base with the sdOffice server and through to the
sdOffice Windows Office client.
Script Editor
Open, edit, save and launch
"object-extensibility" VB scripts. The extensibility feature in sdOffice 2.0
means that the full range of commands or arguments accepted by a COM object
can be accessed by a developer, without limitation to a pre-defined subset
contained within the sdOffice programs.
Settings
Maintain sdOffice settings
A breakout session at the June
technical conference will be devoted to sdOffice 2.0 .
|