Applibase Server Product Overview

Applibase Server is an Enterprise Information Integration (EII) server, designed to bring the power of web services mashups and other new  technologies to address data integration needs in the enterprise.  Enterprises face a growing need to manage and exploit the volumes of data in the enterprise for business intelligence and other applications.  Applibase Server makes it easy to collect, manage and use real-time, integrated information from a diverse set of data sources.
  • Integrated Views of business data across multiple applications, servers and databases
  • Enterprise mashup technology, which includes AJAX, REST, and web services, delivers rapid ROI for integration projects
  • Easily integrate data from many sources, including files, web services, and databases
  • Online Visual AJAX web Studio, requiring no install by users and developers, helps create dashboards, business views and integrated applications with minimal development effort
  • Publish Integrated Views and provide secure or open access for dashboards, reporting tools and BI applications.
  • Manage and share your data securely in the enterprise
  • Loose-coupled, distributed SQL queries and views ensure a maintainable and evolving infrastructure

Enterprise Information Integration Server

With rapid advances in technology around web service APIs and other web technologies such as AJAX, a new wave of data integration tools that exploit these advances are becoming available.  Applibase Server uses these technologies to lower barriers to entry, so that enterprises can see  the benefits of EII and other data integration technologies more quickly and at lower cost.

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.

DataCaster Overview

Applibase Server provides new distributed data features using federated integration servers, with SQL and JDBC support.  Applibase Server simplifies the interaction between distributed applications and data, and is targeted at data-driven applications that need access to data from multiple sources to provide unified views of business data.  Using materialized views, applications can provide the benefits of integrated applications with responsive user performance.

Applibase Server Studio

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. 

Potential Applications

Applibase Server is aimed at bringing together data from disparate sources and enabling integrated applications built around integrated queries and views of this data.  Such integration enables new ways for enterprises to create new dashboards, reports and integrated applications for end-to-end business views.  Combining data from multiple databases, applications, files and other repositories allows enterprises greater visibility into different business functions, and helps with decision support, business intelligence, and improving operational efficiency, customer service, etc.

To illustrate the value of such information integration, let us look at the example of an enterprise with a CRM application using an Oracle database,  a maintenance system with only a web service interface available to query data,  and a purchase manager using a set of Excel files for capacity planning.  To obtain a business view of projected capacity needs and availability, data from these three sources needs to be combined into an integrated view.  Most enterprises rely on manual processes to query and generate such reports, and may fail to plan for projected spikes in demand or maintenance-related shortages due to lack of time to run these checks.  With an information integration system that provides an integrated view of this data, spikes in demand, or maintenance-related shortages, can be seen quickly and allow enough time for the managers to react.

This kind of need for Enterprise Information Integration  is a frequent occurrence in most enterprises.  Applibase Server makes it easy to set systems in place to enable proactive response through greater visibility into multiple heterogeneous systems via integrated views.

Internal Architecture

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.

Internal Architecture

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.

Federated, Loosely Coupled Servers

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.

Addressing Remote Data

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.

Distributed Queries

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.

Distributed Materialized Views

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.