Lots of obituaries lately: Java a few weeks ago, now JCR. CMSWire has a newspost asking if the Java Content Repository specification is dead, that maybe CMIS (Conemtnt Management Interoperability Services) has taken its place.
First off, what JCR is: It's the "Java Content Repository," an API for storing content in a tree. It provides a specific set of capabilities (trees are made of nodes; nodes can have attributes, versions, types, references, and other nodes; queries are by a JCR-specific query language or XPath; this is not a full list).
It's got a fairly steep learning curve, I think. The concepts behind it aren't hard, but the API makes you go through a set of hoops to get everything worked out, it takes a bit to "get it." Plus, like some other APIs java has, it doesn't give you a standard way to acquire a content repository out of the box. (You end up binding to repository-specific constructors, for example.)
So what's this CMIS? It's an interop layer above a content repository, regardless of what the content repository is, managed by OASIS. For example, with CMIS, your app could use a repository hosted in PHP, or some other repository - as an access layer, it's up to CMIS to say "this is how a repository acts" (and its up to the repository to act that way).
It provides the same concepts as JCR (queries, nodes, attributes) so the abstraction means you're not tied to a single or specific repository (different repositories would provide different CMIS urls), the fact that it's service-based means that all you'd need is a URL to get started (fixing the "where do i begin" problem).
If you want to check out CMIS, there's a really good PDF referenced in "Getting started with CMIS."
So is JCR dead, really? Not really - it's just being hidden under a layer that makes it more convenient to work with, to me. What do you think? Have you ever used JCR, or wanted to?