The tech sector in Washington accounts for 22% of the state economy and ranks first…
The Untangled Web We Can Weave
By John Chaney, President, Dexter + Chaney
These are exciting times for software developers. Cloud computing is re-emerging from a two-decade-long flirtation with personal computing. New mobile computing options are exploding onto the scene, with devices that weren’t even on the market 5 years ago poised to outsell laptop computers this year. And both of these technology trends are feeding each other. The more computing that that is performed on mobile devices, the more sense it makes to move processing power and data storage to the cloud. And as more browser-based applications become available via the cloud, the utility of the mobile devices that can access them increases.
So again, if you are a software developer these days you are living in pretty exciting times. You are either riding the wave of the new software platform provided by the cloud and mobile computing (good exciting) or you are racing to catch up and get your applications ready for the new way people and business are accessing and using software (bad exciting).
In all the excitement of the race to the mobile cloud, there is one aspect of software development that has not received as much attention. How will all these applications that are moving away from the client-server paradigm play well together in the cloud? By definition, isn’t the cloud a less structured environment? As more developers move applications to the cloud, will the API ties that have bound them be broken?
If it’s not fixed, break it
The path to interoperability in the cloud has already been fairly well identified, and while it isn’t completely paved, it’s already being travelled. Yes, the way APIs worked for non-cloud applications will be “broken” as the applications move to the cloud, but the advantages of Web APIs – a. k. a. Web services – are significant beyond the fact that they serve to replace traditional programming interfaces.
Traditional APIs were specific to a particular application or software system. When it came to connecting to complex systems such as ERP software, the specifications could be unwieldy. I can recall receiving API documents in excess of 1,000 pages in length. And of course as applications were updated, the connections had to be refreshed.
It’s all semantics
Moving software to the Web does not, by itself, solve the problem of custom and cumbersome APIs. But the potential to solve for a simpler way for software to interoperate does present itself. One inherent advantage of web-based applications is the fact that they use ubiquitous protocols such as HTML and XML for user interface and user experience. Launch a browser and you can launch the application. Can the same type of protocol or standard be created that allows web-based applications to inherently communicate and understand each other?
The answer is yes, and in my opinion it already exists in the form of the Semantic Web. For those unfamiliar, the Semantic Web, roughly speaking, is a way to take the disparate data that exists across the World Wide Web and tie it together. Hyperlinks and other mechanisms serve that purpose to some extent today, but the idea behind the Semantic Web is to make these types of connections behind the scenes – to in a sense automate them using standard data formats that machines can interpret. And this is more than just an idea – it is being actively promoted by the W3C (World Wide Web Consortium).
I should point out that when it comes to standards, I am very skeptical. I’ve seen them come and go and for everyone that sticks, a dozen or more are never adopted. But the ones that are adopted share a few common characteristics, among those being the fact that they solve a real and pressing need and that they make life simpler, not more complex. I won’t bet the farm on the W3C version of the Semantic Web. But I will lay odds on the fact that adding some type of standardized structure to at least a subset of the data on the Web will happen because it simply makes sense.
The implications of adding a standardized layer of intelligence to the Web are far-reaching, and not all positive (think privacy). But the utility of doing so is considerable. The more web data points that become connected, the more valuable the data becomes. And with a standard in place to allow machines to find relevant information, the implementation of Web services becomes considerably easier. Data and applications becoming better connected in the cloud is pretty exciting proposition to me, both as a developer and a consumer of online data.
John Chaney is the President and Co-Founder of Seattle-based construction software provider Dexter + Chaney. He can be reached at jchaney@dexterchaney.com, and more information on the company can be found at www.dexterchaney.com.
