A Web user searches a private UDDI, finds a service and invokes the service.
What kind of architecture and frameworks would be needed?
What are the software components that should be used ? Eg. Apache SOAP, Axis, IBM UDDI Registry, uddi4j, etc.?
You need a Web Services Platform (WSP) consisting of a SOAP runtime system and a private UDDI server. There are lots to choose from for the Java platform. Some vendors provide a complete, integrated WSP -- including BEA WebLogic, Cape Clear, IBM WebSphere, IONA XMLBus, Novell exteNd, Oracle 9iAS, Sun JWSDP, Systinet WASP, and The Mind Electric GLUE. (My personal favorites are WASP and GLUE. Systinet provides free downloads for the complete platform. The Mind Electric provides a free evaluation for the SOAP runtime, but you need to contact them to get the UDDI registry.)
You can also construct your platform piece-meal: you need a SOAP stack, a servlet engine, a UDDI registry, and a UDDI client API. Apache, Cape Clear, IBM, IONA, Novell, Sun, Systinet and The Mind Electric provide standalone SOAP stacks. IBM, Novell, and Systinet provide standalone UDDI servers. If you prefer to use open source technology, I recommend Apache Axis (SOAP stack), Tomcat or Jetty (servlet engines), Novell Nsure UDDI Server (UDDI), and uddi4j (UDDI client API). You might also want to try the Web Services Invocation Framework (WSIF), which is an alternative SOAP client API. I strongly discourage you from using Apache SOAP. It's very old technology, and the project has been superceded by Axis.
For those of you not using Java, you need to get a platform that supports your particular language. For .NET languages (C#, VB.NET, etc), use Microsoft .NET Framework. For COM-based languages (VB/VC++ 6.0, etc), try Microsoft SOAP Toolkit or PocketSOAP. For portable C/C++, try Systinet WASP for C++ or gSOAP. You can also find platforms for Perl, PHP, Python, Ruby, Tcl, and other scripting languages. See this list of SOAP implementations. None of these systems includes a UDDI registry, so you'll need to get a standalone registry (IBM, Novell, or Systinet). Microsoft also provides a registry with Windows Server 2003.
Dig Deeper on Topics Archive
Related Q&A from Anne Thomas Manes
Anne Thomas Manes explains the differences between open source clients and open source implementations. Continue Reading
Anne Thomas Manes discusses the best way to go about creating an enterprise data dictionary and why the systems works well. Continue Reading
Anne Thomas Manes explains the difference between 'hard' real time and 'live' real time systems. Continue Reading