Skip to content

prayagupa/SOA

Repository files navigation

SOA patterns (with java)

PART 1 SOA PATTERNS/ PATTERNS FOR DISTRIBUTED SYSTEM

2 FOUNDATION STRUCTURAL PATTERNS

2.1. Service Host pattern

2.2. Active Service pattern

2.3. Transactional Service pattern

2.4. Workflodize pattern

2.5. Edge Component pattern

3 PATTERNS FOR PERFORMANCE, SCALABILITY, AND AVAILABILITY

3.1. Decoupled Invocation pattern

3.2. Parallel Pipelines pattern

3.3. Gridable Service pattern

3.4. Service Instance pattern

  • Horizonatal scaling

3.5. Virtual Endpoint pattern

3.6. Service Watchdog pattern

4 SECURITY AND MANAGEABILITY PATTERNS

4.1. Secured Message pattern //Encrypt - message level

4.2. Secured Infrastructure pattern //Encrypt - protocol level

4.3. Service Firewall pattern //network level

4.4. Identity Provider pattern //SSO

4.5. Service Monitor pattern

5 MESSAGE EXCHANGE PATTERNS

5.1. Request/Reply pattern //Synchronous

5.2. Request/Reaction pattern //Async

5.3. Inversion of Communications pattern //EDA (Event-Driven Architecture) - Reactive??

5.4. Saga pattern //Long running business transaction

6 SERVICE CONSUMER PATTERNS

6.1. Reservation pattern //saga

6.2. Composite Front End (Portal) pattern

6.3. Client/Server/Service pattern

7 SERVICE INTEGRATION PATTERNS

7.1 SB
7.2 orchestration pattern //Externalize business long running processes 7.3 Aggregated Reporting

PART 2 SOA IN THE REAL WORLD

  1. SERVICE ANTIPATTERNS

References

Engineer-to-Engineer Talk: How and Why Twitter Uses Scala

SOA with Thrift and Finagle

Replacing Cron & Building Scalable Data Pipelines At Airbnb

Apache Camel and Scala: A Powerful Combination

SOA Patterns by by Eugene Ciurana

Basic Service Patterns
 Aggregator
 Service Bus
 Dynamic Routing
 Event-Driven Consumer
 Filter
 Router
 Transformer //Heterogeneous systems integration 

Architectural Patterns
 Asynchronous Processing
 Bridge
 Cross-service operation //coordinating multiple run-time activities
 Event-Driven Dispatching // routing messages to consumers in response to specific events
 Process Aggregation //combining two or more non-sequential, inter-dependent processing steps
 Routing and Filtering
 Replicator

Compound Patterns
 Centralized Schema //sharing schemas across application boundaries to avoid redundant data 
 Concurrent Contracts //allowing multiple consumers with different abstractions or implementations to simultaneously consume the same service
 Decomponse Capability
 Enterprise Service Bus
 Fault-Tolerant Service Provider
 Wrapper

SOA Patterns - Book Review

Patterns for distributed system

References

See: