InfoQ

News

J2flex - A Persistence Store for Flex applications

Posted by Jon Rose on Oct 22, 2007 09:03 AM

Community
Java
Topics
Rich Internet Apps ,
Data Access
Tags
Adobe ,
Flex
J2flex - A Persistence Store for Flex applications

j2flex.com has started rolling out their j2flex product over the last month, blogging about a number of details, and putting the API documentation online. j2flex is a “Persistence Store for Flex applications,” similar in basic features to Hibernate or iBATIS from the Java community.

The j2flex.com site does not currently offer any details on licensing, or how to gain access to the product. On the site, the features are detailed across a number of blog entries:
  • Mapping the physical data model to the Flex world
  • Dedicated authentication and authorization
  • Workflow support
  • Easily extend j2flex to meet your needs, either through the Flex/ActionScript 3 or Java API
  • j2flex.com describes the product as growing out of their internal Flex development needs starting back with Flex 1.0, and their desire to provide a simple backend option for groups without the ability or need to develop a more significant backend.
    … a lot of smaller shops start evaluating Flex 2.0 but then realized that they do not know how to integrate Flex with their data store. Some of them even do not have a dedicated data store in place and say: "Ohh, Flex is soo cool - but how do I connect to a database?"
    After introducing the product, the j2flex.com site introduced “The main concepts:”
    The main concept in j2flex is something called a “meta database”, an object-oriented data model stored in a relational database system like MS SQL Server or Oracle.

    … In the world of j2flex every object stores an OBJ_ID and an OBJ_TYPE value. Both of these are numeric and together they a unique primary key to lookup date from the several tables.

    … This approach allows us to persist pretty complex data definitions very easily and without much hassle, including 1-1, 1-n and n-m relationships.

    … If you already have a full-blown physical database model in place, it’s quite easy to make it work with j2flex. All you have to do is to add OBJ_ID and OBJ_TYPE columns to your physical data model.
    Their next post covered “CRUD operations” on the client side (API), starting with some overall goals and details:
    One of the main goals for j2flex was to keep things simple. For a default installation this means, that you do not have to code a single line of server side code to persist

    … j2flex comes as a compiled ActionScript library (SWC) that has to be added to the project's build path. The main class you're working with in the client side code is called J2flexService.
    Hopefully, j2flex will soon provide more details on licensing the product, as it will be interesting to see where it fits in the Flex community.
    j2flex requires LiveCycle Data Services by Mustafa Egilmezbilek Posted Oct 23, 2007 1:14 PM
    1. Back to top

      j2flex requires LiveCycle Data Services

      Oct 23, 2007 1:14 PM by Mustafa Egilmezbilek

      From the j2flex - CRUD Operations (http://www.j2flex.com/2007/10/11/12/#more-12): "Actually, j2flex 1.0 requires an existing installation of Adobe's LiveCycle Data Services (LCDS) product so under the hood it uses the same messaging and transport infrastructure as LCDS (i.e. AMF3 over HTTP and/or RTMP)." Even if the j2flex's license is quite inexpensive, the LCDS license is enough to discourage developers to stay away from using it. Mustafa

    Educational Content

    Bindings, Platforms, and Innovation

    This presentation focuses on the Internet and separating myth from fact, history from the future, and the mundane from the imaginative. Bob Frankston presents a vision of what could and should be.

    Orchestrating Long Running Activities with JBoss / JBPM

    This article explores the use of JBoss and jBPM to implement design solutions that effectively address the issue of orchestrating long running activities.

    Neo4j - The Benefits of Graph Databases

    This presentation covers the use of graph databases as an optimal solution for data that is difficult to fit in static tables, rapidly evolving data or data that has a lot of optional attributes.

    Realistic about Risk: Software development with Real Options

    This session introduces Real Options and shows how it can help in running your project. Real Options is a decision-making process that can be used to manage risk.

    Communication Flexibility Using Bindings

    This article discusses the use of bindings on services and references (including the instance of non-configured bindings) as the means to implement SCA communications in a Web and SOA environment.

    Writing DSLs in Groovy

    After a short introduction to DSLs, Scott Davis plays with the keyboard showing how to approach the creation of a DSL by typing working snippets of Groovy code that get executed.

    Scaling Agile with C/ALM (Collaborative Application Lifecycle Management)

    IBM Rational and InfoQ present, Scaling Agile with C/ALM, an eBook showing organizations how to become “finely tuned software delivery machines” by enabling team integration and scaling.

    Concurrent Programming with Microsoft F#

    Amanda Laucher presents a real life enterprise application written in F#. She shows actual code snippets, explaining design decisions and suggesting how to use some of the F# constructs.