Index

A

agility. See increased organizational agility, strategic goal

agnostic, origin of the word, 166

Agnostic Capability design pattern, 140, 295, 316, 725, 744

profile, 324-329

Agnostic Context design pattern, 140, 219, 321, 727, 728

profile, 312-317

agnostic logic, non-agnostic logic, compared, 166-167

Agnostic Sub-Controller design pattern, 606, 620

profile, 607-615

Alexander’s pattern language, 90-91

Alexander, Christopher, 89

Alleywood Lumber case study. See case studies, Alleywood Lumber

analogies

architecture, 27

design patterns, 3, 87

infrastructure, 27

software programs, 28

application architecture, defined, 28

application section in pattern profiles described, 103

architecture

application architecture, 28

component architecture, 28

enterprise technology architecture, 28

hardware versus software architecture, 30

integration architecture, 28

service architecture. See service architecture

service inventory architecture. See service inventory architecture

service-oriented architecture. See SOA

service-oriented enterprise architecture. See service-oriented enterprise architecture

software program. See software program

technology architecture. See technology architecture

technology infrastructure. See technology infrastructure

asymmetric cryptography, 644

asymmetric signatures, 652

Asynchronous Queuing design pattern, 92, 532, 561, 602

profile, 582-591

Atomic Service Transaction design pattern, 92, 587, 606, 635

profile, 623-630

Compensating Service Transaction, 606, 701

profile, 631-638

authentication. See Brokered Authentication design pattern; Direct Authentication design pattern; Trusted Subsystem design pattern

authenticity (of message senders), 651

author

about, 783

contact Web site, 13

other books by, 783

B

BEA (Business Enterprise Architecture), 732

behavior correction in service façade logic, 336

blueprints. See service inventory blueprints

BMA (Business Mission Area), 732

BOE (Business Operating Environment) compound pattern, 733-734

design principles and patterns in, 734-738

future of, 739

books, related to this book, 7, 90-94

Brokered Authentication design pattern, 391, 640

profile, 661-667

business agility. See increased organizational agility, strategic goal

business and technology alignment. See increased business and technology alignment, strategic goal

business community, IT community’s relationship with, 79-82, 730

business-driven, SOA characteristic, 52-55, 113

Business Enterprise Architecture (BEA), 732

business entities, defined, 176. See also entity services

business logic. See entity services; task services

Business Mission Area (BMA), 732

Business Operating Environment (BOE) compound pattern, 733-734

design principles and patterns in, 734-738

future of, 739

business rules. See Rules Centralization design pattern; Validation Abstraction design pattern

C

callback addresses. See Service Callback design pattern

candidate patterns, 5, 12, 46, 492, 748. See also Web sites, SOAPatterns.org

Canonical Data Model design pattern, Canonical Schema pattern compared, 158

canonical design patterns, list of, 104

Canonical Expression design pattern, 104, 170, 274, 289, 727

profile, 275-279

Canonical Protocol design pattern, 104, 161, 227, 229, 234, 240, 535, 687, 690, 736, 745

profile, 150-157

Canonical Resources design pattern, 77, 104, 155, 197, 226, 244, 251, 359, 546, 553, 595, 659, 690

profile, 237-241

Canonical Schema Bus compound pattern, 699, 721

profile, 709-710

Canonical Schema design pattern, 94, 104, 233, 400, 535, 671, 674, 709, 726, 736, 745

profile, 158-162

Canonical Versioning design pattern, 104, 469, 474, 480, 719

profile, 286-291

capabilities. See service capabilities

Capability Composition design pattern, 71, 91, 198, 322, 327

profile, 521-525

capability granularity, defined, 107

Capability Recomposition design pattern, 71, 302, 534, 721, 726, 728

profile, 526-530

capitalization in design pattern notation, 100

case studies

Alleywood Lumber, 16

Agnostic Sub-Controller design pattern, 612-615

Atomic Service Transaction design pattern, 629-630

background, 19-20, 114, 374-375

Canonical Protocol design pattern, 157

Canonical Schema design pattern, 161-162

Canonical Versioning design pattern, 290-291

Composition Autonomy design pattern, 620-622

conclusion, 744-745

Cross-Domain Utility Layer design pattern, 270-271

Data Confidentiality design pattern, 646-648

Non-Agnostic Context design pattern, 323

Policy Centralization design pattern, 213-214

Protocol Bridging design pattern, 692-693

Schema Centralization design pattern, 203-206

Service Instance Routing design pattern, 579-581

Service Callback design pattern, 571-573

Service Encapsulation design pattern, 310

Service Layers design pattern, 148

Utility Abstraction design pattern, 173-174

Cutit Saws

Agnostic Capability design pattern, 328

Agnostic Context design pattern, 317

background, 17-19, 297-298

