O'Reilly logo

Practical Internet Groupware by Jon Udell

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Data Prototyping and Object Persistence

The simplest of Chapter 11’s directory modules merely persists Perl data structures to a text file. I used this example to make a point about data prototyping. Groupware data stores, including directories, need to evolve as quickly as applications do. They also typically need to model complex relationships that can be tedious to express in an LDAP or SQL schema. When you’re using a scripting language to prototype an application, it can make sense to prototype the application’s data store too, as persistent objects expressed directly in that same scripting language. You may eventually need to migrate to a more robust data store, but only if the application proves out and even then only if transactional load or concurrency issues require that you do.

Java offers particularly nice support for managing web-accessible data structures directly in memory and for serializing them to disk storage as needed. We used this approach in Chapter 10, in servlets that present web APIs to Java objects. If you go this route, you can upgrade from simple Java serialization to a commercial object database that does offer transaction support and concurrency controls.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required