Microservices Expo Authors: Pat Romanski, Liz McMillan, Elizabeth White, Stefana Muller, Karthick Viswanathan

Related Topics: Microservices Expo

Microservices Expo: Article

Service Discovery: Perspectives on the Past, Present, & Future

Service Discovery: Perspectives on the Past, Present, & Future

Service discovery and identification is a critical piece of the overall Web services puzzle. Existing service architectures, such as CORBA, JINI, and ebXML, have all devoted significant effort towards making service discovery available and comprehensive. If Web services is to become a ubiquitous platform for service oriented computing, then the industry will need to create standards and products that enable sophisticated discovery, identification, and composition of Web services.

This month, Radovan Janecek and Peter Alesso join Web Services Journal in exploring the state of service discovery today. Radovan leads development at Systinet, creating industry-leading implementations of Web services standards (UDDI, SOAP, WSDL) as part of an overall Web services platform. Peter joins us from WebIQ and Lawrence Livermore National Laboratory. He is currently engaged in a broad range of research related to software services, wireless computing, and artificial intelligence. (As a brief aside, I'd like to recommend Peter's book, The Intelligent Wireless Web, to all those interested in a broad and integrative view of these topics.) With both academic and commercial experts as guides, let's take a brief look at the past, present, and future of Web services and discovery.

To give us a baseline, could you both define service discovery and its major components?
Radovan: I view service discovery as the ability to provide a service identifier according to some specified metadata. What are the major components? It's hard to say since it always depends on discovery usage. My vote is that service discovery is composed of a semantic processor, a registry, a query processor, and a service locator. Additionally, I believe that future discovery services will provide semantics-based discovery.
Peter: Currently there are several methods of discovering Web services - from manual to automated. At the manual end of the spectrum, techniques include e-mail, Web browsing, phone calls, and word-of-mouth. Next, consider publishing services and service descriptions on various Web sites via formatted files, such as Microsoft's DISCO and IBM's ADS. These can be used to create standardized file formats and look up definitions.

A more sophisticated approach to discovery is that of Web services brokers (SalCentral, XMethods, and Silicon Hills Group) who actively manage services for service providers by providing a means to publish, promote, sell, test, and support their Web services. The final approach to Web service discovery is automated and dynamic service registries, such as UDDI. Like service brokers, the UDDI registry provides a Web page interface. But UDDI registries also provide application programming interfaces (APIs) for publishing, finding, and binding services. This makes UDDI registries more dynamic and complex than any other type of Web service discovery method.

Please describe your academic, research, and/or commercial history as it relates to Web services.
Radovan: I have been leading development of WASP UDDI at Systinet for two years. From the beginning we had our own vision of UDDI called the "UDDI Grid" - a federated registry of UDDI nodes with much better security support than the UDDI standard requires. As a vendor of a general Web services infrastructure, we always paid a lot of attention to the integration of UDDI with Web services. This led to the publishing of a technical paper on how to publish WSDL to UDDI.

