Programming Tutorials Browser Tutorials Articles Struts Tutorials Hibernate Tutorials

  Tutorial: Jurassic Phoenix - reviving yesterday\'s data

Jurassic Phoenix - reviving yesterday\'s data Jurassic Phoenix is a simple solution to the problem of evolution of serialized data. Why use Jurassic Phoenix? The frustration Serialization is great for persistence, because it is automatic, dynamic and

Tutorial Details:

Jurassic Phoenix allows you to make the same changes to your serialized data as your class evolutions, so it matches the new structure of your evolved application, and thus can be read again. (An application can evolve in many different ways - from minor syntactic changes, to deep rearchitecting. If Jurassic Phoenix cannot yet do what you need, please check the list at the end of this webpage, and email us which ones you need - we'll bump up its priority).

Serialization is immensely attractive for persistence - it is instant, dynamic and requires no coding. So why hasn't this simple, convenient and low-cost solution become a disruptive innovation for persistence? The difficulty of evolving persisted data seems to be the show-stopper. Now that Jurassic Phoenix is solving this problem, we may see a gradual change in how developers and architects think about long-term persistence - at the very least, it will provide a viable alternative to consider.

Alternatives
Database evolution
When an application evolves that uses a relational database (RDB) as its persistent store, the code that calls the database needs to be updated. The database is a relatively fixed point (since its holds long-term data, will generally outlast the application and language it's written in, and several applications may depend on it), so that when the application changes, the it is the interface between application and database that must accommodate the change. The amount of work involved in persisting objects to a RDB is well known, and several approaches attempt to alleviate it, such as Object Databases, Object Relational (OR) mappers, and serialization (such as JSX). Note that "schema evolution" (when the data in the database is evolved) is not always necessary, and most of the evolution is accomodated as a by-product of the application code that calls the database.


 

Read Tutorial at: Click here to view the tutorial

Rate Tutorial:
Jurassic Phoenix - reviving yesterday\'s data

View Tutorial:
Jurassic Phoenix - reviving yesterday\'s data

Related Tutorials:

Java Q&A, Open Java?
Java Q&A, Open Java?
 
Eliminate tedious programming: Recover data with XML and Reflection - JavaWorld November 2000
Eliminate tedious programming: Recover data with XML and Reflection - JavaWorld November 2000
 
Validation with Java and XML schema, Part 4 - JavaWorld December 2000
Validation with Java and XML schema, Part 4 - JavaWorld December 2000
 
Encapsulation is not information hiding - JavaWorld May 2001
Encapsulation is not information hiding - JavaWorld May 2001
 
Good introduction to JDO
Good introduction to JDO
 
Navigate through virtual worlds using Java 3D
Navigate through virtual worlds using Java 3D
 
Java and Sound, Part 1
On systems that support it, sound can be an important part of many applications. Sound can be used to notify the user that her attention is required, to add the extra dimension of aural feedback to visual GUIs, or for entertainment purposes.
 
Template-Based Code Generation with Apache Velocity, Part 1
Template-Based Code Generation with Apache Velocity, Part I'm going to discuss template-based code generation, explain basic concepts related to templates and transformations, and demonstrate the huge benefits they can bring in code generation.
 
Data Models for Desktop Apps
Data Models for Desktop Apps This is the third article in a series that presents the prototype of a Java desktop application called JImaging. The first article described the three major Java GUI toolkits: AWT, Swing, and SWT. In the second article, I int
 
Using CachedRowSet to Transfer JDBC Query Results Between Classes
Using CachedRowSet to Transfer JDBC Query Results Between Classes The Java Database Connectivity (JDBC) API provides developers with an interface to a SQL database server, such as MySQL or Oracle. Central to any JDBC application is the java.sql.ResultS
 
Data Syncronization Tool
Data Syncronization Tool Daffodil Replicator is a powerful Open Source data synchronization tool that allows bi-directional data synchronization between heterogeneous databases supporting JDBC drivers. Its flexible publish and subscribe model support
 
Minding the Queue: Java 1.5 Adds a New Data Structure Interface
One of the fundamental data structures in computer science is the queue. You will recall that a queue is a data structure in which elements are removed in the same order in which they were added. This FIFO (first in, first out) data structure was unfortun
 
Core Java Data Objects Excerpt
This book excerpt is from Core Java Data Objects,
 
datasift (Data validation + transformation framework)
What is DataSift? DataSift is a powerful java data validation and transformation framework, aimed at enterprise software development, which provides developers with an extensible architecture they can fully adapt to their software needs. Almost every fea
 
Gain SQL SELECT functionality in Java
Gain SQL SELECT functionality in Java Summary In "Filter Collections," David Rappoport described a simple way to filter collections of objects. In this article, he expands on this idea and shows you how to treat an array or a collection of objects the s
 
Accessing Databases Using Java and JDBC
This article will show how a Java Application, Applet or Servlet can access data stored in relational databases using the JDBC API.
 
JavaTM Secure Socket Extension (JSSE)
The JavaTM Secure Socket Extension (JSSE) is a Java package that enables secure Internet communications. It implements a Java version of SSL (Secure Sockets Layer) and TLS (Transport Layer Security) protocols and includes functionality for data encryption
 
Unclog the server bottleneck with active containers.
In server-side control architectures such as Java ServerFaces (JSF) or Struts, a majority of the control events must be handled on the server side to update the state of the control. For every user event, the entire page data is sent back to the server...
 
Data Warehousing Total Cost of Ownership (White Paper)
The white paper discusses how to manage data warehousing costs for a more economical, long-term approach. Ventana Research wrote this report: "Data Warehousing Total Cost of Ownership Research on Sun Microsystems and NCR Teradata."
 
VolatileBufferedToolkitImage Strategies
Ever wondered what kind of image to use in your application? Or what method to use in creating it? This article attempts to address this challenging topic.
 
Site navigation
 

 

Send your comments, Suggestions or Queries regarding this site at roseindia_net@yahoo.com.

Copyright © 2006. All rights reserved.