SQLData Systems, Inc.
Home | Products | Services | Documents | Support

 

The SQLData Enterprise Server

The SQLData Enterprise Server is an application that provides distributed and secured database services over the Internet. The server offers powerful features, which allow database information to be published as dynamic contents through Hypertext Transfer Protocol (HTTP) , Universal Database Access protocol or RPC. The server can be used either as a standalone HTTP server or a supplement database service to other HTTP servers.

Without programming, the server allows user to browse, update, delete and insert records into databases using a web browser. The server supports all ODBC compliant databases.

Platform:

The server is currently deployed on Windows 95, Windows NT workstation or Windows NT server. Components are available for Java programming languages and COM. Since the server uses standard HTTP protocol and RPC interfaces, it can be accessed from other operating platforms through HTTP requests or API.

Scalability:

The SQLData Enterprise Server runs as a multithreaded Windows NT services in an enterprise environment. Multiple processes are also supported for heavy traffic.

The server has built-in session management. It  caches user information and associated database objects for optimized performance. It also caches database connections for connection sharing among users.

The SQLData Enterprise Server can be configured as Dynamic Server Groups (DSG), which provide distributed processing for database access, automatic synchronization and incremental replications.

Security:

. Authentication: The SQLData Enterprise Server provides multiple levels of authentication. Standard HTTP authentication can be enabled through configuration file. Each user is assigned to a user group with certain credentials, and each operation is assigned required access rights. The operation will be rejected if a user has insufficient access rights.

. In a Dynamic Server Group (DSG) setting, a group of servers can share a single authentication server. User information is stored in a login server for added security and easy administration.

. Windows NT authentication can also be used if the deployment platform is a Windows NT server. The SQLData Enterprise Server  impersonates the request handling thread using the user login credential.

. The server supports both SSL 2.0 and SSL 3.0 for secure client communications and server to server communications. A license may be needed for RSA public/private key encryption algorithm.

. The Server uses secret key encryption for server to server communications. The encryption algorithm can be specified in the server configuration file. Most of the popular symmetric algorithms are supported.

Flexibility:

The SQLData Enterprise Server can be used as simple as a generic database tool for accessing different database tables on user’s desktop. The server comes with a group of pre-configured HTML files for desktop browsing and other database access operations, such as insert, update and delete. User can perform online editing using either web browsers or Windows 95 desktop browsers. Some of the commonly used query can even be drag-and-dropped to the desktop for quick accessing. The SQLData Enterprise Server also allows more experienced SQL user to issue SQL commands though URL like:

http://localhost:8732/query/dbase/select * from customer where country =’UK’

The query is processed by the server and the result set is returned back to the browser.

For medium level deployment, the SQLData Enterprise Server offers a web Database design environment. The SQLData Enterprise Server provides a group of commands (referred as server template tokens, STT), which can be imbedded in any HTML files. SQLData Enterprise Server processes the STT at runtime. The Server Template Tokens are used to format record set, field values or field names on the web pages.  SQL statements can also be used as such tokens in a HTML pages, include Data Definition Languages (DDL), Data Manipulation Languages (DML) and Data Control Languages (DCL). For example,

[SQL select * from orders where quantity > 50]

will be replaced by the result set of the specified query. The STT gives user a powerful tool for database publishing. It can be used to display result sets from different DBMSs.

For more complicate database manipulations, the SQLData Enterprise Server is also a programming environment, the server has an imbedded script parser. The parser process C-like scripts on the server side. Unlike the regular C language, the parser implements some of the powerful database access functions that aimed to make database operation an easy task.

Extensibility:

To meet different requirements for information publishing over the Internet/Intranet, the SQLData Enterprise Server is designed as an open architecture. User can extend the server capability in the following ways:

bulletCustom Token Processor: Users can build their own toke libraries that process custom template tokens. The UDP invoke the library functions at runtime when it encounters such tokens. The server passes along a Database Context (contains database connection and opened SQL statement or result set). The library can be built using C/C++.
bulletCustom Message Processor: When an HTTP message is received and the server is unable to provide services, it can dispatch the message to a custom-built message processor. The server passes the Server Context (contains server configuration and HTTP request details) to the specified Message processor for special treatment.
bulletCustom Server Script: User can also provide scripts written in the Mini-C language to further extend the functionality of the server. These scripts can be included in any HTML files through a server side include command.
bulletSpecial Database Broker: All database accesses in the SQLData Enterprise Server uses a uniformly defined component called Database Broker, an interface to different DBMS. The SQLData Enterprise Server currently implemented the ODBC Broker (support for ODBC databases), the RPC Broker (Support for remote database access) and the UDA Broker (Support for the Internet database access). Custom broker can be built to support special information retrieval requirement, such as accessing to a LDAP depository.

Integrity and Reliability:

In a large-scale web-based enterprise information application, system integrity, performance and reliability become the critical issues. The SQLData Enterprise Server has many powerful features to solve some of the problems in a mission critical environment.

Dynamic Server Group:

The server can be configured on multiple hosts to form a server cluster, or Dynamic Server Group. Servers in the DSG publish their resources (mainly Database information) to others so that it can be accessed seamless by other machines. For instance, a request to machine A for database table M on machine B can be processed at A without any problem. To the end user, all resources on machine B are available on machine A. Servers in a DSG collaborate in a way such that the location of the resources is transparent.

Load Partitioning:

The SQLData Enterprise Server provides true distributed services through Dynamic Server Groups. As the Internet traffic and the size of databases grows, the database can be partitioned onto multiple servers. Each server hosts only part of the overall database. As we mentioned before, in the symmetric configuration (where every server publishes and accepts resources), the database services are available on all servers. Thus reducing the load on individual server. Even in a asymmetric configuration (where all server publishes but only one accepts resources), only one primary server handles incoming request, the overall load is still greatly reduced because most of the database operations are distributed other servers.

Session Management:

The SQLData Enterprise Server provides session management for both authenticated sessions and  anonymous sessions. Database connections and objects associated with a session are kept in memory until the session is terminated (logout) or expired. The maximum number of cached sessions and expiration time can be adjusted in the server configuration file.

Synchronization and Backup:

Although load partitioning may be able to solve the performance problem and  provide a very scalable environment for large database deployment. It doesn’t increase the availability of the service. Part of the service will become unavailable if one of the servers is down. The SQLData Enterprise Server provides an elegant solution for uninterrupted services. Each server can have one or more backup servers (partners) specified in the server configuration file. The primary server performs an initial replication of its data to all its partners. All update operations processed by the primary server are also dispatched to its partners. Only a failed operation on partners will trigger a necessary synchronization operation to keep the failed partner up-to-date. The primary server may elect to record all subsequent operations and retry later. The synchronization on demand (SOD) feature can greatly reduce data inconsistency between primary server and backup servers.

Servers in DSG sends scheduled HELLO message to interested parties to make sure they are alive and well. A special message is multicast to the group if one is down. A backup server will publish resources immediately.

Immortal Service:

In addition trying to catch all possible exceptions on different levels inside the SQLData Enterprise Server. Special techniques are used for monitoring individual server process to make sure they are up and running. A new process will be started if one dies by accident.

 

Download | Purchase | ContactFeedback

Send mail to  info2-at-sqldata-dot-com with questions or comments about this web site.
Copyright 1997-2005 SQLData Systems, Inc.
Last modified: August 28, 2009