Canonical Expression design pattern, 279

Capability Composition design pattern, 524-525

Capability Recomposition design pattern, 530

Compensating Service Transaction design pattern, 636-638

conclusion, 744

Data Confidentiality design pattern, 646-648

Data Origin Authentication design pattern, 653-655

Functional Decomposition design pattern, 303-304

Messaging Metadata design pattern, 542

Non-Agnostic Context design pattern, 323

Policy Centralization design pattern, 213-214

Protocol Bridging design pattern, 692-693

Schema Centralization design pattern, 203-206

Service Instance Routing design pattern, 579-581

Service Callback design pattern, 571-573

Service Encapsulation design pattern, 310

Service Layers design pattern, 148

Utility Abstraction design pattern, 173-174

Forestry Regulatory Commission (FRC)

Asynchronous Queuing design pattern, 589-591

background, 21-22

Brokered Authentication design pattern, 666-667

Canonical Resources design pattern, 241

Canonical Versioning design pattern, 290-291

Compatible Change design pattern, 470-471

conclusion, 745-746

Concurrent Contract design pattern, 426-428

Contract Centralization design pattern, 413

Contract Denormalization design pattern, 418-420

Data Confidentiality design pattern, 646-648

Data Format Transformation design pattern, 685-686

Data Origin Authentication design pattern, 653-655

Decoupled Contract design pattern, 407-408

Direct Authentication design pattern, 660

Dual Protocols design pattern, 235-236

Event-Driven Messaging design pattern, 604

File Gateway design pattern, 461-462

Intermediate Routing design pattern, 556

Legacy Wrapper design pattern, 446-450

Multi-Channel Endpoint design pattern, 456

Partial State Deferral design pattern, 361

Partial Validation design pattern, 365

Process Abstraction design pattern, 187-189

Reliable Messaging design pattern, 596-598

Rules Centralization design pattern, 222

Service Data Replication design pattern, 354-355

Service Façade design pattern, 91, 93, 263, 332, 406, 407, 417, 421, 425, 444, 446, 454, 487, 498, 500, 512, 513, 610, 724

profile, 333-344

Service Grid design pattern, 226, 244, 251, 359, 724, 727, 728

profile, 254-259

Service Layers design pattern, 92, 164, 719, 728

profile, 143-148

catalogs. See pattern catalogs

centralization design patterns, listed, 105

Certificate Revocation Lists (CRLs), 665

chapters, described, 7-10

characteristics. See design characteristics

chorded circle symbol, 37

ciphertext (encrypted data), 643

client. See service consumer

code examples

Application service, 427-428

atomic transactions, 630

backwards-compatibility, 471

Canonical Versioning design pattern, 291

COBOL COPYBOOK message fragments, 447

denormalized Officer WSDL definition, 420

digitally signed message, 655

incompatible changes, 477

legacy details in SOAP headers, 450

message targeted to specific service instance, 581

message with state data in reference parameter, 565

Officer WSDL definition, 419

plaintext message, 647

Policy Centralization design pattern, 214

purchase order document, 678, 679

purchase order XML Schema definition, 677

reference parameter with service instance identifier, 580

reliable messaging metadata headers, 598

request message with callback address, 572

response message with correlation identifier, 573

response message with wsa:ReferenceParameters construct, 564

revised schema definition for EformApplication service contract, 437

Schema Centralization design pattern, 206

schema definition for EformApplication service contract, 435

SOAP header block, 542

SOAP message with SAML token, 667

SOAP message, first in series, 564

termination information, 483

undo operation, 638

version number annotations, 475

WS-BPEL routine for transactions, 637

WS-Security metadata, 660

WSDL definition for Main-AST legacy wrapper service, 449

XSLT stylesheet, 680

coexistent application (of compound patterns), 699-700

color in figures, 11, 97

color tabs, 110

commercial off-the-shelf (COTS) software, 738

communication protocols. See Canonical Protocol design pattern; Dual Protocols design pattern

Compatible Change design pattern, 288, 290, 464, 469, 475, 480, 481

profile, 465-471

Compensating Service Transaction design pattern 606, 701, 724, 744

profile, 631-638

component architecture, defined, 28. See also architecture

components, as services, 45

composite patterns, compound patterns versus, 698

composition architecture. See service composition architecture

Composition Autonomy design pattern, 263, 348, 353, 360, 454, 605, 606, 628

profile, 616-622

composition-centric, SOA characteristic, 53, 59-60, 113

composition controller, 42, 68, 322

composition controller capability, 42, 765

composition initiator, 42, 322

composition member, 42, 68

composition member capability, 42, 764

composition sub-controller, 42

compositions. See service compositions

compound pattern hierarchy figures, explained, 99-100

compound patterns

Business Operating Environment, 733-734

