Home

News: Software Tree Announces JDX 4.1 OR-Mapper

  1. Software Tree Announces JDX 4.1 OR-Mapper (24 messages)

    JDX 4.1, the latest version of Software Tree's OR mapper is out. The new version offers an enhanced JDXStudio GUI tool, improved configuration using ANT, a bundled lightweight database engine, and performance optimizations.

    Checkout http://www.softwaretree.com.


    Press Release
    ---------------------------
    JDX 4.1, the latest version of innovative and patented Object-Relational Mapping (OR-Mapping) technology solves the complex problem of persistence for Java/J2EE applications by eliminating endless lines of JDBC/SQL code. The new version offers an enhanced JDXStudio GUI tool, improved configuration of example programs with ANT scripts, a bundled lightweight database engine,and performance optimizations.

    Press Release

    JDX Highlights: (details)

    · Simple, Non-intrusive and Flexible Design

    · Smart and Elegant Mapping Specification

    · Support for Complex Object Modeling including Class Hierarchies

    · Small Set of Simple and Flexible APIs

    · Lightweight and Optimized Mapping Engine

    · High-performance and Scalable Implementation

    · Powerful and Intuitive GUI Tools (JDXStudio and JDXDemo)

    · Nifty Components and Facilities to Simplify Development

    · Works with Most Popular Databases, Existing Schema, and Application Servers

    · Easy-to-learn and Easy-to-use

    · Robust and Market-Proven Technology

    · Affordable Pricing and Quick ROI


    A 21-day eval version of JDX 4.1 is available from Software Tree's web site.


    Thank you.

    -- Damodar Periwal
     
    Software Tree, Inc.
    Simplify Data Integration
    http://www.softwaretree.com

    Threaded Messages (24)

  2. Excellent!

    But why would I use it? Meaning, what differentiates this product from other commercial offerings such as Toplink or CocoBase? Or for that matter open source offerings such as Hibernate, OJB or XORM?

    If I am already using one of these tools, or considering a new tool for use in an upcoming project, why would I choose JDX 4.1 over the other?

    Sandeep
  3. Good question. I can tell what JDX can do. The other vendors can tell what their products can do. Perhaps what you really want to know is which product can meet your application needs the best.

    JDX has been a pioneering OR-Mapping technology with its first commercial version released in early 1998. Simplicity with flexibility has been the core driving force in its development and evolution. Many of the innovative features of JDX have been patented. JDX comes with powerful and intuitive GUI tools, comprehensive documentation and many working examples making it easy-to-learn and easy-to-use. Here is a link to the feature set of JDX.

    JDX Features

    The market-proven technology of JDX is not free though. However, it won’t punch a big hole in your pocket. JDX licensing cost is quite affordable and there is no runtime royalty.

    You are welcome to download a free evaluation version of JDX and check it out for yourself how JDX can simplify your data integration efforts with a powerful and practical OR-Mapping solution.
  4. patented ...please[ Go to top ]

    "patented"? Sounds fascinating. Whats the patent number, I'd like to critique the patent.
  5. patented ...please[ Go to top ]

    "patented"? Sounds fascinating. Whats the patent number, I'd like to critique the patent.

    If it makes his business more valuable or appeals to his customers, I don't see what's wrong with that. No one really knows how defensible these software patents are, but everyone keeps filing them for a reason ....

    Peace,

    Cameron Purdy
    Tangosol, Inc.
    Coherence: Easily share live data across a cluster!
  6. patented ...please[ Go to top ]

    If it makes his business more valuable or appeals to his customers, I don't see what's wrong with that.

    Here is what I think is wrong with that: He is filing a claim for intellectual property that does not belong to him, and he knows it. He did not invent object-relational mapping.

    He certainly seems benevolent enough about the whole thing now, but who is to say that once his revenues are being squeezed too hard by Hibernate that he isn't going to go Ward Mullins or SCO on us?

    No one really knows how defensible these software patents are, but everyone keeps filing them for a reason ....

    Personally, I believe it is because USPTO makes it so easy to obtain a patent on property you do not own. The basic position of USPTO is: grant the patent by default, let the courts sort it out later if there is prior art. This is a broken system that stifles innovation.
  7. Software Tree Patent[ Go to top ]

    Our patent in the OR-Mapping space has certainly struck different chords with different people. Obviously this is a pretty sensitive area. However, I don't think this is the right forum for me to discuss the related legal theories and issues except to state that we own the rights to our patented innovations and we expect others not to violate them.

    -- Damodar Periwal

    Software Tree, Inc.
    Simplify Data Integration
    http://www.softwaretree.com
  8. patented ...please[ Go to top ]

    If it makes his business more valuable or appeals

    >> to his customers, I don't see what's wrong with that.

    I agree that it probably does "make his business more valuable" and may even "appeal to his customers". This would be due to the perception that there is some value to the patent. That is: to say that it makes his business more valuable/appealing, suggests that it does mean something (which it probably doesn't) and that it is defensible (which it probably isn't).

    The patent is filed so that they can advertise that they have "patented" technology, which to some ("uneducated") people makes it sound like they invented it or that their the only ones who have the technology (which we know is not true). It's just marketing.

    It's not unlike the various ways that products claim to be "#1" (not 'M'entioning any name'S'). I find it deceptive. IMHO it's an abuse of patents and there is something wrong there.

    Cheers,
    Clinton
  9. patented ...please[ Go to top ]

    There is basically only one reason for filing for software patents (besides possible leverage against litigation):
    Buying credibility with investors and possibly non-tech customer people for more standard products.
    I have been involved in one patent-filling in a prior job, and there was one and only one reason why it even came up on the agenda: the investors liked it!
    The fact that most patents would never hold up in court doesnt seem to bother people, its just the "credibility" that comes with saying "we have a patent, na na na na na naaa!" that is the reason..
  10. Good question. I can tell what JDX can do. The other vendors can tell what their products can do. Perhaps what you really want to know is which product can meet your application needs the best.


    Don't get me wrong. (I don't think and am not saying you did). This is a very crowded market. I speak strictly as a potential evaluator/user. Project teams spend thousands of dollars investing in researching these sort of tools, and invest a lot of time and effort in coming up to speed on their intricacies once they have been formally adopted. The one thing a product not in the top 5 recognized contenders for best product in this space can do to faciliate adoption or even evaluation is to provide positioning info vis a vis its competitors.

    > You are welcome to download a free evaluation version of JDX and check it out for yourself how JDX can simplify your data integration efforts with a powerful and practical OR-Mapping solution.

    It takes a lot of effort to fully review a new ORM solution. In the absence of comparisons with competing products, its unlikely that many would even start with a serious evaluation.

    Sandeep.
  11. I can appreciate your dilemma.
    I tried to answer a similar question in another thread here. From the same thread: "Even if one can create a matrix of features vs products, which I am not volunteering to do, it would be very hard to quantify important things like flexibility, non-intrusiveness, robustness, and ease-of-use."
     
    Our customers have done internal comparisons before deciding on JDX. Perhaps their testimonials can give you some encouragement to checkout JDX. It won't take more than a couple of days to figure out if JDX would provide a good solution for your particular needs. You may be pleasantly surprised to hit upon something, which does not have a lot of hype but provides great value.

    -- Damodar

    Software Tree, Inc.
    Simplify Data Integration
    http://www.softwaretree.com
  12. Gimme a break[ Go to top ]

    http://patft.uspto.gov/netacgi/nph-Parser?Sect1=PTO1&Sect2=HITOFF&d=PALL&p=1&u=/netahtml/srchnum.htm&r=1&f=G&l=50&s1=6163776.WKU.&OS=PN/6163776&RS=PN/6163776

    LOL:

    What is claimed is:

    1. A system for exchanging data between an object-oriented system and a relational system having tables defining a relational model, the system comprising:

    at least one object class definition defining an object model;

    an object relational mapping data structure defining a mapping between the object model and the relational model, the object relational mapping data structure produced from a declarative ORM Specification based on an ORM grammar;

    an exchange unit for translating data from the object model to the relational model and for translating data from the relational model to the object model.

    2. The system of claim 1, wherein the exchange unit further comprises:

    an object call processing unit having inputs and outputs for receiving object calls and beginning the translation of the object calls, an input and an output of the object call processing unit coupled to the object-oriented system;

    a mapping unit having inputs and outputs for performing the object-relational mapping according to the object relational mapping specification in response to signals from the object call processing unit, the mapping unit having inputs coupled to the object class definition, the object relational mapping data structure, and input and outputs the object call processing unit; and

    a database interface unit having inputs and outputs, for retrieving and storing data in the relational system, the inputs and outputs coupled to the relational system and the mapping unit.

    3. The system of claim 2 wherein the object call processing unit intercepts Application Programming Interface (API) level calls for object manipulation and executes the API level calls using the mapping unit.

    4. The system of claim 1, wherein the exchange unit further comprises:

    an object relational mapping specification defining a mapping between the object model and the relational model, the object relational mapping specification including a plurality of a declarative ORM grammar statements; and

    an ORM Data Structure creation unit having inputs and an output for producing the object relational mapping data structure, the inputs of the ORM Data Structure creation unit coupled to receive the object class definition, the object relational mapping specification, and the database interface unit, the output of the ORM Data Structure creation unit coupled to the input of the mapping unit for providing the object relational mapping data structure.

    5. The system of claim 1, further comprising a schema generator, the schema generator having inputs and outputs for generating a file of commands applicable on the relational system that implement the object call, the input of the schema generator coupled to the object class definition and the object relational mapping data structure, the output of the schema generator coupled to the relational system.

    6. The system of claim 5, wherein the schema generator further comprises:

    an ORM Data Structure creation unit having inputs and an output for producing the object relational mapping data structure, the inputs of the ORM Data Structure creation unit coupled to receive the object class definition and the object relational mapping specification;

    a relational schema statements generation unit having an input and an output, the input of the relational schema statements generation unit coupled to the output of the ORM Data Structure creation unit for receiving the object relational mapping data structure, the relational schema statements generation unit producing a file of statements that will produce the relational schema in the relational system; and

    a relational schema statements application unit having an input and an output for applying statements to the relational system, the input of the relational schema statements application coupled to the output of the relational schema statements generation unit for receiving the file of statements that will produce the relational schema in the relational system, the output of the relational schema statements application unit coupled to the input of the database interface unit for applying the statements on the relational system.

    7. The system of claim 1, wherein the relational system is a relational database management system.

    8. The system of claim 7, further comprising:

    a plurality of RDBMS Tables stored in the relational system, the plurality of RDBMS Tables setting forth the organization and structure of the data in the relational model in addition to describing certain functionality provided by the relational model; and

    a plurality of ORMMetadata Tables stored in the relational system, the plurality of ORMMetadata Tables storing additional object relational specifications.

    9. The system of claim 1 further comprising a schema reverse-engineering unit for creating object class definitions and an object relational mapping specification using a database schema.

    10. The system of claim 9, wherein the schema reverse-engineering unit further comprises:

    an ORM template specification containing names of tables to be used for generating object class definitions;

    database metadata inquiry unit for accessing the relational system to retrieve metadata including a schema for the relational model and information about the object model, the database metadata inquiry unit coupled to the relational system; and

    reverse engineering ORM structure creation unit for producing an object relational mapping data structure from metadata, the reverse engineering ORM structure creation unit coupled to the output of the database metadata inquiry unit to receive the metadata and coupled to receive the ORM template specification.

    11. The system of claim 10, wherein the schema reverse-engineering unit further comprises an ORM specification generation unit for producing an ORM specification from the object relational mapping data structure, the ORM specification generation unit coupled to the object relational mapping data structure.

    12. The system of claim 10, wherein the schema reverse-engineering unit further comprises an object class definitions generation unit for producing the object class definitions from the object relational mapping data structure, the object class definitions generation unit coupled to the object relational mapping data structure.

    13. The system of claim 1, further comprising a named sequence generator for generating persistently unique sequence numbers, the named sequence generator having inputs and outputs, the named sequence generator coupled to the relational system for and coupled to the object-oriented system by the exchange unit.

    14. The system of claim 1, wherein the object relational mapping data structure includes a mapping for a stored procedure executable by an engine in the relational system, the stored procedure being invokable by an application program using the exchange unit and creating an object with a value returned by executing the stored procedure.

    15. The system of claim 1, wherein the system further comprises a security unit having inputs and outputs for determining whether a user can use the ORM Specification and a scope for use of the ORM Specification, the security unit coupled to control access to the object relational mapping data structure and the exchange unit.

    16. A method for generating an object relational mapping data structure, the method comprising the steps of:

    determining whether an object relational mapping file has been specified;

    if an object relational mapping file has been specified, using an object relational mapping specification identified by the object relational mapping file as the identified object relational mapping specification;

    if an object relational mapping file has not been specified, determining an ORM identification name, retrieving an object relational mapping specification corresponding to the ORM identification name from a relational database, and using the retrieved object relational mapping specification as the identified object relational mapping specification; and

    creating an object relational mapping data structure using the identified object relational mapping specification.

    17. The method of claim 16 wherein the step of determining an ORM identification name further comprises the steps of:

    determining whether an ORM identification name has been specified;

    using the ORM identification name specified if an ORM identification name has been specified; and

    using a default ORM identification name specified if an ORM identification name not has been specified.

    18. A method for generating object relational mapping data structures from an object relational mapping specification includes the steps of:

    retrieving an object relational mapping specification;

    creating an instance of a plurality of data structures defining a mapping between an object model and a relational model;

    overriding default mappings using a SQL map specification;

    using additional specifications to create additional data structures;

    retrieving Metadata from a database to enhance the plurality of data structures;

    matching class information for object-oriented model with the plurality of data structures;

    generates SQL statements for each class; and

    generates inserts and update statements to apply SQL statements to the database.

    19. The method of claim 18, wherein the step of creating an instance of a plurality of data structures includes the steps of:

    creating an instance of DatabaseInfo;

    creating an instance of Tableinfo and ClassInfo for each class specification;

    creating instance of CollectionClassInfo for each collection specification; and

    creating the instances of Attribinfo for each ClassInfo.

    20. The method of claim 19, wherein the step of using additional specifications to create additional data structures includes the steps of:

    using primary-key and reference-key specifications to create instances of ReferenceKeyinfo; and

    using the relationship specification to create instances of ComplexAttributeInfo.

    21. The method of claim 20, wherein the step of matching class information comprises the step of matching AttribInfo with ColumnInfo.

    22. A method for generating relational schema from an ORM specification and object class definitions, the method comprising the steps of:

    retrieving an object relational mapping specification;

    retrieving an object class definitions;

    creating an instance of a plurality of data structures defining a mapping between an object model and a relational model;

    overriding default mappings using a SQL map specification;

    using additional specifications to create additional data structures; and

    adding relational information to the data structures for each primitive and embedded attribute of the object-oriented model.

    23. The method of claim 22, wherein the step of creating an instances of a plurality of data structures includes the steps of:

    creating an instance of DatabaseInfo;

    creating an instance of Tableinfo and ClassInfo for each class specification;

    creating an instance of CollectionClassInfo for each collection specification; and

    creating the instances of Attribinfo for each ClassInfo.

    24. The method of claim 23, wherein the step of using additional specifications to create additional data structures includes the steps of:

    using primary-key and reference-key specifications to create instances of ReferenceKeyinfo; and

    using the relationship specification to create instances of ComplexAttributeInfo.

    25. The method of claim 23, wherein the step of adding adds ColumnInfo in Tableinfo for each primitive and embedded attribute of each ClassInfo.

    26. The method of claim 23, wherein the step of generating statements for producing and modifying tables in relational database includes the steps of:

    generating a create table statement and primary key constraints statement in a CREATE file for each Tableinfo;

    generating unique key and referential key constraint statements in an ALTER file for each ClassInfo; and

    generating alter table drop constraint statements and drop table statements in a DROP file for each ClassInfo.

    27. The method of claim 26, wherein the step of executing the generated statements on the database includes the step of executing the DROP, CREATE and ALTER files to modify the database.

    28. A method for generating an ORM specification and object class definitions from a database schema, the method comprising the steps of:

    generating object relational mapping data structures using an ORM template specification;

    performing at least one metadata query to retrieve information for the object relational mapping data structures;

    generating an object class definition using the object relational mapping data structures; and

    creating an ORM Specification using object relational mapping data structures.

    29. The method of claim 28 wherein the step of generating object relational mapping data structures comprises the steps of:

    creating an instance of DatabaseInfo; and

    creating an instance of ClassInfo and TableInfo for each class in the ORM Template Specification.

    30. The method of claim 28 wherein the step of performing at least one metadata query includes the steps of:

    performing a metadata query and creation of ColumnInfo and AttributeInfo in the corresponding ClassInfo for each instance of TableInfo;

    performing a metadata query to get the PrimaryKeyInfo for each ClassInfo;

    performing a metadata query to get the foreign key information and create the corresponding ComplexAttributeInfo for each instance of ClassInfo.

    31. The method of claim 28 wherein the step of creating an ORM Specification using object relational mapping data structures is done using the DatabaseInfo and all the instances of ClassInfo.

    32. A method for responding to an object call using a mapping unit, the method comprising the steps of:

    determining the type of object call;

    setting up an access plan data structure according to insert flags and insert details for accessing referenced objects;

    creating a command statement for accessing relational system;

    issuing the command statement on relational system; and

    processing the data from the relational system to provide it to the object-oriented system.

    33. The method of claim 32 wherein the step of creating command statement for accessing relational system further comprises the steps of:

    retrieving an INSERT statement from ClassInfo;

    preparing the INSERT statement for the current connection to the database; and

    finding the value for each AttribInfo and binding it with the column position for each AttribInfo.

    34. The method of claim 33 wherein the step of issuing the command statement on relational system includes issuing the INSERT statement to store top-level objects in the relational system.

    35. The method of claim 34, wherein the step of issuing the INSERT statement to store top-level objects in the relational system, further comprises the steps of:

    determining whether there are non-null referenced objects to be inserted,

    creating an additional INSERT statement for each non-null referenced objects if there are non-null referenced objects to be inserted; and

    issuing the additional INSERT statements.

    36. A method for responding to an object call using a mapping unit, the method comprising the steps of:

    determining the type of object call;

    setting up an access plan data structure according to flags settings;

    creating a command statement for accessing relational system by retrieving a base SELECT statement from ClassInfo, testing whether any predicate has been specified; and translating a specified predicate and appending the predicate as a WHERE clause, if a predicate has been specified;

    issuing the command statement on relational system, the command statement including the SELECT statement having a WHERE clause, if any, against a database of the relational system; and

    determining whether more rows are available from the database;

    if more rows are available from the database,

    fetching a next row and creating an instance of a top-level object;

    setting attribute values from corresponding column values;

    creating required foreign key entries and associating them with target class structures;

    determining whether there are query objects from the subclasses; and

    if there are additional query objects from the subclasses, repeat the steps of creating command statement for accessing relational system and issuing the command statement on relational system for the objects of subclasses.

    37. The method of claim 36 wherein the step of determining the type of object call includes the step of determining whether the object call is a query.

    38. The method of claim 36 wherein the step of setting up access plan data structure according to flags settings includes the step of setting up the access plan data structure according to the query flags and query details in order to access referenced objects.

    39. The method of claim 36 wherein the step of processing the data from the relational system to provide it to the object-oriented system includes the steps of:

    creating a SELECT statement and a WHERE clause using the foreign keys for each referenced target class;

    retrieving rows and creating target objects and linking them with referencing complex attributes;

    creating a foreign key entry for each complex attribute of the target class; and

    returning a list of top-level objects to the application.

    40. A method for object streaming comprising the steps of:

    beginning a new transaction;

    generating a query call to a database exchange unit for a plurality of objects;

    returning the predetermined number (X) of objects;

    processing the returned objects;

    determining whether more objects are to be retrieved through the current stream of objects;

    retrieving and processing an additional number (m) of objects if more objects are to be retrieved through the current stream of objects;

    generating a query close to the database exchange unit; and

    committing the transaction to the database.

    41. The method of claim 40 for object streaming further comprising the steps of:

    determining a query context (QC) for streaming;

    invoking a query operation on the query context for a predetermined number (X) of objects;

    saving in the query context, the query cursor for the table of top-level class objects;

    initiating a query processing to fetch the predetermined number (X) of objects; and

    saving the query context for this session.

    42. The method of claim 40 wherein the step of retrieving and processing an additional number (m) of objects further comprises the steps of:

    generating a "query fetch" call for the additional number (m) of objects to the database exchange unit;

    invoking a query operation on the saved query context for the additional number (m) of objects;

    retrieving the query cursor saved in the query context;

    processing the query to fetch the additional number (m) of objects;

    returning the additional number (m) of objects; and

    processing the returned additional number (m) of objects. model and for translating data from the relational model to the object model.
  13. Gimme a break[ Go to top ]

    This surely can't be right. Everyone knows that Ward Mullins (of Cocobase) invented the 'System and method for accessing data stores as objects'. Chances are he invented 'objects' and 'data stores' as well.
    Mind you I've just patented 'breathing' a 'system for taking oxygen from air into the bloodstream'. I've spoken to my lawyer and he assures me you'll all have to pay up or alternatively stop 'breathing' The choice is yours...
  14. Gimme a break[ Go to top ]

    Mind you I've just patented 'breathing' a 'system for taking oxygen from air into the bloodstream'. I've spoken to my lawyer and he assures me you'll all have to pay up or alternatively stop 'breathing' The choice is yours...

    MUAAAAHAHAHAHAHAHAHA!
  15. RTF patent![ Go to top ]

    Please, read the patent before abusing it. The patent starts off general, then gets specific.

    This is the way patents are supposed to be used, after all. If you come up with a ORM tool that has 41 steps the same as his, but the 42nd is different, you've got a different potential patent.

    Where patents get abused is when they don't get down to the specific.
  16. RTF patent![ Go to top ]

    Please, read the patent before abusing it.

    Re-read claim 1. They do indeed claim the 42-step process as you describe, but they do not relinquish claim 1 in and of itself.

    They are claiming property they do not own. This is wrong.
  17. RTF patent![ Go to top ]

    I think you have misunderstood the function of patents:
    Patents do NOT claim ownership of individual claims, the patent consists of the sum and result of all the claims together!
    If you were to file a patent for a similar solution, with the exact same claims, it would suffice if you would do one thing differently, and all the others were the same, and you would have a valid patent (likely), and it would not infringe on that one.

    This is one of the reasons I stated earlier that software patents are pretty useless in practice, and they are merely usefull against investors and in the marketing material..
  18. RTF patent![ Go to top ]

    Patents do NOT claim ownership of individual claims, the patent consists of the sum and result of all the claims together!

    Thanks, you are right, I apologize. Typing before thinking not so smart...
  19. RTF patent![ Go to top ]

    Typing before thinking not so smart...

    I think you might not be the first one to ever do that. And if you would claim that you were the first indeed, I believe I would have a case for prior art. ;)
  20. RTF patent![ Go to top ]

    Thanks for your comments. While it is understandable that you cannot react fast
    and change your product line...I'd really appreciate if you are one day would implement JDO interface to your library.

    Then you defenitely be on my list of things to try/evaluate.

    For now, it is really hard to invest in something proprietary...even if it might work better...
  21. Gimme a break[ Go to top ]

    Thanks for posting the patent claims. You may get the honor of posting perhaps the longest message (420 lines, 2873 words) on TSS so far :)
     
    -- Damodar
  22. I still wondering...[ Go to top ]

    Why O/R mapper companies still insist on their proprietary techniques
    to be used by developers.

    While it is good for the companies (they have "patented" techniques)...
    on the other hand ... it of course keep us developers locked with implementation vendor forever.

    Why instead of resisting just follow standardization for Object Oriented way
    of accessing database - JDO?

    I understand that your marketing folks would be afraid that your existing customers will get more freedom in dumping the vendor - if their product does not perform well or you will decide to increase prices...

    Personally, I'd never settle for some custom & proprietary O/R mapping tool to be used. Instead I'd use JDO (even if some say it less flexible).
    The greatest benefit JDO has - standard interfaces and freedom to select vendor!

    If O/R tool company goes out of business - what am I going to do?
    In case of JDO - I don't care! I buy another implementation!

    Also, competition for JDO vendors is MUCH tougher - as a result implementations are more likely to be in constant improvement!

    Is your company thinking to become JDO vendor? If not, what are the motivations?
  23. JDX and JDO[ Go to top ]

    First of all, we started with JDX way before even EJB 1.0 was there. JDO was nowhere in the picture.

    As I understand it, JDO has a different way of looking at the problem of the persistence. JDO is more focused on the transactional state management (let’s call it TSM) issues through its notion of ‘transparent persistence’ than on the relational storage manager issues because of its storage-agnostic stand. Consequently, JDO has gone to great lengths in specifying a standard solution to this TSM problem but is virtually silent on the OR-Mapping problem.

    On the other hand, JDX recognizes OR-Mapping to be the most important and complex aspect of solving the problem of persistence. Consequently JDX is focused on providing the best practical solution to the OR-Mapping problem.

    As an analogy, if you consider your application as a car, JDO provides a specification for the harness holding the engine. JDO does not concern itself with the kind of engine that goes into this harness.

    In the above analogy, JDX may be thought of as an engine, which can potentially fit into any harness. By not imposing a rigid harness structure, JDX can fit well into many different application architectures.

    So, if the JDO harness goes well into the design of your application car and the ropes are not too tight, you may leverage a JDO product. However, if you want a powerful, flexible and efficient engine that can fit into your own harness, which perhaps provides more freedom in the design and performance of your car, check out JDX.

    From recent reports, it appears that OR-Mapping aspects will be addressed in JDO 2.0, which is on our roadmap.

    -- Damodar Periwal

    Software Tree, Inc.
    Simplify Data Integration
    http://www.softwaretree.com
  24. JDX and JDO[ Go to top ]

    From recent reports, it appears that OR-Mapping aspects will be addressed in > JDO 2.0, which is on our roadmap.


    You are correct; JDO 2.0 will specify O/R Mapping in terms of markup elements in the persistence descriptor and specific functionality of supported feature set. We aim to "stabdardize" the usual O/R issues. Vendors will continue to innovate beyond the standardized feature set.

    I expect that the JDO 2.0 standard will be sufficient for most cases. The top implementations will additionally compete for best-of-breed in the broader O/R mapping marketplace.

    Does Software Tree, Inc. plan to implement a JDO 2.0 interface for JDX? Is that what "on our roadmap" implies?

    Kind regards, Robin.
  25. JDX and JDO[ Go to top ]


    Does Software Tree, Inc. plan to implement a JDO 2.0 interface for JDX? Is that what "on our roadmap" implies?


    Robin,

    We will have a JDO implementation when we see sufficient customer demand.

    Best regards,

    -- Damodar Periwal

    Software Tree, Inc.
    Simplify Data Integration
    http://www.softwaretree.com