Blog

What are web services?

Today, if your computer runs services or applications from big computing companies, it is nearly absolute that you are running their web-service-based applications. Microsoft, Hewlett-Packard, Sun, IBM, and Oracle have applied this service for a long time in their business and, as you can see, they have made their success with it even though they never come with new ideas at least for several years. Well, it is not an easy process they should pass because they need to create a completely-different standard for network communication. In fact, web services they found may have changed the way we know and build websites.


We can define web services as a service application that provides the functionality of particular software over the network. Without the presence of web services, it is impossible for internet-based programs such as ASP, JavaBeans, JSP, COM object, PHP, and widgets to make a request to currently-running program to another web service (server) and furthermore use as well as optimize the response from the website program, application, or WAP service.

In other words, you can simply understand with the help of my ‘simple’ analogy. 
You need to complete one or more programming task, but you currently do not have time or even skills to complete the project if you persist to do it. Now, instead of forcing yourself to make it happens which may lead to low-quality project, you can ask a web-development expert on the internet to do the same task by calling him/her through web service. Under normal circumstance, you can expect to get the prompt response which passes requirements you previously set.
Well, if you current or previous user of Microsoft Hotmail service, you must acknowledge that this e-mail service ever had its passport authentication system. This system was one of the web services Microsoft has in its.NET initiative. At that time, everyone can access and use this service for free which is quite useful especially for developers in supporting their websites with passport authentication.

Microsoft passport authentication system is just one service among many web services we can find on the internet. Usually, each service comes from the different company which makes sense when you can find some differences among them, even though they may look general in many things.    


Learning the basics
Some people thing that everything happens beyond any service on the internet is very complex. Well, for some services, they may get the truth point, but it does not apply with web services. Once you have known and learned the basics, you will soon realize that the principles of web services are simple. In fact, it only applies all basic principles of distributed computing as well as the internet itself.
• Whenever you issue your request, web-service provider will define the appropriate format for the application and make relevant response from the service
• A computer is the only requirement in making a request for the services across the internet
• Before you make an appropriate response, the web-service provider will perform some necessary action which is relevant to the previous request
The action we are talking may cover any request you issue to the system, including translation task, adding a schedule to your agenda, bidding for the best rate for an exotic item you want, credit card validation, and nearly all possible projects a man can do.


Standard support
Companies may have their reason in applying the web services, but people do always have simply, different reason than companies’ reason. That is the usual fact we get in a service industry. While each of us has our liability in coming with reason we respect as the best, the common reason that unifies us lies at one crucial fact: web services model is the ultimate combination of standard and open network protocols both for data transmission and calling services. 

We need a new standard that unifies all web services to eliminate any difficulties we get when we send the specific request to a provider.This issue had long become a hot debate until the world knows XML or eXtensible Markup Language. This XML is a web language we base on the old HTTP protocol we have. Unlike HTTP, XML offers easy access for everyone, including developers in optimizing all resources the network has, especially its advanced technologies. So, they can develop any product, service, or application as long as they know how to do it.    

As I previously said, web service is a simple development from the old network technologies we have in the past, but it does not mean there is no difference takes presence between both technologies. There are contrast differences, if we want to look it further, especially if we compare web services with past network technologies such as RMI, DCOM, named pipes and other similar ‘old’ technologies. 
The most common difference lies at standard the web services use. Most web services stand on open standards. Unlike old standards, relying on the opposite allows developers to command the services quickly through various supports across different operating systems, such as Windows and Unix.
Simple Object Access Protocol or SOAP has now become the standard W3C protocol in defining application form web services should handle. In specifying the format, web-service provider and user will exchange SOAP messages through SOAP ‘envelopes’ which contain request over some specific actions and then result of the action. Today, SOAP envelopes use XML format and easy enough for developers to perform the encoding process.

SOAP envelope is not only easy to decode because of its XML format, but also easy to understand. There are two standard parameters all SOAP envelope contains. ValidatePostCode stands as the first parameter which some developers likely recognize as the identity of the web service itself. Other data you can find within the same SOAP envelope, such as SOAP version and text encoding feature, come as useful items for the web service in processing user’s request.


Forget the UDDI
The important fact about web service is: even though we have this simple technology on our network and its SOAP protocol, it will do nothing for the system as well as our purposes if we cannot find the ‘appropriate’ way to find them. Luckily, some computing companies such as Ariba, Microsoft, and IBM started the initiation project and invented one project all creatures know the Universal Description, Discovery, and Integration (UDDI) project. It is the plan these companies hope to become definitive ‘library’ for all web services on the network.
Furthermore, UDDI allows computing companies as well as other companies running any niche to offer any network-based services to other companies by imitating the process of a telephone book. Until today, businesses have agreed to apply no cost for any services that have relevance with web service registration in UDDI database. In addition, most of the business founders put their hope that UDDI will provide everyone a centralized list of reference for all services on the network. With this service takes presence, all developers will be able to use UDDI to locate particular service provider they prefer the most.


