Page 1 of 3 123 LastLast
Results 1 to 10 of 24

Thread: JSR-170 and Spring

  1. #1
    Join Date
    Jan 2005
    Location
    Bucharest, Romania
    Posts
    5,403

    Default JSR-170 and Spring

    Hello.

    I have a requirement to work with JSR-170 (Java Content Repository) and I would like to know what alternatives are out there and how Spring can ease working with them and then commit the code to Spring Modules .

    The only open-source implementation available that I could find was jackrabbit(http://incubator.apache.org/jackrabbit/).

    Any suggestions about other implementations or requirements are welcomed
    Costin Leau
    SpringSource - http://www.SpringSource.com- Spring Training, Consulting, and Support - "From the Source"
    http://twitter.com/costinl
    Please use [ c o d e ] [ / c o d e ] tags

  2. #2
    Join Date
    Aug 2004
    Location
    Boston MA
    Posts
    27

    Default

    I'm looking into using the spec myself. As for implementations besides Jackrabbit:

    Magnolia:
    http://www.magnolia.info/en/magnolia.html

    I think Magnolia uses some of the code from Jackrabbit. They also have a few applications built on top of their repository. They also have code you can have a look at here: http://sourceforge.net/project/showf...group_id=86297

    Day
    http://www.day.com/

    Day contributed to the spec and has alot of resources on their site about JSR-170. I'm not sure if their implementation is open source.


    Also check out:

    Introducing the Java Content Repository API
    IBM Developworks
    http://www-128.ibm.com/developerwork...library/j-jcr/

    Catch Jackrabbit and the Java Content Repository API
    Artima
    http://www.artima.com/lejava/article...epository.html


    As for Spring, I'm sure if you were looking to build a CR, I see no reason why you couldn't use Spring to help you do that. At the very least, it seems the most typical way to access a Repository is to place it in JNDI, in which you can use Spring's JNDI support to assist you.

    I would also be interested in anyone's experience with JSR-170, especially if they were using Spring along with it.


    Keller

  3. #3
    Join Date
    Jan 2005
    Location
    Bucharest, Romania
    Posts
    5,403

    Default

    Thanks for the info. Support for JSR-170 will soon be available through Spring Modules.
    Costin Leau
    SpringSource - http://www.SpringSource.com- Spring Training, Consulting, and Support - "From the Source"
    http://twitter.com/costinl
    Please use [ c o d e ] [ / c o d e ] tags

  4. #4
    Join Date
    Aug 2004
    Location
    Boston MA
    Posts
    27

    Default

    Can you be a little more specific? What sort of "support" do you plan on adding?

    For example, I've been going through the spec this morning and it seems that Spring's JTA support would be very benificial if one were developing a transactional repository.


    Keller

  5. #5
    Join Date
    Jan 2005
    Location
    Bucharest, Romania
    Posts
    5,403

    Default

    Indeed. The support resembles the orm.hibernate(3)/jdo packages - session factory, template, declarative transaction support and a local and jta transaction manager.
    The TM need a bit of work now - I have a version of a local TM but it's not very elegant. I have an a draft of the global TM but it's not yet finished.
    The rest however it's done and it works. I'll commit some code to the SM CVS by the middle of next week - time is the main concern here.
    Costin Leau
    SpringSource - http://www.SpringSource.com- Spring Training, Consulting, and Support - "From the Source"
    http://twitter.com/costinl
    Please use [ c o d e ] [ / c o d e ] tags

  6. #6
    Join Date
    Jan 2005
    Location
    Bucharest, Romania
    Posts
    5,403

    Default

    Ofc, this means that the JSR-170 implementation needs to have transaction support and so far only jackrabbit has such a feature. Magnolia is a CMS not a JSR-170 implementation btw.
    They claim to support also "Jeiceira" which is a relatively new project that AFAIK, has no transactional support for JSR-170.
    After I'll finish the TM implementation for JackRabbit I plan to take a look at Jeiceira and add support for it also.
    Costin Leau
    SpringSource - http://www.SpringSource.com- Spring Training, Consulting, and Support - "From the Source"
    http://twitter.com/costinl
    Please use [ c o d e ] [ / c o d e ] tags

  7. #7
    Join Date
    Aug 2004
    Location
    Boston MA
    Posts
    27

    Default

    Magnolia mentions on their home page that their CMS is "built on" JSR-170 in about three different places. I would assume you are making a distinction between CMSs that are applying the standard to an already existing product in order to allow access to their data in a standardized way versus a project like Jackrabbit which allows people to develop a fully compliant repository.

    Another thing I was thinking about was integrating Acegi with Jackrabbit in order to provide security framework for a repository.

    Also, in all the examples I've seen, the Repository object is using JNDI. I would think you could also just access the Repository through Spring and have the container handle the configuration, instanciation, etc.

    Have you had an opportunity to check in any code. I would be very interesting in having a look at it.


    Keller

  8. #8
    Join Date
    Jan 2005
    Location
    Bucharest, Romania
    Posts
    5,403

    Default

    Thanks for the interest. I intend to commit the code this weekend on the cvs - I still have to finish some small things and add unit tests. I'll let you know on this thread.

    Security in Jackrabbit is bit of an issue - take a look at the mailing list - there is an interesting thread (including Ben Alex); they have done it through JAAS which is hard to bypass/hook up. I'm still thinking of a solution for this problem.

    Also, in all the examples I've seen, the Repository object is using JNDI. I would think you could also just access the Repository through Spring and have the container handle the configuration, instanciation, etc.
    The repository is JNDI independent. Don't worry, the current support does just that.

    Magnolia mentions on their home page that their CMS is "built on" JSR-170 in about three different places. I would assume you are making a distinction between CMSs that are applying the standard to an already existing product in order to allow access to their data in a standardized way versus a project like Jackrabbit which allows people to develop a fully compliant repository.
    The specifications (JSR-170) already has some implementations (JackRabbit and Jeceira); a product using this implementation is different from the implementation itself.
    Costin Leau
    SpringSource - http://www.SpringSource.com- Spring Training, Consulting, and Support - "From the Source"
    http://twitter.com/costinl
    Please use [ c o d e ] [ / c o d e ] tags

  9. #9
    Join Date
    Jan 2005
    Location
    Bucharest, Romania
    Posts
    5,403

    Default

    I've just committed the main part of the core to the Spring modules CVS:
    https://springmodules.dev.java.net/s...ngmodules/jcr/
    Check it out.
    Costin Leau
    SpringSource - http://www.SpringSource.com- Spring Training, Consulting, and Support - "From the Source"
    http://twitter.com/costinl
    Please use [ c o d e ] [ / c o d e ] tags

  10. #10
    Join Date
    Oct 2005
    Posts
    26

    Default I like what i see

    I have been using Magnolia a while now.

    It is basically built on top of Jackrabbit.
    I've customized it a little to make it more easy to use.
    Looks great now, but preform horrible.
    (We have a lot of changing content,
    and building the cache for every change
    is "killing" our server under load)

    Now i dont know what to do. Would be cool if i could
    export the content to a spring app with JSR-170 support.

    Any good ideas, out there?

    -Erik

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •