Table of contents
|
Foreword
by Professor Neil Maiden |
ix |
|
|
Preface |
xi |
|
|
1.1 Why
projects fail |
2 |
|
|
1.2 Aligning IT with business – speaking a
common language |
4 |
|
|
1.2.1 Models |
6 |
|
|
1.3 What is service oriented architecture? |
9 |
|
|
1.3.1 The real user |
17 |
|
|
1.4 Business drivers for SOA |
21 |
|
|
1.5 Technology drivers |
22 |
|
|
1.6 Benefits, pitfalls and prospects |
25 |
|
|
1.6.1 Pitfalls |
26 |
|
|
1.6.2 Post-SOA benefits |
28 |
|
|
1.7 Migration strategies |
28 |
|
|
1.8 Summary |
30 |
|
|
1.9 Bibliographical notes |
32 |
|
|
|
|
|
|
2 Architecture – Objects, Components, Services |
35 |
|
|
2.1 What is architecture? |
35 |
|
|
2.1.1 Architecture as high level structure |
36 |
|
|
2.1.2 Architecture as design rationale or vision |
41 |
|
|
2.1.3 Architecture
and reuse |
45 |
|
|
2.2 Architecture through the ages |
46 |
|
|
2.3 Objects and components |
55 |
|
|
2.3.1 Components for flexibility |
58 |
|
|
2.3.2 Large-scale connectors |
60 |
|
|
2.3.3 How services relate to components |
61 |
|
|
2.4 Architecture and SOA |
63 |
|
|
2.5 Stateless services |
69 |
|
|
2.6 Principles for developing, maintaining
and exploiting a SOA |
72 |
|
|
2.7 Summary |
74 |
|
|
2.8 Bibliographical notes |
76 |
|
|
|
|
|
|
3 Approaches to Requirements Engineering |
77 |
|
|
3.1 Conventional approaches |
77 |
|
|
3.2.1 Approaches
based on human factors |
80 |
|
|
3.2 Classic requirements versus use cases |
84 |
|
|
3.2.1 UML basics |
84 |
|
|
3.2.2 Use case models |
87 |
|
|
3.2.3 Formulating requirements |
89 |
|
|
3.3 Problem Frames |
92 |
|
|
3.4 Requirements and business
rules |
95 |
|
|
3.5 Establishing and
prioritizing the business objectives |
96 |
|
|
3.6 Soft techniques for
requirements elicitation |
100 |
|
|
3.6.1 Using interviewing techniques |
101 |
|
|
3.6.2 Repertory grids |
103 |
|
|
3.6.3 Hierarchical task analysis |
105 |
|
|
3.6.4 Object discovery techniques |
109 |
|
|
3.7 Summary |
114 |
|
|
3.8 Bibliographical notes |
118 |
|
|
|
|
|
|
4 Business Process Modelling |
119 |
|
|
4.1 The
origins of need for business process modelling |
120 |
|
|
4.2 Business
process modelling in a nutshell |
122 |
|
|
4.3 UML
activity diagrams |
124 |
|
|
4.4 BPMN |
126 |
|
|
4.4.1 Fundamental business
process modelling patterns |
129 |
|
|
4.4.2 A practical example |
132 |
|
|
4.5 WS-BPEL |
136 |
|
|
4.6 Orchestration and choreography |
138 |
|
|
4.7 Process algebra and Petri nets |
140 |
|
|
4.8 The human side of business process
management |
144 |
|
|
4.9 Summary |
145 |
|
|
4.10 Bibliographical
notes |
146 |
|
|
|
|
|
|
5 Catalysis Conversation Analysis |
147 |
|
|
5.1 What is a business process? |
147 |
|
|
5.2 Conversations |
150 |
|
|
5.3 Conversation
stereotypes and scripts |
154 |
|
|
5.3.1 Handling exceptions |
156 |
|
|
5.4 Conversations as components |
157 |
|
|
5.5 Contracts and goals |
159 |
|
|
5.6 Conversations, collaborations and
services |
164 |
|
|
5.7 Checking model consistency |
170 |
|
|
5.8 Summary |
171 |
|
|
5.9 Bibliographical notes |
172 |
|
|
|
|
|
|
6 Models of large enterprises |
173 |
|
|
6.1 Business process modelling and SOA in
the large |
174 |
|
|
6.2 Business rules in the mission grid |
181 |
|
|
6.3 The mission grid as a roadmap for SOA |
184 |
|
|
6.4 Other approaches |
185 |
|
|
6.5 Summary |
186 |
|
|
6.6 Bibliographical notes |
187 |
|
|
|
|
|
|
7
Specification modelling |
189 |
|
|
7.1 From requirements to
specification |
189 |
|
|
7.2 Some problems with the conventional
approach to use cases |
191 |
|
|
7.2.1 Overemphasis on functional
decomposition |
191 |
|
|
7.2.2 Lack of clear definition |
192 |
|
|
7.2.3 Controller objects |
192 |
|
|
7.2.4 Use cases and scenarios |
192 |
|
|
7.2.5 Essential or generic use cases |
193 |
|
|
7.2.6 Atomicity |
194 |
|
|
7.2.7 Level of abstraction |
195 |
|
|
7.2.8 Exception handling |
195 |
|
|
7.3 Describing boundary
conversations or use cases |
197 |
|
|
7.4 Establishing the type
model |
201 |
|
|
7.4.1 State models |
203 |
|
|
7.5 Finding services from
state models |
208 |
|
|
7.5.1 Cartooning using agents or
coördinators |
209 |
|
|
7.6 Finding business
rules |
211 |
|
|
7.7 Ontology, type
models and business rules |
218 |
|
|
7.7.1 Rules and rule chaining |
219 |
|
|
7.8 Documenting the
specification |
222 |
|
|
7.9 Associations,
rules and encapsulation |
223 |
|
|
7.9.1 Integrity rules rulesets and encapsulation |
226 |
|
|
7.10 Summary |
229 |
|
|
7.11 Bibliographical notes |
231 |
|
|
|
|
|
|
8 Standards |
233 |
|
|
8.1 BPM standards |
233 |
|
|
8.2 Web
Services standards |
236 |
|
|
8.3 Other
miscellaneous standards |
236 |
|
|
8.4 Bibliographical notes |
240 |
|
|
|
|
|
|
Appendices |
|
|
|
A Requirements engineering and specification
patterns |
241 |
|
|
B The fundamental concepts of service oriented architecture |
297 |
|
|
|
|
|
|
References
and bibliography |
307 |
|
|
Index |
313 |
|