Canonical Schema Bus. See Canonical Schema Bus compound pattern

coexistent application of, 699-700

composite patterns versus, 698

Enterprise Service Bus. See Enterprise Service Bus compound pattern

Federated Endpoint Layer. See Federated Endpoint Layer compound pattern

granularity and, 700

joint application of, 699-700

Official Endpoint. See Official Endpoint compound pattern

Orchestration. See Orchestration compound pattern

Service Broker. See Service Broker compound pattern

Three-Layer Inventory. See Three-Layer Inventory compound pattern

concerns, defined, 301. See also separation of concerns theory

Concurrent Contracts design pattern, 92, 230, 233, 234, 263, 288, 336, 342, 346, 400, 406, 432, 433, 465, 473, 487

profile, 421-428

conflict symbol, 11

constraint granularity, defined, 108

consumers. See service consumers

content-based routing, 552

Contract Centralization design pattern, 105, 133, 140, 203, 211, 230, 234, 278, 283, 388, 391, 400, 406, 486, 513, 610, 709, 711, 712, 713, 719, 721, 736, 737

profile, 409-413

Contract Denormalization design pattern, 134, 342, 400, 406, 425, 470, 471, 507, 508, 634, 721

profile, 414-420

contract first approach, 752. See also Standardized Service Contract design principle

contract-specific requirements in service façade logic, 336

contracts. See service contracts

contributors, about, 784-790. See also Contributors page in front matter

core service logic

in components, 45

in Web Services, 45

service façade logic versus, 335

COTS (commercial off-the-shelf) software, 738

coupling. See Service Loose Coupling design principle

CRLs (Certificate Revocation Lists), 665

Cross-Domain Utility Layer design pattern, 171, 226, 259, 289, 349, 721, 745

profile, 267-271

CRUD convention, 276

cryptography, types of, 644

Cutit Saws case study. See case studies, Cutit Saws

D

Data Confidentiality design pattern, 561, 639, 640, 651, 652, 653, 665, 724, 736

profile, 641-648

Direct Authentication, 389, 391, 396, 640, 645, 661, 662, 663, 665, 666, 724

profile, 656-660

Data Format Transformation design pattern, 263, 445, 454, 457, 459, 460, 556, 670, 707, 724

profile, 681-686

data granularity, defined, 108

data integrity (of messages), 651

Data Model Transformation design pattern, 94, 99, 127, 159, 160, 263, 445, 454, 457, 459, 460, 671-680, 683, 692, 707, 724, 736

Data Origin Authentication design pattern, 393, 561, 640, 644, 645, 659, 724, 736

profile, 649-655

Decomposed Capability design pattern, 170, 464, 492

profile, 504-509

Decoupled Contract design pattern, 91, 93, 278, 342, 400, 411, 412, 417, 425, 486, 500, 513, 709, 719, 721

profile, 401-408

design characteristics, defined, 33

design framework, technology architecture and infrastructure in, 33-34

design granularity, types of, 107-108

design pattern catalog, defined, 89

design pattern language. See pattern language

design patterns

candidates. See candidate patterns

cross-referenced with architecture types, 776-781

cross-referenced with design principles, 768-774

defined, 86-87

design granularity and, 107-108

design principles compared, 106-107

design principles compared, 106-107

historical influences, 89-95

index of patterns, 791

list of, 791. See also inside front and back covers

measures of application, 108

notation, 95-100

profiles, explained, 101-103

Design Patterns: Elements of Reusable Object-Oriented Software (Gamma, et al), 6

design principles

in Business Operating Environment compound pattern, 734-738

defined, 34, 48-50

design pattern cross-reference for, 768-774

design patterns compared, 106-107

inter-relationships, 50

Service Abstraction, 49, 64, 69, 231, 425, 737

defined, 755

Service Autonomy, 49, 64, 132, 348, 353, 620, 737

defined, 758-759

Service Composability, 41, 49, 59, 527, 738

defined, 764-766

Service Discoverability, 49, 274, 282-283, 736-738

defined, 762-763

Service Loose Coupling, 49, 231, 405, 486, 737

defined, 753-754

Service Reusability, 49, 146, 182, 319, 736, 738

defined, 756-757

Service Statelessness, 49, 64, 250, 737

defined, 760-761

Standardized Service Contract, 49, 159, 229, 231, 400, 405, 736, 738

defined, 751-752

design standards

adherence to, 736

defined, 34

design patterns compared, 149

diagrams. See figures

digital signatures. See signatures

Direct Authentication design pattern, 389, 391, 396, 640, 645, 661, 662, 663, 665, 666, 724

profile, 656-660

discovery process (services), 282

Distributed Capability design pattern, 336, 342, 353, 405, 464, 745

profile, 510-515

DMZ (demilitarized zone). See Service Perimeter Guard design pattern

