Microservices Expo Authors: Derek Weeks, Elizabeth White, Gopala Krishna Behara, Sridhar Chalasani, Tirumala Khandrika

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.

@MicroservicesExpo Stories
Some people are directors, managers, and administrators. Others are disrupters. Eddie Webb (@edwardawebb) is an IT Disrupter for Software Development Platforms at Liberty Mutual and was a presenter at the 2016 All Day DevOps conference. His talk, Organically DevOps: Building Quality and Security into the Software Supply Chain at Liberty Mutual, looked at Liberty Mutual's transformation to Continuous Integration, Continuous Delivery, and DevOps. For a large, heavily regulated industry, this task...
DevOps promotes continuous improvement through a culture of collaboration. But in real terms, how do you: Integrate activities across diverse teams and services? Make objective decisions with system-wide visibility? Use feedback loops to enable learning and improvement? With technology insights and real-world examples, in his general session at @DevOpsSummit, at 21st Cloud Expo, Andi Mann, Chief Technology Advocate at Splunk, explored how leading organizations use data-driven DevOps to clos...
The goal of Microservices is to improve software delivery speed and increase system safety as scale increases. Microservices being modular these are faster to change and enables an evolutionary architecture where systems can change, as the business needs change. Microservices can scale elastically and by being service oriented can enable APIs natively. Microservices also reduce implementation and release cycle time and enables continuous delivery. This paper provides a logical overview of the Mi...
The notion of improving operational efficiency is conspicuously absent from the healthcare debate - neither Obamacare nor the newly proposed GOP plan discusses the impact that a step-function improvement in efficiency could have on access to healthcare (through more capacity), quality of healthcare services (through reduced wait times for patients) or cost (through better utilization of scarce, expensive assets).
Our work, both with clients and with tools, has lead us to wonder how it is that organizations are handling compliance issues in the cloud. The big cloud vendors offer compliance for their infrastructure, but the shared responsibility model requires that you take certain steps to meet compliance requirements. Which lead us to start poking around a little more. We wanted to get a picture of what was available, and how it was being used. There is a lot of fluidity in this space, as in all things c...
Gone are the days when application development was the daunting task of the highly skilled developers backed with strong IT skills, low code application development has democratized app development and empowered a new generation of citizen developers. There was a time when app development was in the domain of people with complex coding and technical skills. We called these people by various names like programmers, coders, techies, and they usually worked in a world oblivious of the everyday pri...
The “Digital Era” is forcing us to engage with new methods to build, operate and maintain applications. This transformation also implies an evolution to more and more intelligent applications to better engage with the customers, while creating significant market differentiators. In both cases, the cloud has become a key enabler to embrace this digital revolution. So, moving to the cloud is no longer the question; the new questions are HOW and WHEN. To make this equation even more complex, most ...
Some journey to cloud on a mission, others, a deadline. Change management is useful when migrating to public, private or hybrid cloud environments in either case. For most, stakeholder engagement peaks during the planning and post migration phases of a project. Legacy engagements are fairly direct: projects follow a linear progression of activities (the “waterfall” approach) – change managers and application coders work from the same functional and technical requirements. Enablement and develo...
Admiral Calcote - also known as Lee Calcote (@lcalcote) or the Ginger Geek to his friends - gave a presentation entitled Characterizing and Contrasting Container Orchestrators at the 2016 All Day DevOps conference. Okay, he isn't really an admiral - nor does anyone call him that - but he used the title admiral to describe what container orchestrators do, relating it to an admiral directing a fleet of container ships. You could also say that they are like the conductor of an orchestra, directing...
The past few years have brought a sea change in the way applications are architected, developed, and consumed—increasing both the complexity of testing and the business impact of software failures. How can software testing professionals keep pace with modern application delivery, given the trends that impact both architectures (cloud, microservices, and APIs) and processes (DevOps, agile, and continuous delivery)? This is where continuous testing comes in. D
Modern software design has fundamentally changed how we manage applications, causing many to turn to containers as the new virtual machine for resource management. As container adoption grows beyond stateless applications to stateful workloads, the need for persistent storage is foundational - something customers routinely cite as a top pain point. In his session at @DevOpsSummit at 21st Cloud Expo, Bill Borsari, Head of Systems Engineering at Datera, explored how organizations can reap the bene...
The dynamic nature of the cloud means that change is a constant when it comes to modern cloud-based infrastructure. Delivering modern applications to end users, therefore, is a constantly shifting challenge. Delivery automation helps IT Ops teams ensure that apps are providing an optimal end user experience over hybrid-cloud and multi-cloud environments, no matter what the current state of the infrastructure is. To employ a delivery automation strategy that reflects your business rules, making r...
Gaining visibility in today’s sprawling cloud infrastructure is complex and laborious, involving drilling down into tools offered by various cloud services providers. Enterprise IT organizations need smarter and effective tools at their disposal in order to address this pertinent problem. Gaining a 360 - degree view of the cloud costs requires collection and analysis of the cost data across all cloud infrastructures used inside an enterprise.
SYS-CON Events announced today that Synametrics Technologies will exhibit at SYS-CON's 22nd International Cloud Expo®, which will take place on June 5-7, 2018, at the Javits Center in New York, NY. Synametrics Technologies is a privately held company based in Plainsboro, New Jersey that has been providing solutions for the developer community since 1997. Based on the success of its initial product offerings such as WinSQL, Xeams, SynaMan and Syncrify, Synametrics continues to create and hone in...
Kubernetes is an open source system for automating deployment, scaling, and management of containerized applications. Kubernetes was originally built by Google, leveraging years of experience with managing container workloads, and is now a Cloud Native Compute Foundation (CNCF) project. Kubernetes has been widely adopted by the community, supported on all major public and private cloud providers, and is gaining rapid adoption in enterprises. However, Kubernetes may seem intimidating and complex ...
You know you need the cloud, but you’re hesitant to simply dump everything at Amazon since you know that not all workloads are suitable for cloud. You know that you want the kind of ease of use and scalability that you get with public cloud, but your applications are architected in a way that makes the public cloud a non-starter. You’re looking at private cloud solutions based on hyperconverged infrastructure, but you’re concerned with the limits inherent in those technologies.
For DevOps teams, the concepts behind service-oriented architecture (SOA) are nothing new. A style of software design initially made popular in the 1990s, SOA was an alternative to a monolithic application; essentially a collection of coarse-grained components that communicated with each other. Communication would involve either simple data passing or two or more services coordinating some activity. SOA served as a valid approach to solving many architectural problems faced by businesses, as app...
Many IT organizations have come to learn that leveraging cloud infrastructure is not just unavoidable, it’s one of the most effective paths for IT organizations to become more responsive to business needs. Yet with the cloud comes new challenges, including minimizing downtime, decreasing the cost of operations, and preventing employee burnout to name a few. As companies migrate their processes and procedures to their new reality of a cloud-based infrastructure, an incident management solution...
Cloud Governance means many things to many people. Heck, just the word cloud means different things depending on who you are talking to. While definitions can vary, controlling access to cloud resources is invariably a central piece of any governance program. Enterprise cloud computing has transformed IT. Cloud computing decreases time-to-market, improves agility by allowing businesses to adapt quickly to changing market demands, and, ultimately, drives down costs.
Recent survey done across top 500 fortune companies shows almost 70% of the CIO have either heard about IAC from their infrastructure head or they are on their way to implement IAC. Yet if you look under the hood while some level of automation has been done, most of the infrastructure is still managed in much tradition/legacy way. So, what is Infrastructure as Code? how do you determine if your IT infrastructure is truly automated?