{"id":4999,"date":"2023-08-24T08:00:00","date_gmt":"2023-08-24T06:00:00","guid":{"rendered":"http:\/\/www.se-trends.de\/?p=4999"},"modified":"2023-08-22T10:27:19","modified_gmt":"2023-08-22T08:27:19","slug":"scaling-with-service-oriented-architectures-soa","status":"publish","type":"post","link":"https:\/\/www.se-trends.de\/en\/skalieren-mit-serviceorientierten-architekturen-soa\/","title":{"rendered":"Scaling with service-oriented architectures (SOA)"},"content":{"rendered":"<p class=\"wp-block-paragraph\">In today's fast-paced world of software development, flexibility, scalability and reusability are of the utmost importance. This is where service-oriented architecture (SOA) comes into play. SOA allows us to provide encapsulated services with clearly defined, \"RESTful\" interfaces. SOA has many features that enable scalability and robustness.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">One of the best-known heads of SOA in Germany was Stefan Tilkov, who died far too young on August 10, 2023. This article is intended to pay tribute to Stefan's achievements in this field.<\/p>\n\n\n\n<!--more-->\n\n\n\n<h2 class=\"wp-block-heading\">What is a service-oriented architecture (SOA)?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">A service-oriented architecture is a method for developing software in which applications are organized as loosely coupled services. These services are autonomous, independent units that communicate with each other via defined interfaces. SOA promotes the modularity, reusability and scalability of software solutions. These services can be organized like a \"<a href=\"http:\/\/www.se-trends.de\/en\/3-ways-to-create-black-box-specifications\/\">Black Box<\/a>\" should be understood.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Instead of monolithic applications, where changes in one part can affect the entire system, SOA-based applications can update individual services without affecting the rest of the application. These services are also called <a href=\"http:\/\/www.se-trends.de\/en\/what-is-a-microservice\/\">Microservice<\/a> called.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">The role of REST in SOA<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">One of the best-known architectural principles that can be applied within SOA is the <a href=\"https:\/\/de.wikipedia.org\/wiki\/Representational_State_Transfer\" target=\"_blank\" rel=\"noreferrer noopener\">Representational State Transfer (REST)<\/a>. REST is an architectural style based on principles such as resources, statelessness, standardized interfaces and cacheability. A RESTful service offers its functionality via standardized HTTP methods, such as GET, POST, PUT and DELETE.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">REST promotes the development of lightweight, scalable and interoperable services. The clear separation between services and their communication allows companies to work more efficiently and react more quickly to changing requirements. RESTful APIs allow applications to communicate with each other without the need for complex integrations.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">REST is just one way to implement SOA. <a href=\"https:\/\/de.wikipedia.org\/wiki\/SOAP\">SOAP<\/a> and <a href=\"https:\/\/de.wikipedia.org\/wiki\/XML-RPC\">XML-RPC<\/a> are older, but still used alternatives.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">REST in practice<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">REST can be seen a bit like \"A website for machines\", as it is also based on the same web technologies, in particular <a href=\"https:\/\/de.wikipedia.org\/wiki\/Hypertext_Transfer_Protocol\" target=\"_blank\" rel=\"noreferrer noopener\">HTTP<\/a>. But instead of rendering a user interface and displaying HTML as the result, a REST interface takes machine-readable data as input and output, often <a href=\"https:\/\/de.wikipedia.org\/wiki\/JavaScript_Object_Notation\" target=\"_blank\" rel=\"noreferrer noopener\">JSON<\/a>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">For testing, we can automatically provide a simple user interface, for example with <a href=\"https:\/\/swagger.io\/\" target=\"_blank\" rel=\"noreferrer noopener\">Swagger<\/a>. Swagger allows us to send data to the service and inspect the result. Swagger is <a href=\"http:\/\/www.se-trends.de\/en\/category\/industry-4-0\/open-source\/\">Open Source<\/a>. Many API companies allow users to access the API via Swagger to get to know it. <a href=\"https:\/\/editor.swagger.io\/\" target=\"_blank\" rel=\"noreferrer noopener\">Here, for example, is a pet database online<\/a>:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img data-src=\"http:\/\/www.se-trends.de\/wp-content\/uploads\/2023\/08\/image-1-793x1024.png\" decoding=\"async\" src=\"data:image\/gif;base64,R0lGODlhAQABAIAAAAAAAP\/\/\/yH5BAEAAAAALAAAAAABAAEAAAIBRAA7\" alt=\"\" class=\"wp-image-5001 lazyload\"\/><noscript><img decoding=\"async\" src=\"http:\/\/www.se-trends.de\/wp-content\/uploads\/2023\/08\/image-1-793x1024.png\" alt=\"\" class=\"wp-image-5001\"><\/noscript><figcaption class=\"wp-element-caption\">Example of a REST endpoint, shown with Swagger. This is an example that we <a href=\"https:\/\/editor.swagger.io\/\" target=\"_blank\" rel=\"noreferrer noopener\">try it out interactively online<\/a> can.<\/figcaption><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Stefan Tilkov and his contribution to SOA<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/www.infoq.com\/news\/2023\/08\/obituary-stefan-tilkov\/\" target=\"_blank\" rel=\"noreferrer noopener\">Stefan Tilkov<\/a> has promoted SOA and REST in Germany. He was a renowned expert in software architecture and made a significant contribution to making SOA and REST known in the developer community through specialist articles, lectures and his company InnoQ. His clear explanations and practical approaches have helped developers to understand these concepts and implement them in their projects.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">His book  <a href=\"https:\/\/www.amazon.de\/gp\/search?ie=UTF8&amp;tag=jastram-21&amp;linkCode=ur2&amp;linkId=e9ef2e1f080a6bc67c3006b0a60ea470&amp;camp=1638&amp;creative=6742&amp;index=books&amp;keywords=REST und HTTP: Einsatz der Architektur des Web f\u00fcr Integrationsszenarien\" target=\"_blank\" rel=\"noreferrer noopener\">REST and HTTP: Using the architecture of the web for integration scenarios<\/a> (affiliate link) is considered a groundbreaking work in the field of RESTful architecture. In this book, Stefan introduces readers to the principles of REST and shows how they can be applied effectively in various application scenarios. His examples and case studies illustrate the benefits of REST-based services in practice.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Stefan Tilkov and rheinjug<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">When I returned to Germany from the USA in 2005, I was very active in Java programming. So I was looking for local Java user groups, as these had served me well in the USA when I was networking. I came across Stefan, who had already tried to start a group in early 2000. When I told him about my plans, he was immediately enthusiastic, but didn't want to get involved himself due to time constraints. I then formed the <a href=\"http:\/\/rheinjug.de\/\" target=\"_blank\" rel=\"noreferrer noopener\">rheinjug<\/a> at the <a href=\"https:\/\/www.hhu.de\/\" target=\"_blank\" rel=\"noreferrer noopener\">Heinrich Heine University D\u00fcsseldorf<\/a>where I later completed my doctorate. However, Stefan actively supported us with sponsorship and specialist lectures. The rheinjug is now a non-profit organization and still offers free lectures several times a year, often with well-known figures from the scene, which attract hundreds of participants.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Conclusion: SOA and REST pave the way for the future of software development<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Service-oriented architectures (SOA) have revolutionized the way we develop and deploy software. By breaking down applications into loosely coupled services, SOA enables organizations to be more agile and respond quickly to changing requirements. REST, as one of the most prominent architectural styles in SOA, promotes the interoperability, scalability and flexibility of applications. The areas of application go far beyond web applications, including <a href=\"http:\/\/www.se-trends.de\/en\/day\/embedded\/\">Embedded systems<\/a> are increasingly being realized with SOA.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Stefan Tilkov's achievements in this field are undeniable. His commitment to spreading knowledge about SOA and REST has helped to inspire and empower a generation of developers. With his books, lectures and articles, he has laid the foundations for future developments in software architecture.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">At a time when technology and business requirements are constantly changing, SOA and REST are more than just concepts - they are the key to creating flexible, scalable and powerful software solutions that meet the challenges of the modern world.<\/p>","protected":false},"excerpt":{"rendered":"<p>In today's fast-paced world of software development, flexibility, scalability and reusability are of the utmost importance. This is where service-oriented architecture (SOA) comes into play. SOA allows us to provide encapsulated services with clearly defined, \"RESTful\" interfaces. SOA has many features that enable scalability and robustness. One of the best-known minds of SOA in Germany was Stefan Tilkov,...<\/p>","protected":false},"author":1,"featured_media":5003,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_kad_post_transparent":"","_kad_post_title":"","_kad_post_layout":"","_kad_post_sidebar_id":"","_kad_post_content_style":"","_kad_post_vertical_padding":"","_kad_post_feature":"","_kad_post_feature_position":"","_kad_post_header":false,"_kad_post_footer":false,"_kad_post_classname":"","footnotes":""},"categories":[141,45],"tags":[107,524,688,307,306,687],"class_list":["post-4999","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-menschen","category-standards-methoden","tag-architektur","tag-microservice","tag-rest","tag-services","tag-soa","tag-stefan-tilkov"],"_links":{"self":[{"href":"https:\/\/www.se-trends.de\/en\/wp-json\/wp\/v2\/posts\/4999","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.se-trends.de\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.se-trends.de\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.se-trends.de\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.se-trends.de\/en\/wp-json\/wp\/v2\/comments?post=4999"}],"version-history":[{"count":0,"href":"https:\/\/www.se-trends.de\/en\/wp-json\/wp\/v2\/posts\/4999\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.se-trends.de\/en\/wp-json\/wp\/v2\/media\/5003"}],"wp:attachment":[{"href":"https:\/\/www.se-trends.de\/en\/wp-json\/wp\/v2\/media?parent=4999"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.se-trends.de\/en\/wp-json\/wp\/v2\/categories?post=4999"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.se-trends.de\/en\/wp-json\/wp\/v2\/tags?post=4999"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}