Web Services, those discreet re-usable pieces of code we find everywhere nowadays, are becoming even more ubiquitous within Information Technology Departments for a very good reason, Because they work. Also, in theory, they go a long way towards reducing application development costs. The challenge that Web Services has is that they aren’t very intelligent. Let me provide you with a quick example that will illustrate the problem.
Let’s say that you’re an information service provider and your customers access information through a Web Service that you’ve built. It’s a pretty straightforward process: build the web service, make it available, (validate identities and access – I won’t get into that right now) and let the good times roll. The challenge begins when you want to add intelligence to your Web service. For example, if the customer is a Platinum Subscriber then make all of this information available. However, if they are buying a single report without an Annual Subscription, then you want to only make section 1 & 3 available. Without intelligence, you quickly realize that every possible permutation will lead to the need for a new/modified web service. The inevitable proliferation of web services will become a challenge to keep track of and a nightmare to manage the difficulty of applying code revisions or updates to each web service.
Wouldn’t it be more efficient if you could just build a single web service and simply apply rules that would remove or redact information that fell outside of the rules. Come to think of it, that almost sounds like the kind of capability you would find in some government conspiracy spy novel. Well, as is usually the case, the truth is stranger than fiction; if you place a Gateway in front of a Web Service you can do exactly that. A Gateway is really a high performance Input/Output device that gives you ability to apply rules to network traffic going into and out of the Gateway. Given its capabilities, you can apply everything from simple to sophisticated rules to redact information based upon whatever criteria you define. It’s a very simple and elegant way to solve a vexing problem, and a Gateway will energize your web services without a whole lot of effort.