ABSTRACT
Introduction ........................................................................................................ 272 Software Architecture and Competitiveness ...................................................... 272 What Is Software Architecture? ......................................................................... 274 Evolution of Software Application Development .............................................. 274 Software Architectural Styles ............................................................................ 275
Pipes and Filters ........................................................................................ 276 Tiered Computing ..................................................................................... 277 Client/Server ............................................................................................. 277 Layered Implementation ........................................................................... 278 Peer-to-Peer .............................................................................................. 279 Event-Driven Style .................................................................................... 279 Publish/Subscribe ..................................................................................... 280 Asynchronous Data Replication ............................................................... 281 Synchronous Data Replication ................................................................. 281 Distribution Tree ....................................................................................... 281 Blackboard Systems .................................................................................. 281 Tuple Space ............................................................................................... 282 Distributed Computing Architecture Style ............................................... 282 Grid Computing ........................................................................................ 284 Enterprise Grid Computing ....................................................................... 284 Cloud Computing ...................................................................................... 284
Enterprise Applications ...................................................................................... 285 Management of Complexity in Enterprise Applications ........................... 286
Manageability ............................................................................... 287 Maintainability .............................................................................. 287 Scalability ..................................................................................... 288 Interoperability ............................................................................. 288 Security ......................................................................................... 289 Reliability ..................................................................................... 290
Accessibility/Usability .................................................................. 290 Internationalization ....................................................................... 291
Patterns for EAI ................................................................................................. 291 Point-to-Point Integration ......................................................................... 291 Message-Oriented Integration ................................................................... 292 Spoke-Hub Integration ............................................................................. 292
Enterprise Services Computing and Service-Oriented Architecture .................. 294 SOA and Web Services ............................................................................. 295 Orchestration and Choreography .............................................................. 297
Current Trends in Enterprise Software Systems ................................................ 297 Infrastructure and Middleware for Enterprise Software Integration .................. 298
Application Servers ................................................................................... 298 Message-Oriented Middleware ................................................................. 299 Alternative Architectural Platforms .......................................................... 299
Concluding Remarks .......................................................................................... 301 References .......................................................................................................... 303
The subject of software architectures for enterprise applications touches upon many different areas of software engineering. The complete coverage of all aspects requires several volumes rather than several sections. Nevertheless, our aim is to give the reader enough information and familiarity on various perspectives of the topic. As the title of the chapter suggests, we will try to explore software architectures within the context of enterprise applications.