In keeping with Appoxy open source week (not nearly as cool as Shark Week but still), it makes sense to mention another Appoxy open source "win." This time its with Appoxy's SimpleJPA, a Java Persistence API (JPA) implementation for connecting to Amazon's SimpleDB, Amazon's key-value data store.
IBM published a great post in its developerWorks section a little while ago providing a tutorial on SimpleDB, Java, and SimpleJPA. The article was written by Andrew Glover, an author/developer at Beacon50. Glover does a terrific job explaining SimpleDB and showing how SimpleJPA can easily connect a Java application to it. Here's a synopsis of the tutorial:
This whirlwind tour of SimpleDB [shows] you how to manipulate objects in the non-relational datastore using both the Amazon Web services API and SimpleJPA. Simple JPA implements a subset of the Java Persistence API to make object persistence in SimpleDB easier. One of the conveniences of using SimpleJPA...is that it automatically converts primitive types to the string objects that SimpleDB recognizes. SimpleJPA also handles SimpleDB's no-join rules for you automatically, making it easier to model relationships. SimpleJPA's extensive listener interfaces also make it possible to implement logical data integrity rules, which you've probably come to expect from the relational world.
SimpleJPA was written by Travis Reeder, one of Appoxy's co-founders. He's on the Ruby side of the fence now but has spent many years building highly scalable Java applications, for employers and clients as well as on open source projects. Of note, he served on the project management committee for the Apache MyFaces project, which is an open-source implementation of JavaServer Faces, an established standard for web-development frameworks in Java. (It is based on the MVC paradigm and includes advanced component-based and event-oriented support.)
Amazon promotes SimpleJPA as one of the primary Java interfaces to SimpleDB, using it in sample code and evangelizing its use. Having it also appear in IBM's developerWorks section is just another validation of Appoxy strong. Here's the concluding sentence to the post:
Note: Given we're talking about SimpleJPA, it makes sense to mention Appoxy's SimpleRecord, a Ruby gem that makes it easy to connect Ruby applications to SimpleDB. Like SimpleJPA, SimpleRecord performs the mapping from application code to SimpleDB's key-value data storage format. Below is a mention of a blog post at hubertlepicki.com that explains it's use.