Diploma and Master Theses (authored and supervised):
"A flexible testing framework for comparing service-based architectures";
Supervisor: S. Dustdar, M. Vögler;
Institute of Information Systems, Distributed Systems Group,
final examination: 2017-05-29.
In the last decade, Service-Oriented Architectures (SOA) became popular. Applications were splitted into loosely coupled components that have been made available over a network to provide some specific kind of processing functionality. In theory, this architecture consists of a Service provider that offers some functionality, a Service registry that knows the address of the provider and a Service requestor that learns about the provider by the registry and uses the provided functionality [HS05].
However, in practice a so called Enterprise Service Bus (ESB) was often used to integrate various services. Using an ESB, each service is connected to a central node called ESB. The ESB is responsible to route incoming messages to the correct recipients and to transform the data so that it can be understood by the target service. As a result, services depend even less on each other since they donīt have to know the address, protocol or message format how to interact [PTDL07, Men07].
However, a rather new approach for building distributed applications are the so called Microservices [Thö15]. As the name implies, communicating services are very small, e.g., they perform just a single task. Besides the restriction to a smaller scope and to just one purpose, probably the main difference to ESBs is the communication to other services. As already mentioned, when using an ESB and requesting a resource, the sender only knows the address of the ESB, which is responsible for forwarding it to the right
destination. However, in a Microservice architecture, a service knows the address of every other service it is communicating with. Martin Fowler and James Lewis denoted this characteristics "smart endpoints and dumb pipes" in contrast to ESBs [FL14].
Due to the difference how these previously mentioned architectural styles communicate and are built, performance differences are expected. The aim of this work is to implement a testing framework in order to evaluate these expected differences. Additionally, based
on an evaluation, commonalities and differences will be analyzed and discussed in this thesis.
Created from the Publication Database of the Vienna University of Technology.