DoD (U.S. Department of Defense), patterns at, 732-739

Domain Inventory design pattern, 42, 74, 106, 113, 115, 120, 121, 147, 155, 159, 160, 270, 674, 675, 718, 721, 745

profile, 123-129

E

EAI patterns, 94

encapsulating legacy environments, 720. See also File Gateway design pattern; Legacy Wrapper design pattern; Multi-Channel Endpoint design pattern

encryption. See Data Confidentiality design pattern

endpoint references, 576

enterprise-centric, SOA characteristic, 53, 58-59, 113

Enterprise Integration Patterns (Hohpe and Woolf), 6, 94

Enterprise Inventory design pattern, 74, 113, 115, 127, 129, 147, 155, 159, 160, 718, 721

profile, 116-122

enterprise resources

defined, 58

enterprise-wide resources compared, 106

Enterprise Service Bus compound pattern, 10, 99, 212, 221, 264, 445, 461, 554, 555, 589, 596, 601, 603, 675, 676, 685, 690, 692, 698, 699, 707, 709, 724, 728

profile, 704-706

enterprise technology architecture, defined, 28

enterprise-wide resources, enterprise resources compared, 106

Entity Abstraction design pattern, 120, 140, 146, 147, 163, 164, 171, 184, 284, 315, 316, 318, 348, 411, 432, 444, 494, 607, 715, 725, 727

profile, 175-181

entity service layer, 177. See also Entity Abstraction design pattern

entity service model, defined, 164. See also Entity Abstraction design pattern

entity services, service context definition, 177-178. See also Entity Abstraction design pattern

ESB. See Enterprise Service Bus compound pattern

ESB Architecture for SOA, 7, 601, 700

Event-Driven Messaging design pattern, 92, 460, 532, 571, 584, 629, 724, 746

profile, 599-604

examples. See case studies; code examples

Exception Shielding design pattern, 374, 385, 396, 398, 745

profile, 376-380

F

faÇades. See Service FaÇade design pattern

Federated Endpoint Layer compound pattern, 699, 711, 719

profile, 713-714

federation. See Federated Endpoint Layer compound pattern; Increased Federation strategic goal

figures.

color. See color, in figures

for design pattern notation, 96-100

poster. See poster Web site

symbols. See symbols

Visio Stencil. See Visio Stencil

File Gateway design pattern, 440, 444, 457-462, 724

Flexible versioning strategy, 288

Forestry Regulatory Commission case study. See case studies, Forestry Regulatory Commission

functional context. See service contexts

Functional Decomposition design pattern, 310, 725, 744

profile, 300-304

G–H

glossary Web site, 12, 26, 42

granularity. See design granularity

grid. See Service Grid design pattern

hardware accelerators, 761

hardware architecture, 30

hardware infrastructure, 30

HMAC (Hashed Message Authentication Code), 651, 658

How to Solve It (Polya), 91

hybrid architectures, 79

I

icons in pattern profiles, 101

impacts section in pattern profiles, 103

implementation mediums for services, 44

components, 45

Web services, 45

REST services, 46

information assurance, 736

information hiding, 737

infrastructure. See architecture; technology

increased business and technology alignment, strategic goal

defined, 51

patterns related to, 725-726

increased federation

defined, 51

patterns related to, 718-720

increased intrinsic interoperability

defined, 51

patterns related to, 721-722

increased organizational agility

defined, 51

patterns related to, 728-729

increased ROI

defined, 51

patterns related to, 727-728

increased vendor diversification options

defined, 51

patterns related to, 723-725

infrastructure integration architecture, defined, 28

inter-business service architecture, defined, 78

Intermediate Routing design pattern, 94, 532, 700, 704, 724, 746

profile, 549-556

interoperability. See increased intrinsic interoperability, strategic goal

inventory architecture. See service inventory architecture

inventory boundary patterns, 112, 114-115. See Domain Inventory design pattern; Enterprise Inventory design pattern

Inventory Endpoint design pattern, 78, 92, 121, 127, 226, 342, 348, 396, 455, 620, 675, 691

profile, 260-266

inventory governance patterns. See Canonical Expression design pattern; Canonical Versioning design pattern; Metadata Centralization design pattern

inventory standardization patterns, 112, 149. See also Canonical Protocol design pattern; Canonical Schema design pattern

inventory structure patterns, 112, 130. See also Logic Centralization design pattern; Service Layers design pattern; Service Normalization design pattern

IPSec, 391

IT community, business community, relationship with, 79-82, 729-730

J–K

Johnson, Ralph, 107

joint application (of compound patterns), 699-700

KDC (Kerberos Key Distribution Center), 665

Kerberos protocol, 665

Kerberos service accounts, 390

L

layers. See service layers; Service Layers design pattern

