Applibase Server integrates and rapidly delivers useful data and information to where it is needed. Enterprises need real-time access to data from across the enterprise to make timely business decisions. Applibase Server provides distributed queries and views of diverse data to business-critical applications such as Dashboards, Reports, Business Intelligence, and other integrated applications.

Applibase Server provides visual tools to make the task of
integrating
data and keeping the data refreshed in real time, as well as tools to
build views, queries and applications around this real-time data.
Applibase Server Studio tools include an integration studio to ease
data
integration tasks, and a browser-based visual tool (AppliBuilder) to
build dashboards and other integrated applications.
AppliBuilder is a drag-and-drop visual mashup builder to create
dashboards and other data integration applications using Ajax widgets.
AppliBuilder allows developers to quickly create useful web
applications from a wide variety of visual components. With support for
REST, Web Services and SQL databases, AppliBuilder provides easy ways
to collect and present data via web applications. This brings together
the power of data integration and web components, and gives developers
easy ways to create enterprise mashups. While knowledge of
Javascript, SQL, CSS and related web technologies is needed to use all
aspects of the tool, most developers should be able get a lot done with
very limited knowledge of these technologies.
AppliBuilder allows you to shift part of enterprise application
development from complex server based applications, to more lightweight
client-side applications. It enables you to move applications to the
browser client, and much of it into reusable, visual Javascript
components. It provides tools for securing the client from unauthorized
access to data as required, while allowing developers to quickly script
necessary functionality via client-side Javascript. Once the
server is setup, developers will be able to use the tool from anywhere
with no further installation or deployment necessary for their
integrated applications.
The Applibase Server Studio tools make it easy to integrate data
from
disparate data sources both within your enterprise and the wider web,
to create compelling integrated applications like dashboards, reports,
etc.
The Applibase Server internal
architecture is illustrated below. At it's core, Applibase Server
includes a complete distributed SQL engine, to allow distributed
queries and views of data from multiple servers. It uses
a light-weight messaging system that works through firewalls to link up
the distributed databases. Applications get a standard JDBC/SQL
interface much like any database, but now have access to both
local and remote data. Whether using distributed queries,
materialized views, or remote tables, applications need do no heavy
lifting because data is remote. Subject to appropriate
authorization, any data, anywhere is immediately available to these
applications.
Applibase Server can be downloaded and used as either a server or a client package. The server version is a complete package that includes the Apache Tomcat web server, and a number of other tools necessary for publishing relational data on the web. A Web Administration console (WebAdmin) is provided with the server package as a comprehensive remote administration tool for managing and using the Applibase Server server. The server supports data-driven web applications using Tomcat integrated with the database, and provides a utility to run server applications on the server as needed.
The client is primarily a standalone database, with access to data from remote Applibase Server servers. The Applibase Server client may be embedded within applications that need to access data from remote servers. This allows data to be cached in the client in local database tables, as well as provide a full set of typical database functions. Applibase offers this client database as a free product, with no fee for redistribution with other applications. We see databases as a commodity with many good established databases available, and we are not targeting the database market. The client is recommended only when your applications can benefit from the ability to access and use remote data in the local database.

The Applibase Server server package serves up data on the web, and includes complete client functionality that enables it to access data from other Applibase Server servers. The core SQL database engine in Applibase Server is embedded in both server and client, and enables applications to use Applibase Server just as they would another database even when accessing remote data. The server needs to be licensed from Applibase for use and distribution. The server package is being made available free of charge to any web site interested in publishing data for free public access.
Applibase Server is designed to support a federated
architecture, where multiple servers in an enterprise can share data
securely and efficiently. It supports integrated views and
queries across servers, with complete access control. The servers
can be independently managed in cases where different divisions need to
own their own servers and data, and permit selective data access to
other divisions without losing control of all their data.
To keep the interaction between databases simple, and allow
individual servers and databases to be independently managed, Applibase
Server
does not attempt to support distributed transactions, or require
constant synchronization or connectivity between sites. The design
allows for efficient and rapid updates of views across servers,
including materialized and unmaterialized views from multiple remote
servers.
Since applications have access to any table, view, etc. on any database on the net, addressing this data is necessary. Applibase Server follows a URL syntax to address remote tables, based on the remote server name, protocol being used, port number, and a path to the remote object. Users and applications on clients, or servers acting as clients, identify remote Applibase Server server database tables and views using these URLs.
The URL syntax for remote database objects is supported in all Applibase Server interfaces. This includes Applibase Server SQL, and these URLs may be used in SQL statements in place of simple table names that would be used for tables in the local database. The URLs can be used in User APIs and other tools in Applibase Server.
Multiple communication protocols are supported for communicating between Applibase Server servers and clients. HTTP transport is likely to be the most frequently used across the web, given the limitations of firewalls and other factors. HTTP is supported along with TCP transport. HTTPS is not yet supported at this time, but will be added along with other ways of connecting to remote servers. The TCP based communication is needed for some Applibase Server interactions, for example database replication.
Applications using Applibase Server can execute distributed queries that span two or more databases, using the URL syntax to identify individual tables and views on specific servers. This allows any remote table or view on any server on the net to be used in distributed queries, provided the security permissions allow such access.
Applibase Server distributed query optimization is very limited and only takes care of pushing complete sub-queries it identifies to the appropriate remote server. In future some progress in this area can be anticipated, including attempting more sophisticated query rewrites based on remote server information. However, this a large and complex area and solutions are likely to be limited. Therefore applications will need to work with a set of simpler distributed queries to produce complex query results, rather than rely on the query processor to optimize more complex distributed queries.
Possibly the more useful aspect of distributed data access with Applibase Server is the ability to create materialized views of remote data that can be automatically refreshed. In many application scenarios it is not possible to get data from remote servers at remote locations and still have good user response times. It is then necessary to cache the required data locally, and Applibase Server provides a convenient mechanism to cache remote tables, or views of remote tables. This allows applications to easily use data from other sources in providing a responsive and integrated user experience.
A loose coupled approach is almost required for integration across web sites. For remote servers outside your administrative control, it is often hard to synchronize activities and ensure always reliable communication between servers. Additionally, HTTP or HTTPS access needs to be used, which is not the well suited for high synchronization needs. The RSS approach seems to be a suitable loose-coupled approach across sites.
Applibase Server has built-in support for such loose-coupled view refresh across web sites. Using special indexes on tables and views, it makes it possible to keep track of changes and refresh remote views with just those changes.
Security is clearly important when dealing with data to be shared across applications. And often required is a way to allow unauthenticated users to access the data, just as with web pages and anonymous ftp. In other cases, only authenticated users should be allowed access. Remote users typically need to be prevented from running complex or long-running queries that hog resources on the database server, affecting all other users and applications. Applibase Server provides authentication and authorization for remote access, including anonymous access when required. It provides controls on usage for any remote or local user, allowing you to set limits on the adverse impact of misguided or intentionally disruptive remote requests.