InfoQ

InfoQ

News

My Bookmarks

Login or Register to enable bookmarks for unlimited time.

The content has been bookmarked!

There was an error bookmarking this content! Please retry.

J2flex - A Persistence Store for Flex applications

Posted by Jon Rose on Oct 22, 2007

Sections
Architecture & Design,
Development,
Operations & Infrastructure
Topics
Java ,
Rich Internet Apps ,
Data Access
Tags
Flex ,
Adobe
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
    1. Back to top

      j2flex requires LiveCycle Data Services

      by Mustafa Egilmezbilek

      From the j2flex - CRUD Operations (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

    Collaboration: At the Extremities of Extreme

    Jason Ayers share the observations he made watching a team of developers collaborating in real time on the same code base, pushing XP, pair programming and continuous integration to their extremes.

    Yesod Web Framework

    Michael Snoyman presents Yesod, a web framework written in Haskell and containing a web server, templating, ORM, libraries (templating, gravatar, etc.).

    Transactions without Transactions

    Richard Kreuter and Kyle Banker on how to avoid classical RDBMS transactional systems by using compensation mechanisms, transactional messaging or transactional procedures.

    Attila Szegedi on JVM and GC Performance Tuning at Twitter

    Attila Szegedi talks about performance tuning Java and Scala programs at Twitter: how to approach GC problems, the importance of asynchronous I/O, when to use MySQL/Cassandra/Redis, and much more.

    10 tips on how to prevent business value risk

    One category of risk that project teams need to ensure they address is business value failure – delivering a product that fails to provide value for the business investor.

    Interview: Software Systems Architecture: Working With Stakeholders Using Viewpoints and Perspectives

    InfoQ spoke to the authors of Software Systems Architecture on a couple of new topics, the System Context viewpoint and Agile, which have been added to the second edition.

    Beauty Is in the Eye of the Beholder

    Alex Papadimoulis discusses ugly code, where it comes from, how to avoid it, and how to get rid of it.

    Architecting Visa for Massive Scale and Continuous Innovation

    John Davies examines Visa’s architecture and shows how enterprises have architected complex integrations incorporating Hadoop, memcached, Ruby on Rails, and others to deliver innovative solutions.