IBM®
Skip to main content
    Country/region [select]      Terms of use
 
 
    
     Home      Products      Services & solutions      Support & downloads      My account     
 
developerworks > My developerWorks >  Dashboard > Bobby Woolf: WebSphere SOA and J2EE in Practice > Miscellaneous Technologies > Registry vs. Repository
developerWorks
Log In   View a printable version of the current page.
Overview Connect Spaces Forums Wikis
Registry vs. Repository
Added by bwoolf, last edited by bwoolf on Sep 14, 2006  (view change)
Labels: 
(None)

Registry vs. Repository

Is the SOA thing that stores the list of available services a service registry or a service repository?

A registry is a list of items with pointers for where to find the items, like the index on a database table or the card catalog for a library. A repository stores the actual items, like a database table itself or a library's shelves of books. If you lose a registry, the items still exist; you just may need to reindex them. If you lose a repository, the items are gone.

A service registry is not a repository because it doesn't actually contain the service providers—the providers are not running in the registry. The registry doesn't contain the providers; it just contains information on where to find the providers.

So in SOA, when we talk about a place to find a list of services, we should refer to it as a service registry, not a service repository.

this is good stuff Bobby. very helpful. you might think about calling out some examples to make the case, especially with so much regrep M&A going on.

Posted by jamesgo at Sep 15, 2006 07:48 | Permalink

Very good explanation, Bobby. Your wiki is very helpful and your blog is very resourceful.

Posted by chee-siong at Sep 29, 2006 12:03 | Permalink

You said "A repository stores the actual items. ... If you lose a repository, the items are gone" this really depends on the repository being used. Some allow pointers to the external artifacts and thus you do not lose the item but only the pointers and of course any metadata associated with it.The comparisons I use are:A Repository is where I discover Services during development. It manages all pre-deployment Service artifacts. Typically found on the development platform.A Registry is where I discover Services during runtime. It manages the Post-deployment information data. Typically found on the production platform.Both utilize persistent stores so back them up.

Posted by ibmsoa at Oct 06, 2006 10:08 | Permalink

ibmsoa: Thanks for your comment. But I disagree. If the store simply points to an artifact in another store, that's a registry. Because a repository stores its items, if it's gone, the items are gone; of course, backups, replicas, etc. make it harder to completely lose the repository, but if all of those are gone, the items are gone. A store might both contain artifacts and contain pointers to artifacts in other stores; in this case, the store is acting both as a repository (for the items it stores) and a registry (for the items it references). A repository can optionally index its items for easy retrieval, in which case it acts as a registry as well.

Posted by bwoolf at Oct 06, 2006 23:06 | Permalink

 
    About IBM Privacy Contact