For years, Thomas Erl´s Service-Oriented Architecture: Concepts, Technology, and Design has been the definitive end-to-end tutorial on SOA, service orientation, and service technologies. Now, Erl and a world-class team of service experts have thoroughly updated their best-seller to reflect the new practices, technologies, and strategies that have emerged through the past decade of hard-won SOA experience. Fully reflective of modern SOA environments, this Second Edition presents dozens of current case study examples, as well as 300+ diagrams that illuminate every key facet of creating, leveraging, and sustaining contemporary SOA. Erl and his colleagues guide you through every key phase of the SOA delivery lifecycle, from analysis and design through modern governance. Coverage includes: * How SOA has evolved: crucial lessons learned, and current best practices * Service technologies: WS-* and REST in contemporary environments * Service Orientation principles and techniques, including new approaches to Service Inventories * Building SOA: planning, analysis, modeling, technology, and design * Governing SOA, including new SOA Governance Frameworks and Vitality approaches
´´This new edition is brighter, shinier, more complete, more pragmatic, more focused than the previous one, and I wouldn´t have thought it possible to improve on the original. As the field of software architecture has grown over these past decades, there is much more to be said, much more that we know, and much more that we can reflect upon of what´s worked and what hasn´t-and the authors here do all that, and more.´´ -From the Foreword by Grady Booch, IBM Fellow Software architecture-the conceptual glue that holds every phase of a project together for its many stakeholders-is widely recognized as a critical element in modern software development. Practitioners have increasingly discovered that close attention to a software system´s architecture pays valuable dividends. Without an architecture that is appropriate for the problem being solved, a project will stumble along or, most likely, fail. Even with a superb architecture, if that architecture is not well understood or well communicated-in other words, is not well documented-the project cannot be deemed a complete success. This revision of Documenting Software Architectures provides the most complete and current guidance, independent of language or notation, on how to capture an architecture in a commonly understandable form. Drawing on their extensive experience, the authors first help you decide what information to document, and then, with guidelines and examples (in various notations, including UML), show you how to express an architecture so that others can successfully use, maintain, and build a system from it. The book features rules for sound documentation, the goals and strategies of documentation, architectural views and styles, documentation for software interfaces and software behavior, and templates for capturing and organizing information to generate a coherent package. New and improved in this second edition: * Coverage of documentation for new architectural styles, such as service-oriented architectures, multi-tier architectures, and architectures for aspect-oriented systems * Guidance oriented to documentation in an Agile development environment * Deeper treatment of the systematic rationale, reflecting best industrial practices * Improved templates, reflecting years of use and feedback, and more documentation layout options * A new, comprehensive example (available online), featuring documentation of a Web-based service-oriented system
Use the many types of tools required to navigate and maintain a microservice ecosystem. This book examines what is normally a complex system of interconnected services and clarifies them one at a time, first examining theoretical requirements then looking at concrete tools, configuration, and workflows. Building out these systems includes many concerns such as containerization, container orchestration, build pipelines and continuous integration solutions, automated testing, service discovery, logging and analytics. You will examine each of these tools and understand how they can be combined within an organization. You will design an automated build pipeline from Pull Request to container deployment, understand how to achieve High Availability and monitor application health with Service Discovery, and learn how to collaborate with other teams, write documentation, and describe bugs. Covering use of Jenkins, Docker, Kubernetes, the ELK stack (Elasticsearch, Logstash, and Kibana), and StatsD and Grafana for analytics, you will build on your existing knowledge of Service-Oriented Architecture and gain an advanced, practical understanding of everything from infrastructure development to team collaboration. What You´ll Learn Design an API to be convenient for developers to consume. Deploy dynamic instances of Microservices and allow then to discover each other. Track the health of a Microservice and be notified in case of degraded performance. Write effective documentation and communicate efficiently with other teams. Who This Book Is For Those who would like a better understanding of System Oriented Architecture. Those who would like to break a monolith into smaller Microservices. Those who are familiar with Microservices and would like a better understanding of peripheral technologies.
Business process management is usually treated from two different perspectives: business administration and computer science. While business administration professionals tend to consider information technology as a subordinate aspect in business process management for experts to handle, by contrast computer science professionals often consider business goals and organizational regulations as terms that do not deserve much thought but require the appropriate level of abstraction. Mathias Weske argues that all communities involved need to have a common understanding of the different aspects of business process management. To this end, he details the complete business process lifecycle from the modeling phase to process enactment and improvement, taking into account all different stakeholders involved. After starting with a presentation of general foundations and abstraction models, he explains concepts like process orchestrations and choreographies, as well as process properties and data dependencies. Finally, he presents both traditional and advanced business process management architectures, covering, for example, workflow management systems, service-oriented architectures, and data-driven approaches. In addition, he shows how standards like WfMC, SOAP, WSDL, and BPEL fit into the picture. This textbook is ideally suited for classes on business process management, information systems architecture, and workflow management. This 2nd edition contains major updates on BPMN Version 2 process orchestration and process choreographies, and the chapter on BPM methodologies has been completely rewritten. The accompanying website www.bpm-book.com contains further information and additional teaching material.
Service-oriented computing has become one of the predominant factors in IT research and development efforts over the last few years. In spite of several standardization efforts that advanced from research labs into industrial-strength technologies and tools, there is still much human effort required in the process of finding and executing Web services. Here, Dieter Fensel and his team lay the foundation for understanding the Semantic Web Services infrastructure, aimed at eliminating human intervention and thus allowing for seamless integration of information systems. They focus on the currently most advanced SWS infrastructure, namely SESA and related work such as the Web Services Execution Environment (WSMX) activities and the Semantic Execution Environment (OASIS SEE TC) standardization effort. Their book is divided into four parts: Part I provides an introduction to the field and its history, covering basic Web technologies and the state of research and standardization in the Semantic Web field. Part II presents the SESA architecture. The authors detail its building blocks and show how they are consolidated into a coherent software architecture that can be used as a blueprint for implementation. Part III gives more insight into middleware services, describing the necessary conceptual functionality that is imposed on the architecture through the basic principles. Each such functionality is realized using a number of so-called middleware services. Finally, Part IV shows how the SESA architecture can be applied to real-world scenarios, and provides an overview of compatible and related systems. The book targets professionals as well as academic and industrial researchers working on various aspects of semantic integration of distributed information systems. They will learn how to apply the Semantic Web Services infrastructure to automate and semi-automate tasks, by using existing integration technologies. In addition, the book is also suitable for advanced graduate students enrolled in courses covering knowledge management, the Semantic Web, or integration of information systems, as it will educate them about basic technologies for Semantic Web Services and general issues related to integration of information systems.