Issaquah, WA – McObject has just released a micro-footprint version of the Perst opensource, object-oriented embedded database, targeted at embedded systemsand intelligent devices developed on the Java 2 Platform, Micro Edition(J2ME).
Called Perst Lite, it has a codesize that is about 30% smaller than standard Perst, well within theresource constraints of most intelligent embedded devices.
Embedded systems developers increasingly use Java, especially asmicro-processors improve in their speed executing Java code. SunMicrosystems' J2ME, with its flexible user interfaces, robust security,and built-in networking, is proving especially popular for consumerelectronics and mobile devices. In April, Evans Data Corp. announcedsurvey results in which 52 percent of a sample of 500 wirelessapplication developers reported using J2ME, up from 46 percent sixmonths earlier.
But J2ME differs in major respects from standard Java (Java 2Platform, Standard Edition, or J2SE), complicating vendors' ability toprovide popular Java application development tools for embedded Java.
One of the major enhancements in Perst Lite is the substitution ofits own lightweight code for standard Java's reflection mechanism.
Object-oriented database systems for Java rely on the language'sreflection capability to inspect the object format at run-time anddiscover the format of the stored object. But J2ME, which targetssmall-footprint and embedded systems, omits reflection due to thisfunction's complexity and resource requirements. This has limited theavailability of OODBMSs for J2ME.
Perst Lite gets around this barrier by incorporating a utility thatgenerates object serialization and de-serialization code for theapplication that incorporates the database. This code replacesreflection, but without the complexity and large run-time codefootprint that caused reflection to be dropped from J2ME.
Another programming concept, “weak references,” is commonly used byJava OODBMSs to permit garbage collection (automatic reclaiming ofmemory) while preventing out-of-control object cache growth. However,because weak references complicate garbage collection, many J2MEvariants for specific devices do not support them. To address thisissue, and permit efficient memory management, Perst Lite incorporatesalternative object cache logic that does not depend on weak references.
Many developers prefer to use object-oriented database systems whenworking in object-oriented languages such as Java, crediting objectdatabase systems with better programming language integration thantheir relational counterparts. When a relational database is used, theapplication needs code that translates the relational representation ofthe data to the object representation required by the host language.This need increases application code size and impairs performance.
Perst Lite retains most of the features of the full version ofPerst, including B-tree, Patricia Trie, Bit index, T-Tree and R-Treeindexes as well as List, Relation, and Set collections, all protectedby transactions supporting the ACID properties (Atomicity, Consistency,Isolation and Durability). Perst Lite also offers multithreaded access,data encryption and asynchronous replication.
Under Perst's dual license, users can modify Perst and Perst Litedatabase source code and use it freely in other open sourceapplications (software for which source code is made available) underthe GNU General Public License (GPL). McObject's commercial license isrequired if source code of the Perst- or Perst Lite-based applicationsis to be withheld.