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.