Chapter 3. Software Components

This chapter describes the StudioCentral Library software components and the ways in which they can be used to develop new applications:

Software Components

StudioCentral software contains the following components:

  • Core software, which provides both the essential functionality that enables assets to be stored in, and retrieved from, StudioCentral and the infrastructure software (plugin server, search server) that facilitate the rapid development of complex data systems around a StudioCentral core.

  • Asset Management Protocol (AMP), which provides developers a rich command set for accessing the content and metadata of StudioCentral assets. AMP can be used to quickly develop end-user applications since it can be embedded in any language.

  • Asset Services, which provide optional functionality that extends the breadth of services StudioCentral can provide (transfer management, content management).

  • StudioCentral Client software, which provides interfaces for many concurrent users on industry-standard desktop platforms to store, retrieve, query, and manage assets and to administer an enterprise-wide StudioCentral installation.

Figure 3-1 shows the primary software components that make up the StudioCentral software.

Figure 3-1. StudioCentral Software Components

StudioCentral Software Components

The remainder of this section describes the components shown in Figure 3-1:

Core Software

This subsection describes the core software, which provides the essential functionality for the StudioCentral system:

Metadata Services

The StudioCentral metadata services store, retrieve, and manage the metadata for StudioCentral assets. These services provide fully flexible data modeling which allows the mapping of StudioCentral metadata into industry-standard database management systems without imposing a fixed schema. Metadata services also include a feature-rich query language (AQL - Asset Query Language) to facilitate speedy data retrieval from StudioCentral clients. The metadata services are grouped together in the Ams Server process, which is the core process of the StudioCentral server. A particular StudioCentral server has a single Ams Server process, but can have multiple repositories, and multiple content servers.

The StudioCentral Ams Server is independent of the specific database used. The database-dependent code exists in a software component called a database key, which acts as an interface between the Ams Server and the actual database management system. These database keys permit StudioCentral to take advantage of features specific to a given database.

StudioCentral currently has database keys for the following:

  • Informix Dynamic Server (IDS)

  • Informix Dynamic Server with Universal Data Option

  • Oracle Server

Content Services

Content Services store, retrieve, and manage the digital content of StudioCentral assets. This content can be images, audio files, or any format that can be digitally stored.

As with Metadata Services, Content Services are independent of the specific content storage that is used. The content storage-dependent code exists in software components called content server keys, which are interfaces between the Ams Server and the content servers that manage the actual content stores. These content server keys enable all StudioCentral applications to be independent of the storage used. They also permit StudioCentral to take advantage of features specific to a given storage device.

Supported storage types include:

  • Online storage, which provides the fastest access to asset content and is normally used for currently active assets. Online storage is used primarily for frequently accessed content.

  • Hierarchical storage, where assets can be moved between online, near-line, and offline (archive) storage, either automatically based on use, or manually at the user's request. Hierarchical storage is provided by the Data Migration Facility (DMF) system developed by SGI. It provides access to media content by quickly bringing offline content onto a disk cache for fast access.

  • Archive storage, which enables online storage to be freed for just the content that is currently active or most likely to be accessed.

  • Kasenna MediaBase, which allows assets stored in StudioCentral to be streamed to end-user desktops.

Database Keys

Database keys allow StudioCentral clients to access metadata that is stored in industry-standard databases. Additional database keys for other database systems can be written. Contact SGI Professional Services for information.

Content Server Keys

Content server keys allow StudioCentral clients to access digital data that is stored in industry-standard devices and storage management systems. Additional content server keys for other storage devices or storage management systems can be written. Contact SGI Professional Services for information.

Plugin Server

The StudioCentral Plugin Server provides developers the infrastructure that allows rapid extensibility of the core StudioCentral functionality. The plugin server provides a common interface for invoking user-defined plugins at specific checkpoints during StudioCentral operations and also manages plugin traffic. Custom, or legacy software can interact with core StudioCentral services by means of plugin server keys written by system integrators and application developers.

Search Server

The StudioCentral Search Server provides a generic infrastructure to support indexing and searching of digital content using search keys. Each third-party search engine would require a separate search key written by system integrators or application developers. For example, a search key could be written to perform searches on digital images.

Asset Typing

Asset Typing automatically generates metadata attributes by analyzing the digital contents of an asset. For example, asset typing of an MPEG file generates values for many attributes including number of tracks, number of frames, and compression type. StudioCentral provides asset typing for a wide range of file types and plugins for other file types can be written.

Thumbnail Generation

The StudioCentral Thumbnail generation feature automatically generates a small low resolution image (a thumbnail) when an asset with visual content (images, video) is checked into StudioCentral. For videos, the thumbnail can be generated from either the first frame of the video asset or from a user-specified frame number. A plugin to provide custom high-resolution thumbnails or other related feature can be written.

Asset Management Protocol

The Asset Management Protocol (AMP) provides a language-independent, lightweight, protocol that can be used to quickly develop thin client applications. AMP is a TCP-based interface for storing and retrieving the metadata and content of assets stored in StudioCentral repositories and covers the full range of StudioCentral core and asset services. To facilitate communication between StudioCentral and plugin applications, AMP command output is available in XML format.