legacy encapsulation. See File Gateway design pattern; Legacy Wrapper design pattern; Multi-Channel Endpoint design pattern

Legacy Wrapper design pattern, 91, 179, 219, 235, 344, 353, 407, 440, 453, 454, 460, 675, 683, 684, 690, 691, 693, 724, 738, 746

profile, 441-450

logic

agnostic logic, non-agnostic logic, compared, 166-167

business logic, utility logic, compared, 166

service layers and, 167

Logic Centralization design pattern, 97, 105, 113, 130, 133, 147, 178, 183, 234, 280, 283, 284, 354, 412, 523, 711, 712, 713, 719, 727, 737

profile, 136-140

logic types in service faÇade components, 336

logical inventory layer patterns. See Entity Abstraction design pattern; Process Abstraction design pattern; Utility Abstraction design pattern

loose coupling. See Service Loose Coupling design principle

M

MAC (Message Authentication Code), 651

mediator services. See UI Mediator design pattern

Message Screening design pattern, 374, 396, 398, 745

profile, 381-386

messaging, 531-604. See also Messaging Metadata design pattern; Service Messaging design pattern

Messaging Metadata design pattern, 155, 251, 258, 532, 535, 546, 553, 561, 570, 578, 588, 595, 645, 744

profile, 538-542

Metadata Centralization design pattern, 92, 105, 138, 140, 142, 274, 278, 289, 724, 727, 737, 745

profile, 280-285

Minsky, Marvin, 91

mirrored accounts, 390

Multi-Channel Endpoint design pattern, 440, 461, 738, 746

profile, 451-456

N

naming conventions, standardization of, 275-276

net-centricity, 732

Non-Agnostic Context design pattern, 91, 183-184, 185, 309, 607, 725, 744

profile, 319-323

non-agnostic logic, agnostic logic, compared, 166-167

non-repudiation, support for, 652

normalization, 90. See also Service Normalization design pattern

notification service for this book series, 13

O

object-orientation, service-orientation compared, 36

object-oriented design patterns, 91

OCSP (Online Certificate Status Protocol), 665

Official Endpoint compound pattern, 412, 699, 713, 719, 737

profile, 711-712

Online Certificate Status Protocol (OCSP), 665

open-ended pattern language, defined, 88

operations, defined, 45

orchestrated task services, defined, 186

Orchestration compound pattern, 10, 100, 185, 186, 187, 196, 197, 198, 219, 221, 245, 453, 629, 634, 636, 675, 676, 699, 724, 728

profile, 701-703

orchestration platform, requirements for, 196

organizational agility. See increased organizational agility, strategic goal

P

Partial State Deferral design pattern, 92, 93, 198, 244, 258, 332, 724, 773

profile, 356-361

Partial Validation design pattern

profile, 362-365

pattern application sequence figures, 96

pattern application sequences, 88-89

pattern catalogs. See design pattern catalogs

pattern sequences, 88-89

pattern language, 88-89. See also AlexanderÕs pattern language

pattern profile format, 10, 100-103, 110

pattern relationship figures, 96-98

Pattern-Oriented Software Architecture, Volumes 1Ð5 (Buschmann, et al), 6

Patterns of Enterprise Application Architecture (Fowler), 6, 93

patterns. See design patterns

physical inventory centralization design patterns. See Policy Centralization design pattern; Process Centralization design pattern; Rules Centralization design pattern; Schema Centralization design pattern

PKI (Public Key Infrastructure), 652

plaintext (unencrypted data), 643

policies. See also Enterprise Service Bus compound pattern; Policy Centralization design pattern

collecting requirements for, 210

governance processes needed, 210-211

Policy Centralization design pattern, 105, 133, 192, 219, 220, 412, 432, 724, 744

profile, 207-214

policy enforcement points, 209

policy expressions. See policies

Polya, George, 91

poster Web site, 12

Prentice Hall Service-Oriented Computing Series from Thomas Erl, 11, 13

principle profiles

Service Abstraction, 755

Service Autonomy, 759

Service Composability, 766

Service Discoverability, 763

Service Loose Coupling, 754

Service Reusability, 756-757

Service Statelessness, 761

Standardized Service Contract, 751-752

principles. See design principles

problem description in pattern profiles, 102

Process Abstraction design pattern, 92, 120, 146, 147, 164, 174, 196, 197, 321, 322, 607, 610, 628, 634, 701, 715, 725, 727

profile, 182-189

Process Centralization design pattern, 94, 105, 185, 192, 322, 359, 610, 701, 724

profile, 193-199

profiles. See pattern profile format; principle profiles

Protocol Bridging design pattern, 127, 151, 227, 233, 234, 262, 263, 445, 454, 460, 670, 684, 707, 724, 736

profile, 687-693

protocols, defined, 150

