This thesis analyse distributed systems and web services to see if web services can be used as a foundation for distributed systems. The thesis looks at the theoretical and practical aspects of both distributed systems and web services. The thesis is divided into four parts: Distributed systems, web services, web services development and evaluation.
Distributed systemsDistributed systems have been a part of computer science for decades. They are systems where different components in a network, communicate with each other and coordinate their actions only by passing messages. A component may be a program execution on a computer or a device such as a computer or a printer. It is a rather simple definition, but it covers the entire range of systems that can be called distributed systems. Both the general characteristics and some of the specific characteristics of distributed systems are explored.
Web servicesWeb services technology is a relatively new development. It is based upon the principles of distributed systems. A web service is a set of functions that are published to a network for use by other programs. Many people regard web services as a technology only for publishing software services on the Internet via browsers, while others regard them as the "new big thing" in distributed computing that is working as general purpose architectures. Both the general characteristics and some of the specific characteristics of web services are explored.
Web services developmentTwo distributed applications and their web services counterpart are described using the same programming language. This way the differences between the distributed applications and the web service applications are better highlighted. The distributed applications are developed using Java RMI. Both development solutions for both applications are regarded and evaluated.
EvaluationBoth the theoretical and the practical parts are evaluated as a whole. The intention is to try to find an answer to the given problem description "can web services be used as foundation for distributed systems". By only looking at the definitions of distributed systems and web services it may seem as if web services are only applicable to some areas of distributed computing. Web services contain many features which satisfy the goals of distributed systems. And in many cases they will probably be the appropriate way of designing a distributed system. However there are limits to when web services can be used as foundation for distributed systems. It is probably better to use a distributed solution internally in an organisation or system and to use a web service solution in smaller and less trivial solutions, especially if the web service is made by an external party. However, there is no single correct answer to the question of whether to use a distributed or web service solution for any given task and as the technology evolves and new and better ideas are developed, the interest for and the quality of web services will probably grow. This may produce better and faster web services and less trivial publicly available web services.