What are some good alternatives to a UDDI registry? - web-services

I work as an intern Application Developer at a large organization prototyping SOA. I'm brand new to web services and technologies such as WSDL, SOAP, UDDI, and so on.
In the past week, I have been having a great deal of difficulty understanding UDDI, and how to use it effectively. The general consensus on the internet is that UDDI is dead, either too complex, unneeded, or a hindrance for most use cases. Some websites hint that UDDI is only useful as an internal registry within an organization and it's close business partners, rather than the universal business registry for which it was designed. You can see StackOverflow's attitude towards UDDI by reading some of the answers and comments on these questions:
Is the public UDDI movement dead or, was it ever alive?
How does SOA service discovery (UDDI) work in practice?
Does A Web Service Have To Be Registered?
Help understanding web services
What are some alternatives to UDDI? What are other ways that web services can be published so that developers can find a description and technical details without any of the complexity that UDDI seems to have? Is there any good business case for actually using a UDDI registry?

There are many open source registry/repository alternatives to UDDI.
I am an Architect at WSO2, so my answer could be biased - anyway WSO2 is not the only open source alternative.
The WSO2 Governance Registry is an open source, integrated SOA registry-repository, which supports you to efficiently manage your organization's growing SOA. The WSO2 Governance Registry provides an easy-to-use metadata repository complete with support for full versioning, lifecycle management, a rich model for users/roles/permissions, and social features such as tagging, rating and comments. You can easily add services and other resources through the web-based user interface.
WSO2 Governance Registry also has the WS-Discovery support.
WS-Discovery is a technical specification that defines a multicast discovery protocol to locate services on a local network.
You can read more from here.

Other types of look stuff up at a known location:
ebXML Registry
Options based on multicast networking
mDNS/Bonjour/Avahi/ZeroConf
WS-Discovery
UPnP

Could try using WebSphere Service Registry and Repository (WSRR) or similar product.

Related

Web Services Discovery: Is UDDI the next UDDI?

We are building a system that should integrate SOAP web services from different providers.
We want to allow providers to register web services.
It seems exactly the purpose of UDDI.
But according to its wikipedia article UDDI was never adopted widely and has fallen into disuse.
The question is: In favor of what? What is the current proper way of integrating a collection of web services registered by certain authorized providers?
If the answer is UDDI: Where can I find updated information on how to set up my own UDDI service?
I think that "disuse" is more of a 'disuse' publicly on the internet, meaning that there are few publicly available instances of UDDI. A number of large organizations use UDDI behind firewalls.
There are many other alternatives, ebXML, WSO2, WS-Discovery, mDNS, jGroups and more. It all depends on your use case, network topology and who you want to share information with.
For setting up your own UDDI server...
http://juddi.apache.org
We also have a cloud instance available for anyone to use (although it needs maintenance)
disclaimer: I am the PMC for jUDDI

Is there an alternative for UDDI?

I know that UDDI gives the posibility of descovering a web service. Is there any alternative for UDDI that do the same thing : to discover web services?
UDDI is out of the scene these days. People are moving towards semantic web services. WSMO and OWL-s are major initiatives for semantic web services. These solutions can provide more precise results.
Here's a few
mDNS/Bonjour/Avahi - can be used to share endpoint information for a web service, or anything else using a TXT record
WS-Discovery - supported by CXF and WCF, shares implementation of a specific interface
ebXML - had a component similar to UDDI

SOA and web services and ESB

I want to understand some points :
Does using- SOA mean that I am using web services ? (or vice-verse?)
If I use web services with CXF, do I need an ESB ? what are the advantages of ESB like MULE in an architecture with web services ?
if I publish my web services in Java, does that means any client who has my WSDL can use my service, even if he/she uses .NET or something else than Java? Can ESB handle that?
Does using- SOA mean that I am using web services ? (or vice-verse?)
- SOA is a concept and web service is an implementation of SOA. There can be many ways to implement it but the most common one is the web services.
If I use web services with CXF, do I need an ESB ? what are the advantages of ESB like MULE in an architecture with web services ?
ESB is a major component in you SOA. Its the main integration hub.
Following diagram will give you a more understanding about SOA and ESB. (Disclaimer : I work for WSO2 and this is one of the diagram that gives you a clear understanding about SOA and ESB)
http://4.bp.blogspot.com/_yO8q3CIhuZs/S-Zq88vkJlI/AAAAAAAAAak/QAJeDVXVL_4/s1600/wso1.png
if I publish my web services in Java, does that means any client who has my WSDL can use my service, even if he/she uses .NET or something else than Java? Can ESB handle that?
If you are talking about web services, that means they are independent from programming language. Of course ESB can handle it and it can handle many other protocols as it is the integration hub.
Unfortunately, only the use of a specific technology is not a concrete evidence that you are doing SOA, as said in other response by Kasun Indrasiri, SOA is a concept, a technique that can be implemented using various tools from different vendors.
If you are designing services following the SOA Principles, you will be probably doing SOA, even if the tools you are using do not have all the features present in other modern platforms.
In my opinion, if your company does not have a of multi million dollars budget to spend on software licenses, you can still benefit from SOA using current tools.

Is there a standard enterprise technology to catalog your application web services?

Our application has thousands of web services. We are looking for a standard way / technology to provide our clients with list of web services / some documentation and some other meta information?
Use UDDI and WSDL for this.
WSDL is the way to give "some documentation and meta data" as you have mentioned.
UDDI is the way to search for web services.
To get very basic introduction about both of these refer to these links on W3c school on WSDL & UDDI. Once you get a start, you can browse Internet for many UDDI providers and WSDL tutorials.
UDDI (its not dead)
ebXML
mDNS
WS-Discovery

Standard web services v Secure web services

I ask this question in anticipation as part of a project. I have experience of developing and consuming web services in the past and am au fait with those. However I have been told that as part of this next project I will need to use "secure" web services. Can you provide some insight into what additional development tasks there will be to implement these as opposed to standard dare i say it insecure web services?
Cheers
Unless you have a complex multi-hop scenario, then SSL is vastly more practical and interoperable than anything based on WS-Security or related specification
If your going to be using WCF, check out these guide lines on MSDN
Exising ASMX Web Service can be secured using Web Services Enhancements (WSE) 3.0