Login | Register   
RSS Feed
Download our iPhone app
Browse DevX
Sign up for e-mail newsletters from DevX


Why We Need Extreme Late Binding

Even today's modern APIs are just as inflexible and static as the fixed, early bound APIs of old.


According to Wikipedia, late binding is a mechanism in which the method being called upon an object is looked up by name at runtime. This mechanism was useful in Microsoft’s Component Object Model (COM), because compilers wouldn’t have to reference libraries at compile time. Late binding is related to dynamic dispatch, which is the process of selecting which implementation of a polymorphic operation (method or function) to call at runtime.

The rise of Web Services in the early 2000s extended the definition of late binding. In the original vision for Web Services, Service consumers would look up the WSDL file for a desired Service in a UDDI registry, and bind to the resulting Service at runtime based upon the particular WSDL and the instructions the consumer would find inside it.

Only such “dynamic discovery” proved impractical in most situations, and furthermore, UDDI as a standard proved awkward and fundamentally useless. Instead, late binding in the SOA context represented a dynamic lookup of the endpoint location of a Web Service, where the WSDL file was already available for developers when they created or configured the consumer.

While this maturation of Web Services followed a convoluted path, REST cut through the noise with a more direct approach. Dynamic lookups follow the pattern of DNS, where a gateway intermediary can resolve one URI into another. We all know how DNS works, so why complicate matters?

Simply finding the desired Service or resource endpoint, however, is only the price of admission. Even with REST we still have the problem of ensuring the client and resource agree on other metadata associated with the distributed interaction. Such metadata may include data schemas, policies, or richer semantic content related to the interaction. REST addresses this problem via hypermedia: the client and resource interact via repeated following of hyperlinks on the client. Done properly, hypermedia drive the application on the client – but most RESTafarians can’t get this to work, and furthermore, hypermedia don’t address the broader enterprise integration challenge where the client is an arbitrary piece of software and the application isn’t ensconced in the client.

Cut to 2014. We’ve traveled the SOA gauntlet, and we’ve leveraged some aspects of REST (although maybe not the hypermedia bits). Today the story is the API Economy. But what are APIs but static interfaces? Even with the addition of contract metadata (having learned the lessons of Web Services), we still have the late binding challenge: how do two arbitrary endpoints understand all the metadata relevant to their interaction?

We need what I like to call extreme late binding: the ability for distributed computing endpoints to negotiate their interaction at runtime by leveraging all the metadata that apply to that interaction. Without such extreme late binding, even today’s modern APIs are just as inflexible and static as the fixed, early bound APIs of old.

Jason Bloomberg is Chief Evangelist at EnterpriseWeb, where he drives the message and the community for EnterpriseWeb’s next generation enterprise platform. He is a global thought leader in the areas of Cloud Computing, Enterprise Architecture, and Service-Oriented Architecture. He is a frequent conference speaker and prolific writer, and he also serves as blogger for DevX. His latest book, The Agile Architecture Revolution: How Cloud Computing, REST-based SOA, and Mobile Computing are Changing Enterprise IT (John Wiley & Sons), was published in March 2013. Prior to EnterpriseWeb he was President of ZapThink, where he created the Licensed ZapThink Architect (LZA) SOA course and associated credential, and ran the LZA course as well as his Enterprise Cloud Computing course around the world. He was also the primary contributor to the ZapFlash newsletter and blog for twelve years. Mr. Bloomberg is one of the original Managing Partners of ZapThink LLC, the leading SOA advisory and analysis firm, which was acquired by Dovel Technologies in August 2011. Mr. Bloomberg’s book, Service Orient or Be Doomed! How Service Orientation Will Change Your Business (John Wiley & Sons, 2006, coauthored with Ron Schmelzer), is recognized as the leading business book on Service Orientation. He also co-authored the books XML and Web Services Unleashed (SAMS Publishing, 2002), and Web Page Scripting Techniques (Hayden Books, 1996). He has a diverse background in eBusiness technology management and industry analysis, including serving as a senior analyst in IDC’s eBusiness Advisory group, as well as holding eBusiness management positions at USWeb/CKS (later marchFIRST) and WaveBend Solutions (now Hitachi Consulting).
Comment and Contribute






(Maximum characters: 1200). You have 1200 characters left.



Thanks for your registration, follow us on our social networks to keep up-to-date