Oracle Internet File System Developer's Guide Release 1.1 A75172-04 |
Library | Service | Contents | Index

# 1
Getting Started

This chapter covers the following topics:

- Introducing the Oracle Internet File System

- Oracle iFS System

- Application Development Tools

- Customization in Oracle iFS

- Overview of Application Tasks

- Task Reference

## Introducing the Oracle Internet File System

The Oracle Internet File System (Oracle iFS) is a file system in a database. From the user perspective, Oracle iFS looks exactly like any other networked drive on your file system. However, because Oracle iFS actually stores documents in a relational database, rather than on a local hard drive, users can perform many tasks using Oracle iFS that are not possible using standard file systems.

For example:

- Files placed into Oracle iFS can be automatically indexed, contents and all, for complex searching.

- Complex security models can be implemented with ease: individual or group access can be granted to files or directories using simple commands.

- The full functionality of Oracle iFS is available through an array of interfaces already familiar to most users.

- Oracle iFS supports an extendible list of 150 different file types, and includes robust support for sophisticate content management, with or without user customization.

### Oracle iFS Advantages for Developers

For developers, using Oracle iFS offers several specific advantages:

- Storing all data, including both files and relational data, in a single system simplifies application development. Rather than having to coordinate two separate data stores, you now only need to keep track of a single repository.

- You can customize the behavior and appearance of Oracle iFS using standard coding tools: XML, HTML, and Java.

- The Oracle iFS system provides facilities to speed development of custom file systems, Web-based applications and content management applications.

## Oracle iFS System

As a developer of Oracle iFS applications, you have access to all the components of Oracle iFS:

- The Oracle iFS Repository

- The Oracle iFS Client Software

- The Oracle iFS Protocol Servers

- An Extensible Document Hierarchy

- A Java-based API

### The Oracle iFS Repository

The Oracle iFS repository provides a single storage facility for all of your files, whether they are a standard type, such as XML, or a custom type that you define. This single storage facility means that files are managed consistently, regardless of the protocol used to manipulate them.

### The Oracle iFS Client Software

You can use standard clients, such as Windows Explorer; out-of-the-box Oracle iFS clients, such as the Web interface: You can also create a custom client to access Oracle iFS data. TCP/IP is used for communication between clients and the Oracle iFS server.

### The Oracle iFS Protocol Servers

Out-of-the-box, Oracle iFS ships with a set of standard protocol servers: SMB, HTTP, FTP, SMTP, and IMAP4. Each Oracle iFS protocol server accepts commands from a standard client and maps those commands to repository operations.

### An Extensible Document Hierarchy

The Oracle iFS document hierarchy may fit your application needs as is. If the out-of-the-box hierarchy fits your application needs only in part, you can easily create custom document classes using XML to define custom attributes and Java to implement custom processing.

### A Java-based API

The Oracle iFS Java API consists of a set of classes and methods that custom applications can use to access the repository and perform file management operations.

## Application Development Tools

To use Oracle iFS in custom application development, you need a few readily available tools:

- A Java Integrated Development Environment (IDE)

- An HTML Editor

- An XML Editor

#### Which Tool to Use?

The following table lists common customization tasks and the corresponding tool to use.

Task | Tool
--- | ---
Create a custom type (class). | XML Editor
Modify a custom type (class). | Oracle iFS Manager
Create a custom Java Bean. | JDeveloper or other Java IDE
Create a JSP. | HTML editor, JDeveloper or other Java IDE
Display information using a JSP. | Java Web Server or Apache Web Server
Create a custom parser, renderer, or agent. | JDeveloper or other Java IDE
Register a parser, renderer, or JSP. | Oracle iFS Manager or XML Editor
Register an agent. | Oracle iFS Server Manager

## Customization in Oracle iFS

The Oracle Internet File System was built with ease of customization in mind. Depending on the requirements of your application, you can choose from three levels of customization:

- No customization

- Basic customization

- Advanced customization

### No Customization

For many applications, the file system management and content management features of Oracle iFS mean that no customization is required. Oracle iFS provides many out-of-the-box capabilities that you might expect to add with customization to a standard document-centered application, such as:

- Versioning

- Check-in and check-out

- Locking and unlocking

### Basic Customization

For applications that require only adding custom attributes to the existing Document class, basic customization can be done using XML, with no Java programming required.

When you use XML to define custom document attributes, you have access to parsing and rendering facilities provided by the SimpleXmlParser and SimpleXmlRenderer included with Oracle iFS.

### Advanced Customization

For applications with complex requirements, customization can be carried out in Java, starting with the classes provided in the Oracle iFS Java API.

With Java programming, you can add the following types of customization:

- Custom agents

- Custom parsers and renderers

- Custom overrides

- JSPs

## Overview of Application Tasks

The following table lists common application tasks and the Oracle iFS functionality you might use to accomplish the task.

Application Requirement | Oracle iFS Functionality
--- | ---
Make a database connection. | Connect to the repository.
Manage documents and folders. | Create, update, and delete repository objects.
Store files and folders with custom attributes. | Create a custom document type, defining custom attributes or methods.
Extract document components and store them separately. | Write a custom parser.
Change the range, values, or format of a parsed document when it is reconstructed. | Write a custom renderer.
Display dynamic web content based on the file system's contents. | Write a JSP.
Perform a specific task before or after a given database event. | Write an agent. Write an override to modify the default behavior of the repository.

## Task Reference

The Oracle iFS Java API is a set of classes that allow an application developer to create, update, and delete repository objects. The API classes allow you to perform in a custom manner the same functions provided through the Oracle iFS protocols and interfaces. The following table lists these functions and their corresponding reference in this document.

Task | Reference
--- | ---
Become familiar with key classes of the API. | Chapter 2, "API Overview"
Connect to the repository. | Chapter 3, "Working with Documents"
Create, update, and delete repository objects. | Chapter 3, "Working with Documents"
Read and write content. | Chapter 3, "Working with Documents"
Extend the API classes. | Chapter 4, "Creating Custom Classes"
Create and register a custom parser. | Chapter 5, "Using Parsers"
Create and register a custom renderer. | Chapter 6, "Using Renderers"
Create and register a JSP. | Chapter 7, "Using JSPs"
Create and register an agent. | Chapter 8, "Using Agents"
Override the default behavior of the repository. | Chapter 9, "Using Overrides"
Send e-mail programmatically. | Chapter 10, "Sending E-mail Programmatically"

Note: For reasons of conciseness and clarity, the sample code in this Developer's Guide is presented as code fragments pulled from executable code. For the complete executable version of these files, download the Oracle iFS Developer Kit from the Software section of the Oracle iFS listing on OTN (Oracle Technology Network).

| Copyright © 2000 Oracle Corporation. All Rights Reserved. |
Library | Service | Contents | Index