During my Ph.D. studies, I was a member of CORBA and Distributed Systems Research Group (http://nenya.ms.mff.cuni.cz), where I worked on dynamic updates of distributed components. Discovery was also an important part of that research.
Peter: As a software researcher at www.Web-iq.com and Lawrence Livermore National Laboratory, I have been investigating Web service applications for the next generation Web architecture - the Semantic Web. This has involved three main functions: service discovery, execution, and composition and interoperation. Also, wireless Semantic Web services are of particular interest to me.

I'd like to get your 50,000-foot overview of the state of service discovery today.
Radovan: Today many discovery services are in fact only location services. One system to study is the ebXML Registry/Repository that is a part of ebXML technology and is designed to be used for miscellaneous discovery purposes. It has a generic data model and multiple APIs allowing both queries and storage of the data. UDDI, on the other hand, is a global lightweight registry used as discovery service with a strictly defined data model and API. In many cases, people are satisfied by more simple solutions based on DISCO or WS-Inspection. A critical problem of discovery services is how to register with them. Possibly the main reason that powerful discovery services are not widely used is the difficulty of the registration process.
Peter: UDDI is not the service registry itself. Instead, it provides a standard mechanism for publishing and discovering services within the registry. It is not currently an official standard, but a specification involving a collaboration of over 300 companies who formed to become the UDDI project. This project is responsible for running a UDDI business registry, which for UDDI Version 1.0 actually consists of two separate registries. Each UDDI registry has a business as an operator, which is similar to the companies that operate the service repositories for service brokerages. Currently, the two UDDI Version 1.0 registry operators are IBM and Microsoft. The agreement is that any information entered in one registry becomes replicated in all other registries as well. Version 2.0 of UDDI has recently been released. From a technical standpoint, UDDI provides structured data and a defined way of integrating with the structured data. The UDDI project's stated intent is to have the registry support services integrate with a wide set of existing core Internet technologies, such as Java, Jini, CORBA, ebXML, RMI, and HTML.

In your opinion, what is the most advanced service discovery system in place today? Please feel free to use any example that comes to mind and don't limit your answer to traditional software systems.
Radovan: Certainly Google! (Laughs) Practically speaking, more services are discovered this way than any other method.
Peter: UDDI 2.0. The UDDI 2.0 specifications were published on Monday June 18, 2002, at uddi.org, a major version update for the Universal Description, Discovery and Integration protocol.

What are the strengths and weaknesses of UDDI? And, is it the right platform for a long-term service discovery strategy?
Radovan: I see the main strengths of UDDI as its broad vendor support and its simplicity. The weakest point of UDDI is the lack of repository abstraction - UDDI is an index only. Another weakness of UDDI is that it has no explicit support for Web services. Long term, I wouldn't be surprised to see UDDI merge into the ebXML registry. Overall, I have very high hopes for the future of UDDI under OASIS stewardship.
Peter: If you're asking if UDDI will succeed as the Web service description and discovery standard, I can only say that since Web services infrastructure is in its infancy, this question is at the very heart of the success of this new technology.

So far, business adoption of UDDI 1.0 has been tentative and has not yet fulfilled its potential. UDDI 2.0 seems about to reinforce UDDI's position as a global yellow pages, rather than upgrading its capabilities as a Web services directory.

However, the UDDI 2.0 registry operators will share data and synchronize their databases. This trend toward broader cooperation and building a future infrastructure of many UDDI registries is positive.

Why do you believe that the usage of service discovery, specifically with Web services, has been anemic to date?
Radovan: I wouldn't say anemic, but it depends on exactly what you are asking. I agree that the originally intended use of public UDDI is anemic. On the other hand, I see lots of activity with hundreds of companies using and testing UDDI in a private capacity. As for the public use of UDDI, I think the reason it is lagging is exactly the same as in the case of the CORBA Trading Service in the CORBA world: low demand.

In both cases, there is nearly nothing to discover. If you look at the biggest public registry of Web services, XMethods, you will find up to 300 services. You really don't need UDDI for such an amount of mostly anonymous and unreliable Web services. But any large company, such as a JP Morgan or General Motors, has thousands of services internally and they are usually disorganized. There is the potential for UDDI to make a difference and solve problems.
Peter: I'm unable to provide a clear commercial picture of the current state of usage of either service discovery, in general, or UDDI in particular. Both are the focus of serious growth and ongoing development, but at this early stage, difficulties in implementing and validating new services, as well as limitations due to competitive tradeoffs, make the situation somewhat difficult. Software architects will still have to spend considerable time evaluating and validating tradeoffs before making commitments to Web service vendors.

What will the next generation of discovery services look like and what are the biggest challenges to solve to make them work?
Radovan: The next generation will center on semantic-based discovery as a backbone for service management systems as well as services runtimes. Balancing reasonable registration processes against creating powerful semantics will be difficult.
Peter: The successful development of Web services will greatly depend on the ability to automate as much of the Web services process as possible under interoperable standards. Matchmaking, or service discovery, is one important aspect of Web services' e-commerce interactions and advanced matchmaking services require rich and flexible metadata that are not supported by current industry standards, such as UDDI and ebXML.

The most advanced vision for the next generation of Web services is the development of Web services over Semantic Web architecture. The Semantic Web initiative at W3C is generating technologies and tools that could fulfill the requirement for advanced matchmaking services. Support of Semantic Web- related technologies includes tools such as RDF (Resource Description Framework) and DAML-S.

This provides support for automated Web service composition and interoperability. Integral to this effort will be three main functions: service discovery, execution, and composition and interoperation. Of these three tasks, none is entirely realizable with today's Web, primarily because of the lack of a suitable markup language. Academic research on Web service discovery is growing out of agent matchmaking research. Recent industrial efforts have focused primarily on improving Web service discovery and aspects of service execution through initiatives, such as UDDI and ebXML.

And finally, put on your oracle hat and list three standards that you believe are the most critical to the advancement of Web services and discovery.
Radovan: Well, I'd say: a) RDF or a similar semantics-supporting standard and a corresponding query language; b) REST as a means for resources location and modification; and c) security, security, and more security.
Peter: The success of Web services depends on the ongoing development of open standards that ensure interoperability between different implementations. The standardization efforts for the technologies that underlie Web services include SOAP, WSDL, UDDI, ebXML, RosettaNet, BTP, and S2ML.

Our Web Services Experts
Internet innovator, engineer, and author, H. Peter Alesso has led successful research and development programs at Lawrence Livermore National Laboratory (LLNL) for over 20 years. At LLNL, he led a team of computational physicists and engineers in a wide range of successful multimillion-dollar software development research projects ranging from software applications for robotics to parallel processing of supercomputers and clustered networks. Peter holds an M.S. and advanced engineering degree from MIT, and has published over 30 journal and conference papers, as well as two books: e-Video: Producing Internet Video as Broadband Technologies Converge (Addison-Wesley, 2000); and The Intelligent Wireless Web (Addison-Wesley, 2001).

Radovan Janecek is the VP of Engineering at Systinet. Prior to joining Systinet in 2000, he worked for the IBM T.J. Watson Research Institute, where his research and development focused on software-based speech processing engines, and multimodal control of software applications. He also worked for Borland/Inprise as a CORBA and Java consultant. Radovan was a Ph.D. candidate and served on the faculty of Mathematics and Physics at Charles University in Prague, where he was a member of the CORBA and Distributed Systems Research Group. He holds a master's degree in mathematics and informatics from Palacky University in Olomouc, Czech Republic.

More Stories By Michael A. Sick

Michael Sick is the Founder and President of Serene Software, a Jacksonville, Florida firm specializing in Enterprise Architecture (EA) via IT Strategy, IT Governance, IT Budgeting, Service Oriented Architectures (SOA), and IT Legacy Planning services. With over 15 years of experience, he has served as VP Development, Enterprise Architect and Lead Software Architect, while providing expertise to organizations like BAE, Sun Microsystems, Badcock Furniture, Raytheon (Future Combat Systems), the United States Air Force, USDA, BearingPoint, and other firms. Areas of interest include: SOA, IT budget optimization and planning, cloud and distributed computing, and process optimization.

Comments (0)

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.

Microservices Articles
The explosion of new web/cloud/IoT-based applications and the data they generate are transforming our world right before our eyes. In this rush to adopt these new technologies, organizations are often ignoring fundamental questions concerning who owns the data and failing to ask for permission to conduct invasive surveillance of their customers. Organizations that are not transparent about how their systems gather data telemetry without offering shared data ownership risk product rejection, regu...
Containers and Kubernetes allow for code portability across on-premise VMs, bare metal, or multiple cloud provider environments. Yet, despite this portability promise, developers may include configuration and application definitions that constrain or even eliminate application portability. In this session we'll describe best practices for "configuration as code" in a Kubernetes environment. We will demonstrate how a properly constructed containerized app can be deployed to both Amazon and Azure ...
DevOps is often described as a combination of technology and culture. Without both, DevOps isn't complete. However, applying the culture to outdated technology is a recipe for disaster; as response times grow and connections between teams are delayed by technology, the culture will die. A Nutanix Enterprise Cloud has many benefits that provide the needed base for a true DevOps paradigm. In their Day 3 Keynote at 20th Cloud Expo, Chris Brown, a Solutions Marketing Manager at Nutanix, and Mark Lav...
The now mainstream platform changes stemming from the first Internet boom brought many changes but didn’t really change the basic relationship between servers and the applications running on them. In fact, that was sort of the point. In his session at 18th Cloud Expo, Gordon Haff, senior cloud strategy marketing and evangelism manager at Red Hat, will discuss how today’s workloads require a new model and a new platform for development and execution. The platform must handle a wide range of rec...
The Internet of Things is clearly many things: data collection and analytics, wearables, Smart Grids and Smart Cities, the Industrial Internet, and more. Cool platforms like Arduino, Raspberry Pi, Intel's Galileo and Edison, and a diverse world of sensors are making the IoT a great toy box for developers in all these areas. In this Power Panel at @ThingsExpo, moderated by Conference Chair Roger Strukhoff, panelists discussed what things are the most important, which will have the most profound e...
If your cloud deployment is on AWS with predictable workloads, Reserved Instances (RIs) can provide your business substantial savings compared to pay-as-you-go, on-demand services alone. Continuous monitoring of cloud usage and active management of Elastic Compute Cloud (EC2), Relational Database Service (RDS) and ElastiCache through RIs will optimize performance. Learn how you can purchase and apply the right Reserved Instances for optimum utilization and increased ROI.
TCP (Transmission Control Protocol) is a common and reliable transmission protocol on the Internet. TCP was introduced in the 70s by Stanford University for US Defense to establish connectivity between distributed systems to maintain a backup of defense information. At the time, TCP was introduced to communicate amongst a selected set of devices for a smaller dataset over shorter distances. As the Internet evolved, however, the number of applications and users, and the types of data accessed and...
Consumer-driven contracts are an essential part of a mature microservice testing portfolio enabling independent service deployments. In this presentation we'll provide an overview of the tools, patterns and pain points we've seen when implementing contract testing in large development organizations.
In his session at 19th Cloud Expo, Claude Remillard, Principal Program Manager in Developer Division at Microsoft, contrasted how his team used config as code and immutable patterns for continuous delivery of microservices and apps to the cloud. He showed how the immutable patterns helps developers do away with most of the complexity of config as code-enabling scenarios such as rollback, zero downtime upgrades with far greater simplicity. He also demoed building immutable pipelines in the cloud ...
You have great SaaS business app ideas. You want to turn your idea quickly into a functional and engaging proof of concept. You need to be able to modify it to meet customers' needs, and you need to deliver a complete and secure SaaS application. How could you achieve all the above and yet avoid unforeseen IT requirements that add unnecessary cost and complexity? You also want your app to be responsive in any device at any time. In his session at 19th Cloud Expo, Mark Allen, General Manager of...