Thought inc.

The Dynamic O/R Mapping Company
  case studies
  tech support


How to Meet ROI Requirements of Persisting Data in Enterprise Applications with CocoBase®.

CocoBase® Enterprise O/R Whitepaper

Companies typically overspend hundreds of thousands of dollars and more on persisting data in their enterprise-level applications. In contrast, customers using CocoBase to persist their data are reporting Return on Investments (ROI) estimated at 400% to 1,000%.

The key to meeting ROI requirements is using a mature Object to Relational Mapping tool to create and manage database access, versus, the time intensive manual hand-coding of JDBC, SQL, Java classes, JSPs, etc (i.e. no O/R Mapping tool).

Customers are finding the cost and time savings of using CocoBase makes it possible to meet the following requirements;

  • Reduce man-hours dramatically,
  • Shorten development cycle from months to weeks,
  • Meet and exceed increased project ROI requirements.


The average enterprise component (Java classes, Session Beans, JSP's, BMP, CMP) takes an estimated TWENTY HOURS to write by hand. To accomplish this, programmers typically use embedded JDBC and SQL in their objects.

The resulting component is a static representation of the data that proves difficult to scale and meet performance requirements. Any changes to the application and/or database requires expensive man-hours to manually rework the JDBC / SQL contained in the component, debug the hand-written code, and then to re-compile.

The additional work required to evolve the component can easily double the time spent from development to completion.


With CocoBase, the average component takes about THIRTY MINUTES. This is a reduction of 19.5 hours, a 4000% decrease in man-hours. The resulting component, which is standards based and editable by the programmer, meets and exceeds scalability / performance requirements. Any changes to the component are quickly handled in the CocoBase GUI, keeping time spent for edits to just minutes.

CocoBase takes the database specific code and prewritten SQL out of the object and saves this information to the mapping layer (i.e. map). Thus de-coupling the object from being hard coded to the database. The database specific code and SQL is dynamically created at runtime. This allows objects to be easily reused over and over. This dynamic O/R mapping layer provides a multitude of performance and scaling optimizations that are easily changed by the programmer to best fit their specific needs.


Customers report that the average project requires about 100 components to be written. The initial cost of developing 100 components runs about $200,000 in labor. This is based on average developer cost of $100 per man-hour * 100 components * 20 hours / component.

This estimate takes little into account for additional time spent editing and changing components as the project evolves. This involves, for example, performance tuning of the SQL, rewriting components to reflect changes in the database, and structural application changes to meet evolving business needs. The static nature of these manually written components become very time intensive to keep tuned to perform at expected levels through the development cycle.

The project budget can expect that additional programming during development to typically increase component time by another 10 - 20 hours (50 - 100%). Considering that most organizations will have to maintain the application as it matures, an additional 10 hours (50% increase) per component can be expected.

Therefore the total cost of those 100 components, over the life of the project, can cost a company $400,000. Of course, this estimate does not take into account unexpected changes during the project.

Time in Detail for Manually Coding:
20 hrs initial development / per component
10 hrs for changes during development
10 hrs for maintaining component
Total Hours = 40.

Total Cost in Detail for Manually Coding:
40 man-hours / component * 100 components * $100 / man-hour = $400,000.


The programmer can use CocoBase to create, compile, deploy and maintain the same identical components (Java Objects, EJB BMP/CMP Entity Beans, Session Beans, and JSPs) in about 30 minutes per component. This means that those 100 components at $100 per hour will run a company about $5,000 in labor (1/2 hr * $100 / man-hour * 100 components).

The code that is generated will is designed to scale and perform. The templates that generate the code are battle tested on deployed customers and are available as source code. Additional savings is created since these components are reusable for other projects.

Maintenance costs go almost to zero since the CocoBase dynamic mapping layer can be changed on the fly, without regeneration and recompile of the application code. If the DBA needs to performance tune the database and change the underlying structures, it can be done all through the map minimizing the use of programmers.


First of all, Thought Inc. is a product company and not interested in selling consulting just to make the solution work. CocoBase is designed to work out of the box. The programmer simply installs the tool, runs through the tutorials, and nine times out of ten, is developing with little to no assistance.

For those situations that need assistance, our technical support and sales engineers are there each step along the way. This means that we will look at your specific code and help solve any problems. You would be charged for this custom sales engineering support from almost every other vendor (i.e. in the form of project consulting).

The price for CocoBase is $6,000 per developer, which includes the first year's technical support and product upgrades. Since all developers require a license, we discount those who are indirectly using CocoBase. This keeps the cost directly related to the use of the tool and meeting ROI requirements.

It is important to note that there are no additional charges per CPU, Server, runtime, etc. The pricing structure is specifically designed to fit into the typical IT Project budget.

Additional savings are available as CocoBase can be used by the same developer on other projects. This spreads your cost over different projects thus increasing ROI continually.


Let's say a company has 5 developers working on a project. They have 100 components. We have shown that those components written by hand will cost over the life of the project about $400,000.

With CocoBase, those same components will cost about $5,000 in labor. Purchasing five licenses for CocoBase will cost an organization about $36,000 ($6000 per developer * 5 developers). And expect a short learning curve which will result in about $4,000 of labor. The total cost for those same components is about $45,000.

This is a cost savings of $355,000. A ROI of 789% ($355,000 saved divided by $45,000 invested). This ROI does not even include additional cost savings from reuse of components or using CocoBase for additional projects.


The question quickly becomes...Can you afford not to use CocoBase for persisting data in your enterprise applications?


Thought Inc., in business since 1993, has been shipping the CocoBase Enterprise O/R product since 1997 and is currently in its' 4th major release. Thought Inc. invented and patented repository based Dynamic Object to Relational Mapping tm. CocoBase is the most mature Java based O/R Mapping tool and leads the industry in technological innovation.

This is why so many of our partners rely on CocoBase.

For example, Sybase and Embarcadero resell CocoBase worldwide, Forte recommends CocoBase as their chosen persistence tool, etc. For more information on Thought Inc. please see



Copyright 2002, THOUGHT Inc., 657 Mission St., San Francisco, CA 94105 USA. All rights reserved. Copyright in these (any and all contained herein) documents is owned by THOUGHT Inc. This material is for personal use only. Republication and re-dissemination, including posting to news groups, is expressly prohibited without the prior written consent of THOUGHT Inc. This publication is provided "as is" without warranty of any kind, either express or implied, including, but not limited to, the implied warranties of merchantability, fitness for a particular purpose, or non-infringement, to also include any and all technical inaccuracies or typographical errors.


CocoBase is a patented product under patent #5857197.


CocoBase, THOUGHT Inc., Dynamic O/R Mapping, Dynamic Transparent Persistence and others are all trademarks of THOUGHT Inc. All other trademarks are owned by their respective owners.





Related Info

CocoBase® Whitepaper
How to Meet ROI Requirements for Persisting Data in Enterprise Applications with CocoBase®.

CocoBase® Whitepaper
Dynamic Transparent Persistence™ for the J2EE and J2SE Platforms.

CocoBase® Whitepaper
Why Dynamic Repository Based Mapping is the Key to Success for Database Access with CMP / BMP Entity Beans.

CocoBase® Whitepaper
Mapping Concepts - Details on how CocoBase Maps Data.