Book description
Learn the importance of architectural and design patterns in producing and sustaining next-generation IT and business-critical applications with this guide.
About This Book
- Use patterns to tackle communication, integration, application structure, and more
- Implement modern design patterns such as microservices to build resilient and highly available applications
- Choose between the MVP, MVC, and MVVM patterns depending on the application being built
Who This Book Is For
This book will empower and enrich IT architects (such as enterprise architects, software product architects, and solution and system architects), technical consultants, evangelists, and experts.
What You Will Learn
- Understand how several architectural and design patterns work to systematically develop multitier web, mobile, embedded, and cloud applications
- Learn object-oriented and component-based software engineering principles and patterns
- Explore the frameworks corresponding to various architectural patterns
- Implement domain-driven, test-driven, and behavior-driven methodologies
- Deploy key platforms and tools effectively to enable EA design and solutioning
- Implement various patterns designed for the cloud paradigm
In Detail
Enterprise Architecture (EA) is typically an aggregate of the business, application, data, and infrastructure architectures of any forward-looking enterprise. Due to constant changes and rising complexities in the business and technology landscapes, producing sophisticated architectures is on the rise. Architectural patterns are gaining a lot of attention these days.
The book is divided in three modules. You'll learn about the patterns associated with object-oriented, component-based, client-server, and cloud architectures. The second module covers Enterprise Application Integration (EAI) patterns and how they are architected using various tools and patterns. You will come across patterns for Service-Oriented Architecture (SOA), Event-Driven Architecture (EDA), Resource-Oriented Architecture (ROA), big data analytics architecture, and Microservices Architecture (MSA). The final module talks about advanced topics such as Docker containers, high performance, and reliable application architectures. The key takeaways include understanding what architectures are, why they're used, and how and where architecture, design, and integration patterns are being leveraged to build better and bigger systems.
Style and Approach
This book adopts a hands-on approach with real-world examples and use cases.
Publisher resources
Table of contents
- Preface
-
Demystifying Software Architecture Patterns
- Envisioning the software-defined world
- Software patterns
-
Software architecture patterns
- Object-oriented architecture (OOA)
- Component-based assembly (CBD) architecture
- Domain-driven design (DDD) architecture
- Client/server architecture
- Multi-tier distributed computing architecture
- Layered/tiered architecture
- Event-driven architecture (EDA)
- Service-oriented architecture (SOA)
- Event-driven service-oriented architecture
- The EDA fundamental principles
- The ED-SOA composite pattern benefits
- Microservices architecture (MSA)
- Event-driven microservices patterns
- Space-based architecture (SBA)
- Combining architecture patterns
- Special-purpose architectures
- Real-time context-aware prediction architecture
- Summary
- Additional reading materials
-
Client/Server Multi-Tier Architectural Patterns
- Domain name service (DNS) server and DNS client
- Functional requirements in two-tier client-server patterns
- The three-tier pattern / multi-tier pattern client-server
- Three-tier client-server architecture
- The distributed client-server architecture
- Motivation for development of web application patterns
- The ASP.Net framework
- Design patterns for web application development
- Summary
- Object-Oriented Software Engineering Patterns
-
Enterprise Integration Patterns
- Need for integration patterns
- Integration scenarios in enterprises
- Main challenges in enterprise integration
- Getting started with messaging patterns
- Pipe and filter pattern
- Message router pattern
- Message translator pattern
- Message endpoint pattern
- Point-to-point channel pattern
- Publish-subscribe channel pattern
- Datatype channel pattern
- Message bus patterns
- Command message patterns
- Event message patterns
- Request-reply pattern
- Content-based router pattern
- Message filter pattern
- Resequencer pattern
- Polling consumer pattern
- Channel adapter
- Mobile integration pattern
- Request-response pattern
- Defining a push notification pattern
- API management pattern
- Summary
- Domain-Driven Design (DDD) Principles and Patterns
-
Enterprise Architecture Platforms and Tools
- Overview of enterprise architecture frameworks
- Getting started with TOGAF
- Architecture development method (ADM)
- Deliverables, artifacts, and building blocks
- Enterprise continuum
- Architecture repository
- Zachman framework for enterprise architecture
- Enterprise architecture platforms and tools
- Enterprise Architect from Sparx Systems
- Dragon1
- ABACUS from avolution software
- Summary
- References
- Service-Oriented Architecture (SOA)
-
Event-Driven Architectural Patterns
- Service-oriented architecture and event-driven architecture (SOA versus EDA)
- Key characteristics of event-driven patterns
- Event flow layers
- Design considerations for event-driven patterns
- Implementation variants of EDA patterns
- Types of event-driven patterns
- EDA pattern implementation in systems/processes
- Improving the performance of EDA-based processes/systems
- IBM WebSphere MQ
- Emerging trends in EDA
- References
- Summary
-
Microservices Architecture Patterns
- Microservices patterns
- Remote procedure invocation (RPI) pattern
- Messaging design pattern
- Domain-specific protocol pattern
- API gateway pattern
- Service discovery pattern
- Service registry pattern
- Service registration pattern
- Event-driven architecture (EDA) patterns
- Event sourcing pattern
- Transaction log tailing pattern
- Publishing events using the database trigger pattern
- Application publishes events pattern
- Testing and troubleshooting patterns
- Access token pattern
- Service component test pattern
- Log aggregation pattern
- Application metrics pattern
- Distributed tracing pattern
- Health check API pattern
- Circuit breaker pattern
- Summary
-
Patterns for Containerized and Reliable Applications
- Introduction
- Docker image building patterns
- Multi-stage image building pattern
- The pattern for file sharing between containers
- Pipes and filters pattern
- Containerized applications - Autopilot pattern
- Containers - persistent storage patterns
- Docker compose configuration pattern
- Docker container anti-patterns
- Patterns for highly reliable applications
- Resiliency implementation strategies
- Summary
-
Software-Defined Clouds - the Architecture and Design Patterns
- Reflecting the cloud journey
- Traditional application architecture versus cloud application architecture
-
Cloud integration patterns
- Tier/Layer-based decomposition
- Process-based decomposition
- Pipes-and-filters-based decomposition
- Service messaging pattern
- Messaging metadata pattern
- Service agent pattern
- Intermediate routing pattern
- State messaging pattern
- Service callback pattern
- Service instance routing
- Asynchronous queuing pattern
- Reliable messaging pattern
-
Cloud design patterns
- Cache-aside pattern
- Circuit breaker pattern
- Compensating transaction pattern
- Competing consumers pattern
- Compute resource consolidation pattern
- Command and query responsibility segregation (CQRS) pattern
- Event sourcing pattern
- External configuration store pattern
- Federated identity pattern
- Gatekeeper pattern
- Application health monitoring pattern
- Leader election pattern
- Materialized views pattern
- Pipes and filters pattern
- Priority queue pattern
- Queue-based load leveling pattern
- Retry pattern
- Runtime reconfiguration pattern
- Scheduler agent supervisor pattern
- Sharding pattern
- Throttling pattern
- Workload distribution pattern
- Cloud workload scheduler pattern
- Cloud reliability and resilience patterns
-
Cloud security patterns
- Cryptographic key management system pattern
- Virtual private network (VPN) pattern
- Cloud authentication gateway pattern
- In-transit cloud data encryption pattern
- Cloud storage device masking pattern
- Cloud storage data at rest encryption pattern
- Endpoint threat detection and response pattern
- Threat intelligence processing pattern
- Cloud denial of service (DoS) protection pattern
- Summary
- Bibliography
-
Big Data Architecture and Design Patterns
- The four V's of big data
- Big data analysis and technology concepts
- Big data analysis and data science
- Big data platform
- Big data architecture landscape and layers
- Big data architecture patterns
-
Big data design patterns
- Data sources and ingestion layer
- Big data workload patterns
- Data storage layer
-
Data access layer
- Connector pattern
- Lightweight stateless pattern
- Service locator pattern
- Near real-time pattern
- Stage transform pattern
- Rapid data analysis pattern
- Data discovery and analysis layer
- Data queuing pattern
- Index-based insight pattern
- Machine learning pattern
- Converge(r) pattern
- Data visualization layer
- First glimpse pattern
- Portal pattern
- Mashup view pattern
- Compression pattern
- Exploder pattern
- Summary
- References
Product information
- Title: Architectural Patterns
- Author(s):
- Release date: December 2017
- Publisher(s): Packt Publishing
- ISBN: 9781787287495
You might also like
book
Software Architecture Patterns
The success of any application or system depends on the architecture pattern you use. By describing …
book
Software Architecture Patterns, 2nd Edition
The success of any software application or system depends on the architecture style you use. This …
book
Software Architecture in Practice, 4th Edition
The Definitive, Practical, Proven Guide to Architecting Modern Software--Fully Updated with New Content on Mobility, the …
book
Fundamentals of Software Architecture
Salary surveys worldwide regularly place software architect in the top 10 best jobs, yet no real …