This is going to be a multi-lesson topic; that is, we’ll first explore why web services (to be more precise: simple web services) are so important. Then, we will have a lesson on how to configure Netbeans for development and test of simple web services. This will show how to do a fully integrated and end-to-end development so we can track web service calls inside the IDE from the web browser to the backend and then back to the browser. Next, we’ll show how to integrate our web services into our WordPress and Generic web sites. I also plan a bonus section where I will walk through a similar way of doing all of this in Windows and on IIS. So let’s get started with the “Why?” question
Why Web Services
Perhaps an illustration from “the real world” can help you visualize why and how web services might make your web development life easier. The following sidebar will describe the circumstances.
So let’s summarize why web services are indispensable for the web developer
- Web Services can allow us to pull data from a variety of domains and repositories from a single web site.
- With server side web services, we can protect the intellectual property of our code; and, we can protect the login credentials of our web service requests. See this lesson for an example using Weather Underground’s web services.
- They can provide a wonderful caching layer for data
- Through their asynchronous nature, the user can see some or perhaps a bit stale data while they wait for the backend – thus improving the user experience.
- This layer can provide the triple-As of security: Auditing, Access control, and Authentication to just the data sets that require it. In other words, why secure everything when only a small fraction requires it?
- Most data needs some level of “scrubbing” before a user receives it and using a more robust programming language on the server can do this “heavy lifting” in the server-side web services layer.
- Component functionality such as the data-scrubbing just mentioned, can be centrally located on one or a few servers that are apart from the web server farm. The web server farm can make requests to these servers. Face it, most data servers require different capabilities than web servers and by using distributed component (data) servers alongside web servers, it’s less expensive (in both hardware and management costs) to support.
Why Not Web Services?
So at this point, you are going to ask me why not web services and to be fair, let me give you what I’ve seen:
- Too Complex. This is probably the most common reason I hear from not going this route. Folks think that just doing everything in the web farm is simpler and easier. Or, they suggest that writing code in Asp.Net or JSP or PHP that runs on the standard server farm is easier. However, it has been my experience that it may be easier to write code like this initially; but it’s very complicated to support. In the next lessons, we’ll see ways to greatly simplify web services development when there are multiple teams involved.
- Less Secure. I always scratch my head when I hear this one. I think “less secure” has become a wildcard that folks will play when they don’t understand something in IT or don’t want to understand it (see sidebar below). I would argue that Web services are more secure and in the upcoming lessons, we’ll look at that in detail.
- Nobody Knows About that Here. Well, continue to visit this site and we’ll tell/show you how.
In this introduction, I hope you have acquired an interest in learning more about how web services can help your web development. We’ll dig into code and some simple sample solutions; but first, we need to complete the setup of our development system. That’s next.