November 2009
« Oct   Dec »

CMIS, JCR and OSGi for Idiots

The empty-handed painter from your streets
Is drawing crazy patterns on your sheets.

Every now and again, certain tumultuous events coincide that makes us feel insignificant. A bit like a total solar eclipse, which is a rare and humbling thing. This week three seemingly unconnected occurances came to pass which made me stop and think. Firstly, CMIS was mentioned in the New York Times. Yes, the New York Times. Secondly, Jeff Potts released his “Getting Started with CMIS” tutorial. And, finally, I had the chance to drink beer and talk shit with the great David Nüscheler.

So, to honour all of this, I drew a picture.

Why, you may ask. Well, after chatting to David, I felt inspired to think (and blog) more about the JCR, CMIS and OSGi. But while doing my cursory research (that’s a strong word for what I do, but anyway), I discovered that there were quite a few things I knew nothing about, and a few products that I’d never heard of. I also coined the word Dignorance in honour of my newly found knowledge gaps.


So here is a small version of the picture. Click for a large one, or download it as PDF. Do whatever you want to with it. If you think it is useful, or think it needs fixing, leave comments here or get in touch. I’m sure it’s completely wrong all over the place. If you want the original Visio drawing to play with, let me know.


Next time I come to your office, I except to see this printed as A3 and stuck on your wall.

UPDATE 18 Dec 2009: I’ve written an article on CMS Wire which explains some of this. Have a look:

  • Facebook
  • Google Bookmarks
  • Digg
  • LinkedIn
  • StumbleUpon
  • Technorati

