ESB and registries

michal.stochmialek's picture
Is there a documentation about different types of registries that can be used with ESB? I'm searching for answers to few questions: 1. There are few types of registry implementations (SimpleURLRegistry, ESBRegistry, WSO2Registry). Which one should be used in what scenario? 2. There are two places in configuration files where registry can be configured (server.xml/Registry and synapse.xml/registry). Which place is used by WSO2-ESB? 3. What kind of registries can be used with ESB? Default configuration says about local filesystem registry. Documentation says about HTTP site? What about changes? Are there other options? FTP? There is strong need for documentation in this area.
indika's picture

Re:ESB and registries

Hi michal Please read the comment on https://wso2.org/jira/browse/ESBJAVA-506 and also http://www.nabble.com/-jira--Created:-(ESBJAVA-506)-files-in-registry-cannot-be-picked-up-from-the-ui-tc17544911r3.html too. Thanks Indika
asankha's picture

Indika Can you add a JIRA to

Indika Can you add a JIRA to add this information into our documentation asankha
michal.stochmialek's picture

Thanks for the link.

Thanks for the link. Interesting reading. Looking forward to see it in the documentation :-) I'll return to my questions, since not all is clear to me. 1. Could you tell me, what are the responsibilities of "registry" element in synapse.xml and what for "Registry" element in server.xml? Right now, I suspect that if you change in synapse.xml to one of WSO2 registry implementation, that you have some extra configuration in server.xml. If you use plain old synapse registry that the server.xml is ignored. Am I right? 2. What are options for remote registries? WSO2 registry and HTTP? Are there other options? regards, Michal Stochmialek
indika's picture

Re:Thanks for the link.\

Hi michal WSO2 ESB is based on the Apache Synapse. Apache Synapse provides a Java API for registry. This registry is configured according to the "registry" element in synapse.xml. (Thinks, the registry" element in synapse.xml as Synapse Language construct (Synapse language API) that use to configure , underlaying Java implementation of the registry. Apache synapse has a default registry implementation called 'SimpleURLRegisty'. This works with file system and http. Then , there is an another Registry (separate product) called WSO2 registry http://wso2.org/projects/registry This is a special product that capture all concepts in the registry space. yet another registry ...if you look at the samples , you can see there is a registry provider “org.wso2.esb.registry.ESBRegistry”.This registry implementation is the registry implementation which was shipped with the previous ESB releases.(1.6 , 1.5 ,etc..). With 1.7 ESB release , we needed to add the WSO2 registry as our default registry implementation. In order to do this , we have to adapt the WSO2 registry to conform to the Apache synapse Java API for registry. We wrote a adapter “WSO2RegistryAdapter” for this. Now , there are lot of registries and we have to support each transparently through a one registry provider. For this , we wrote a registry. It is the "org.wso2.esb.registry.WSO2Registry". The “Registry” section in the server.xml is for this. From this, configuration section, we can enable to use any of registries described above with a provider “org.wso2.esb.registry.WSO2Registry”.(How to use this , is in links which are provided on the previous post). Actually, we could have merged the"registry" element in synapse.xml and "Registry" element in server.xml and made it available only in the registry" element in synapse.xml. But, we didn't do that as there are some properties which will conflict and also , these configurations have different meaning. If you look at the configurations , you can see another xml called “registry.xml”, it is the configuration xml for WSO2 registry product. It is needed for that product. Now, I am going to tell about WSO2 registry product. This product provides three type of registry. In-memory, JDBC and RemoteRegistry. Both, JDBC and In-Memory are embedded registries. 'RemoteRegistry' is a client that use atom API to access an external registry server. For ' external registry server' , I means , (WSO2 Registry server). WSO2 Registry is shipped as a webapp, you can deploy it in an application sever. 'RemoteRegistry' is a client that can be used to access these deployed WSO2 registry webapps. Again, one thing to note, by using ''registy.xml' we can only configure 'JDBC and In-Memory ' registries. Therefore, we had to add the configuration part of 'RemoteRegistry' to the "Registry" element in server.xml. For simply "registry" element in the synapse.xml is for configure any registry used in the Apache synapse. "Registry" element in the server.xml is for make “org.wso2.esb.registry.WSO2Registry” to enable to use various registry implementations hiding from a single provider. “regisrty.xml” is related to WOS2 Registry product. “org.wso2.esb.registry.WSO2Registry” is compatible to ApacheSyanpse registry and also it hides all various registry implementations. 2) “remote” registry is for only WSO2 Registry server. If you want to use 'HTTP' , you have two options. Please read http://www.nabble.com/Re%3A--jira--Resolved%3A-%28ESBJAVA-506%29-files-in-registry-cannot-be-picked-up-from-the-ui-p17662269.html and also SimpleURLRegsitry. Thanks Indika
tsaha's picture

RemoteRegistry and WSO2 ESB

Hi Indika: If I want one WSO2 ESB instance dedicated to configure RemoteRegistry ( over http in SVN )through Admin UI and then other 2 or more WSO2 ESB instances use the same RemoteRegistry , what will be my configurations? Is it at all possible to configure ( create, update, delete entries ) RemoteRegistry ( over http in SVN ) through the Admin UI of WSO2 ESB 1.7 ? -Thanks tanmay
indika's picture

Re:RemoteRegistry and WSO2 ESB

Hi For 'remote' means only External WSO2 registry. For example, if the WSO2 registry has been deployed on tomcat and it's url "http://localhost:8080/wso2registry" Then, you can access (you can edit,add,delete,) things in WSO2 registry server through admin UI. For this, you have to change "Registry" element in the "server.xml" .Please look at the attachment. For http ( svn) , I haven't checked . you may use either 'provider="org.wso2.esb.registry.WSO2Registry" ' or 'provider="org.wso2.esb.registry.ESBRegistry"'. For configuration details look at Please look at http://www.nabble.com/Re%3A--jira--Resolved%3A-%28ESBJAVA-506%29-files-in-registry-cannot-be-picked-up-from-the-ui-p17662269.html If http(svn) is not working , we may add it in the next release. Thanks Indika
library project main code
Learn Cloud
Learn
Cloud

The WSO2 Application Server is a reliable application server that can host your enterprise web applications. The WSO2 Application Server as a Service is offered in StratosLive, the WSO2 Platform as a Service. This article explains how a simple web application can be developed and deployed from Carbon Studio to the WSO2 Application Server...

Latest Webinar
Different groups within an organization need to monitor different Key Performance Indicators (KPIs) - An operations team will be interested in the response times of business services and loads of each service,..
Thursday, February 9th 2012, 09.00 AM (PST)

Thursday, February 9th 2012, 10.00 AM (GMT)