Background Over the last couple of years I have been working on large enterprise projects for a large corporation.  I am recognised at the company a leading web developer.  I am being groomed to become an Enterprise Architect. One of the things that keeps me up at night is a convergence of a technology called Web Services.

Introduction to Web Services
Web services, for those of you who are not technically up on the topic, are basically web pages built for other web pages.  You know how you go to a web site and there is an online form to fill out that control your access to the site, that control how you search for something, or they allow you to post a message to your friends.  Well, web services are forms, but instead of them being for people to fill out, they are for other computers to fill out.  So computer ‘A’ can talk to computer ‘B’ with carefully formed pages. 

You can see this at work today with all sorts web sites.  The easiest example to explain is www.weather.com.  If you develop a web site you can get code from www.weather.com to put on your web site so that you display the weather at your house.  Now your web site doesn’t know how to check the weather, but it does know your location.  Your web site tells www.weather.com your location and gets the forecast.  Your web site is talking to their web site.

Now of course this is a very easy and simple example.  If you were to develop this into a standard you would want to build up some requirements.  First off you would want to address security.  You want to make sure that if web services were being used to look up your bank account balance that no one would be able to steal money from you.  Additionally it would suck that if you told your bank to withdrawal some money and transfer it somewhere, and the bank missed that whole where to transfer it to part.  You want some way to ensure that your message was completed and done and received.  You need some quality assurance.  Another thing to think about is that you might have a bunch of web services (say google) which all do the same thing, and if one goes out, you need it to fail over Finally there are major differences between computer hardware and software.  If my server is IBM running Java, you want it to talk to a Linux server running PHP as well as a Macintosh running Perl.

I don’t want to get into all the nit-picky details but all these additional requirements make the whole mess of Web Services much more complex.  They are the parts of the plumbing that is not all that sexy but are needed to do the cool parts.

Introduction to Computing Theory: or The Next Couple of Years One important thing to think about with computer is that there are basically 3 parts of any computer.  There is a display or output of information.  There is a calculating of information.  Finally there is some form of storage.  So lets look at the computer I am writing this on.  There is the 21inch monitor.  That is out output.  Another part of the computer is the CPU.  The computer I have in front of me has a 2.1ghz Intel Dual Core 2.  This is the calculating unit for this computer.  Finally I have a 100GB hard drive and 3GB of ram.  This is the data storage.

Today I am not seeing this model being used in web services.  I think there is an opportunity to divide web services up into the following categories.  The first would be Data Services for the storage and retrieval of data.  The second type of web services would be calculation services.  Finally we would have a web service for output.


Comments

With an account on the Fediverse or Mastodon, you can respond to this post. Since Mastodon is decentralized, you can use your existing account hosted by another Mastodon server or compatible platform if you don't have an account on this one. Known non-private replies are displayed below.


Webmentions

Connect your blog or website to this post via Webmentions. Link to this article and your response will appear below, fostering a web-wide discussion. Supports comments, likes, and reposts from any Webmention-enabled site.



...

Exploring the Existence of External Standards and Human Value

Bespreekbaarheid: The Missing Ingredient in IT Organizations

Explore the concept of Bespreekbaarheid, a Dutch term that encourages open dialogue and transparency, and discover why it's crucial for...

AI User Interfaces and Experiences in 2023

An in-depth analysis of Google's response to the AI competition and its impact on the tech landscape. Exploring the shift...

The Revolution of Mobile Computing: From Mainframes to Smartphones

This article explores the evolution of computing from mainframes to PCs, laptops, and ultimately to mobile phones. The author emphasizes...

The Future of Web-Based Computing: Revolutionizing the Creative Industry

This article showcases videos of a MacBook Pro running Windows 7 that launches complex applications like Photoshop and Unreal tournament...

Motorola's Project Ara: The Future of Modular Smartphones or a Doomed Venture?

The article explores Motorola's project Ara, an ambitious idea of creating smartphones with individual, purchasable components. While intriguing, the author...