37 comments to CMIS, JCR and OSGi for Idiots

  • Peter Monks

    Awesome diagram! Minor nitpick though: the 136kg gorilla (Sharepoint) is missing from the CMIS providers box.

    • Peter Monks

      Also, does anyone else feel that the “wrap a spec in a spec” approach that the JCR crowd is taking somewhat divorced from reality?

      While it has some obvious benefits for JCR providers (they can magically claim CMIS compliance), my gut feel is that in practice the impedance mismatches between the two specs will reduce it to a sales-phase-only “feature”. Or is that just my inner curmudgeon taking over again?

  • Peter, I think the arrow between CMIS and JCR does not yet really exist yet. Apache Chemistry is so far just a Java CMIS implementation, although apparently there were some bits of Jackrabbit integration code at one point. It is certainly not at the point where you could say do a search in JCR and get that to do a search on a CMIS repository. Like you I would be surprised if it ever got to that stage. I think the main thing you would get out of it is having an open source standalone CMIS implementation with direct Java bindings that you could integrate at the Java application level in application specific rather than generic ways.

  • Great diagram and thanks for including a reference to our portlet.

    Just a minor nit: it’s Sourcesense and not SourceSense :)

    • If you are dreaming to be the king of roads then new car loan is the way to go.
      Before you purchase a used car, it is very important to not forget that there was an earlier owner so you must get information about
      the history of the car. Jump in and let us take you for the limo ride of your life.

      • I admit I was first attracted to the blog title,’Slightly Addicted to Fiction’ but chceekd the content and really appreciated the breadth.Congratulations to Judi Jagger, However like many blogs, there’s no direct email for contacting the blogger, other than leaving a general comment. While this is to prevent spam, it also makes it difficult if there is a genuine query.

  • Justin, for now the Apache Chemistry bindings to JCR go the other way: they make it possible to expose a JCR repository using the CMIS protocols. They assume a specific data model in the JCR however — although the code is still young and this could be improved.
    Exposing a CMIS repository through JCR APIs would certainly be feasible (and have less impedance mismatch than the opposite, as the CMIS model is quite simple) but no one has taken on that task yet. But the JCR APIs are large and complex, with complex semantics, so it’s quite a task.

  • Ah, thanks for that clarification Florent, makes sense.

    Jon, maybe some of those arrows should be reversed…

  • Ben

    That template looks familiar ;)

  • I have two nitpicks (n) and two Very Important Notes (vin):

    n1) There’s no such thing as an Apache Product – there are only Projects there (as you rightly noted in the James/Tapestry/etc. box)

    n2) usling and ujax don’t exist anymore as standalone components in Sling, their concepts have been integrated in the various Sling default servlets. Mostly because I can never find this mu character on my keyboard (not ;-)

    vin1) Idiots don’t use CMIS and JCR, we’re all Very Intelligent Folks ;-)

    vin2) This is way cool, thanks!

  • Great Diagram!
    This must have made a lot of work!

    • A Microsoft Certified Desktop Support Technician (MCDST) certification helps enable IT professionals to demonstrate technical
      and customer service skills in troubleshooting hardware and software operation issues in Microsoft Windows environments.
      In my experience, using a headset and microphone for the audio is preferable to a telephone, especially a speakerphone
      (even full duplex); and the invitations suggest this option. File sharing complication is not present: Now there is no need for program compatibility and synchronization because with
      help of hosting you and your client work will be updated as soon as you will make any changes.

  • Daniel Manzke


    pretty nice diagram. But maybe OSGi should be parallel to JCR and CMIS. I know that it isn’t so, but it seems that OSGi is only possible with a JCR compliant Repository (CRX in the diagram). I think there will be several CMIS/JCR repositories which will switch to OSGi and also the Implementations for the SPEC could be OSGi-enabled.

    Nice Work!

    • Hi Daniel. In practise, you’re probably right. But, in theory, OSGi and JCR have nothing to do with each other. And anyway, the page isn’t wide enough to have them parallel with each other.

      Maybe it needs to be an A2 diagram instead of an A3 one …

  • Daniel:
    Jon’s right: OSGi and JCR can be used separately. We use both in GX WebManager and they’re in different layers of the architecture. JCR is in lower levels (persistence & DB abstraction) while OSGi is somewhere in the middle to provide services to CRUD components/plugins.
    In our case we _are_ using them together on purpose as our Jackrabbit implementation is an OSGI component that can be replaced with something else or a newer version. Nice demo scenario for geeks: update Jackrabbit v1.3 to v1.4 by uploading a ZIP file and without restarting the server :-)

  • Stephen McConnell

    Dignorance should not just be applied to Wikipedia. I’ve been out of mainstream Java for two years and the world changes. I was digging around trying to get back up to speed and ran across your post here. Digging into sites like these reveal a WHOLE new level of “Dignorance” that digging in Wikipedia couldn’t begin to touch.

    Thanks for the chart. It gives me a large overview to work with.

  • Hi there, I discovered your web site by the use of Google even as searching for
    a comparable topic, your website came up, it appears
    great. I’ve bookmarked it in my google bookmarks.
    Hello there, just was alert to your blog via Google, and located that it is really informative. I’m gonna be careful for
    brussels. I will be grateful in the event you continue this
    in future. A lot of other people shall be benefited from
    your writing. Cheers!

    Feel free to visit my homepage … automatic backlink creator

  • Wow, incredible weblog format! How lengthy have you ever been
    blogging for? you made running a blog glance easy.
    The entire glance of your website is great, as well as the content material!

    Feel free to surf to my web site – How to Do SEO

  • Hi, after reading this awesome piece of writing i am also glad to
    share my knowledge here with friends.

    Feel free to surf to my webpage … internet marketing for local business

  • You really make it seem so easy together with your presentation but I to find this matter to be really one thing that I feel I would never understand.
    It sort of feels too complex and extremely huge for me. I
    am having a look ahead in your next publish, I will attempt to get the cling of it!

  • Have you ever thought about writing an ebook or guest authoring on other
    websites? I have a blog based on the same information you
    discuss and would really like to have you share some stories/information.
    I know my visitors would enjoy your work. If you are even remotely interested, feel
    free to send me an email.

    • Sometimes it is something simple you could have done yourself,
      but you took it to the mechanic down the road and it cost you a fair amount of money.

      Both interior and exterior car accessories make your car unique.
      Big variety rental or rent a car companies present their exclusive service to impress potential clients such as
      booking offers, competitive rates, free delivery, latest fleets and pick up,
      online bookings and a wide range of cars to select

  • Hmm it seems like your website ate my first comment (it was extremely
    long) so I guess I’ll just sum it up what I wrote and say, I’m thoroughly enjoying your blog.
    I too am an aspiring blog writer but I’m still new to everything. Do you have any tips and hints for first-time blog writers? I’d genuinely appreciate it.

  • Magnificent items from you, man. I’ve take into account your stuff prior to and you’re just too excellent.
    I actually like what you’ve bought right here, certainly like what you are stating and the way in which through which you are saying it. You’re making it entertaining and you continue to take
    care of to stay it wise. I can not wait to learn far more
    from you. This is really a wonderful web site.

  • Piece of writing writing is also a excitement, if you be familiar with
    then you can write or else it is complex to write.

    My web blog they said (Matthew)

  • Thanks for finally talking about > CMIS, JCR and OSGi for Idiots | Jon On Tech < Liked it!

  • Thanks very nice blog!

    webpage (Eunice)

  • Pretty! Thiis wass ann extremely wonderful article.
    Thank yyou for supplying this info.

  • Incredible loads of excellent tips.

  • DIY

    Admiring the time and energy you put into your site and detailed information you present.
    It’s awesome to come across a blog every once in a while that isn’t the same out of date rehashed material.
    Excellent read! I’ve bookmarked your site and I’m adding your RSS feeds to my Google account.

  • I am regular visitor, how are you everybody? This post posted at this web
    site is in fact pleasant.

  • Windows 10 media creation tool and we want to make sure Windows 10 is a series Windows 10 operating system appears to be having more issues and this latest problem could give fans a very tough choice to make Pinoy TV Replay. Watch Pinoy TV, Pinoy Lambingan, Pinoy Tambayan, Pinoy Ako, Pinoy1TV,

Leave a Reply




You can use these HTML tags

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>