Programming is the process of planning a sequence of steps called instructions for the computer to follow. The fact that you are reading this post you already know that computers lack common sense and cannot make any judgment. So the computer will do as instructed by the programmer through the computer program. Programming is more about problem solving than coding.
A problem is the difference between things as perceived and things as desired. A solution will move the situation from the things as perceived to the things as desired.
Programmers are problem solvers and need to improve the art and science of problem solving. On one hand problem solving involves an element of art in that experience, judgment and common sense can help deliver smart solutions. On the other hand problems solving is a science involving scientific means of arriving at solutions. Overall, there are several steps to be taken to solve problems
To begin with there has been considerable attention to web services in the last couple of years since early 2000. For starters web service are no more that applications that are designed to be used across the web. Web services provide a program-to-program programming model where one service invokes another using web standards including the well known HTTP and XML. Here I outline the main benefits, some technical others business.
Interoperability – when faced with a challenge varying systems architectures, legacy systems, a cocktail of programming languages that make up systems that make up systems which need to be integrated then web services come in handy. Perhaps the most important benefit of web services they provide a non proprietary means of interactions. Web services only need to speak the same message protocol for them to inter-operate. So far a common set of standards-based communications method that include HTTP, WSDL, SOAP have been developed. These make it possible for web services to be platform-independent.
Usability – web services are designed to be used over the web, that is just in the same way a page is fetched, one can fetch web services capability over the web. The capability of a web services varies from simple information lookup to complex algorithmic computations. Therefore when a service is used to expose a business logic, then it can easily used.
Re-usability – Web Services are designed to be combined to deliver more added value services. Web services serve as building blocks and this makes it easy to reuse Web Service components as appropriate in other services. Also legacy applications can be wrapped into web services for use by others
Deploy ability – Web Services are deployed over standard Internet technologies. For instance using Apache, Axis2 to provide HTTP, WSDL driven services. This makes it simple to deploy
Agility – this looks at ability to change. When a an enterprise IT infrastructure is streamlined into services, new functionality to address new business demands is a matter of assembling existing services. Of course a few more services may need to build, but overall it is easier that re-building a new system from scratch.
Quality – Related to reuse, because web service development approaches allows services to be built by assembling existing existing services, it logical to expect that such services are already tested with known performance characteristics. Therefore new systems will be less buggy.
Cost – The cost of developing new systems reduces significantly since such systems are assembled from ready made web services. Such cost reductions translate into profits on may be passed on the customers. The customers stand to win from cost cuts and efficiency brought in by web service
Overall, an enterprise that streamlines its operations into web services stands to benefit in many aspects.