{"id":9009,"date":"2019-01-10T07:00:39","date_gmt":"2019-01-10T15:00:39","guid":{"rendered":"http:\/\/formtek.com\/blog\/?p=9009"},"modified":"2018-11-30T10:40:04","modified_gmt":"2018-11-30T18:40:04","slug":"web-services-what-will-the-next-state-of-distributed-computing-be","status":"publish","type":"post","link":"https:\/\/formtek.com\/blog\/web-services-what-will-the-next-state-of-distributed-computing-be\/","title":{"rendered":"Web Services: What Will the Next State of Distributed Computing Be?"},"content":{"rendered":"<p>Distributed Computing.\u00a0 The ability for machines and applications to intercommunicate with each other.<\/p>\n<p>Early web service technologies included <a href=\"https:\/\/en.wikipedia.org\/wiki\/Remote_procedure_call\">RPC<\/a> (Remote Procedure Call), <a href=\"https:\/\/en.wikipedia.org\/wiki\/Common_Object_Request_Broker_Architecture\">CORBA <\/a>(Common Object Request Broker Architecture) and <a href=\"https:\/\/en.wikipedia.org\/wiki\/Distributed_Component_Object_Model\">Microsoft DCOM<\/a> (Distributed COM).<\/p>\n<p>CORBA, in particular, mainly because it was designed by committee, is incredibly complex and difficult to use. CORBA made external calls look like local calls and developers often weren&#8217;t defensive enough in their programming to factor in parameters like network reliability, latency and bandwidth, which led to performance issues.\u00a0 CORBA methods were often very granular and required many back and forth communications, further impacting performance.<\/p>\n<p>For many applications, lighter-weight solutions like <a href=\"https:\/\/en.wikipedia.org\/wiki\/SOAP\">SOAP web services<\/a> became a better option. XML data exchange simplified and standardized communication between systems and application programming languages.\u00a0 But ultimately the size of the XML payloads and the complexity when dealing with things like security led people to look for more streamlined options.<\/p>\n<p><a href=\"https:\/\/en.wikipedia.org\/wiki\/Representational_state_transfer\">REST (Representational State Transfer)<\/a> web services is an architectural style that offers a simpler approach to remote communication.\u00a0 JSON payloads are typically used which provides for a more concise packet of information to process.\u00a0 Over the last ten years, REST Web Services have been well accepted and become the defacto method used by businesses to expose their web service APIs.<\/p>\n<p>What&#8217;s after REST?\u00a0 Some people say it&#8217;s <a href=\"https:\/\/en.wikipedia.org\/wiki\/GraphQL\">GraphQL<\/a>.\u00a0 By using queries as part of the request, GraphQL allows the data to included in the response to be more precisely pinpointed.\u00a0 This reduces the number of back-and-forth requests and shrinks the size of the data packets transmitted.\u00a0 While the approach adds value, it is not significantly different than REST.<\/p>\n<p><a href=\"https:\/\/en.wikipedia.org\/wiki\/Tim_Bray\">Tim Bray<\/a>, one of the original designers of XML, noted limitations that users of REST web services still need to contend with.\u00a0 Bray notes that pain points include latency and difficulty in orchestrating many remote calls.<\/p>\n<p><a href=\"https:\/\/www.tbray.org\/ongoing\/When\/201x\/2018\/11\/18\/Post-REST\">Bray said<\/a> that &#8220;It seems in\u00adevitable to me that, par\u00adtic\u00adu\u00adlar\u00adly in the world of high-throughput high-elasticity cloud-native app\u00ads, we\u2019re go\u00ading to see a steady in\u00adcrease in re\u00adliance on per\u00adsis\u00adtent con\u00adnec\u00adtion\u00ads, or\u00adches\u00adtra\u00adtion, and message\/event-based log\u00adic. If you\u2019re not us\u00ading that stuff al\u00adready, now would be a good time to start learn\u00ading.&#8221;<\/p>\n<p>&nbsp;<\/p>\n<div class=\"lightsocial_container\"><div class=\"lightsocial_element\"><a class=\"lightsocial_a\" href=\"http:\/\/digg.com\/submit?url=https%3A%2F%2Fformtek.com%2Fblog%2Fweb-services-what-will-the-next-state-of-distributed-computing-be%2F&amp;title=\" target=\"_blank\"><img decoding=\"async\" class=\"lightsocial_img\" src=\"https:\/\/formtek.com\/blog\/wp-content\/plugins\/light-social\/digg.png\" alt=\"Digg This\" title=\"Digg This\" \/><\/a><\/div><div class=\"lightsocial_element\"><a class=\"lightsocial_a\" href=\"http:\/\/www.reddit.com\/submit?url=https%3A%2F%2Fformtek.com%2Fblog%2Fweb-services-what-will-the-next-state-of-distributed-computing-be%2F&amp;title=\" target=\"_blank\"><img decoding=\"async\" class=\"lightsocial_img\" src=\"https:\/\/formtek.com\/blog\/wp-content\/plugins\/light-social\/reddit.png\" alt=\"Reddit This\" title=\"Reddit This\" \/><\/a><\/div><div class=\"lightsocial_element\"><a class=\"lightsocial_a\" href=\"http:\/\/www.stumbleupon.com\/submit?url=https%3A%2F%2Fformtek.com%2Fblog%2Fweb-services-what-will-the-next-state-of-distributed-computing-be%2F&amp;title=\" target=\"_blank\"><img decoding=\"async\" class=\"lightsocial_img\" src=\"https:\/\/formtek.com\/blog\/wp-content\/plugins\/light-social\/stumbleupon.png\" alt=\"Stumble Now!\" title=\"Stumble Now!\" \/><\/a><\/div><div class=\"lightsocial_element\"><a class=\"lightsocial_a\" href=\"http:\/\/buzz.yahoo.com\/buzz?targetUrl=https%3A%2F%2Fformtek.com%2Fblog%2Fweb-services-what-will-the-next-state-of-distributed-computing-be%2F&amp;headline=\" target=\"_blank\"><img decoding=\"async\" class=\"lightsocial_img\" src=\"https:\/\/formtek.com\/blog\/wp-content\/plugins\/light-social\/yahoo_buzz.png\" alt=\"Buzz This\" title=\"Buzz This\" \/><\/a><\/div><div class=\"lightsocial_element\"><a class=\"lightsocial_a\" href=\"http:\/\/www.dzone.com\/links\/add.html?title=&amp;url=https%3A%2F%2Fformtek.com%2Fblog%2Fweb-services-what-will-the-next-state-of-distributed-computing-be%2F\" target=\"_blank\"><img decoding=\"async\" class=\"lightsocial_img\" src=\"https:\/\/formtek.com\/blog\/wp-content\/plugins\/light-social\/dzone.png\" alt=\"Vote on DZone\" title=\"Vote on DZone\" \/><\/a><\/div><div class=\"lightsocial_element\"><a class=\"lightsocial_a\" href=\"http:\/\/www.facebook.com\/sharer.php?t=&amp;u=https%3A%2F%2Fformtek.com%2Fblog%2Fweb-services-what-will-the-next-state-of-distributed-computing-be%2F\" target=\"_blank\"><img decoding=\"async\" class=\"lightsocial_img\" src=\"https:\/\/formtek.com\/blog\/wp-content\/plugins\/light-social\/facebook.png\" alt=\"Share on Facebook\" title=\"Share on Facebook\" \/><\/a><\/div><div class=\"lightsocial_element\"><a class=\"lightsocial_a\" href=\"http:\/\/delicious.com\/save?title=&amp;url=https%3A%2F%2Fformtek.com%2Fblog%2Fweb-services-what-will-the-next-state-of-distributed-computing-be%2F\" target=\"_blank\"><img decoding=\"async\" class=\"lightsocial_img\" src=\"https:\/\/formtek.com\/blog\/wp-content\/plugins\/light-social\/delicious.png\" alt=\"Bookmark this on Delicious\" title=\"Bookmark this on Delicious\" \/><\/a><\/div><div class=\"lightsocial_element\"><a class=\"lightsocial_a\" href=\"http:\/\/www.dotnetkicks.com\/kick\/?title=&amp;url=https%3A%2F%2Fformtek.com%2Fblog%2Fweb-services-what-will-the-next-state-of-distributed-computing-be%2F\" target=\"_blank\"><img decoding=\"async\" class=\"lightsocial_img\" src=\"https:\/\/formtek.com\/blog\/wp-content\/plugins\/light-social\/dotnetkicks.png\" alt=\"Kick It on DotNetKicks.com\" title=\"Kick It on DotNetKicks.com\" \/><\/a><\/div><div class=\"lightsocial_element\"><a class=\"lightsocial_a\" href=\"http:\/\/dotnetshoutout.com\/Submit?title=&amp;url=https%3A%2F%2Fformtek.com%2Fblog%2Fweb-services-what-will-the-next-state-of-distributed-computing-be%2F\" target=\"_blank\"><img decoding=\"async\" class=\"lightsocial_img\" src=\"https:\/\/formtek.com\/blog\/wp-content\/plugins\/light-social\/dotnetshoutout.png\" alt=\"Shout it\" title=\"Shout it\" \/><\/a><\/div><div class=\"lightsocial_element\"><a class=\"lightsocial_a\" href=\"http:\/\/www.linkedin.com\/shareArticle?mini=true&amp;url=https%3A%2F%2Fformtek.com%2Fblog%2Fweb-services-what-will-the-next-state-of-distributed-computing-be%2F&amp;title=&amp;summary=&amp;source=\" target=\"_blank\"><img decoding=\"async\" class=\"lightsocial_img\" src=\"https:\/\/formtek.com\/blog\/wp-content\/plugins\/light-social\/linkedin.png\" alt=\"Share on LinkedIn\" title=\"Share on LinkedIn\" \/><\/a><\/div><div class=\"lightsocial_element\"><a class=\"lightsocial_a\" href=\"http:\/\/www.technorati.com\/faves?add=https%3A%2F%2Fformtek.com%2Fblog%2Fweb-services-what-will-the-next-state-of-distributed-computing-be%2F\" target=\"_blank\"><img decoding=\"async\" class=\"lightsocial_img\" src=\"https:\/\/formtek.com\/blog\/wp-content\/plugins\/light-social\/technorati.png\" alt=\"Bookmark this on Technorati\" title=\"Bookmark this on Technorati\" \/><\/a><\/div><div class=\"lightsocial_element\"><a class=\"lightsocial_a\" href=\"http:\/\/twitter.com\/home?status=Reading+https%3A%2F%2Fformtek.com%2Fblog%2Fweb-services-what-will-the-next-state-of-distributed-computing-be%2F\" target=\"_blank\"><img decoding=\"async\" class=\"lightsocial_img\" src=\"https:\/\/formtek.com\/blog\/wp-content\/plugins\/light-social\/twitter.png\" alt=\"Post on Twitter\" title=\"Post on Twitter\" \/><\/a><\/div><div class=\"lightsocial_element\"><a class=\"lightsocial_a\" href=\"http:\/\/www.google.com\/buzz\/post?url=https%3A%2F%2Fformtek.com%2Fblog%2Fweb-services-what-will-the-next-state-of-distributed-computing-be%2F\" target=\"_blank\"><img decoding=\"async\" class=\"lightsocial_img\" src=\"https:\/\/formtek.com\/blog\/wp-content\/plugins\/light-social\/google_buzz.png\" alt=\"Google Buzz (aka. Google Reader)\" title=\"Google Buzz (aka. Google Reader)\" \/><\/a><\/div><\/div>","protected":false},"excerpt":{"rendered":"<p>Distributed Computing.\u00a0 The ability for machines and applications to intercommunicate with each other. Early web service technologies included RPC (Remote Procedure Call), CORBA (Common Object Request Broker Architecture) and Microsoft DCOM (Distributed COM). CORBA, in particular, mainly because it was<span class=\"ellipsis\">&hellip;<\/span><\/p>\n<div class=\"read-more\"><a href=\"https:\/\/formtek.com\/blog\/web-services-what-will-the-next-state-of-distributed-computing-be\/\">Read more &#8250;<\/a><\/div>\n<p><!-- end of .read-more --><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[38],"tags":[],"class_list":["post-9009","post","type-post","status-publish","format-standard","hentry","category-web-services"],"_links":{"self":[{"href":"https:\/\/formtek.com\/blog\/wp-json\/wp\/v2\/posts\/9009","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/formtek.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/formtek.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/formtek.com\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/formtek.com\/blog\/wp-json\/wp\/v2\/comments?post=9009"}],"version-history":[{"count":3,"href":"https:\/\/formtek.com\/blog\/wp-json\/wp\/v2\/posts\/9009\/revisions"}],"predecessor-version":[{"id":9012,"href":"https:\/\/formtek.com\/blog\/wp-json\/wp\/v2\/posts\/9009\/revisions\/9012"}],"wp:attachment":[{"href":"https:\/\/formtek.com\/blog\/wp-json\/wp\/v2\/media?parent=9009"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/formtek.com\/blog\/wp-json\/wp\/v2\/categories?post=9009"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/formtek.com\/blog\/wp-json\/wp\/v2\/tags?post=9009"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}