Monday, April 9, 2012

Comparison between Open Source Service Registry and Repository


Yesterday I was exploring WSO2 SOA Registry in detail and I noticed that some times when I was trying to add some WSDL and XSD files, application started generating internal exceptions, and there is no clear explanation of these exceptions.

At that point I decided to explore some more stable open source registries which we can use in our environment with minimal changes. During my research I explored following four registries in details and did some comparative analysis between these services

  1. Mule Galaxy (http://www.mulesoft.org/galaxy)
  2. WebSphere Service Registry and Repository (Not open source but high recommendations)
  3. Membrane Registry (http://membrane-soa.org/soa-registry/)
  4. WSO2 Governance Registry




Registry
Advantages
Disadvantages
Mule Galaxy
Light Weight,
Easy Integration with Tomcat,
Support WSDL, XSD and Spring Configuration
No Concept of Services. You can just use it as an artefacts repository
WebSphere Service Registry and Repository

Complete Registry and Repository software
Price is less than 500GBP
Require Web sphere Application Server as a prerequisite which itself a very expensive software
Membrane
Built in SOAP Client,

XML Schema Comparison,

Periodically checks for availability of the service and raises events on availability changes
No concept of Repository

You can’t add WSDL and XSD as a file. You need to define URL  of your WSDL and XSD files

Not ability to categorize services. No ability to write Service Description and details
WSO2
Designed to store, index, and manage enterprise metadata related to SOA artefacts.

Includes versioning features

Easy to configure

Fully open source with active development community
Application Bugs.




As per my analysis WSO2 is most suitable product for our environment and based on our requirements. We need to live with its open bugs; at least we have an active development community for this product who can support in case of any code bug
Next step is to find answers of following questions.  I tried to answer few of them
  1. Is it possible to modify or customize WSO2 Registry based on our requirements?
  2. Is there any special licensing required for Corporate or deployment in Production environment?
  3. Is it possible to implement Role based Security?
    1. Application supports Role based separation of actions and approval processes
  4. Is it possible to integrate it with our existing development and operation tools?
    1. IDE integration with Eclipse plug-in
  5. Identify useful gadgets which we can integrate with application
  6. Is it possible to enhance Governance Dashboard based on our organization requirements?
  7. Is there any Reporting Mechanism available in the tool?
  8. Is it possible to Plug-In with IDE?
    1. IDE integration with WSO2 Carbon Studio, Eclipse plug-in, Microsoft Visual Studio
  9. Is there any Automate approval or change management processes present in the tool?
    1. Application supports Role based separation of actions and approval processes