Welcome Guest. | Log In| Register | Membership Benefits

Intelligent Enterprise

Better Insight for Business Decisions

Intelligent Enterprise - Better Insight for Business Decisions
search Intelligent Enterprise
Home
Digital Library
Events
RSS | Newsletters
Webcasts




May 07, 2001



A Better Connection

Relational data source transparency for object-oriented developers

By Ganesh Variar


In this Issue:
  • A Better Connection
  • Custom Analytic Apps

    Object-oriented (OO) programming speeds up development and improves maintenance, reusability, and modifiability of software. As a result, object technologies (such as Java and COM) have carved a niche for themselves in today's computing environment. However, most organizations store their data in relational databases. There is a fundamental mismatch between the two technologies.

    PRODUCT SPEC SHEET
    ObjectSpark 4

    Ontos Inc.

    200 Brickstone Square
    Andover, MA 01810
    978-684-5734
    www.ObjectSpark.com

    Pricing: Basic, $900/seat; Professional, $1800/seat.

    Minimum Requirements: To run both the ObjectSpark Development Tool and Data Services Components in a development environment - Pentium 166MHz (Pentium 300MHz recommended), 128MB RAM (256MB recommended), 8003600 monitor with 256-color resolution, 35MB free disk space for installed components, 50MB additional space for the working directory used for component generation. Visual Studio Enterprise Edition 6 (Visual Basic and Visual C++) with Service Pack 3 for Visual Studio (or later). Windows NT 4.0 with Option Pack 4, Service Pack 6a, Internet Explorer 5, MDAC Update Version 2.5 (or later), and MMC 1.1 (or later); or Windows 2000 with Service Pack 1.

    Data Sources: Supports Microsoft SQL Server, Oracle, and DB2 databases. It may be able to access other data sources not yet certified by testing. It can also access nonrelational data sources, including mainframe sources, through a COMTI interface.

    The object paradigm is based on software engineering principles such as inheritance and encapsulation, whereas relational theory is based on predicate calculus concepts, particularly set theory. Objects consist of both data and behavior, while relational databases are primarily concerned with storing data in tables and retrieving it using a query language.

    This impedance mismatch creates a need for tools that can map objects to relational databases. ObjectSpark from Ontos Inc. is a tool that lets users define mappings between an object interface and data sources, and generate a data services layer that OO languages can use. ObjectSpark provides developers with a data abstraction layer, which lets them write applications that manipulate the underlying data without using SQL.

    Distributed Object Technologies

    ObjectSpark data components can be deployed on any Microsoft Transaction Server (MTS) or COM+ server. ObjectSpark was originally designed for developers building distributed applications in the Microsoft Windows DNA application framework. The current general release, ObjectSpark 4.1.1, uses COM as the interface for distributed object communication. However, in February 2001, Ontos released the 4.5 beta version of ObjectSpark, which can generate both COM and JavaBeans components from the same object model.

    The only real competitors of ObjectSpark in the COM world are development shops that use hand coding to access relational databases from OO applications. But ObjectSpark speeds up development significantly compared to hand coding, because it frees developers from needing a detailed understanding of the data source's structure. Moreover, ObjectSpark insulates the front-end application from changes to the data structure of the back-end data sources.

    The current beta release makes ObjectSpark the only tool that can generate both COM and JavaBeans components from the same models and mappings. The introduction of JavaBeans components puts ObjectSpark in direct competition with existing object/relational mapping heavyweights in the Java world (such as Java Blend from Sun Microsystems, TopLink from WebGain, CocoBase from Thought Inc., and Visual Business Sight Framework from Objectmatter Inc.). The mapping capabilities of ObjectSpark are as mature as any of these products', although TopLink and CocoBase have the added advantage of being able to support Enterprise JavaBeans (EJB).

    Mapping and Object Generation

    The ObjectSpark development tool requires you to install certain prerequisite software in a specific sequence, which is a bit unusual. Luckily, a configuration checker program that comes with ObjectSpark checks your system for all prerequisite software and informs you of any missing pieces. However, you will need to allocate enough time for installation (probably one day) in your project plan.

    ObjectSpark components serve as the data services layer in a multitier application architecture. On the front end, ObjectSpark components can be called from any language or tool that supports COM, such as Visual C++, Visual Basic, and Active Server Pages. With the introduction of JavaBeans components in 4.5 beta, the components can also be called from Java, servlets, and Java Server Pages.

    On the back end, ObjectSpark data components provide transparent access to relational databases through an ODBC/OLE DB and JDBC interface. You can also access nonrelational data, including mainframe sources, through a COM Transaction Integrator interface. ObjectSpark also provides support for storing and retrieving data in the form of XML documents.

    ObjectSpark provides a graphical interface for capturing and mapping object and data models, validating the mapping, and generating binary map files and data components. The interface is fairly intuitive. (See Figure 1.) It lets users import object models from Rational Rose and Microsoft Repository. It also supports capturing relational schemas from physical databases and type library definitions from COM libraries. ObjectSpark can generate a simple object model based on a database model or type library with default mappings. Similarly, it can also generate a simple database model based on an object model and generate a SQL script, which you can then use to create a database. ObjectSpark generates a set of application-specific data components as well as a generic set of components, which provides a generalized implementation of the interface.

    The flexibility of ObjectSpark's mapping model goes a long way in crossing the chasm between data models and object models. For instance, it can map a single class to multiple tables, which can be in multiple databases, as well as map multiple classes to a single table.

    The data components can take advantage of database features such as referential integrity constraints, triggers, cascading deletes, and stored procedures. The generated components implement inheritance, association, aggregation, and composition behavior according to Unified Modeling Language standards.

    ObjectSpark includes a Microsoft Management Console plug-in that makes it easy to deploy and customize the configuration of data components on MTS or COM+ servers. The latest beta release also includes a JavaBeans Component Manager for deploying the generated JavaBeans components. ObjectSpark supports an optimistic locking based concurrency model, which helps in making applications more scalable. It supports both user-based and role-based security models.



    Rate This Article

    Comments:

    Optional e-mail address:

    Looking Ahead

    ObjectSpark is certified to support Microsoft SQL Server, Oracle, and DB2 databases. Ontos would do well to extend support for other databases - Sybase, for example. Moreover, stronger support for Java, such as EJB support for session and entity beans, can make ObjectSpark a player to reckon with in the Java market.

    If you are developing OO applications using COM in a Windows environment, ObjectSpark is definitely for you. It has a low price tag and will pay for itself many times over during the software development lifecycle. If you are developing some of your applications in Java too, then the new release of ObjectSpark will make it doubly useful in bridging the gap between the diverse worlds of object and relational technologies.


    RESOURCES

    Objectmatter: www.objectmatter.com
    Sun: www.sun.com
    Thought Inc.: www.thoughtinc.com
    WebGain: www.webgain.com

    Related Articles on Intelligent Enterprise.com
    Rational Rose 2001 two-part review, March 27 and April 16, 2001: www.intelligententerprise.com/010327/product_1.jhtml and ... /010416/product_2.jhtml




    Ganesh Variar (ganesh@saama.com) is a project manager with Saama Technologies, a Silicon Valley-based consulting firm. He has seven years' experience in managing and designing business intelligence solutions.







  • IE Weekly Newsletter
    Subscribe to the newsletter
        Email Address