How the system works?
So, when should you use a web service?
In order to give you a ‘relevant’ answer, I would like both of us to assume my standing as a web developer. Well, I will stand as the amateur, not a person with expertise. One of my clients on the web niche, asked me to create a new feature on his company’s website. As my response, I told the man that it is necessary for me to include postal code validation feature for the verification process to determine whether I have put the postal code correctly or not. It is important because there website registration form requires user to submit their postal code as part of user’s personal information collection.

The verification process should go through postal code validation for more than thirty countries where my client runs his business. Furthermore, the same process will also check whether user has correctly submitted the right postal code. Well, since I do not run my post office service, I do not have resource library for this information and even though I force myself to go through the validation process while I do not own the information, it will only cost me the serious amount of money. Now, there is an alternative way I can pick. I can write some lines of code by myself, maintain the data I need, and finally tune performance of the system. For the next stage, I will proceed to the UDDI investigation and find out whether there has been relevant information I can use. I can simply do it by browsing www.uddi.org and searching for appropriate service from my client’s company.

I discreetly perform examination over the web service definition in order to make sure that I will get only information I need. Later, I speak with my friends on the web-service industry to check the solidity of my client’s company and speak with my client about the budget. After getting the perfect budget for the project, I will write some lines of code with will call the company’s service from JPS page I own and, voila, proceed with the installation of postal code verification.


It is worth your invisible resource
Even if you put yourself outside site development, you still have minor responsibilities, even the tiniest one, to know about your website. Assume yourself for being present at a meeting with your client, and both of you discuss features you should provide in the new project. Brilliant things come to your mind, including the budget and how you set the expectations. Everyone loves the site map, interface prototype, and everything. All you made for the website is awesome.

Later, your client told you that they may like an additional monstrous feature to take the present at your website. Your client talked about a feature that even made your developer who sat across the meeting table grew a pale face. That is the clearest, simplest, and worthiest signal you can get from your developer that the idea is not the best shot you can push. Instead, it is likely it will only become not feasible due to the cost. 
Well, you should never fear it at all! Web service is the one you need if you look for outstanding functions and affordable cost which is far below your budget. Help your developer in removing his/her pain and save your client’s money with this ultimate UDDI solution.


Service development
Developers are now free from the old task when they should content themselves with using web services other developers created previously. With the support of today’s new frameworks, developers can use built-in XML and SOAP tools to create their web services and make it available for everyone to use.

There are multiple options web developers can choose when it comes to web service. Like some company’s offerings, such as Sun with its Open Net, Microsoft with its.NET, HP with its e-services, and IBM with its web services, there is a project they all set at open-source level everyone can use as the complete framework for any web service development.

One of the web-service frameworks even tries to replace Microsoft.NET development project by creating a different runtime, libraries, and compilers for web-service development on Unix OS and other non-Microsoft platforms. Despite the rapid expansion of website servers and development tools, universal supports for XML, UDDI, and SOAP augur well for both consistency and interoperability.


Caveats
So, before your developer resigns from the job or content himself/herself with web services from other developers at all time, help him or her by providing these useful points:
• When you choose to use web service, you agree to use XML as the standard language and its big-sized message as well. XML requires the significant space in creating a message which is quite troublesome if you do not own large space on cloud, physical, or both storages.
• Even though you can use cloud storage to ease your work, it also means you should rely on the network. There is no worry for you if your internet connection goes perfectly for the whole time. However, once a shortage occurs, there are many potential points of development failure that may happen between your web-service provider and other servers.
• Today, you can only find few companies which develop their web services, and there are less than these companies which use these outstanding features. It will drain their time to breed and test web services before they can reach its optimum functionality level, once again they need professional web developer.
• Charging models as well as licensing for web services must pass through developers’ web-service standards. 
Today, when business world faces many web services at the field, it is likely we need more time than we currently have until we can make the good impression by keeping the operation cost as low as possible and reasonable. Until that, all cost of services will remain in grey area. Once it comes to the perfect place and moment, web services can quickly evolve to an ultimate asset not only for businesses, but also developers as well. It will allow all people to gain access to flexible and new computing world. It will be the time for all people to build their web services and get everything on the site as long as the network provides it.