Proxy Capability design pattern, 134, 336, 342, 353, 398, 405, 464, 481, 489, 492, 494, 496, 506, 507, 508, 514, 745

profile, 497-503

public key cryptography, 644

Public Key Infrastructure (PKI), 652

public/private key pair, 652

Q–R

queues. See Asynchronous Queuing design pattern

recommended reading, 7

reduced IT burden, strategic goal

defined, 51

patterns related to, 729-730

Redundant Implementation design pattern, 140, 230, 233, 234, 259, 263, 332, 353, 365, 454, 495, 619, 620, 665, 727

profile, 345-349

references, endpoint, 576

relationships in compound patterns, 698

relationships section in pattern profiles, 103

relaying logic, 336

Reliable Messaging design pattern, 532, 561, 570, 571, 584, 589, 602, 724, 746

profile, 592-598

requirement statements in pattern profiles, 101

resources, defined, 237. See also Canonical Resources design pattern

REST-inspired design patterns, 5, 233, 748

reusability. See increased ROI, strategic goal; Logic Centralization design pattern; Service Reusability design principle

ROI (return on investment). See increased ROI, strategic goal

routing, types of, 552. See also Intermediate Routing design pattern; Service Instance Routing design pattern

Rules Centralization design pattern, 105, 171, 192, 432, 444, 551, 675

profile, 216-222

S

SAML, 640

schema, capitalization of the term, 206

Schema Centralization design pattern, 105, 133, 155, 161, 192, 213, 233, 412, 432, 692, 721, 726, 737, 744

profile, 200-206

Security Token Services (STS), 665

security. See Brokered Authentication design pattern; Data Confidentiality design pattern; Data Origin Authentication design pattern; Direct Authentication design pattern; Exception Shielding design pattern; Message Screening design pattern; Service Perimeter Guard design pattern; Trusted Subsystem design pattern

separation of concerns theory, 301

sequences. See pattern application sequences

Service Abstraction design principle, 49, 64, 69, 231, 425, 737

defined, 755

design pattern cross-reference for, 771

implementation requirements, 755

profile, 755

service activity, 41, 42, 242, 248, 250, 252, 534, 538, 550, 552, 592, 606, 623, 624, 662

Service Agent design pattern, 45, 67, 94, 171, 364, 369, 370, 371, 379, 384, 432, 460, 513, 532, 535, 552, 553, 571, 578, 588, 595, 645, 724

profile, 543-546

service agents, defined, 67

service architecture

defined, 61-67

design pattern cross-reference for, 776-778

Service Autonomy design principle, 49, 64, 132, 348, 353, 620, 737

defined, 758

design pattern cross-reference for, 772

profile, 758-759

Service Broker compound pattern, 92, 263, 336, 454, 460, 675, 676, 683, 685, 690, 692, 698, 699, 704, 706, 709, 736, 738

profile, 707-708

Service Callback design pattern, 460, 461, 532, 583, 744

profile, 566-573

service candidate, defined, 44

service capabilities, 38, 68

service catalog, service inventory compared, 43

service client. See service consumer

Service Composability design principle, 41, 49, 59, 527, 738

defined, 764

design pattern cross-reference for, 773-774

principle profile, 764-766

service composition architecture

defined, 61, 68-73

design pattern cross-reference for, 778-779

service composition design, terminology, 42

service compositions, defined, 40-41

service consumer, defined, 38-40

service contexts. See also Service Layers design pattern; service models

for entity services. See Agnostic Context design pattern; Entity Abstraction design pattern

for task services. See Non-Agnostic Context design pattern; Process Abstraction design pattern

for utility services. See Agnostic Context design pattern; Utility Abstraction design pattern

service contracts, 65-66, 764. See also Service Abstraction design principle; Service Loose Coupling design principle; Standardized Service Contract design principle

naming convention standardization, 275-276

patterns related to, 400-437

Service Data Replication design pattern, 332, 348, 365, 371, 444, 513, 619, 620, 724, 727, 746

profile, 350-355

service definition patterns, 296, 311. See also Agnostic Capability design pattern; Agnostic Context design pattern; Non-Agnostic Context design pattern

Service Discoverability design principle, 49, 274, 282-283, 736-738

defined, 762

design pattern cross-reference for, 773

implementation requirements, 763

principle profile, 762-763

service discovery process, 282

Service Encapsulation design pattern, 58, 93, 184, 303, 322, 725, 744

profile, 305-310

service faÇade components, logic types in, 336

Service FaÇade design pattern, 91, 93, 263, 331, 332, 333, 364, 406, 407, 417, 421, 424, 425, 444, 446, 454, 487, 498, 500, 512, 513, 610, 683, 724

profile, 333-344

service faÇade logic, core service logic versus, 335

service governance patterns. See governance patterns

