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
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
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
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
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 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 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
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
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
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
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.
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
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
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
Johnson, Ralph, 107
joint application (of compound patterns), 699-700
KDC (Kerberos Key Distribution Center), 665
Kerberos protocol, 665
Kerberos service accounts, 390
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
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
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
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
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
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
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 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
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
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
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
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
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
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
SOABooks.com, 7, 11, 13
SOAGlossary.com, 7, 12, 26, 42, 359
SOAMethodology.com, 43, 76, 120, 321
SOAPatterns.org, 12, 102, 233, 256, 748
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
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
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.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
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
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
SOAGlossary.com, 7, 12, 26, 42, 359
SOAMethodology.com, 43, 76, 120, 321
SOAPatterns.org, 12, 102, 233, 256, 748
SOAPrinciples.com, 7, 50, 76, 306, 750, 768
SOASpecs.com, 12, 560, 626, 634, 640, 652
WhatIsSOA.com, 7, 51
WS-AtomicTransaction, 252, 626
WS-CDL (Web Services Choreography Description Language), 78
WS-Context, 560
WS-I Basic Profile, 153
WS-I Sample Application Security Architecture document, 640
WS-PolicyAttachments specification, 209
WS-Security, 640, 643, 651-652
WS-Trust, 665
WSDL
Canonical Expression design pattern and, 276
language, 752
XML parsers, 761
XML Schema, spelling, 206
XSLT, 674
18.222.115.120