The Oracle Content Management Software Development Kit (Content Management
SDK) is a pure Java Application Programming Interface (API) built on
top of the Oracle 9i
RDBMS. The Content Management SDK provides complete access to the features
of the Oracle Internet File System (9iFS),
giving developers a robust platform on which to build content management
applications.
Previous releases of 9iFS
did not distinguish between the user interface and the platform on which
it was built. 9iFS
is now offered in two forms: as a software development kit, without
an imposed User Interface, and as a ready to use application, Oracle
Files. The Content Management SDK option provides file services, advanced
content management features, and additional opportunities for customization
and automation.
New Features of the Content Management SDK
Workflow Integration
The Content Management SDK supports Oracle's Advanced Queues technology,
enabling easy integration with other Oracle products, including Oracle
Workflow. The Content Management SDK can now receive and respond to
messages from a workflow process, and can initiate workflow processes,
as well.
Support for BFile aging
BFile again allows an administrator to store archival information in
an off-line repository, while maintaining the metadata for the content
in the 9iFS
Repository.
Enhanced Locking model
The locking methods have been revised to streamline their behavior
and to support the specific needs of WebDAV compliant applications.
Print Services
The addition of print services enables an organization to completely
replace the behavior of a standard file server with the enhanced power
and reliability of the Content Management SDK.
Manage Content in a Central Repository
With no customization, the Content Management SDK option provides all
of the features of a file server. Content of any kind can be stored
in 9iFS, providing
a central location for all of your information, built on the security,
reliability, and scalability of the Oracle 9i
database.
File Server Access Through Standard Protocols
Users can store and retrieve their content using the protocols SMB,
FTP, NFS, AFP, and HTTP (via WebDAV). Users can navigate through 9iFS
using standard clients, and view and edit their files using standard
applications. No special client is required to navigate 9iFS.
Any PC, Macintosh, or UNIX client right out of its shipping carton can
connect to 9iFS
through any supported protocol.
Integrated Storage
There’s no practical reason why you cannot store all the web pages,
videos, and email messages related to a project in the same folder,
except that the technology for email, web, and file servers gets in
the way. Different server applications use different repositories, making
it difficult to access, search, and edit all the files related to the
same subject. That’s why Oracle 9iFS
was designed to provide integrated storage for all your content, from
email to XML, from word processing documents to audio clips, from web
pages to financial spreadsheets.
Integrated storage also makes life simpler for the system administrator.
Even the smallest company today needs a web server, an email server,
and at least one file server. As companies try to track customers, research
projects, or other information, they also quickly realize that they
need to include a database in their server mix. A system administrator
needs to learn how to install, secure, back up, and administer each
of these types of server, stretching the skills and resources of any
MIS department. Oracle 9iFS
lets you consolidate all these servers into a single 9iFS
instance, controlled through a single administrative control panel.
File Synchronization
Users can keep copies of their 9iFS
content in local directories, then synchronize their content with the
corresponding files in 9iFS.
The latest versions of the content are transferred to and from 9iFS
to ensure that the most up to date versions are stored in both locations.
BFile Aging
New in release 9.0.3 is support for BFile Aging. This allows an administrator
to store archival information in an off-line repository, while maintaining
the metadata for the content in the 9iFS
Repository. This makes it possible for you to implement a Hierarchical
Storage Management system with 9iFS,
storing information that is accessed less frequently in a second repository.
Print Services
9iFS release
9.0.3 introduces print services, eliminating the need for other file
servers in your intranet. No special client software is required to
use 9iFS print
services.
Oracle 9iFS
and the Oracle9i
Database
Since Oracle 9iFS
uses the Oracle9i
database for storage, it provides the most scalable and reliable platform
for storing, accessing, and managing files. Oracle 9iFS
also taps into reliable and powerful Oracle9i
features such as Oracle Text and database backup and recovery for many
of its features.
Customization
Storing and accessing your content is only the starting point with
9iFS. The Content
Management SDK provides you with access to the underlying structure
of the 9iFS
Repository, giving you unprecedented opportunity to tailor your system
to address your specific business needs.
Web Interface Using JSPs or Servlets
You can create a custom web interface using either Java Server Pages
or servlets. Through you custom interface, you can access the full range
of content management options provided by the Content Management SDK,
including advanced search, versioning and extended attributes.
Extensible Object Types
Any type of data can be stored in 9iFS
as a generic Document object. But the Content Management SDK
also gives you the ability to create custom 9iFS
Object Types that define additional attributes and behaviors for your
custom content. For example, you could create a custom 9iFS
Object Type named Presentation and give it the added attributes
Audience and Duration. You could then populate these attributes
(using a custom interface or XML data file), search on them, prepare
ad hoc reports, etc.
You can extend not only the Document Object Type, but also any Object
Type in the 9iFS
hierarchy.
Categories
Categories allow you to specify custom metadata without defining a
9iFS Object
Type, or restricting the metadata to a particular kind of document.
For example, you might create the category Sales, with attributes
such as Region, Sales Representative and Industry. You
could then apply the category to sales reports in HTML or PDF format,
spreadsheets used for analysis, sales presentations, word processing
documents, etc.
Fine-grained Security
Security in 9iFS
is configured using Access Control Lists, which are applied to individual
documents and folders. They list the groups and users for whom permissions
(such as read, modify, and delete) are granted or revoked.
While most security needs are met with global settings, it is possible
to create highly specific definitions of who can access a document and
the permissions that pertain to that user.
Advanced Content Management Features
The Content Management SDK provides an infrastructure for managing
your information, with Check-out/Check-in management, Versioning, Document
Locking, and other features that allow your users to collaborate without
their changes colliding with one another.
Advanced Searching
Oracle 9iFS
uses Oracle Text to index the contents of over 150 different file formats.
You can implement full-text search routines, as well as search mechanisms
for document metadata.
Multiple Foldering
You can store the same file in multiple folders, letting individual
users organize shared files in a way that is most useful for their personal
needs. If you have a file named XYZ Sales Presentation, for example,
you could have the file appear in folders named XYZ, Sales, and
Presentations, rather than storing three separate copies of the
file. This makes the file accessible, while ensuring that users are
looking at the most up to date version of the document, regardless of
where they find it.
Automation
Not only does the Content Management SDK allow your users to do more,
it also allows them to do less. Any activity that can be described
by a set of business rules is a candidate for automation in 9iFS.
Servers
A 9iFS Server
is a Java application written using the Content Management SDK that
executes on a 9iFS
node.
An Agent is a Server that runs unattended and performs a prescribed
operation, either periodically or in response to a triggering event.
For example, the 9iFS
Garbage Collection Agent periodically performs a set of cleanup tasks
in the 9iFS
Repository. You can create your own Agents, and define their triggers
and behavior.
Agents run asynchronously (that is, they run after a transaction
has completed or a set period of time has elapsed). Agents are best
suited for time-intensive activities that might impact client performance
as users wait for the task to complete. Since Agents are triggered after
the user's request is completed, or at a specific time, users can continue
working while the Agent performs its processing in the background.
Another type of server you can create would be a Protocol Server. A
Protocol Server interacts with client applications running in separate
processes (typically on two separate computers) based on a mutual protocol.
For example, the Oracle 9iFS
FTP server interacts with FTP clients using the FTP protocol. A typical
protocol server opens a TCP/IP server socket, accepts connections from
clients, and performs operations defined by the protocol in response
to client requests.
Overrides
The behavior of Object Types in 9iFS
is implemented in server-side Java classes. They contain code that determines
how Oracle 9iFS
performs operations such as insert, update and delete.
You can modify the way 9iFS
performs these operations by implementing server overrides. Overrides
allow you to interrupt the standard flow of processing in the 9iFS
Repository Manager at certain predefined points. At these points, you
can define a custom processing task that must occur before or after
an operation takes place.
Overrides run synchronously (that is, they run during a transaction,
either before or after a standard operation). Overrides are best suited
for situations where the processing is relatively quick, and the results
of the processing need to be immediately reflected in the 9iFS
Repository.
Workflow Integration
9iFS now provides
support for integration with Oracle Workflow and any other Oracle application
that supports Advanced Queues. You can define a Workflow process that
can communicate with 9iFS,
suspend its operations, and wait for a response before it continues.
You can also start a Workflow process based on a 9iFS
event.