YOUR FEEDBACK
Brian Vicente wrote: Where are listing 3 and listing 4?


2008 East
DIAMOND SPONSOR:
Data Direct
Frontiers in Data Access: The Coming Wave in Data Services
PLATINUM SPONSORS:
Red Hat
The Opening of Virtualization
Intel
Virtualization – Path to Predictive Enterprise
Green Hills
IT Security in a Hostile World
JBoss / freedom oss
Practical SOA Approach
GOLD SPONSORS:
Software AG
The Art & Science of SOA: How Governance Enables Adoption
PlateSpin
Effective Planning for Virtual Infrastructure Growth
Fujitsu
Automated Business Process Discovery & Virtualization Service
Ceedo
Workspace Virtualization
Click For 2007 West
Event Webcasts

2008 East
PLATINUM SPONSORS:
Appcelerator
Think Fast: Accelerate AJAX Development with Appcelerator
GOLD SPONSORS:
DreamFace Interactive
The Ultimate Framework for Creating Personalized Web 2.0 Mashups
ICEsoft
AJAX and Social Computing for the Enterprise
Kaazing
Enterprise Comet: Real–Time, Real–Time, or Real–Time Web 2.0?
Nexaweb
Now Playing: Desktop Apps in the Browser!
Sun
jMaki as an AJAX Mashup Framework
POWER PANELS:
The Business Value
of RIAs
What Lies Beyond AJAX?
KEYNOTES:
Douglas Crockford
Can We Fix the Web?
Anthony Franco
2008: The Year of the RIA
Click For 2007 Event Webcasts
SYS-CON.TV
TOP THREE LINKS YOU MUST CLICK ON


Caché 5
Caché 5

One of the key challenges facing Java developers is that their object-oriented applications use data stored in relational databases. The result: time- and cost-intensive mapping between the two paradigms. InterSystems' Corporation develops and markets a post-relational database management system called Caché that's designed to address this challenge by eliminating the impedance mismatch between objects and tables.

We set out to test the capabilities of this database software from a Java developer's perspective. Working with the latest release of the software, Caché 5, we found the results impressive.

Caché’s unique combination of objects and SQL provides a very interesting development framework for object-oriented programmers that goes far beyond what pure relational or pure object-oriented databases provide. Besides eliminating the impedance mismatch between objects and tables, Caché's unified data architecture allows rapid application development (RAD) of complex systems and applications. With Caché 5, InterSystems delivers a powerful, high-performance, massively scalable database system that supports a plethora of standard protocols, programming languages, and middleware technologies.

Ready, Set, Go!
For our evaluation, we used the Windows and Linux versions of Caché. In both cases, we used the single-user license that can be freely downloaded from InterSystems' Web site. The installation process took only a few minutes and not even the Windows system had to be restarted. All other tools and technologies are installed along with the database system, and the Web server (Internet Information Server or Apache) is reconfigured to incorporate Caché's Web gateway.

After the installation, we started the Caché Studio (see Figure 1), the development environment used for editing the classes stored in Caché, and immediately began to create some classes. Using the integrated wizards, you can easily create classes with all the features available in Caché. Programming Caché's internal language, ObjectScript, is very easy, especially if you are used to coding in Java or JavaScript. If Visual Basic is your favorite programming language, you can also use Caché Basic, a close relative to Visual Basic.

What's Behind the Scenes?
The heart of Caché is its multidimensional data engine with a robust storage system that provides outstanding transactional performance and is capable of serving very large data volumes. Equipped with transactional bitmap indices, queries are evaluated in fractions of a second without sacrificing update and insert performance.

In addition, the multidimensional data model of Caché avoids time-consuming mapping operations between objects and relations because data is natively stored in Caché's multidimensional storage. The Unified Data Architecture (UDA) provides access to the stored data and delivers the necessary metadata information to the relational or object-oriented client. In general, there's no difference if the data is accessed in a relational manner or through objects.

Caché and Java
Our primary focus was on testing the Java features provided by Caché. With three different ways of connecting to Java, Caché provides optimal support for Java developers and programmers. Data stored within Caché can be accessed with SQL via JDBC, and Caché classes can be projected either as Java classes or as Enterprise JavaBeans. Java developers directly gain data persistence without a lot of tedious coding.

The JDBC driver is installed along with the database and is fully compliant with the JDBC standard. To access a Caché class in an object-oriented manner, all we needed to do was specify that it should be projected to Java. This "projection" then automatically generated Java binding classes that could easily be incorporated into Java applications. The great advantage of projections is that the binding classes are automatically generated every time a class is modified and recompiled. So the programmer is relieved of the cumbersome and error-prone process of keeping the database schema and the application bindings up-to-date.

For J2EE application servers, we only had to specify an EJB projection and Caché created entity beans with either bean-managed persistence (BMP) or container-managed persistence (CMP). In contrast to the simple Java projection that creates a single Java class, the EJB projection generates all necessary classes for an EJB entity bean, a deployment descriptor, a deployment command file, and even a little servlet for testing the created bean. We tested Caché's EJB support with a standard installation of JBoss 3.0 and did not experience any difficulties. In addition to JBoss, Caché also directly supports the WebLogic and the Pramati application servers and automatically creates all necessary configuration files for the specific server. Other J2EE-compliant application servers should also work with Caché without any problems.