service granularity, defined, 107

Service Grid design pattern, 226, 244, 251, 359, 724, 727, 728

profile, 254-259

service identification patterns, 296, 299. See also Functional Decomposition design pattern; Service Encapsulation design pattern

Service Instance Routing design pattern, 532, 561, 744

profile, 574-581

service inventory

defined, 42

origin of term, 43

service catalog compared, 43

service inventory architecture

defined, 61, 74-75

design pattern cross-reference for, 779-781

origin of term, 43

service inventory blueprints, 74

Service Layer design pattern, Service Layers design pattern compared, 143

service layers. See also Cross-Domain Utility Layer design pattern; Service Layers design pattern

combinations of, 164-165

entity service layer, 177

logic types and, 167

task service layer, 183-184

utility service layer, 169.

Service Layers design pattern, 92, 113, 164, 607, 610, 715, 719, 725, 728

profile, 143-148

Service Loose Coupling design principle, 49, 231, 405, 486, 737

defined, 753

design pattern cross-reference for, 769-771

principle profile, 753-754

Service Messaging design pattern, 94, 155, 251, 532, 541, 546, 561, 570, 588, 595, 602, 645

profile, 533-537

service models. See also Service Layers design pattern

defined, 144, 164

inventory layer patterns, correspondence with, 164

list of, 164

Service Normalization design pattern, 97, 113, 130, 140, 142, 147, 203, 211, 263, 280, 280, 283, 284, 311, 412, 415, 417, 486, 494, 500, 523, 713, 719, 727

profile, 131-135

Service Perimeter Guard design pattern, 171, 374, 379, 665, 666

profile, 394-398

service portfolio. See service inventory

service provider, defined, 39-40

Service Refactoring design pattern, 133, 342, 406, 411, 494, 495, 513, 724, 728, 737

profile, 484-488

service registries, 281. See also Metadata Centralization design pattern

service requester. See service consumer

Service Reusability design principle, 49, 146, 182, 319, 736, 738, 764

defined, 756

design pattern cross-reference for, 771-772

principle profile, 756-757

Service Statelessness design principle, 49, 64, 250, 737

defined, 760

design pattern cross-reference for, 773

principle profile, 760-761

service-orientation

defined, 36

method of, 48-52

object-orientation compared, 36

result of, 79-82

service-orientation design principles, 48-50. See also design principles

service-oriented analysis, defined, 43-44

Service-Oriented Architecture: Concepts, Technology, and Design, 542

service-oriented architecture. See SOA

service-oriented community architecture, defined, 78

service-oriented computing

defined, 35

strategic goals of, 51-52, 80, 718-730

service-oriented enterprise architecture

defined, 61, 76-77

design pattern cross-reference for, 781

services

as components, 45

as Web services, 45

as REST services

defined, 37-38

implementation mediums, 44-46

signatures, types of, 651

SOA

characteristics of. See SOA design characteristics

defined, 37, 78

types of, 61-62

design pattern cross-reference for, 776-781

inter-business service architecture, 78

service architecture, 61, 62-67

service composition architecture, 61, 68-73

service inventory architecture, 61, 74-75

service-oriented community architecture, 78

service-oriented enterprise architecture, 61, 76-77

SOA design characteristics

business-driven, 52-55, 113

composition-centric, 53, 59-60, 113

enterprise-centric, 53, 58-59, 113

inventory design patterns and, 113

vendor-neutral, 52, 54-57, 113

SOA Governance, 7, 123, 282, 464

SOA Magazine, The Web site, 12

SOA Principles of Service Design, 4, 7, 17, 32-33, 50-51, 67, 92, 206, 244, 283, 306, 359, 619, 734, 750

SOA with .NET, 7, 45, 46

SOA with Java, 7, 45, 46

SOA with REST, 7, 46, 748

SOABooks.com, 7, 11, 13

SOADoD.org, 739

SOAGlossary.com, 7, 12, 26, 42, 359

SOAMag.com, 12

SOAMethodology.com, 43, 76, 120, 321

SOAPatterns.org, 12, 102, 233, 256, 748

SOAPosters.com, 12

SOAPrinciples.com, 7, 50, 76, 306, 750, 768

SOASpecs.com, 12, 560, 626, 634, 640, 652

software architecture, 30. See also architecture

software architecture patterns, 93

software program, defined, 26, 32-33

solution description in pattern profiles, 102

Standardized Service Contract design principle, 49, 159, 229, 231, 400, 405, 736, 738

defined, 751

design pattern cross-reference for, 768-769

principle profile, 751-752

standards. See design standards

state data. See Partial State Deferral design pattern; Service Grid design pattern; Service Statelessness design principle; State Messaging design pattern; State Repository design pattern; Stateful Services design pattern

state keys, defined, 256

