Skip to main content

A System of Architectural Patterns for Scalable, Consistent and Highly Available Multi-Tier Service-Oriented Infrastructures

  • Chapter
Architecting Dependable Systems VI

Abstract

Service-oriented architectures have become prevalent in enterprise information systems. The underlying infrastructure is typically architected with multiple tiers in order to separate the different concerns such as interface, business logic and data. Modern information systems have strict availability and scalability requirements. The main technique to attain these properties is replication. However, system architects are confronted with a complex environment in which they have to decide which tier(s) to replicate and how. The architectural choice can have great implications for the degree of scalability and availability that can actually be achieved. Furthermore, maintaining consistency is affected by the way the system is replicated. In this chapter, we survey the state of the art in this area and digest it in the form of a system of architectural patterns that will guide system architects and practitioners in evaluating and selecting the appropriate architectural choices to attain a highly available, consistent and scalable service-oriented infrastructure.

This research has been partially funded by Microsoft Research Cambridge under the PhD Award programme (grant MS-2006-06), the Spanish National Science Foundation (MICINN) under grant TIN2007-67353-C02, the Madrid Regional Research Council (CAM) under the AUTONOMIC project (S-0505/TIC/000285), and the European Commission under the NEXOF-RA project (FP7-216446).

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Adams, M., Coplien, J., Gamoke, R., Hanmer, R., Keeve, F., Nicodemus, K.: Fault-tolerant Telecommunication System Patterns. In: Pattern Languages of Program Design 2, Addison Wesley, Reading (1996)

    Google Scholar 

  2. Amza, C., Cox, A.L., Zwaenepoel, W.: Distributed Versioning: Consistent Replication for Scaling Back End Databases of Dynamic Content Web Sites.. In: Proc. of the ACM/IFIP/USENIX Int. Middleware Conf., pp. 282–304 (2003)

    Google Scholar 

  3. Amir, Y., Tutu, C.: From Total Order to Database Replication. In: Proc. of the IEEE Int. Conf. on Distributed Computing Systems ICDCS (2002)

    Google Scholar 

  4. Bernstein, P.A., Fekete, A., Guo, H., Ramakrishnan, R., Tamma, P.: Relaxed-Currency Serializability for Middle-Tier Caching and Replication. In: Proc. of the ACM Int. Conf. on Management of Data (SIGMOD), pp. 599–610 (2006)

    Google Scholar 

  5. Buschmann, F., Meunier, R., Rohnert, H., Sommerlad, P., Stal, M.: Pattern-Oriented Software Architecture. A System of Patterns, vol. 1. John Wiley & Sons Inc., Chichester (1996)

    Google Scholar 

  6. Cecchet, E., Marguerite, J., Zwaenepoel, W.: C-JDBC: Flexible Database Clustering Middleware. In: Proc. of the ACM/IFIP/USENIX Int. Middleware Conf., pp. 9–18 (2004)

    Google Scholar 

  7. Frolund, S., Guerraoui, R.: e-Transactions: End-to-End Reliability for Three-Tier Architectures. IEEE Trans. on Software Engineering 28(4), 378–395 (2002)

    Article  Google Scholar 

  8. Gonçalves, T., Rito Silva, A.: Passive Replicator: A Design Pattern for Object Replication. In: Proc. of the European Conf. on Pattern Languages of Programs, EuroPLoP (1997)

    Google Scholar 

  9. Hanmer, R.: Patterns for Fault Tolerant Software. John Wiley & Sons Inc., Chichester (2007)

    Google Scholar 

  10. Jiménez-Peris, R., Patiño-Martínez, M., Kemme, B., Alonso, G.: Improving the Scalability of Fault-Tolerant Database Clusters.. In: Proc. of the IEEE Int. Conf. on Distributed Computing Systems (ICDCS), pp. 477–484 (2002)

    Google Scholar 

  11. Correia Jr., A., Pereira, J., Rodrigues, L., Carvalho, N., Oliveira, R.: Practical Database Replication. In: Charron-Bost, B., Pedone, F., Schiper, A. (eds.) Replication: Theory and Practice, ch.13, Springer, Heidelberg (2009)

    Google Scholar 

  12. Kemme, B., Alonso, G.: Don’t Be Lazy, Be Consistent: Postgres-R, A New Way to Implement Database Replication. In: Proc. of the Int. Conf. on Very Large Data Bases (VLDB), pp. 134–143 (2000)

    Google Scholar 

  13. Kemme, B., Jimenez-Peris, R., Patiño-Martínez, M., Alonso, G.: Database Replication: A Tutorial. In: Charron-Bost, B., Pedone, F., Schiper, A. (eds.) Replication: Theory and Practice, ch. 12. Springer, Heidelberg (2009)

    Google Scholar 

  14. Kemme, B., Jiménez-Peris, R., Patiño-Martínez, M., Salas, J.: Exactly Once Interaction in a Multi-Tier Architecture. In: VLDB Workshop on Design, Implementation, and Deployment of Database Replication (2005)

    Google Scholar 

  15. Kistijantoro, A.I., Morgan, G., Shrivastava, S.K., Little, M.C.: Enhancing an Application Server to Support Available Components. IEEE Trans. on Software Engineering 34(4), 531–545 (2008)

    Article  Google Scholar 

  16. Lin, Y., Kemme, B., Patiño-Martínez, M., Jiménez-Peris, R.: Middleware based Data Replication providing Snapshot Isolation.. In: Proc. of the ACM Int. Conf. on Management of Data (SIGMOD), pp. 419–430 (2005)

    Google Scholar 

  17. Pedone, F., Frolund, S.: Pronto: A Fast Failover Protocol for Off-the-shelf Commercial Databases. In: Proc. of the IEEE Symp. on Reliable Distributed Systems (SRDS), Nuremberg, Germany, October 2000, pp. 176–185 (2000)

    Google Scholar 

  18. Pedone, F., Guerraoui, R., Schiper, A.: The Database State Machine Approach.. Distributed and Parallel Databases 14(1) (2003)

    Google Scholar 

  19. Patiño-Martínez, M., Jiménez-Peris, R., Kemme, B., Alonso, G.: MIDDLE-R: Consistent Database Replication at the Middleware Level. ACM Trans. on Computer Systems 23(4), 375–423 (2005)

    Article  Google Scholar 

  20. Perez-Sorrosal, F., Patiño-Martínez, M., Jiménez-Peris, R., Kemme, B.: Consistent and Scalable Cache Replication for Multi-Tier J2EE Applications. In: Proc. of the ACM/IFIP/USENIX Int. Middleware Conf. (2007)

    Google Scholar 

  21. Perez-Sorrosal, F., Patiño-Martínez, M., Jiménez-Peris, R., Vuckovic, J.: Highly Available Long Running Transactions and Activities for J2EE Applications. In: Proc. of the IEEE Int. Conf. on Distributed Computing Systems, ICDCS (2006)

    Google Scholar 

  22. Rito Silva, A., Assis Rosa, F., Gonçalves, T.: Distributed Proxy: A Design Pattern for Distributed Object Communication. In: Proc. of the Int. Conf. on Pattern Languages of Programs, PLoP (1997)

    Google Scholar 

  23. Saridakis, T.: A System of Reliability Patterns. In: Proc. of the European Conf. on Pattern Languages of Programs, EuroPLoP (2002)

    Google Scholar 

  24. Singh Ahluwalia, K.: Scalability Design Patterns. In: Proc. of the Int. Conf. on Pattern Languages of Programs, PLoP (2007)

    Google Scholar 

  25. Singh Ahluwalia, K., Jain, A.: High Availability Design Patterns. In: Proc. of the Int. Conf. on Pattern Languages of Programs, PLoP (2006)

    Google Scholar 

  26. Wu, H., Kemme, B.: Fault-Tolerance for Stateful Application Servers in the Presence of Advanced Transactions Patterns. In: Proc. of the IEEE Symp. on Reliable Distributed Systems (SRDS), pp. 95–108 (2005)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2009 Springer-Verlag Berlin Heidelberg

About this chapter

Cite this chapter

Jimenez-Peris, R., Patiño-Martinez, M., Kemme, B., Perez-Sorrosal, F., Serrano, D. (2009). A System of Architectural Patterns for Scalable, Consistent and Highly Available Multi-Tier Service-Oriented Infrastructures. In: de Lemos, R., Fabre, JC., Gacek, C., Gadducci, F., ter Beek, M. (eds) Architecting Dependable Systems VI. Lecture Notes in Computer Science, vol 5835. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-10248-6_1

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-10248-6_1

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-10247-9

  • Online ISBN: 978-3-642-10248-6

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics