My Account Log in

2 options

Architectural patterns : uncover essential patterns in the most indispensable realm of enterprise architecture / Pethuru Raj, Anupama Raman, Harihara Subramanian.

Ebook Central College Complete Available online

View online

O'Reilly Online Learning: Academic/Public Library Edition Available online

View online
Format:
Book
Author/Creator:
Raj, Pethuru, author.
Raman, Anupama, author.
Harihara Subramanian, author.
Language:
English
Subjects (All):
Software architecture.
Physical Description:
1 online resource (1 volume) : illustrations
Edition:
1st edition
Place of Publication:
Birmingham, England : Packt, 2017.
System Details:
text file
Summary:
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 re...
Contents:
Cover
Copyright
Credits
About the Authors
About the Reviewer
www.PacktPub.com
Customer Feedback
Table of Contents
Preface
Chapter 1: Demystifying Software Architecture Patterns
Envisioning the software-defined world
Software patterns
Why software patterns?
The prime ingredients of a software pattern
The types of 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)
The major issues with EDA
Service-oriented architecture (SOA)
Service-inspired integration (SOI)
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
Chapter 2: Client/Server Multi-Tier Architectural Patterns
Domain name service (DNS) server and DNS client
The workings of a DNS
Functional requirements in two-tier client-server patterns
Distribution of functional requirements in a client-server pattern
The remote data access client-server pattern
The remote presentation client-server pattern
The split logic data client-server architecture pattern
The three-tier pattern / multi-tier pattern client-server
The master-slave pattern
Issues in the master-slave pattern
Peer-to-peer patterns
Advantages of two-tier client-server patterns
Design considerations - when to use a two-tier client-server pattern?.
Limitations of two-tier client-server patterns
Three-tier client-server architecture
Design considerations for using three-tier architecture
Design considerations for n-tier architecture
An example of n-tier architecture (shopping cart web application)
The distributed client-server architecture
Motivation for development of web application patterns
Workings of the MVC pattern
The ASP.Net framework
The model view presenter (MVP) pattern
The model-view-viewmodel (MVVM) pattern
Key advantages of the MVVM pattern
Design considerations for using the MVVM pattern
Prism
Design patterns for web application development
The front controller pattern
Spring framework
Chapter 3: Object-Oriented Software Engineering Patterns
Key elements of OOD
Additional elements of OOD
Design principles
Single responsibility principle (SRP) - SOLID
Open and close principle - SOLID
Liskov substitution principle (LSP) - SOLID
Interface segregation principle (ISP) - SOLID
Dependency inversion principle (DIP) - SOLID
Other common design principles
OO design patterns
Creational design patterns
Factory method (virtual constructor)
Abstract factory (kit)
Builder
Prototype
Singleton
Structural design patterns
Adapter class (wrapper)
Adapter (object)
Bridge (handle/body)
Composite
Decorator
Façade
Flyweight
Proxy
Behavioral patterns
Chain of responsibility
Command (action/transaction)
Interpreter
Iterator (cursor)
Mediator
Memento
Observer (dependents/publish/subscribe)
State (objects for states)
Strategy (policy)
The template method
Visitor
Concurrency patterns
Concurrency design pattern
Producer-consumer
Active object
Monitor object
Concurrency architectural pattern
References.
Chapter 4: Enterprise Integration Patterns
Need for integration patterns
Integration scenarios in enterprises
Information portal
Data replication
Shared business function
Service-oriented architecture
Distributed business process management
The business-to-business integration
Main challenges in enterprise integration
File transfer
Shared database
Remote procedure invocation
Messaging
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
Chapter 5: Domain-Driven Design (DDD) Principles and Patterns
Principles, characteristics, and practices of DDD
Principles
Focusing on the core domain
Collaborate and learn
Model the domain
Evolve
Talk in ubiquitous language
Characteristics
Best practices
DDD patterns
Strategic patterns
Ubiquitous language
Domain, subdomain, and core domain
Bounded contexts
Integrating bounded contexts
Autonomous bounded context
The shared-nothing architecture
Single responsibility codes
Multiple bounded contexts (within a solution)
Adoption of SOA principles
Integrating with legacy systems
The bubble context
The anti-corruption layer
Expose as a service
Distributed bounded context integration strategies
Database integration
Flat file integration.
Event-driven architecture and messaging
Tactical patterns
Patterns to model the domain
Entities
Value objects
Domain services
Modules
Aggregates
Factories
Repositories
Emerging patterns
Domain events
Event sourcing
Other patterns
References and further reading materials
Chapter 6: 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
Advantages of using TOGAF
Limitations of TOGAF
Zachman framework for enterprise architecture
Advantages
Restrictions
Guidelines for choosing EAF
Enterprise architecture platforms and tools
Enterprise Architect from Sparx Systems
Dragon1
ABACUS from avolution software
Architecture of ABACUS
References
Chapter 7: Service-Oriented Architecture (SOA)
Web services and SOA
Introduction to SOA
Life cycle of SOA
Primary characteristics of SOA
Service interconnectivity with well-defined interfaces
Standard interfaces and Service level agreements
Event-driven and messaging
Flexible
Evolution
Principles of SOA
Standardized service contract
Service interoperability
Service abstraction
Service autonomy
Service composability
Service discoverability
Service loose coupling
Service reusability
Service statelessness
SOA design patterns
Service messaging
Message screening
Agnostic services
Atomic service transaction
Authentication broker
Message origin authentication
Service façade
Multiple service contract
Service callback
Event-driven messaging
Service refactoring
Metadata centralization
Principles and patterns cross reference.
Summary
Chapter 8: Event-Driven Architectural Patterns
Service-oriented architecture and event-driven architecture (SOA versus EDA)
Key characteristics of event-driven patterns
Components of an EDA pattern
Event flow layers
Event generators
Event channel
Event processing
Downstream event-driven activity
Design considerations for event-driven patterns
Implementation variants of EDA patterns
Simple event processing patterns
Event stream processing patterns
Complex event processing (CEP) patterns
Types of event-driven patterns
Event mediator topology pattern
Event broker topology pattern
Hub and spoke pattern
Broadcast pattern
Polling pattern
EDA pattern implementation in systems/processes
Event log
Event collectors
Reply queue
Improving the performance of EDA-based processes/systems
IBM WebSphere MQ
Emerging trends in EDA
Event-driven microservices
Complex event processing
Internet of Things (IoT) and EDA
Chapter 9: Microservices Architecture Patterns
Microservices patterns
Decomposition patterns
Decomposition by use case pattern
Decomposition by resources pattern
Decomposition by business capability pattern
Decomposition by subdomain pattern
Microservices deployment pattern
Multiple service instances per host pattern
Single service instance per host pattern
Service instance per VM pattern
Service instance per container pattern
Serverless deployment pattern
Service deployment platform pattern
Microservices design patterns
Aggregator microservice design pattern
Proxy microservice design pattern
Chained microservice design pattern
Microservice chassis pattern
Externalized configuration pattern
Microservices database patterns
Database per service pattern.
Shared data design pattern.
Notes:
Includes index.
Description based on online resource; title from PDF title page (ebrary, viewed February 5, 2018).
ISBN:
9781787287495
1787287491
9781787288348
178728834X
OCLC:
1021185681

The Penn Libraries is committed to describing library materials using current, accurate, and responsible language. If you discover outdated or inaccurate language, please fill out this feedback form to report it and suggest alternative language.

My Account

Shelf Request an item Bookmarks Fines and fees Settings

Guides

Using the Library Catalog Using Articles+ Library Account