state management. See Partial State Deferral design pattern; Service Grid design pattern; Service Statelessness design principle; State Messaging design pattern; State Repository design pattern; Stateful Services design pattern

State Messaging design pattern, 244, 250, 358, 359, 532

profile, 557-565

State Repository design pattern, 93, 198, 226, 250, 254, 255, 257, 258, 289, 358, 359, 701, 724, 727

profile, 242-247

Stateful Services design pattern, 93, 171, 226, 244, 254, 255, 258, 259, 358, 359, 715, 727, 746

profile, 248-253

Steps toward Artificial Intelligence (Minsky), 91

Strict versioning strategy, 288

structured pattern language

advantages of, 88

defined, 88

STS (Security Token Services), 665

style conventions, used in this book, 11, 110

summary tables in pattern profiles, 102

symbols. See also figures

chorded circle, 37

color in, 11

for components, 45

in design pattern notation, 96

legend, 11

Visio Stencil, 12

symmetric cryptography, 644

T

tabs, used in this book, 110

task service layer, 183-184

task service model, defined, 164

technology and business alignment. See increased business and technology alignment, strategic goal

technology architecture. See also architecture

analogy, 27

defined, 26-30

design framework and, 33-34

scope of, 28

technology coupling, 402

technology infrastructure

analogy, 27

defined, 26, 30-32

design framework and, 33-34

Termination Notification design pattern, 288, 464, 467, 468, 469, 500, 746

profile, 478-483

Three-Layer Inventory compound pattern, 147, 164, 699

profile, 715-716

transactions. See Atomic Service Transaction design pattern; Compensating Service Transaction design pattern

transformation patterns. See Data Format Transformation design pattern; Data Model Transformation design pattern; Protocol Bridging design pattern

Trusted Subsystem design pattern, 374, 398, 745

profile, 387-393

U

U.S. Department of Defense, patterns at. See DoD

UI Mediator design pattern, 332, 374

profile, 366-371

Understanding SOA with Web Services (Newcomer, Lomow), 455

undo capabilities, 634

Utility Abstraction design pattern, 140, 146, 147, 164, 166, 184, 185, 238, 250, 270, 284, 315, 316, 348, 370, 379, 384, 411, 444, 494, 715, 724, 727, 736

profile, 168-174

utility logic

business logic, compared, 166

defined, 168

utility service layer, 169. See also Cross-Domain Utility Layer design pattern; Utility Abstraction design pattern

utility service model, defined, 164. See also Utility Abstraction design pattern

utility services, service context definition, 170

V

Validation Abstraction design pattern, 179, 203, 211, 219, 364, 400, 425

profile 429-437

validation logic. See Concurrent Contracts design pattern; Partial Validation design pattern; Service Abstraction design principle; Validation Abstraction design pattern

vendor diversification. See increased vendor diversification options, strategic goal; vendor-neutral, SOA characteristic

version control systems, 757

Version Identification design pattern, 288, 290, 464, 469, 481, 746

profile, 472-477

vendor-neutral, SOA characteristic, 52, 54-57, 113

version numbers, Web services and, 474

versioning, strategies for, 288

Visio Stencil, 12

W

Web Service Contract Design and Versioning for SOA, 542

Web services

Canonical Protocol design pattern and, 153

in Decoupled Contract design pattern, 403-405

defined, 45

version numbers and, 474

Web Services Choreography Description Language (WS-CDL), 78

Web service-inspired design patterns, 5

Web sites

SOABooks.com, 7, 11, 13

SOADoD.org, 739

SOAGlossary.com, 7, 12, 26, 42, 359

SOAMag.com, 12

SOAMethodology.com, 43, 76, 120, 321

SOAPatterns.org, 12, 102, 233, 256, 748

SOAPosters.com, 12

SOAPrinciples.com, 7, 50, 76, 306, 750, 768

SOASpecs.com, 12, 560, 626, 634, 640, 652

WhatIsSOA.com, 7, 51

www.refactoring.com, 486

www.thomaserl.com, 13

WS-Addressing, 542, 560, 568

WS-AtomicTransaction, 252, 626

WS-CDL (Web Services Choreography Description Language), 78

WS-Context, 560

WS-Coordination, 251, 626

WS-I Basic Profile, 153

WS-I Sample Application Security Architecture document, 640

WS-Policy, 209, 480, 752

WS-PolicyAttachments specification, 209

WS-Security, 640, 643, 651-652

WS-Trust, 665

WSDL

Canonical Expression design pattern and, 276

language, 752

X–Z

X.509 PKI, 391, 664

XML parsers, 761

XML Schema language, 206, 752

XML Schema, spelling, 206

XML-Encryption, 640, 643

XML-Signature, 640, 652

XSLT, 674

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
18.222.115.120