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.
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