Table of contents for Essential software architecture / Ian Gorton.


Bibliographic record and links to related information available from the Library of Congress catalog
Note: Electronic data is machine generated. May be incomplete or contain other coding.


Counter
1 Understanding Software Architecture ........... .................................1
1.1      W  hat is Software  Architecture?  .............................................  I
1.2      Definitions of Software Architecture....... ......................
1.2.1  Architecture Defines Structure ................... ........ -3
1.2.2  Architecture Specifies Component Communication .....5
1.2 3  Architecture Addresses Non-functional Requirements ..6
1.2.4  Architecture is an Abstraction ................. ............ .. .. 6
1. 2  5  Architecture  View s .........  .......  ..... ............ .. ....
1.3      What Does a Software Architect Do?    ............ .... ...   10
1.4      Architectures and  Technologies .. ........... ................. . 11
1.5      Su  rn nary II.. ... I............. ......... ......... ......... .. ..... 13
1.6      Furthe  R eading .....................................................................  3
.6.  (  General Architecture,.......... ...   ..  ............ i3
1.6.2  Architecture Requirements  ............ ........ .... . ........ . ... 14
S6.3   Architecture Patterns ... .......... ................ .. .. 14
1.6.4  Technology Comparisons ............. .. . ...... .. . 15
2  Introducing  the Case Study  .. ..................................................... ......  17
2.        Requirements Overview  .. .. ..  ........... .... ............ 17
2.2       Pr  ject Context... ... ........... .......... .... . ... .... . ... ..   18
2.3       Business  G oals  .... ....... ..... .. ....................... ........... . 20
2.4       Constraints................ ................. ................. .............. ... ...... 21
2  5      Sum m ary  .... ... .............. ................................-I:.. . ... ......... .. . ... 2 1
5         Summary                                                2
3  Software Quality Attributes......................................... ...........  ....... 23
.1        Quality  Attributes.. .. ... .. .. ... .. . ....... ... .......   23
3.2    Perform ance  ......... .. ...... .. ..  ..........  ........ ... .... 24
3.2.1  Throughput ... . ...... ......... ................ ........... ......
3.2.2  Response  Tim e  .... ..... ........ ........ ............ 25
3.2.3  Deadlines ....-...... . ... ..... ........       26
3.2.4  Performance for the [CDE System......., ......... ..... 27
3 ..3     Scalabilitv  .,   .-. : I.. I,. . ..  ..  ... ...... ................. 27
3  .1  Request Load  ......... .. ........ .. ..... ....... 28
.3.32  Simultaneous Connections  .......   ........ .. ............ ... . 29
,3.3   D c a  S e n  . . ..  ..................... ....... .   .. ..   ........
3 3.5  Some Thoughts on Scalability,, ........ ..... -31
33.6   Scalability for the  CDE  Application ........... ......... 3
-.  4    kl n  d i .iab il  it .  ....... .....  ... .. ..  ... ..  .. .. .  .......  ..... .........  ........  ..
3 .4 l    Modifiabiliy for the IWDE Application ..........,.... 33
1 5.,    A ct i r.ity l   .  .  ,. ,  . , . . .... ..... ... ......... . ..... -   ...  ..  . .. .... . .. . .... .i -t4
15.    Secatrit for th(ý ICDE Applicahdoo          3 I
3.6.1  Availabiit  for the  CD  Application ....... .......  35
Int  r tion  . ,.   .   .. , ... . ...  ...D...  ... .. ..  . .. ........
7.1    Integraton for the lCD  \pplication  ......... .  6
3.8     O(ther Quality  Att- ibutes  . ...  ...... ..... ...  . . . . .  .. .  37
"3 .  3I  T       *UlfDrlF ' - . .   ff ............ ... ...  ... .  ,. ..............  ... .. ..
3 . 1  I  Sur i t R dii   .....   ........ .........  . . ....... ... .. ... . ... .   38
4 A   uidke t MNiddlew are Archite tures and Technologies ........I A
IA       I troduction   .  . ..  .   ..    .  . ..... -.-   4
4.2     iTechrn o y  C  assificati . . .............. ....... ..... . ... -  4
443 listributcd ObjWt....        .   .                      43
44       M eiess e -O()f ltd  M iddle ware  ........................ .. ... 46
4.4.1   evage-Oriented Niddleware Bas .......46
4.-42  F xpitingI Mw ssage Oriented Middleware Advanced
Fa m e Appl a  S e e .......... ... .... .... .. .....................  . ...19
4      L6 t P  0
Of. 3. Pu.
-4.5     Appic anin Servers
41     Enterprise a- da ans .. ....
. 5.   EJ B  Courponeni  d I o ................ ...-  . (I
+. .  Fn JB  Pro    Iram   in  .....-.. . .. . ......  ..........  . . ..
.4     Deplol'uent iiiptors .............      .   7
45.5  Responsibilities of the ELI Cotainer         69
S 56     i e Thoughts          .... ........   .....  70
.        M      essage  BrokersA  . .,  ...-,   .  ...... ....  ......  71
"4.7    Business r,.l css  ,  s  ,...,
0, Integ .ition   Architecture  .sue .... . ........ .... .. . .. .2
4. 10    1F rth i  ading             ....
4.10.2  Messag-Oriented Middlewr.N... ..S
4, 1()p3 Applivation Sermvers      .......     - --h!,
[..10.4  Inteorlan riC .ddleware              ....... 5, 9
5   A  S         t P rocess O ut  ne..... ...................... ........ ........... .............. 91
5.1, 1  Determine Architectural Requirements......... ........ .. 92
51 .2  Identifying Architecture Requirements ........  ..... -.9
5.1.3  Priortizing Architecture Requirements......... ^.....  94
52        Architecture Design n..Q.................... ....95
"5.11  Choosing the Architecture Framework ........ ..  .7
5  2  2  Allocate Components  ... ...........................  . .. ..  106
5.3       V alidation ............... ......   .............. ..................................  108
5      Ulsing  Scenarios ...... ................... .... ........ 109
5.3.2  Prototypm g  ........  . .............. . .... . .....  . ....  ...... 1 2
54        Summary and Further Reading      .......... ........................ 113
6  Documenting a Software Architecture ..........  ............................ 15
6.1       introduction  ...... ..... ... .....................................  ....... 115
6.2       W hat to  Document ......................  ..   .........  116
6 6.3     UML     .0 ... ..-. -               .....           .  1 17
6.4       Archiecture  View s...............................  ...... ... .  19
65        More on Component Diagrams..... ......   ..................... 122
6.6       Architecture Docume ntaton remplate    ........................... 25
6.7       Summarnu  and Further Reading ............... ........... ....... ... t26
7  Case Study Design .. .      ........................              29
7  1      Overview  .. ... .                   ...........        129
7.2        CDE  Technical Issues...........i.  ............. .. ...  129
7.211   Large  D ata  .. ........ .. .. ...*..*..-..... ....... .....  ...  ..... . 129
7.2.2  N otificati on ...   .. ... ...,.  .. ...... ........ ......... . . ..... ... ..... 1.   1
7.2.3  D ata  Abstraction  ............ ...   ....... .. ...... . . . .. ... .. 1..... .  132
7.2.4  Platform and Distribution Issues ..................... 132
7 .-2.5  A P I  Issues  ... .  ...... . .... ..   ............. ...... .... ..  ........ ............. 132
S2.6   D iscussion . ............  .......... .. .... ........ ... ................  133
7.3       ICDE Architecture Requirements ......... ............ ............ 134
7.3.1  Overview  of Key Objectives ................... .... ......  34
7.3.2  Architecture  Use  Cases  ..   .....  ............ .  .......... .. . 134
73.3   Stakeholder Architectural Requirementsl . ........ 135
7.3.4  C onstraints... .......................... ............... ........ ... 137
7.315  Non-   nctional Requirements.................... ... .... ...  137
7 .3 .6  R isk s  ................... ............................................. ... 138
7.4       ICDE  Solution  .......... .... ......     .........   138
.1    Re levant Architectural Patterns ............. ....  ..... 138
7,42   Architecture  Overview.  ...................... ...... ...........   138
7.4.3  Structural Views  . .................  ...   .. .... .. .....  139
7.4A   Behavioral  Views ..... ........4...........   4.. . .. ..  3
74.5  Implementation Issues .... .    ............   146
7.5      Architecture  An ly sis .. ... ..... .................... ... .... . 147
"7.51  Scenario Analysis                          147
"7.5.2  Risks ..... ..  ... 148
176      Srmrnary .   ............ ....                  . t48
8 LooU ig Forward.s .r I,......      ........ . ...... ....*. 1,49
8.1      The Challenges of Complexity- ...    ........ .... 149
8, 1i B1 usiness Process Conmplexity ...... ..  . 50
8..2  A  iliity  .....                           151
.1.3  Reduced  Costs .,....... .....  . ..1.... .... . . ...... 1523
8.42 W   hat N3 ext? n, .  - l....... ..iI, . .  .... ....  ..........  154
9  Software Product Lines... ....5......5..................... ....................   85
9.       Product Lines for ICDE ....i....l............. 11 55
9.2      Softt  are Product Lin s  ....   ... . ............. 156
9.3      Benefiting froma SPL Dveldopment ....... 158
9.3.1  Product Lines for ICDE  ,........ ........... ..... ..... . .   160
9,4      Product Lince Architec'lture  ................. .................  160
9.4 t  Reuse M-echanism s  ......1.... .... ......1. 61
9.4.   SCM .fbr Reuse-  .....1.6.......11. . .. . . . .....=.... i6t
9.4.3   aniatihon Mech csni s   ..s.....e.....  ...... ., .... ..  ... 164
9.4.4  Product Line Architecture for OEF ..,16.............. .....616
9.5      Adopting Softwae Product Line Development .............- 166
95. 4  Sarting Points for Adopting SPL De elopiment ....,.. 167
9.6      Product Linie Adopon Practice Areas ...,........... 169
9.6,1  Product Line Adoption for ICDE ..........  170
9,7      Ongoing Software Product Line Development ............ 170
93,7   Change Control                            471......... . ... . ........   7
9.7,2  Architecural Evolution tfor SPL Development ......... 1,-73
9,7'3  Product Line De velopment Practice Area ..s ...-.......... 7'14
9.,74  Product lines wLCI)E Li1........e........... 74
9.8      Conclusions .... ...    .. ........   .    ... .......  76
9,9      Further Reading  .. . ... . ... ..................... ...... . ,..  177
10 Aspect Oriented Arechitectares....................................... 179
10.1     As pc>ts for ICDE Development....... ..  . ,.,,...... 1179
10,1,1 introduction to Aspect-Oriented Programming ... 11 80
11.2   Crosscutting Concerns . ........ .... ,,.,..., ,  [8t
10, 1.3  Managing Cnceems with Aspects ..... 8..1.......... 18
10. .1  AOP S nntax and Programming Model ................-. 182
10.1.5  W eaving . .p . -- ... ..a.. .ahe s...p.ec  .. ......:..... . ... ... . 1- 84
10.1.6  Example ot a Cache Aspect ............... . .. ....... --185
10.2     AspectOriented Architectures ............... ... .......... ....  186
10.2   Architecntral Aspects and Middewar ... ...........  87
10.3     S tate of.-the A rt  ... . . ... .... .... ...... . . .. ..  .. .  .... ...   188
103.4   Aspect Oriented Modeling in UML ................ 188
10.1± 2  AOP  Tools  ,....  .. ... ... ...... ..  .  . .  189
10 133  iAnnotations andi AOP ....... ..... .  ...... ...........  . 189
104     Performance Mo1itoring of ICDE with AspectW er kz ... 190
t0.5        clon  sioi s i .ns . .....   ... l . .. I . .  .. ...A . . .i .... ...  ± ...... ,... 194
10.6     Fui thur Reading . ...   .. .... .... ... ....... .... ......  . ..±...... 195
11 Model-Driven Architecture ,  - ...... ..t....  ........ ... ............ ..... .   197
111      Model-Driven Development for ICDL  1.. . ....... 197
S11 2    W h a t  is  M D A..   .. . .... ..  ..... .. ... . . ....   19 9
113      Why MDA?                            ...  .... _202'
S13.1  Portablity  . .  . . .....  .. ....  ....... 03
.32    Interoperabiity  . ...... ......... ... .. .. . 203
S111. 3  Reusability  ... .. .  ..... ..... .... ........  ..  ...... 204
114    State-ofArt Practices and Tools ......... .. ... ..  205
1 14.1  A ndroM D A  ,... ..... .. ..........  ........ ........................ .. 205
S14.2  ArcStyler  . .. . ...   . . ... ................. .  I... 206
H 1.43  Eclipse Modelling Framework (EMý.F) ............. __206
i .5     MDA and Software Architecture .........   _____............... 207
I 51   MDA and Non unctional Requirements .. ........ . . . 208
I  .. 3  SO( A   and  M DA  ..- ............... ,. ...................... ±.... .. 209
S1,5.4  Analytical Models are Models too, . .. .l.... .......... 210
1 6     MDA for ICDE Capacity Planning                    2 ..... .. .....  211
i .7     Sunmmnary and Further Reading ............... 214
12 Service-Oriented Architectures and Technologies .......   217
12.1     Service-Oriented Architecture for ICDE ....  ............. _217
12,2     Background   .,n ....  . .... .. . .... .. ,. ... . . ....   .. ...... ....... 218
12.3     Service- Orented  Systems ..... . . ±±±.. ....  ..... ..  . .± .... ..   2  9
12.3.1  Boundaries are  Explicit , .. .... ...   . ..... . . ............ . 222
12.32  Services are Autonomous . ... .           . 223
12 ,3  Share Schemas and Contracts. not Implenentations 224
12134  Service Compatibility is Based on Pol icy ±.._....Ž. 1...224
i2..4     eb  Ser vices . . ...-. ....  ... . . ....  i.....  .... .... . . .  ,... 225
12.5     SOAP and Messagi g   .±... .  ...... ±..... ..  ..*...  22?
12 6     UDDI, WSDLL and Metadata ............ ... ..  ...__ 230
12. 7    Security. Transactions and Reliability ......... ..  232
12 8     Web Ser ces and the Future of Middleware .... . .... 233
. 9      1CDE  with W eb Services                          23.4... A. . ........... ... ............ .  234



Library of Congress subject headings for this publication: Software architecture