Asset Services

Asset services, which provide a service to either applications or other services, consist of the following:

Transfer Manager Service

The Transfer Manager performs background tasks that transfer assets between StudioCentral repositories. For example, the Transfer Manager can transfer assets from a centralized StudioCentral server in a broadcast network to other StudioCentral servers at regional stations or affiliates for local storage and playback.

Asset transfer can be performed on a large number of assets which can be simple assets or composite ones. (Composite assets are assets that contain references to other assets.) As with other asset operations, assets may be selected for transfer by name, by ID number, or on the basis of a query.

Consistency Checking Service

Consistency Checking searches for and flags inconsistencies between content location stored in asset metadata, and the location of content files in the content servers. For example, Consistency Checking can identify content files that are not pointed to by assets (orphan content) and assets for which one or more content files are missing.

Backup and Restore Features

Backup and Restore functionality is provided in StudioCentral by two command-line utilities: one that takes a snapshot of the entire metadata and content of a StudioCentral repository, and another that restores that data. The Restore feature retains the database schema and restores the content files for all assets. The Backup and Restore functionality can be used only for content that is stored in a Filesystem Content Server.

StudioCentral Clients

StudioCentral supports the following clients:

The StudioCentral Development System supports the development of additional clients, see “Developing New StudioCentral Components” for details.

Macintosh Client

The StudioCentral Macintosh client allows end users to store, retrieve, query, and manage StudioCentral assets using their native desktop environment. The StudioCentral Macintosh client is integrated with other Macintosh applications, allowing assets to be dragged and dropped between StudioCentral and other applications. The Macintosh clients can be used in a distributed environment in which assets are shared by workgroup members. For a quick overview of the Macintosh client, see “StudioCentral Macintosh Client Scenario” in Chapter 2. For detailed information on the StudioCentral Macintosh client see the StudioCentral Library User's Guide for Macintosh Clients (007-3989-nnn).

Windows NT Client

The StudioCentral Windows NT client allows end users to store, retrieve, query, and manage StudioCentral assets using their native desktop environment. The StudioCentral Windows NT client is integrated with other Windows applications, allowing assets to be dragged and dropped between StudioCentral and other applications. The Windows clients can be used in a distributed environment in which assets are shared by workgroup members. For a quick overview of a Windows client, see “StudioCentral Windows NT Client Scenario” in Chapter 2. For detailed information on the StudioCentral Windows NT client see the StudioCentral Library User's Guide for Microsoft Windows Clients (007-3621-nnn).

Web-based Administration Client

The StudioCentral Administration client is a key component of any StudioCentral installation. This client is web-based to facilitate StudioCentral administration over a WAN and provides a graphical user interface for all essential administration tasks including starting and stopping services, administering users and groups, assigning asset privileges, and transferring assets. For detailed information on the StudioCentral Administration client see the StudioCentral Library Administrator's Guide  (007-3623-nnn).

Command Line Client

The StudioCentral command-line client is available on the StudioCentral server and can be installed on any other IRIX host. The command-line utilities are executable, ready-to-use programs that perform a full range of StudioCentral tasks. The utilities are based on AMP and can be used individually, in scripts, or in the creation of a client application. The command-line client is used most frequently in development environments and for batch processing involving a large number of assets or StudioCentral operations.

Developing New StudioCentral Components

StudioCentral provides interfaces for building applications and services that use StudioCentral, or for integrating existing applications into StudioCentral. Detailed information about how to use these interfaces is provided in the StudioCentral Library Developer's Guide. This section provides an overview of how to use the interfaces to develop the following components:

Client Applications

The tasks required to perform asset management in any client application are generally the same:

  • Create and store asset contents and metadata.

  • Retrieve asset content and metadata.

  • Modify information describing the asset content.

  • Delete asset content and its metadata.

Each of the interfaces described in this section enable you to create client applications that accomplish these tasks. Detailed information about how to use these interfaces to develop applications is provided in the StudioCentral Library Developer's Guide.

The interfaces for developing client applications are:

AMP

The Asset Management Protocol (AMP) gives developers a direct means of managing and querying assets. AMP is a rich command set that covers the full range of StudioCentral core and asset services, and can be incorporated into Perl scripts, java, C++, or applications in most any other computer language to create a client application. To facilitate communication between StudioCentral and Client applications, AMP command output is available in XML format.

C++

The C++ language is used to develop StudioCentral plugins and search keys for content-based search.

Command-Line Utilities

The StudioCentral command-line utilities are executable, ready-to-use programs that are based on AMP commands and perform a variety of operations on assets. You can use these utilities in asset operations, and to perform administrative tasks. They can be used from the command-line or grouped together in scripts.

Writing Plugins

StudioCentral Plugin libraries are written in C++ and communicate with StudioCentral through the Plugin Server process which manages traffic between the plugins and the Ams Server. For details on writing plugins, see the StudioCentral Developer's Guide (007-3246-nnn).

Writing Search Keys

StudioCentral content search keys are written in C++ and communicate with StudioCentral through the Search Server process which indexes content files and manages traffic between the search engine and the Ams Server. For details on writing a search key, see the StudioCentral Developer's Guide (007-3246-nnn).