634411 members! Sign up to stay informed.

Sponsored Links


Resources

Enterprise Java
Research Library

Get Java white papers, product information, case studies and webcasts

News News News Messages: 0 Messages: 0 Messages: 0 Printer friendly Printer friendly Printer friendly Post reply Post reply Post reply XML XML XML

Simplified Object library - to convert POJOs into any format

Posted by: Mario Linke on November 09, 2006 DIGG
"SOJO" stands for "Simplify your Old Java Objects" or, in noun form, "Simplified Old Java Objects." The goal of the SOJO project is to provide a library to convert object graphs into a specific structure - which could be a CSV representation, JSON, XML, or any other available format - to ease communication with non-Java processes. SOJO manages cycle detection, as well, so complex object graphs can be represented and transmitted. The conversions are pluggable, so even custom formats can be used.

The application areas are:
  • data interchange:
    • JSON (JavaScript Object Notation) a lightweight data-interchange format
    • Object To XML - where XML-RPC is a special case
    • Java serialization, without implements the interface java.io.Serializable (e.g. cluster, cache, remote communication, ...)
  • operation of complex Java-Objects-graphs:
    • copy or clone from a complex object graph (can manage different versions from one object graph (object history))
    • compare complex object graph
    • walk over object graph (to traverse)
    • easy navigate on the complex object graph (with a navigation language)
  • remote acces/communication:
    • HTTP protocol - request and response are based on String representation
    • RMI (Java-Object must serializable (marshalling) or deserializable (unmarshalling))
    • WebService or XML RPC - convert Java-Object in special String representation, in XML
    • create "value objects" or "transfer objects" to sent objects over the network
  • data access:
    • object/relational persistence respectively object/relational mapping
    • flat files (convert Java-Object-Graph to a flat representation)
    • property files (e.g. convert Strings to Long, Date, ... by reading a property file and map the value to setter from a Bean)
    • legacy systems
  • GUI interface:
    • transform business models to GUI-models (DataBinder)
    • every changes on the GUI-model must to notice (integrated PropertyChangeListener or VetoableChangeListener)


Message was edited by: joeo@enigmastation.com
New content on TheServerSide.comNew content on TheServerSide.comNew content on TheServerSide.com

A RESTful Core for Web-like Application Flexibility - Part 2 - Microkernel

Randy Kahle and Tom Hicks continue their series of RESTful computing with an explanation of the role of the microkernel. (August 7, Article)

Putting Physhun To Work

Read more about the Physhun finite state modeling framework in Jim Ladd's article on a real life application. (August 5, Article)

Are Java Web Applications Secure?

HDIV was designed for the purpose of addressing security issues in Web application frameworks by extending some of those frameworks to do such things as check of non editable data integrity and perform validations for editable data. Read about potential security problems and how HDIV attempts to address those problems. (July 30, Article)

The Road to JBI: Paved with Good Intentions

Standards are a good thing, but sometimes we overreach. Ross Mason tells us how we overreached on JSR-208, and what to do about it. (July 28, Article)

A RESTful Core for Web-like Application Flexibility - Part 1

Representational State Transfer (REST) computing offers developers and applications a number of advantages, including simplicity and flexibility in running applications. Tom Hicks and Randy Kahle begin this series on RESTful computing with the surprising topic of binding. (July 23, Article)

Implementing Finite State Machines with Physhun and Spring

The Physhun project provides finite State Model persistence and transaction management with synchronous or asynchronous behavior. This article presents Physhun, a Spring-based framework for implementing complex processes through Finite State Machine models. (July 18, Article)

Continuous Performance Management Across the Application Lifecycle

This video explains the benefits of concepts like Continuous Performance Management, which applies performance engineering continuously throughout each phase of the software lifecycle. (July 16, TechTalk)

Best Practices for Developing Scalable Web 2.0 Applications

In this Tech Talk, filmed at TSSJS-Europe, Uri Cohen gives a demo that will show you the power of GigaSpaces' scaling, hot failover and self-healing capabilities. A sample Web application which uses Spring MVC and contains an AJAX web front-end and a GigaSpaces' backend will be scaled out. (July 15, TechTalk)

Introduction to m2eclipse

The m2eclipse project provides support for Maven within the Eclipse IDE. It is a plugin which helps bridge the gaps between Maven and Eclipse. Read about how to use m2eclipse to integrate build management into your Eclipse environment. (July 14, Article)

Scaling Your Java EE Applications - Part 2

In part two of this series, Wang Yu presents some surprising results of Java application scalability based on his experiences in a performance laboratory. (July 8, Article)

Scaling Your Java EE Applications

Getting Java applications to scale requires an intimate understanding of the application, the JVM, and the underlying hardware. Wang Yu presents some surprising results of Java application scalability based on his experiences in a performance laboratory. (July 3, Article)

Zero Turnaround for Java Development

In this podcast, JavaRebel development lead Jevgeni Kabanov discusses the value of zero turnaround to both development and production systems, and how JavaRebel helps achieve this goal. (June 27, Podcast)

JSR 286 Portlets: Action-scoped Request Attributes

The recent Java Portlet Specification 2.0 final draft (JSR 286) addresses a shortcoming in the action-render model used in the current spec to be able to let the container take care of managing the attributes between action and render. (June 12, Article)

New Features in EJB 3.1 - Part 4

The EJB 3.1 expert group is working on changes for the next version of the Java EE spec. Here's a preview of those changes. (June 12, Article)

Review: Algorithms in Java

Algorithms in Java provides those who seek to understand underlying mechanisms for manipulating data and working with well-known algorithms using a familiar language. (June 12, Review)

Free Book: Jakarta-Struts Live

Download the entire book of Jakarta-Struts Live and learn about Struts MVC, Tiles, the Validator, DynaActionForms, plug-ins, internationalization, and more.
(Book PDF Download)

Building Content Oriented Integration Solutions With Mule and JCR

The latest version of the JCR transport for Mule ESB offers a set of features that can enable the creation of content oriented integration solutions. This article by David Dossot presents a simple scenario where all these features are leveraged. (June 9, Article)

Extending Spring LDAP with an iBATIS-style XML Data Mapper

This article by Colin Lu explains how to use Spring's LDAP integration with an XML data mapper to make LDAP access from within Spring trivial. (May 20, Article)

Application Server Matrix

The Application Server Matrix is a detailed listing of J2EE vendors and their application server products, with information on latest version numbers, J2EE spec support and licensing, pricing, platform support, and links to product downloads and reviews.
(Application Server Comparison Matrix)

News | Blogs | Discussions | Tech talks | Patterns | Reviews | White Papers | Downloads | Articles | Media kit | About
All Content Copyright ©2007 TheServerSide Privacy Policy
Site Map