DataBlade Module Development Overview
Chapter 1: DataBlade Module Concepts
Home
Contents
Index
Master Index
New Book
What Are DataBlade Modules?
A
DataBlade module
is a software package that extends the functionality of Informix Dynamic Server with Universal Data Option. The package includes SQL statements, and shared objects or dynamic link libraries. DataBlade modules can also contain client components.
A DataBlade module adds user-defined
database
objects
that extend the
SQL
syntax and commands you can use with Informix Dynamic Server. A database object is an SQL entity, such as a data type, routine, or database table. Informix Dynamic Server handles DataBlade module objects as built-in objects.
Extensions to Informix Dynamic Server belong to two main categories:
Types of data.
This category includes data types that can contain multiple elements (row, collection, and opaque data types) and data types that support inheritance (distinct and row data types). The internal structure of opaque data types is unknown to the database server.
Routines.
This category includes user-defined routines, data type support routines, casting routines, and routines that support user-defined access methods.
If you are unfamiliar with DataBlade module technology and the DataBlade Developers Kit, you might have the following questions:
Why should I extend Informix Dynamic Server?
Why should I use a DataBlade module to extend Informix Dynamic Server?
Why should I use the DataBlade Developers Kit to create a DataBlade module?
Each of these questions is addressed in the following subsections.
Why Extend Informix Dynamic Server?
The primary advantages of using the extensibility of Informix Dynamic Server with Universal Data Option over using traditional relational databases are:
performance.
new functionality.
Performance
Use Informix Dynamic Server to improve the performance of your applications by:
Moving business logic into the database server
You can create user-defined routines to move your business logic from your application into the database server. Processing data in the database server instead of the client can greatly reduce network traffic and increase your control over the data.
Moving business objects into the database server
For example, if you have business objects that cannot be sorted in a standard relational database, you can implement them as extended data types and create multidimensional indexes for appropriate sorting.
Suppose you have a part number that has several components. Because the internal structure of the part number is complex, conventional sorting by character string does not sort a group of part numbers in the correct order. You could use a row type to isolate each component into a different field, write a simple algorithm to process each component separately, and then index the whole row type according to your ordering scheme.
New Functionality
The extended data types that you can define with Informix Dynamic Server with Universal Data Option enable you to integrate types of data that cannot be managed in traditional relational databases, such as:
Digital content: images, video, and other multimedia
Integrated data objects: geospatial, time series, text, and barcodes
For example, a law enforcement agency can use Informix Dynamic Server with Universal Data Option to integrate different data types into a database, including time, location, audio, text, images, fingerprints, and facial images. This system can use DataBlade technology to perform geospatial location analysis, voice print analysis, fingerprint matching, and face recognition.
Why Create a DataBlade Module?
You can extend Informix Dynamic Server without creating a DataBlade module by executing the SQL statements to create each object individually. However, the advantages of packaging extended database objects in a DataBlade module include:
control.
code-reuse.
Control
DataBlade modules combine all related extended objects, enabling you to easily install, upgrade, and remove a whole module at once. A DataBlade module is a package ready to be distributed commercially or internally. In addition, DataBlade modules make it easy for you to maintain version information about the software.
Code-Reuse
DataBlade modules can use the functionality of other DataBlade modules through
interfaces
. Interfaces are references to other DataBlade modules. When you include an interface in a DataBlade module, you create a dependency so that your DataBlade module can be only used if the DataBlade module providing the interface is installed in the database server.
Some DataBlade modules are specifically designed as
foundation
DataBlade modules. Foundation DataBlade modules are not usually intended to be used alone. For example, the LOB Locator DataBlade module handles the location of the large objects that other DataBlade modules use to store their data.
Why Use the DataBlade Developers Kit?
Although you can create a DataBlade module manually, using the DataBlade Developers Kit can greatly reduce development time.
The DataBlade Developers Kit consists of three graphical user interfaces for DataBlade module development:
BladeSmith.
To create your DataBlade module.
BladePack.
To package your DataBlade module.
BladeManager.
To make your DataBlade module available in a database.
The DataBlade Developers Kit reduces development time because it:
uses wizards to guide you through complex SQL object creation options.
generates the following:
complete SQL definitions for your database objects.
code entry points in C and C++ for ActiveX value objects.
functional tests for user-defined routines, opaque data type support routines, and casts.
automates creating an interactive installation program for UNIX and Windows operating systems.
The source code generated by the DataBlade Developers Kit follows good coding practices for Informix Dynamic Server and ensures consistency among your user-defined routines.
DataBlade Module Development Overview
, version 3.6
Copyright © 1998, Informix Software, Inc. All rights reserved.