Base One provides a unique approach for developing Internet-enabled
applications, combining both efficiency and ease of programming
through its "Rich Client" architecture. With this
architecture, it is possible to build graphically intensive programs that
look and perform like sophisticated client/server Windows applications, but where data
is actually stored and retrieved across the Internet. At the same
time, Base One makes it easy to develop such applications on a laptop or desktop and deploy
them over the Internet without any changes.
In contrast to thin client models, a rich client application shifts the burden away from shared network resources and server
machines onto client computers, for better overall performance and
application flexibility. While many applications are
adequately handled by thin client architectures, some applications are much better suited to Base One's Rich
Client model. (See table below for the types
of applications that benefit the most.)
A Service Oriented Architecture
Like systems based on Web Services, Base One's Rich Client model is also a type
of Service Oriented Architecture (SOA). It comprises independent, co-operating components
(services) that can be distributed within or outside of an organization's physical boundaries and security domains,
using varying platforms and programming languages. However, unlike systems that
rely exclusively on Web Services, SOAP, and other XML messaging
technologies, Base One models the interactions
between Rich Clients as pure database operations that function against
local or remote databases. Instead of requiring explicit, application-level
calls to remote services, the BFC Database Library automatically handles network communications,
transparently.
Database-centric Design
Base One's Rich Client architecture is built around a high-level
abstraction of well established database concepts,
familiar to anyone who has developed traditional SQL client/server
applications. The Rich Client model takes those familiar concepts
further, by wrapping the low-level details into a
platform-neutral layer of database functionality with an active
Data Dictionary, which can be used
from a variety of programming languages, with different
back-end
DBMS products, locally, on a LAN, or across the Internet.
This versatility is made possible by Base One's patented design,
which incorporates a core of TCP/IP communications functions into
the heart of the Database Library. With the Base One Internet Server
(BIS) acting as a proxy for remote database access, applications
need not know where the data is coming from. Application
programmers simply work with Base One Record Sets, which can be
manipulated conveniently in either a compact, binary representation,
or in XML format.
As a security feature, Base One's design supports
custom encryption and decryption of all Internet traffic that passes
through
the Database Library's TCP/IP core. (Examples of custom encryption are included in the sample projects
that come with Base One's programming tools.)
Performance Advantages
When dealing with large volumes of data, Base One's Rich
Client architecture is substantially more efficient than XML-based
systems, for several reasons. First of all, Base One's standard
representation of Record Sets is considerably more compact and far
simpler than XML.
Record Sets
require less processing, since there is no
need for
complex recursion and extra
encoding / decoding steps between the application program and the
database.
Another advantage of Base One's design is its ability to make
better use of local temporary storage and automatic caching,
thereby allowing more work to be performed, much faster, on client machines.
For example, by caching Data Dictionary metadata, Base One avoids
including field information in data transfers and redundant requests
to database servers.
Programming Advantages
What is remarkable about Base One's approach is that it's
not only
more efficient, but also much easier to program. There is no awkward
paradigm shift. The BFC Database Library is a logical
extension of the familiar relational
database model, but with a high level of
abstraction that frees programmers from concern about numerous
low-level details. In addition, the complication of multi-tier,
server-side programming can be entirely dispensed with, because a Rich Client
application requires no application-specific programming on the
server side.
Since a single design
can be used in altogether different environments with minimal
reprogramming,
BFC applications are easier to maintain and adapt. The active Data Dictionary
also gives programmers the
flexibility to adjust for changing system requirements and database
structure as conveniently as possible. Other
Rich Client components, including a Command
Processor, diagnostic tracing, logging
and error handling facilities, and
mechanisms for automated
transaction processing and failure recovery further contribute to the
ease of
implementing, debugging, and administering applications.
|