The Art of Distributed System Design
First Edition September 2007
ISBN 978-0-596-52955-0
Weitere Informationen zu diesem Buch
Inhaltsverzeichnis |
Index |
Probekapitel |
Rezensionen |
Index
[ Number ], [ A ], [ B ], [ C ], [ D ], [ E ], [ F ], [ G ], [ H ], [ I ], [ J ], [ K ], [ L ], [ M ], [ N ], [ O ], [ P ], [ Q ], [ R ], [ S ], [ T ], [ U ], [ V ], [ W ], [ X ], [ Y ],
Number[ Top ]
2PC (two-phase commit), 293
compensation, 44, 70
large systems, rarely used, 44
problems with, 44
transaction safety, 70
A[ Top ]
AAA, 174
access control
decision function (ADF), 180
enforcement function (AEF), 180
accounting, 174
ACID properties, 64
activation services, 76
ActiveBPEL, 88
activities, 67, 83
activity, 293
actual process, 264
adapter services, 68
addresses (see endpoints)
ADF (access control decision function), 180
advanced ESB (enterprise service bus), 113
AEF (access control enforcement function), 180
AES, 183
agent, 24, 293
agile programming, 282
alignment
business IT, 2, 83
domain/IT, 110
analysis paralysis, 39
API-driven
ESB, 54
with Web Services, 222
APIs, versus protocols, 133
application services, 76
approaches, to SOA, 281
architecture, 19, 294
bottom-up approach, 272
BPEL (Business Process Execution Language), 89
defined, 21
designs
issues, 73
solutions, 103
domain-driven, 111
EDA (event-driven architecture), 134
decoupling, 135
flexibility, 87
IDE, 86
iterative service development, 138-139
logical models, 109
mixed models, 111
models, 109
modifications, 87
overall, 109
Plug and Play, 88
Rational Rose Repository, 238
reference, 263
technical models, 112
tools, 86
top-down approach, 272
useful assumptions, 96
working systems and, 19
arrays
higher data types, 206
meta models and, 245
artifacts, 155
asynchronous communication, 37, 128, 294
error handling, 131
reply problems, 37
asynchronous request/response, 128, 294
at least once
messages, 201
reliability, 57
atomic, 64, 66
attributes
integers, 169
nillable, 205
required, 164
SAML (Security Assertion Markup Language), 183
of services, 29
skipContractData flag, 166
string, 166
auditing, 174
authentication, 173
SOA and, 174
authorization
SOA and, 174
availability, 174
B[ Top ]
backends, 294
ACID properties, 64
composed services, 68
consistency, 68
corruption of, 66
data access, 114
data modification, 66
defined, 65
frontends and, 114
inconsistencies with, 64, 69
large systems and, 66
multiple, 68
operations of, 64
read or write data, 63
SOA and, 65, 110, 114-117
SOA infrastructures, 63, 110
state and, 71
stateful services, 195
user input, 115
validation, 117
multilayer, 117
prevalidation, 118
workflow, 117
backplane, 47
backward compatibility, 70, 148, 169
backward-incompatibility, overall modifications, 255
BAM (business activity monitoring)
business opportunities, detecting, 58
code generation, 238
detection of unusual behavior, 58
ESB and, 58
message layers, 58
messages, 58
basic data services, 62
basic services, 62, 294
architecture models, 110
performance and, 162
SOA establishment, 267
binary data
exchange, 205
types, 205
binding, 43, 212
business process modeling, 90
infrastructure, 224
layers and, 212
loose coupling, 43
SOAP (Simple Object Access Protocol), 214
WSDL, 211
WSDL lifecycles, 224
blocking request/response, 124
BOM (business object model), 38
Booleans, 204
bottlenecks
large distributed systems, 4
MDSD and, 258
BPEL (Business Process Execution Language), 294
batch language, 114
BPEL4People, 117
BPM, 83
debugging, 251
ESB and, 48, 58
frontends, 114
human interaction, 114
models, 89
nonfunctional attributes and, 172
notation, 89
performance and, 168, 171
variables section, 90
Web Service operations, 90
Web Services and, 90
WS-BPEL (BPEL4WS), 90
WSFL (Web Services Flow Language), 89
XLANG, 89
XML language, 89
BPEL4people, 117
BPEL4WS, 90
BPM (business process management), 294
bottom-up approach, 84
BPEL, 83, 89
defined, 82
engines, 87
flexibility improvement, 13
goals of SOA, 12
layers, 82
mixed approaches, 84
models, 82
Plug and Play, 88
service example, 84-87
service identification, 139
SOA and, 83
system identification, 85
terminology, 82
top-down approach, 84
versus workflow management, 82
(see also business process modeling; business process)
BPMN (Business Process Modeling Notation), 92, 294
brainpower, 281
brokers
history of, 231
indirection and, 52
Web Services and, 219
bug fixes, 141, 147
build team, 250
bulk services, 197
bus, 6, 47, 294
business activity monitoring, 58
business case, 263
business categorization of services, 75
business data, 203
business functionality, 25
business ID, 119
business IT gap, 2
business object model (BOM), 38
business process, 294
backend workflow, 117
BAM and, 58
BOM (business object model), 38
BPM (Business process modeling), 19
business/IT gap, 2
categorization, 76-77
decomposition, 84
departments or units, defined, 58
distribution
multisystem, 9
objects, 23
engine protocol, 48
frontend workflow, 117
functionality, 2, 17, 26, 54
future management, 120
IDs, 202
incident management procedures, 104
interfaces
business-driven, 27
technically driven, 27
interrupting, 115
logging and monitoring of, 57
macro flow, 71
maintenance, 8
mapping business and protocol APIs, 56
MDSD (model-driven service development), 19
micro flow, 67
modeling standard, 91
platform-specific interfaces, 55
process chain, 135
protocol code layers, 55
routing messages, 56
services
lifecycles, 19
management, 57
SOA and, 8
statelessness, 32
teams and, 55
value-added, 3
Business Process Execution Language, 294
business process management (BPM), 295
business process modeling, 295
binding, 90
BPM, 82
composition, 88
defined, 82, 87
funding for, 106
graphic models, 86
IDEs, 86
MDSD (model-driven software development), 19
Oasis SOA Reference Model, 13, 20
Plug and Play, 88
rule engines, 86
services and, 86
standards
BPDM (Business Process Definition Metamodel), 92
BPEL (Business Process Execution Language), 89, 92
BPMN (Business Process Modeling Notation), 92
BPSS (Business Process Specification Schema), 92
Business Process Management Initiation, 92
EPC (Event-driven Process Chain), 92
EPML (EPC Markup Language), 92
implementation problems, 92
OMG (Object Management Group), 92
UML (Unified Modeling Language), 92
WfMC (Workflow Management Coalition), 91
Wf-XML, 92
WPDL (Workflow Process Definition Language), 91
WS-CDL (Choreography Definition Language), 92
XPDL (XML Process Definition Language), 91
structure, 90
tools, 86, 88
Business Process Modeling Notation (BPMN), 92, 295
business rules
basic data services, 63
basic logic services, 110
recommendations, 274
redundancy, 116
business services, 76
business strategy of SOA, 266, 269
business unit, as domain, 111
business-project-driven SOA, 273
businesss/IT gap, 88
C[ Top ]
caching
on consumer side, 120
provider side, 167
stateful services, 197
call center, portal and, 119
call constraints, 166
versioning, 156
callback function, 128
calling services
attributes, 157
automatically canceling, 226
call constraints, 156, 166
multiple consumers, 156
EDA (event-driven architecture), 134
ESB responsibility for, 47
flags, 156
interoperability, 48
mapping, 54
routing, 48
runtimes, 156
safe calls, 225
special contexts, 156
unsafe calls, 226
validation, 116
capability, 13
Capability Maturity Model Integration (CMMI), 276
cardinality of messages, 123
categorization of services, 61
CBR (content-based routing), 56
centralization, 18
central teams, 265
versus commonality, 114
repositories, 234
certificates, 174
change-management
governance and, 265
system maintenance, 143
choices, 206
choreography, 295
EDA and, 136
Choreography Definition Language (WS-CDL), 92
Churchill, Winston, 4
classification, of services, 61
client, 7, 24
CMMI (Capability Maturity Model Integration), 276, 295
coarse-grained, 30, 163
code
debugging, 251
functionality, without commonalities, 239
generation
manual modifications, 251
service implementation and calling, 237
source models and, 242
generic, 239
granularity problems, 253
injections, 186
manually modified, 251
schematic, 239
service implementation, 237
transformation, 242
(see also MDSD, model-driven service development)
collaboration
distributed systems and, 104
key success factors, 274
key success factors and, 282
withdrawing services, 143
commodity services, 77
common data types, 204
commonality versus centralization, 113
company
as domain, 109
effectiveness of, 102
compensation, 44, 70, 295
loose coupling, 44
complexity
asynchronous communication, 128
distributed processing and, 282
loose coupling, 9
SOA and, 282
composability
business functionality, 32
of services, 88
composed services, 295
backends
and inconsistencies, 69
using a single, 68
using multiple, 68
business process chain versus, 135
compensation, 70
domains, 111
examples of, 68
federated SOA, 69
frontends, 67
micro flows, 67
orchestration, 67
security, 70
concepts of SOA (Service-oriented architecture), 16
confidentiality, 174
SOA and, 175
configuration management
governance and, 265
labeling, 251
versioning, 155
conformance, 36
Conformance Requirements, 221
connectivity, 48
consistency
backends, 68
error handling, 69, 131
real-world scenarios, 4
consistent, 64
consumer-driven transformations, 247
consumers, 295
basic services, 67
brokers and, 231
defined, 24
differentiation of, 74
international services, 74
role systems, 24
security issues, 74
services
categories, 74
implementation, 74
internal versus public, 74
specific services, 74
stability, 74
versus provider role of a system, 125
Web Services and, 218
WSDL and, 225
consumer-specific services, 167
content-based routing, 56
context of SOA (service-oriented architecture), 109
contracts, 26, 140, 157, 295
modification, 138
controller services, 76
cookie, 195
coordination of services, 234
coordinator services, 76
copy-and-paste programming, 269
CORBA, 23, 219, 295
correlation IDs, 128, 202
counter-hype of SOA, 262
cross-domain departments, 103, 111
customized services, SOA and, 167
D[ Top ]
Darwinism, 1
data mapping (see data types, mapping)
data transformation (see data types, mapping)
data types
aliases, 206
APIs and, 152, 154
arrays, 206
compatibility, 152
defined, 206
definition, 206
balance of design, 207
domain-specific, 205
enumerations, 206
fundamental, 204
fundamental versus common, 204
generic, 154
higher, 206
IDs and, 202
in meta models, 245
Integer, 205
libraries, make consistent, 153
lists, 206
mapping, 40, 48, 56
meta model example, 244
modified types, 150
null semantics, 205
numeric, 204
options for, 150
paradigm, 43
parameters, 154
pros and cons, 154
records, 206
reference semantics, 205
service providers, consequence of using, 151
upgrading services, 152
structures, 206
use of different types in different versions, 150
use of the same type in different versions, 152
validation, and attributes, 152
versioning policy, 149
WSDL, 214
XSD, 206
database access, 162
data-centric services, 76
date/time, 205
debugging, 57
code generation and, 251
complexity and, 282
decentralization, 1, 10, 269
decision points, 118
decision service, 181
decomposition, 84
decoupling (see loose coupling)
definitions of SOA (Service-oriented architecture), 11
demilitarized zone (DMZ), 182
denial-of-service attack, 186
departments
as domain, 111
cross-domain, 103
orientation, 102
SOA and, 101
dependencies
between services, 29
events and, 135
Magic Bus and, 6
from Web Services, 224
deployment
different owners and, 254
registries and, 234
system updates, 45
WSDL lifecycles, 224
deprecated, 143
DES, 183
deserializing, 160
design
repositories and registries, 233
solutions, 85, 103
developer-driven SOA, 273
development
iterative and incremental, 87
versus maintenance, 137
development teams, 54
different owners, 2, 13
service implementation and, 171
service modification, 140
digital signatures, 175
discoverability, of services, 31, 140
distributed systems
abstraction layers, 175
analysis paralysis, 39
attacks on, 185
backends, 176
BOM (business object model), 39
communications
mapping layers, 55
protocol-driven approach, 55
confidentiality, 176
data transference security, 177
drivers, 13
forms, 36
frontends, 176
heterogeneous security concepts, 175
identities (profiles), 177
layer problems, 176
objects versus SOA, 23
processes, defining, 9
security requirements, 173
SOA drivers, 13
SLO (single logouts), 184
SSL (Secure Sockets Layer), 177
system withdrawal, correct procedure for, 143
users
authentication, 176
consumer cooperation, 143
identity context, 175
multiclient capabilities, 177
versioning, 146
distributed testing, 201
distributed, objects, 23
distribution
organizations and, 102
security and, 175
DMZ (demilitarized zone), 182
document/literal wrapped, 214
documentation
generation of, 238
tasks, necessary steps, 270
transparency, 265
domain/IT alignment, 110
domain-driven
architecture, 111
versioning, 146
domains, 109, 295
harmonization, 111
heterogeneity, 111
hierarchies, 111
subdomains, 111
domain-specific
data types, 205
language, 241
domain-specific language (DSL), 296
DoS (denial of service), 174
double confirmation, error handling, 130
drivers
distributed systems, 13
domains, ownership of, 13
heterogeneity, 14
and politics, 14
SOA and, 13
DSL (domain-specific language), 241
durable, 64
E[ Top ]
EAI (enterprise application integration), 175, 296
bus, 6
EDA (event-driven architecture), 134, 296
employee management, and using, 276
encapsulation, 63
encryption, 175
endpoints
definition, 50
mediators and service calls, 41
processing at runtime, 52
WSDL and, 212
end-to-end
encryption, 179
security, 177
enforcement points, 118
engines
business processes, 89, 111
rules engine, 111
enterprise application integration (EAI), 6, 175
enterprise business performance, 102
enterprise service bus (see ESB, enterprise service bus)
enterprise service bus, ESB (see ESB, enterprise service bus)
enumerations, 206
EPC, 296
error handling
consistency and, 69
data types, 207
error IDs, 207
exception type, 207
frontends, 115
key/value list, 207
MEP (message exchange patterns) and, 129
routing and, 207
services, 207
solution management and, 104
ESB (enterprise service bus), 296
advanced, 113
API driven, 222
API responsibility and, 54
BPEL and, 48, 58
caching, 120
differences between, 50
API-driven approach, 54
indirect approach configuration, 51
interceptors (proxies), 52
point-to-point connections, 50
protocol-driven approach, 53
gateways, 50
generic ESB, 42
heterogeneous, 49, 161
hub-and-spoke servers, 222
implementation, 48, 54
inconsistencies, 255
infrastructure teams, 54
code generation, 55
development teams and, 54
mapping between business and protocol APIs, 56
tasks of, 54
interoperability, 9, 48, 55, 174
JMS protocol, 222
libraries, 55
location, defining, 222
Magic Bus and, 6
mediator role, 51
mixed architecture models, 111
dynamic modifications, 51
protocol-driven, 54
reliability, 132
repositories, 233
responsibilities, 47-49
routing, 48
security and, 179
stateful services, 194
type checking, 42
value-added services, 56
BAM (business activity monitoring), 58
CBR (content-based routing), 56
data mapping, 54, 56
implementation, 58
logging, 57
management, 57
monitoring, 57
reliability issues and, 57
routing, 56
security, 57
versioning and, 155
WSDL (Web Services Description Language), 226
XML schema files, 42
establishment
architectural roadmap, 271
bottom-up approach, 272
different approaches, 273
drivers, four typical, 273
four Ps, 271
MDSD processes, 247
overall tasks, 269
repositories, 235
SOA, 261
top-down approach, 272
event, 296
event manager, 135
event-driven architecture (EDA), 296
event-driven process chain (EPC), 296
events
architecture and, 134
publish/subscribe and, 129
exception in meta models, 255
expansion stage, first fundamental, 65
Extensibility Points, 221
extensions, 206
external reviews, 270
external services, 74
F[ Top ]
failover
load balancing and, 51
process services and, 71
statefullness and, 196
Web Services and, 53
fault messages
generic, 207
MEP and, 130
fault tolerance, 17, 35
FDTs (fundamental data types), 204
federated SOA, 69, 73
federation, 181
fiefdoms, 102
fire and forget, 125, 297
firewalls, 175
five slides approach, 8, 270
flexibility, 11, 17, 35
flooding, 174, 185
formats, governance and, 263
foster parents, 266
frontends, 297
backend consistency, 66
composed services, 67
multiapplication, 119
multichannel support, 119
multichannels, 119
multiple applications, 119
prevalidation, 117
responsibility of, 114
role of, 114
SOA and, 114-117
stateful services, 195
user input, 115
validation, 118
multilayer, 117
prevalidation, 118
workflow, 117
fundamental data types (FDTs), 204
fundamental SOA (service-oriented architecture), 65
funding models
implementation, 106
organizations and, 106
SOA and, 263
withdrawing services and, 143
future management, 120
G[ Top ]
generating service code, 237
generation, 242
generic
code, 239
data types, 154
interfaces, 42
services, 166
GetCustomerData( ), 147
governance, 19, 297
basics of, 263
central SOA teams, 265
decentralization goals, 10
defined, 262
definition, 262
employees, selection of, 10
enterprise-wide processes, 264
executive support of SOA, 10
nontechnical issues, 263
nontechnical tasks, 263
SOA and, 19, 261
technical tasks, 265
granularity
basic services and, 63
code generation, 253
events and, 134
performance and, 164
of services, 30
services and, 166
graphical user interfaces (see user interfaces)
grass roots, 273
guidelines, SOA and, 274
H[ Top ]
harmonization
versus centralization, 114
data types and, 38, 148
domains and, 111
versus heterogeneity, 14
large distributed systems, 3
tools and, 113
header data (see data types)
heterogeneity, 3, 14
data types, 38
domains, 111
ESBs and, 49
repositories, 235
security and, 175
tools, 113
heterogeneous platforms, 17
high interoperability
securty versus, 175
SOA concepts, 16
high-level design, 85, 103
history of SOA
Booch, Grady, 8
critics of SOA, 8
Natis, Yefim V., 7
Pasik, Alexander, 7
Schute, Roy, 7
server orientation, 7
strategy of, 8
terminology, 7
Web Services, 7
history, of service brokers, 231
history, of Web Services, 210
hockey stick function, 2, 267
homework, 227, 282
HTTP, 297
SOAP and, 216
Web Services standards, 211
WS-I Basic Profile, 221
HTTP RESTful, 228
hub-and-spoke, 297
connections, 222
integration, 58
JMS protocol, 222
human interaction, 71, 114
hybrid services, 76
hype of SOA, 262
I[ Top ]
IBM model, 277
ICC (Integration Competency Center), 265
IDE, 297
BPEL and, 251
BPM and, 86
models and, 242
idempotency, 297
IDS and, 200
service attribute, 198
idempotent
MEPs and, 130
services and, 32
identification
of services, 85, 139
WSDL lifecycles, 224
identification federation, 181
Identity Federation Framework (ID-FF), 187
identity management, 187
identity provider (IdP), 175, 181
Identity Web Services Framework (ID-WSF), 187
ID-FF (Identity Federation Framework), 187
IdP (identity provider), 181
ID-WSF (Identity Web Services Framework), 187
imperfectionism, 4
implementation
caching, 167
funding models, 106
meta models, 246
pilot (step 2), 267
process automation, 268
projects (step 3), 268
services, 58, 137
SOA, 261
strategy (step 4), 269
tasks, using all 4 steps, 270
teams and, 171
understanding (step 1), 266
inconsistencies, infrastructures and, 255
incremental development, 87, 94
infrastructure
binding, 224
consumers and, 222
ESB and, 47
inconsistencies, 255
insufficient security, 178
interoperability, 18
layers and independent, 227
mapping, 224
mediator role, 51
protocols and, 224
reliability, 133
repositories, 233
SOA
presentation services, 117
solutions, 63
SOA and, 18
solutions, 227
teams, 54, 227
versioning, 156
Web Services, 227
WSDL and, 226
(see also ESB, enterprise service bus)
infrastructure services, 77
infrastructure teams, 54, 133
integration, 102, 139
Integration Competency Center (ICC), 265
integration services, 76
integration tests, 202
Integrity, 174
interaction patterns, 43
interactive SOA, 134
interceptors, 52, 223
stub, 238
Web Services and, 224
interfaces
business-driven, 27
EBS (enterprise service bus), 42
generic functionality, 156
granularity (operations), 27
meta models, 246
modification, 138
parameters, 27
signatures, 27
technically driven, 27
three strikes pattern, 269
versioning policy, 156
WSDL and, 212
(see also services; versioning policy)
intermediate services, 67
internal reviews, 270
internal services, 74
international services, 74
internationalization, 74
interoperability, 297
ESB and, 175
natural firewalls, 175
high and SOA, 33
interfaces, 221
Liberty Alliance Project (LAP), 187
protocol aspects, 221
protocol modification, 55
protocol-driven ESBs, 221
security, 70
security versus, 175
SOA and, 17
SOA concepts, 16
interrupting business processes, 117
introducing SOA, 261, 282
inventions of SOA, 281
isolated, 64
IT-driven SOA, 273
iterative
business process performance, 262
development, 87, 138
incremental approach, 273
J[ Top ]
JaBoWS (Just another Bunch of Web Services), 227
Java Naming and Directory Interface (JNDI), 219
JMS, 127, 222, 297
JNDI (Java Naming and Directory Interface), 219
juristic data, 66, 72, 196
K[ Top ]
Kerberos, 174, 183
key success factors of SOA, 282
L[ Top ]
labeling, 250
landscape, 47
large distributed systems, 3
bottlenecks, 4
design of, 170
heterogeneous systems, 3
imperfections of, 4
landscape maintenance, 3
redundancy, 4
tale of the Magic Bus, 4-6
types of owners, 4
layers
abstraction and distributed processes, 175
binding, 212
business layer, 179
description of primary, 212
ESB, 179
infrastructure-independent, and Web Services standards, 227
mapping, 55
MEP (message exchange patterns), 132-133
MEPs and, 131
messages, and constraints, 58, 179
multiple users, 179
problems with, 176
process, 73
security and, 175
SOA and, 62
special, 73
SSL (Secure Sockets Layer), 177
transport, 130
transport-layer
browsers, 55
implementation tools, 55
protocol HTTPs, 55
security, 179
validation, multilayers, 117
workflow layers, 82
WSDL and, 212
LDAP, 219
leadership, 273
legacy, 3
Liberty Alliance Project (LAP), 181, 187
lifecycles
establishing, 269
governance and, 263
services and, 137
WSDL and, 223
lifetime of data, 3
limit of SOA, 283
limits
collaboration, 171
orchestration and, 168
signatures, 206
lists
data types, 206
meta models, 244
load balancing
endpoints and, 52
failover, 51
statefulness and, 196
local services, 74
logging, 57
logic services, 64
logical architecture models, 109
loose coupling, 16, 30, 297
2PC (two-phase commit), 44
asynchronous communication
advantages of using, 38
choosing whether to use, 128
correlation ID, 38
drawbacks of using, 38
race conditions, debugging, 38
reply problems, 37
binding, 43
BOM (business object model), 38
common object models, disabling effect of, 56
compensation, 44
complexity and, 282
complexity of, 36
data types
advantages of using, 40
disadvantages of using, 40
heterogeneous, 38-41
mappings, 40
multiple address types, 41
type checking, 42
versioning, 45
deployment, 45, 255
ESB (enterprise service bus), 42
fault tolerance, 35
flexibility, 36
forms, 36, 46
mediators, 41
point-to-point approach, 41
process logic, 45
repositories, 232
scalability, 36
SOA and, 17
SOA establishment, 267
SOA versus EDA, 135
system dependencies, reducing, 9
transaction safety, 44
versioning policy, 45
M[ Top ]
macro flow, 71
Magic Bus, 4
maintenance versus development, 137
management
of services, 231, 265
of solutions, 103
management support, 103, 106, 266, 273, 282
management-driven SOA, 273
manual modification of generated code, 251
mapping
data types, 40, 56
external to internal, 155
between protocol and API, 54
protocols, 161
services interfaces, 68
marketplace
internal coordination, 234
UDDI, 219
master data, 67, 119
master data management (MDM), 56
maturity models, 297
maturity models, SOA and, 276
MDM (master data management), 56
MDSD (model-driven service development), 19, 298
approaches for, 238
code
debugging, 251
generation, 237
granularity problems, 253
manually modified, 252
uses for, 238
DSL (domain-specific language), 241
labeling, 250
languages, 241
manual modifications, 252
model, defined, 240
modifications, 254
PIMS (platform-independent models), 242
platform-independent models, 242
platform-specific models, 242
PSMs (platform-specific models), 242
software development, 239
terminology, 239
three strikes pattern, 269
tools, 255
configuration management rules, 243
design implementation, 244
model-driven tools, 242
oAW (openArchitectureWare), 258
Rational Rose Repository, limitations of, 244
XML notation, 246
XSLT, 255-257
transformation
code generation, 247
policy, 250
provider-driven, 249
third-party-driven, 250
mediation, 41, 50
mega project, 273
MEP (message exchange patterns), 298
architecture
EDA (event-driven architecture), 135
basic, 124
categories
MOM (message-oriented middleware), 127
one-way, 125-127
pros and cons, 128
publish/subscribe, 129
request/callback, 124-128
consumer process, 126
defined, 29, 123
EDA (event-driven architecture), 134
errors, 129
fault messages, 130
message, molder, 131
technical, 130
layers, 131-133
notifications (events), 129
publish subscribe, 129
request/callback, 128
request/response, 124
return addresses, 128
merging generated code, 253
message, 298
message exchange patterns (see MEP, message exchange patterns)
message header
routing of, 57
security and, 179
message-layer security, 177, 179
message-oriented middleware (see MOM, message-oriented middleware)
messages, 26
faults, 130
IDs, 202
meta model, 240, 298
metrics, governance and, 263
micro flow, 67
mixed architecture models, 111
model, 240, 298
model transformation
consumer-driven, 247
(see also MDSD, transformation)
model-driven service development (MDSD), 237
model-driven software/service development, 298
modeling language, 241
modeling services, 81, 239
models
choice of, 113
cross-department domains, 111
domain, 111
logical, 110
mixed, 111
technical models, 112
modification
versus bug fixes, 147
of services, 140
MOM (message-oriented middleware), 298
defined, 127
MEP (message exchange patterns) and, 127
message exchange, 124
one-way messages, 127
request/response, 127
service calls, 124
monitoring, 143
BAM and, 58
ESB and, 57
governance and, 265
monolithic systems, 101
MQ, 127
multiapplication support, 119
multichannel support, 119, 195
stateful services, 197
multiclient capabilities, 177
multiple requests, 198
multiproject management, 268
N[ Top ]
name server, 52
namespaces
higher data types, 206
WSDL, 214
WSDL 2.0 and SOAP 1.2, 216
national services, 74
network (see infrastructure; ESB)
networked SOA (see federated SOA)
new aspects of SOA, 281
nightly builds, 250
NIL, 205
nillable, 205
nonblocking request/response, 136
nonfunctional attributes
backward compatibility, 148
BPEL and, 172
REST and, 228
nontechnical governance tasks, 263
not invented here syndrome, 104
notation
BPEL and, 89
services and, 246
notifications
event-driven architecture, 134
publish/subscribe and, 129
null semantics (see data types,
reference semantics)
O[ Top ]
OASIS, 298
Oasis SOA Reference Model
definition, 20, 31
distributed systems, 13
granularity, 30
loose coupling, 30
oAW (openArchitectureWare), 258
objectives, 263
object-oriented programming (see OOP, object-oriented programming)
objects
distributed, 23
models, disabling effect of, 56
OBV (Objects by Value), 23
versus SOA, 23
(see also SOAP, Simple Object Access Protocol)
observer pattern, 129
OBV (Objects by Value), 23
official process, 264
offline ability, of repositories, 234
OMG, 298
once and only once
messages, 201
reliability, 57
one-way, 298
fire and forget, 125
MEP (message exchange patterns), 125
request/response, 125
OOP (object-oriented programming), SOA and, 283
open standardization, 220
openArchitectureWare (see oAW, openArchitectureWare)
operating system interdependence, 16
operations, in meta model, 245
orchestrated services, 67
orchestration, 298
choreography
and SOA, 97
process chains, 97
versus, 96-97
customized service, 168
design process drawbacks, 96
EDA versus, 134
limits of, 167
REST and, 228
of services, 67, 88
order management, 120
order of messages, 123, 128
organizational structures
backends, 65
profit centers and, 105
organizations
collaboration, 104
distribution, 102
governance, 263
incident management procedure, 104
management support, 106
model funding, 106
monolithic systems, 102
SOA and, 101
solutions for, 103-105, 111
ownership
different owners, 2
domains, 13
service modification and, 140
P[ Top ]
paradigm, 11, 21
parameters, in meta model, 245
participant, 24, 298
passwords, 174
payload, 203
PDP (policy decision point)
policy enforcement point versus, 118
security, 180
validation, 118
PEP (policy enforcement point), 180
perceived process, 264
perfectionism
expense of, 87
large systems and, 4
versioning and, 145
performance, 159
security and, 181
service quality and, 164
physical location of a service, 212
pilots
copy-and-paste, 269
first, 267
infrastructure, establishing, 268
project approaches, 274
second and third, 268
PIMS (platform-independent models), 242
platform dependencies
fundamental data types, 44
independence of, 43
interaction patterns, 43
platform independence, 16, 63
platform-independent models (PIMS), 242
Plug and Play, 88
point-to-point
connections, 50, 221
encryption, 179
security, 177
Web Services and, 221
policies
decision points, 118
enforcement points, 118
governance and, 263
law versus guideline, 274
three strikes pattern, 269
policy, 298
policy decision point (see PDP, policy decision point)
policy enforcement point (PEP), 118, 180
policy enforcement point (see PEP, policy enforcement point
port type, 212
portal, call center and, 119
portfolio management
reusability and, 169
services, 94
(see also services,
lifecycles)
post-conditions, 33
practice versus theory, ix
preconditions, 33
presentation of backend data, 114
presentation services, 117
prevalidation, user input, 117
process, 299
process logic control, 45
process services, 299
business process chain versus, 135
domains, 111
human interaction, 114
orchestration platform, 76
third stage expansion and SOA, 71
process steps, 82
process-enabled SOA (service-oriented architecture), 71
processes
governance, 263
governance and, 263
large systems and, 19
MDSD, 247
three strikes pattern, 269
processing, of service calls, 160
profiles, 299
Basic profiles, 221
standards and, 221
of users, 181
profit centers, 105
programming language independence, 16
programming paradigm, 43
project orientation, 102
protected areas, 252
protocol-driven ESB
versus API-driven ESB, 53
Web Services and, 222
protocols
APIs, 56
APIs versus, 131
aspects, 221
code layers, 55
defined, 54
driven approach, 55, 221
ESB and, 53
HTTPs, 55
infrastructure and, 224
intermediate, 160
interoperability, 221
mapping, 161
mapping to API, 54
point-to-point, 221
process engines, 48
reliability, 132
SOA (service-oriented architecture), 160
Web Services, 228
security, 178
WSDL, 224
XML-based, 160
(see also SOAP, Simple Object Access Protocol)
provider-driven transformations, 247
providers, 24, 299
brokers and, 231
caching, 167
consumer role of a system versus, 125
Web Services and, 218
proxies (see interceptors)
public services, 74
publish/subscribe, 129, 299
Q[ Top ]
QoS (Quality of Service), 28, 33
quality assurance, 140
R[ Top ]
race conditions, debugging, 38
Rational Rose Repository, 238, 244
reading services, 75, 110
receive activity, 90
records, 206
red zone, 66
redundancy
input validation, 116, 118
Magic Bus and, 4
multiple backends and, 66
reference architecture
copy-and-paste, 269
fundamental decisions for, 263
reference semantics, signatures and, 205
registration services, 76
registries, 233
designing, 233
establishment of, 235
services and, 233
Web Services and, 219
registry, 299
reliability, 131
at least once, 57
error handling, 131
once and only once, 57
remote procedure call (RPC), 124
remote stored procedures, 162
repositories, 233, 299
architecture models, 113
designing, 233
establishment of, 235
meta models and, 247
services and, 233
versioning, 155
WSDL and, 224
request, 299
request/callback, 128, 299
request/response, 300
consumers and, 124
one-way, 125
requestor, 24, 299
requests
IDs and, 200
multiple, 198
response, 300
responsibility
defining roles of, 263
between infrastructure and domain teams, 117
services and, 111
REST (Representational State Transfer), 228
RESTful HTTP, 228
restrictions, 206
retries, 132, 198
retrospectives, 270
reusability
consumer-specific services versus, 168
performance and, 164
of services, 32, 77
reviews, 270
revision, 146
revolutionary aspects of SOA, 281
risks
reviews and, 270
services and, 77
roadmap for SOA, 261
robustness, 254
roles
defining, 263
of services, 76
round-trip processing and MDSD, 242
routing
content-based, 56
error handling, 207
intelligent, 48, 56
internationalization and, 74
messages, 56
response messages, 127
stateful services, 194
sticky, 196
value-added services and, 56
RPC (remote procedure call), 124
RSA, 183
rule services, 110, 113, 115
rules (see business rules)
rules engine, 113, 118
decision points, 118
mixed architecture models, 111
runtime, 159
S[ Top ]
safe extension, 225
SAML (Security Assertion Markup Language)
assertions, managed, 183
attributes, 183
distributed logouts, 184
security data, management and exchange, 183
SSO (single sign-on), 184
subjects, 183
scalability, 17, 36, 113
statefulness and, 196
SCC (SOA Competency Center), 265
schematic code, 239
SCoE (SOA Center of Excellence), 265
Secure Sockets Layer (SSL), 177
security
abstraction layers, 176
accounting, 174
ADF (access control decision function), 180
authentication, 173, 180
authorization, 174, 180
availability, 174
confidentiality, 174, 179
data integrity, 179
digital signatures, 175
DMZ (demilitarized zone), 182
encryption, 175
end-to-end, 177
establishment, 188
heterogeneity, 175
IdP (identity provider), 181
implementation of, 188
infrastructures, and insufficient, 178
Integrity, 174
interoperability, 70
interoperability versus, 175
lower default, 188
message-layer, 177, 179
natural firewalls, 175
passwords, 174
PDP (policy decision point), 180
PEP (policy enforcement point), 180
performance and state, 181
point-to-point, 177
reasons for neglected, 178
requirements, 188
REST (Representational State Transfer), 228
services
decision, 180
enforcement, 180
SOA, 178
SOA establishment, 267
SOA overview, 173
SOAP attachments, attacks on, 188
SSL (Secure Sockets Layer), 177
standards
assertions, managed, 183
general, 183
SAML (Security Assertion Markup Language), 183
Web Services, 183
WS-Federation, 185
WS-SecureConversation, 184
WS-Security, 183, 184
WS-SecurityPolicy, 184
WS-Trust, 184
XML DSig (XML Signature), 184
XML Enc (XML Encryption), 184
XML Key Management, 184
XML-based, 183
statelessness and, 181
traffic, auditing, 174, 182
transport-layer, 177, 179
user IDs, 174
Web Services, 182, 221
Web Services, attacks on, 185
XML, 182
attacks on, 185
bombs, 185
XPath injections, 186
self-contained, 29
serialization, 160
server, 7, 24
service agent, 24
Service Integration Maturity Model (SIMM), 277
service-oriented teams, 266
services, 16, 24, 300
ACID properties, 64
activation, 76
additional attributes, 29
agent, 24
applications, 76
as adapters, 68
backends, 65, 66
basic, 62
data, 63
functionality, 63
logic, 64
bottom-up approach, 94
BPM, 84
brokers, 219
central services interface, 219
history of, 231
purposes for, 231
business, 76
business event tracing, 94
categories, 74
commodity, 77
compensation context code, 192
composed, 67
consumer-specific, 28, 167
contracts
definition, 28
interfaces, 28
nonfunctional attributes, 33
pre- and post-conditions, 33
resources, required, 28
control of, 114
controller, 76
coordinator, 76
correlation IDs, 202
drawbacks, 203
one business process, 202
one service call, 202
customized, 167
data access, 62
slow data access, 30
data types, 29
data-centric, 76
defined, 25, 26-34, 61
development, 137
distributed system landscapes, 78
distributed testing, 201
domains
cross-domains, 111
decomposition, 94
expansion stages, 62
external, 74
external interfaces, 30
functionality, 8, 26
generic, 42, 166
goals, 26
granularity, 30, 253
hybrid, 76
idempotent, 32, 198
identification, 85, 139
identification of, 94
implementation, 58, 137
infrastructure, 77, 78
integration, 76
interaction patterns, 43
intermediate, 67
internal, 74
international, 74
layers, 62
lifecycles, 19
design phase, 138-139
discovery, 140
identification, 139
iterative development, 138-139
portfolio management
local, 74
logic service (rule service), 112
logic services, 64
maintenance, 140
management, 231
MDSD, 250
message exchange patterns, 29
meta models, 246
models, 86
modification, 87, 138, 140
modifications, 147
national, 74
number of service versions, 155
orchestrated, 67
portfolio management, 94
presentation services, 117
remote stored procedures, 162
process
decomposition, 94
enabled SOA and, 72
examples, 71
failover mechanisms, 71
juristic data, 72
persistent data, 72
processing, 160
production, 140
bug fixes, 141
modification of, 141
run phase, 141
dead services, 142
introduction of new services, 140
software, 140
public, 74
public-enterprise, 74
QoS (Quality of Service), 28
reading, 75
registration, 76
registries, 233-236
remote stored procedures versus, 162
repositories, 233-236
responsibility for, 111
reusability, 168
reusability of, 32
roles of, 76
searches for, 31
security, 180
service state versus backend state, 72
signatures, 28, 43
SLA (service-level agreement), 28
fundamental SOA, 65
software, removing existing, 142
stateful, 193
backends, 195
definition, 194
drawbacks, 196
failover mechanisms, 196
frontends, 195
options for, 195
shopping cart application, 194
stateless, 192
advantages, 196
backends, 195
bulk services, 197
defined, 32
definition, 192
modification of, 192
performance, 197
process services, multichannel support, 197
security, 197
task-centric, 76
technical, 32, 77
territory, 77
time service factor, 161
topology of interfaces, 26
unit tests, 201
value-added, 77
versioning (see versioning policy)
views, 165
withdrawal of, 142
withdrawing, 142
wrapper, 76
writing, 75
sessions, 71
shopping cart application, 194, 197
signature
reference semantics and, 205
services and, 28
signatures
input parameters, 28
silos (see monolithic systems)
SIMM (Service Integration Maturity Model), 277
simplicity, 206
single logouts (SLO), 183
single sign-on (SSO), 184
skeletons
API and, 238
manual modifications, 252
SLA (service-level agreement), 28, 300
and quality of service, 33
backward compatibility, 148
meta models, 245
performance and, 161
time service factor, 161
WSDL (Web Services Description Language), 226
SLO (single logouts), 183
SOA (service-oriented architecture), 300
and Web Services, 7, 33
attachments, attacks on, 188
attributes, 166
bandwidth issues, 161
business strategies, 266
call constraints, 166
CIT (telephony integration), 170
concepts of, 16
customized services
loading data, 167
orchestrating limits, 168
defined, 8, 12
definition, 11
deserialization, 161
distributed systems, 170
infrastructure, generic, 156
multiclient capabilities, 177
versus OOP, 283
OOP (object-oriented programming), 283
performance, 159
backward compatibility, 169
recommendations, 164
reusability, 168
solutions, 170
critical steps, 160
remote stored procedures, 162-163
intermediate protocol, 160
reusability, 164
skipContractData flag, 166
SLA (service-level agreement), 161
specialOptimizationForSystemX flag, 166
time service factor, 161
Web Services and, 21, 209, 222
when not to use, 283
XML-based protocol, 160
SOA 2.0, 134
SOA Center of Excellence (SCoE), 265
SOA Competency Center (SCC), 265
SOAP (Simple Object Access Protocol), 300
attachments, 188
binding, 214
data exchange, 211
defined, 217
document/literal wrapped, 214
header data, 217
HTTP headings, 218
messages, 217
modifications and, 218
request code example, 217
styles, 214
versions, 217
Web Services and, 210
software architecture, 300
Software Capability Maturity Model (SW-CMM), 276
software, development versus maintenance, 137
solution management, 103
solution manager, 103
solutions
design, 85
first step of SOA project, 268
specialOptimizationForSystemX flag, 166
SSL (Secure Sockets Layer), 177, 183, 301
SSO (single sign-on), 184
stability
of first pilot, 268
of services, 146
standards
basic, 211
Basic Profile, 221
for BPM, 91
defined, 210, 220
governance and, 263
HTTP, 211
interoperability, 220
open standardization, 220
profiles, 221
purpose for, 228
security, 184
SOA and, 82
SOAP (Simple Object Access Protocol), 217
UDDI (Universal Description, Discovery, and Integration), 218
Web Services and, 211
WS-1 (Web Services Interoperability Organization), 221
WSDL (Web Services Description Language), 211
XML, 211
state, 191
security and, 181
services versus backend, 71
stateful services
versus backend state, 71
technical details, 191
stateless services, 191
statelessness, 32
step, 82
sticky routing, 196
strings, 204
formats, 206
reference semantics and, 205
structures
data types, 206
meta models, 247
modifications, 247
stub, 238
subdomains, 111
subjects, 183
subprocess, 82
success factors, of SOA, 282
suites, SOA, 113
supply chain, 135
SW-CMM (Software Capability Maturity Model), 276
systems
architecture, 19
boundaries, 110
consumer versus provider role, 125
meta models, 243
monolithic, 101
(see also backends)
T[ Top ]
task, 82, 301
task-centric business, 76
teams
central SOA teams, 265
as domain, 111
infrastructure versus development, 54, 117
structures of, 101
technical architecture models, 112
technical data, 203
technical details, 191
technical governance tasks, 265
technical services, 32, 77
terminology
coarse-grained concepts, 20
consumer, 24
loose coupling concepts, 20
MDSD, 239
participant, 24
provider, 24
requestor, 24
SOA (Service Oriented Architecture), 20
visibility, 20
Web Services, 20
territory services, 77
test mode, 202
testing, 140
code generation, 238
complexity and, 282
debugging and, 201
theory versus practice, ix
third-party-driven transformations, 247
three strikes pattern, 239, 268
time service factor, 161
meta model, 251
time service factor (TSF), 161
tokens, 174
tool vendors
architecture models, 113
repositories, 236
Web Services, 220
tools
busines process modeling, 87
MDSD and, 242, 255
traffic, auditing, 182
transaction context, 70
transaction safety, 44, 70
transformation, 247
transparency, 265
transport-layer
reliability and, 130
security, 177, 179
two-phase commit
(see 2PC, two-phase commit)
type aliases, 206
type checking, 42
typedefs, 206
types (see data types)
U[ Top ]
UBR (UDDI Business Registry), 218, 232, 301
UDDI (Universal Description, Discovery, and Integration), 301
central service brokers, 219
defined, 218
Web Services, managing, 211
WS-I Basic Profile, 221
UML (Unified Modeling Language), 92, 240
understanding SOA, 266, 282
unit tests, 201
usage factor, 169
user interfaces, 114
users
IDs, 174
input validation, 116
interfaces, 116
prevalidation of input, 116
profiles, 181
repository interfaces, 234
V[ Top ]
validation
backends, 117
decision points, 118
frontends, 118
prevalidation, 118
redundancy, 118
SOA and, 117
user input, 115, 117
value ranges, 206
value-added ESB services, 56, 77, 223
vendor diversity, 33
versioning policy, 45
call constraints, 156, 166
configuration-management-driven, 155
artifacts, 155
tools, 155
consumers, and changes, 147
data types, 149-155
data types and, 148
data types, fundamental, 204
domain-driven, 146
backward-compatible modifications, 148
consequences of, 147
nontrivial policy, 149
trivial policy, 147
generic functionality, 156
labeling, 250
migrations, 146
effects of modifications, 156
namespaces, 149
number of service versions, 148, 155
repositories and, 234
requirements, 145
multiple revisions, 146
running multiple versions, 146
runtime, 148
new service introduction, 147
service name conventions, 147
service withdrawal, 148
UDDI registry, 149
too many versions, avoid, 148
versions, versus revisions, 146
view concept, 165
visibility of services, 31
visions, 263
W[ Top ]
W3C (World Wide Web Consortium), 301
warnings, 207
waterfall approach, 138
Web Services, 301
activity sequences, 90
alternatives, 227
application problems, 226
assigning, 90
attacks on, 185
BPEL, 90
central service brokers, 219
fault messages, 130
flow, 90
history of, 7, 210
infrastructure teams, 227
inheritance, avoid, 206
invoke, 90
nillable, 205
operations, 90
priorities for using, 227
problems with, 9
process engine, 227
proprietary SOA infrastructure solutions, 227
protocols, 221
point-to-point, 52
security and, 178
receive activity, 90
registries, 219
reply, 90
restrictions (complex value constraints), avoid, 206
revolution, 281
roles, 228
security, 179, 182, 184
service interface format, 227
SLA attributes, 227
SOA, 22
SOA (service-oriented architecture), 222
SOA and, 7, 21, 33, 209
standardization, 220
standards for, 210, 228
variables section, 90
XSD types, 206
(see also protocols)
Web Services Interoperability Organization (see WS-I, Web Services Interoperability Organization)
web site for the book, xiii
well-defined, 28
WfMC (Workflow Management Coalition), 91
Wf-XML, 92
withdrawing of services, 142
workflow, 301
(see BPM, business process management)
frontend versus backend, 117
macro flow, 71
micro flow, 67
WPDL (Workflow Process Definition Language), 91
wrapper services, 76
writing services, 75, 110
idempotent, 199
WS (Web Ser vices), 301
WS-BPEL, 89
WS-CDL (Choreography Definition Language), 92
WSDL (Web Services Description Language), 301
attributes
code generation, 226
nonfunctional, 224
service-level agreements and, 224
binding, 224
code example, 212-216
consumer's perspective, 223
deficits, solutions for, 224
extensions, 225
files
defined, 224
deployment details, 224
lifecycle of, 223
various stages, 224
interceptors, 223
layers of description, 212
lifecycles, 223
limits of, 224
modeling language, 241
protocol, 224
repositories, 224
safe extension, 225
service
availability, 224
identification, 223
service interface definitions, 211
SOA landscape integration, 223
structure of, 211
teams, 224
WS-I Basic Profile, 221
WSDL lifecycles, 211
WSFL (Web Services Flow Language), 89
WS-I (Web Services Interoperability Organization), 301
WS-Security, 179, 183
security techniques, 184
SOAP and, 184
Web Services encryption, 179
WS-I (Web Services Interoperability Organization), 221
Basic Security Profile, 185, 221
Conformance Requirements, 221
Extensibility Points, 221
profiles, 221
WS-Federation
trust brokering, 185
WS-SecureConversation
shared security context, 184
requests, reducing time-consuming, 184
WS-SecurityPolicy
Kerberos, 184
X.509, 184
WS-Trust
security token validation, 184
X[ Top ]
X.509, 184
XLANG, 89
XML, 211, 301
and SAML, 183
models and, 240
Open Standards, 178
overview, 183
performance and, 160
security, 182
data management and exchange, 183
documents, 186
standards, 183
Web Services, 184
XML bombs, 185
XML DSig (XML Signature), 184
XML Enc (XML Encryption), 184
XML Key Management, 184
XML language, 89
XPath, 186
XSD (XML Schema Definition), 301
XPath injections, 186
XPDL (XML Process Definition Language), 91
XSD, 211
XSLT (eXtensible Stylesheet Language Transformations)
bottlenecks, avoiding, 258
code generation, 242
oAW (openArchitectureWare), 258
problems with, 257
processor, defined, 255
stylesheet files, 255
templates, 255
Y[ Top ]
YAGNI (You Ain't Gonna Need It), 95, 169, 267
yellow pages
friends and, 232
Web Services, 219
Zurück zu SOA in Practice
