Solution Architecture Patterns for Enterprise: A Guide to Building Enterprise Software Systems
- Length: 397 pages
- Edition: 1
- Language: English
- Publisher: Apress
- Publication Date: 2022-12-29
- ISBN-10: 1484289471
- ISBN-13: 9781484289471
- Sales Rank: #2720953 (See Top 100 Books)
Gain a deeper understanding of how distributed systems work, as well as which applications and systems are used for specific business domains or industries. This book provides a set of solution architecture patterns that were developed based on the author’s experience building enterprise software systems for hundreds of different organizations across the globe. The architecture diagrams (patterns) and examples allow you to not only grasp the concepts, but to build working projects.
Solution Architecture Patterns for Enterprise starts with an introduction to the concepts of enterprise software systems and solution architecture and later moves to individual solution architecture patterns used in real-world enterprises. Subsequent sections cover various industry-specific solution architecture patterns that can be used to build domain-specific software systems. The book concludes with a view of what the future holds for solution architecture, including likely new developments in the field.
This book will help enterprise software architects and engineers to design and implement real-world enterprise software systems using best practices and techniques adopted by organizations across the globe. It provides software architecture blueprints to build domain-specific enterprise software systems. If you are working on any digital transformation project or initiative, you will find this book useful, as it provides quick reference on architecture and implementation to get started with your work.
What You Will Learn
- Understand the key elements of enterprise software systems and how to design and implement them
- Master different approaches to build real-world software applications
- Build domain specific enterprise software systems
- Use open-source tools to build enterprise software systems
Who This Book Is For
Software Developers, software architect, solution architects, and enterprise architects.
Table of Contents About the Author About the Technical Reviewer Acknowledgments Introduction Chapter 1: Introduction to Enterprise Software Systems What Are Enterprises? How Software Is Used in Enterprises? How Software Is Used in the Healthcare Industry How Software Is Used in the Retail Industry Characteristics of Enterprise Software Systems Scalability Availability Latency Robustness Security Modularity Reusability Replaceability Observability Adaptability Practical Examples of Enterprise Software Systems Enterprise Software System Architecture for Healthcare Enterprise Software System Architecture for Transportation Summary Untitled Chapter 2: Introduction to Solution Architecture What Is Enterprise Architecture? Layered Enterprise Architecture Pattern Microservices-Based Enterprise Architecture Pattern What Is Solution Architecture? Business Architecture (Level 0 Architecture) Technical Architecture (Level 1 Architecture) Deployment Architecture (Level 2 Architecture) Solution Architecture Defining Process Complex Solution Architecture Example Business Architecture for a Banking Solution Technical Architecture for a Banking Solution Build vs. Buy Deployment Architecture for a Banking Solution Moving from Solution Architecture to Implementation Sample Project Timeline Weeks 1–2 Weeks 3–4 Weeks 5–6 Weeks 7–10 Weeks 11–14 Weeks 15–16 Advantages of Solution Architecture Patterns Summary Chapter 3: Building Enterprise Software Systems with Microservice Architecture Introduction to Microservice Architecture (MSA) Size and the Scope of the Service Functionality (Domain) Lines of Code (Size) Number of Functions (Scope) Nature of the Service Development Deployment Deployment Automation Container-Based Deployments Governance A Reference Architecture for Enterprise Software System with MSA Components of Enterprise Software Systems Databases Core Business Applications Integration Software API Software Accessibility Software Proxy Servers Load Balancers Ingress Controllers Content Delivery Network (CDN) Firewalls Security Software User Management Access Management Authentication Authorization Monitoring Software Monitoring for Insights Observability Infrastructure Management Software A Reference Architecture with MSA In-House Applications Migrating Existing Applications to Microservice Architecture Strangler Pattern for Migration Integration Software API software API Gateway or Microgateway (Data Plane) API Manager (Control Plane) API Developer Portal Security Software Defining the Reference Architecture What Is a Service Mesh and How to Use It with MSA? Introduction to Service Mesh Using Service Mesh for MSA Designing MSA with a Message Broker Implementing Security for MSA with Policy Agents Implementing Governance for MSA Summary Untitled Untitled Chapter 4: Building Enterprise Software Systems with Hybrid Integration platforms Introduction to Enterprise Integration (EI) Data Integration Structured Data Unstructured (Semistructured) Data Application Integration On-Premise Applications Cloud Applications Hybrid Applications Business Integration Consumer Integration Introduction to API Management API-Led Connectivity Pattern for Enterprise SOA Governance to API Management Pattern Legacy Platform Modernization with Hybrid Integration Platform A Sample Legacy Enterprise Software System Using a Strangler Facade to Begin the Modernization Consolidating User Identities with Centralized IAM Solution Infrastructure Modernization Summary Chapter 5: Designing Enterprise Platforms with Event-Driven Architecture Patterns Introduction to Event-Driven Architecture Asynchronous Messaging Models Topic-Based Publish-Subscribe Pattern Shared Subscriptions (Durable and Non-durable) Queue-Based Publish-Subscribe Pattern Store and Forward Pattern Streaming Data Processing Real-Time Stream Processing Batch Processing Designing an Event-Driven Architecture for Enterprise Common Requirements of an E-commerce Website Solution Architecture Web Application and API Gateway API Gateway and Integration Platform API Gateway and Message Broker API Gateway and Stream Processor Message Broker and Integration Platform Message Broker and Stream Processor Database and Stream Processor Database and Message Broker Database and Integration Platform Database and Core Applications Core Applications to Integration Platform Core Applications and Message Broker Core Applications and Stream Processor Kafka-Based Event-Driven Architecture for Enterprise Brief Introduction to Kafka Change Data Capture (CDC) Pattern Asynchronous APIs’ Pattern Improved Event-Driven Architecture Summary Chapter 6: Securing Enterprise Software Systems Introduction to Security of Enterprise Software Systems Data Security Securing Data at Rest Securing Data in Transit Data Privacy Application Security Build a Strong Identity Foundation Business to Customer (B2C) Business to Employee (B2E) Business to Business (B2B) Authentication Authorization User Management Consent Management and Privacy Key Components of Strong Identity and Access Management for Enterprise Adhere to Security Best Practices and Automate Them Secure Software Engineering Process Vulnerability and Risk Management Process Security Reward and Acknowledgement Process Follow Zero-Trust Architecture Prepare for Security Events Enterprise Security Use Cases Single Sign-On (SSO) Strong Authentication Multi-option Authentication Federated User Provisioning Delegated Access Control User Management with Approvals Centralized IAM Pattern Cloud Application Security Pattern Security Federation Pattern API Security Pattern Basic Authentication for API Security API Key-Based Authentication for API Security Delegated Authentication with OAuth2 for API Security Microservices Security Pattern Security with Centralized IAM Security with Decentralized IAM Summary Chapter 7: Implementing Observability for Enterprise Software Systems What Is Observability? Benefits of Observability Observability vs. Monitoring Implementing Observability Instrumentation Data Correlation Automation Insights and Predictions Tools Available for Observability Observability with Logs Log-Based Observability with ELK Log-Based Observability with Grafana Observability with Traces OpenTelemetry for Distributed Tracing OpenTelemetry with Jaeger Span Trace Observability with Metrics Prometheus for Metrics-Based Observability Observability Reference Architecture for Enterprise Component-Specific Observability Approach Accessibility Software API Software Integration Software Database Software Core Business Applications Security Software Infrastructure Management Software Vendor-Independent Reference Architecture Log Processing Components Metrics and Traces Processing Components ELK, Jaeger, and Prometheus-Based Observability Pattern ELK for Logs Jaeger for Traces Prometheus for Metrics Kibana for Visualization and Analysis Grafana, Tempo, and Prometheus-Based Observability Pattern Promtail and Loki for Logs Tempo for Traces Prometheus for Metrics Grafana for Visualization and Analysis Summary Chapter 8: Designing Next-Gen Enterprise Software Systems with Cloud-Native Architecture Introduction to Cloud-Native Computing What Is Cloud Computing? Globally Available Automatically Scalable Highly Distributed and Modular Managed by a Vendor On-Demand Containers and Kubernetes Cloud-Native Computing Micro-architecture Pattern for Enterprise Business Services Integrations API Management Front-End Applications Security Components Kubernetes-Based Deployment Pattern Kubernetes Architecture Deployment Architecture Multi-cloud Deployment Pattern Vendor-Specific API Gateway with Common API Marketplace Single API Gateway Vendor with a Marketplace Highly Available Multi-cloud Deployment Cloud Migration Pattern Assessment Preparation Migration and Modernization Sample Cloud Migration Use Case Assessment Preparation Migration and Modernization Summary Chapter 9: Industry-Specific Architecture Patterns Transportation Industry Understanding the Ecosystem Technical Requirements Solution Architecture Telecommunications Industry Understanding the Ecosystem Technical Requirements Telecommunication Network IT System Solution Architecture (Single Operator) Solution Architecture (Multiple Operators) Retail Industry Understanding the Ecosystem Technical Requirements Solution Architecture Education Industry Understanding the Ecosystem Technical Requirements Solution Architecture Automotive Industry Understanding the Ecosystem Technical Requirements Solution Architecture Edge Computing Components Enterprise Computing Components Healthcare Industry Understanding the Ecosystem Technical Requirements Solution Architecture Benefits of the Solution Power and Energy Industry Understanding the Ecosystem Technical Requirements Solution Architecture Hospitality Industry Understanding the Ecosystem Technical Requirements Scalability and Performance Requirements Solution Architecture Summary Index
Donate to keep this site alive
How to download source code?
1. Go to: https://github.com/Apress
2. In the Find a repository… box, search the book title: Solution Architecture Patterns for Enterprise: A Guide to Building Enterprise Software Systems
, sometime you may not get the results, please search the main title.
3. Click the book title in the search results.
3. Click Code to download.
1. Disable the AdBlock plugin. Otherwise, you may not get any links.
2. Solve the CAPTCHA.
3. Click download link.
4. Lead to download server to download.