Summary
We were impressed by Caché's performance, features, and ease of use. We were both very satisfied with our test results and plan to take an even closer look at Caché and its technologies. Note that a more detailed review of Caché, including several code examples, may be found on our Web site (www.synerva.com). As with any software product, there are some trade-offs. In this case, the main one is the learning curve that developers who are only familiar with relational database technology must overcome in order to take full advantage of Caché. InterSystems has done everything they can to ease the transition by providing a development environment that has a familiar look-and-feel and surprisingly complete and usable documentation, but the curve still exists. Also, there are application areas such as data warehousing where market gorillas with traditional relational technology will continue to dominate for the foreseeable future. Caché is worth a very close look.

InterSystems Corporation
One Memorial Drive
Cambridge, MA 02142 USA
Web: www.intersystems.com
Phone: 617-621-0600
E-mail: webmaster@intersys.com

Specifications
Platforms: Windows 95/98/ME, Windows 2000 Pro/2000 Server/2000 Adv. Server, Windows XP Home/Pro, Mac OS X, Linux, HP/UX, Solaris, IBM AIX, Tru64, OpenVMS
Pricing: $200 in a single-user version and starting at $1,000 for a multi-user configuration

Test Environment
Notebook ASUS L3800 with Mobile Intel Pentium P4 processor, 40GB disk, 1GB RAM
Operating Systems: Windows 2000 Pro with Service Pack 3/SuSE Linux 8.1

Snapshot
Target Audience: Java programmers, database developers
Level: All levels
Pros:

  • Combines the object-oriented and the relational paradigm, eliminates the need for an OO-relational mapping
  • Easy installation and maintenance, no high-skilled administrator necessary
  • Outstanding performance with a small memory footprint
  • Support for different Java technologies to access the database (JDBC, Caché object binding, EJB)
  • Support for a plethora of technologies and standards
  • Embraces common Java standards (Streams, Collections, JDBC, etc.)

    Cons:

  • No support for polymorphic function signatures
  • EJB-, Object-, and JDBC-binding in one JAR file
    About Mathias Kühn
    Mathias Kühn(kuehn@synerva.com) and Christian Och (och@synerva.com) are both Java developers and software architects and work for SYNERVA which is an IT service company for software development, consulting and training with a special focus on the realization of complex, distributed information systems (http://www.synerva.com).

  • LATEST JAVA STORIES & POSTS
    Unit testing is hard. There I said it. Although I have been developing software for the past 18 years I still find that putting my applications through their paces via unit testing is difficult. I have learned the lesson (I'm sure like many of you) the hard way. Unit testing is p...
    Continuent has announced support and enhancements to MySQL Server 5.1.30 GA release, the 5.1 production version of the open source database. MySQL 5.1.30 is recommended for use on production systems by the MySQL build team at Sun Microsystems. Continuent Tungsten provides advance...
    As a software journalist, there are times when certain vendors will shut the door on reporting opportunities that might represent too much of an "inside view" of their technology or their organization. I've been to more developer events than I can remember where I've been handed ...
    Active Endpoints has announced the general availability of ActiveVOS 6.0.2, in response to ever increasing demands for improved process performance and efficiencies. ActiveVOS is an all-in-one, 100% standards-based orchestration and business process management system (BPM) that p...
    Just because the web has been open so far doesn't mean that it will stay that way. Flash and Silverlight, arguably the two market-leading technology toolkits for rich media applications are not open. Make no mistake - Microsoft and Adobe aim to have their proprietary plug-ins, ak...
    Doing network I/O on the user interface (UI) thread is bad. Most developers know that and can tell you why; unfortunately, it’s still done. At this year's JavaOne, one of the keynote JavaFX demos bombed because the network was slow, something that would be forgivable had the en...
    SUBSCRIBE TO THE WORLD'S MOST POWERFUL NEWSLETTERS
    SUBSCRIBE TO OUR RSS FEEDS & GET YOUR SYS-CON NEWS LIVE!
    Click to Add our RSS Feeds to the Service of Your Choice:
    Google Reader or Homepage Add to My Yahoo! Subscribe with Bloglines Subscribe in NewsGator Online
    myFeedster Add to My AOL Subscribe in Rojo Add 'Hugg' to Newsburst from CNET News.com Kinja Digest View Additional SYS-CON Feeds
    Publish Your Article! Please send it to editorial(at)sys-con.com!

    Advertise on this site! Contact advertising(at)sys-con.com! 201 802-3021


    SYS-CON FEATURED WHITEPAPERS

    SPONSORED BY INFRAGISTICS
    In every field of design one of the first things students do is learn from the work of others. They ...
    There are many forces that influence technological evolution. After a decade of building enterprise ...
    2008 is going to be an important year for Rich Internet Applications. Most organizations are deliver...
    The OpenAjax Alliance is developing an Ajax industry wishlist for future browsers, using a dedicated...
    Infragistics announced the availability of two Community Technology Preview (CTP) User Interface (UI...
    The YUI development team has released version 2.5.2; you can download the new release from SourceFor...
    ADS BY GOOGLE