Skip to main content

Business Object Centric Microservices Patterns

  • Conference paper
  • First Online:

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 11877))

Abstract

A key impediment towards maturing microservice architecture conceptions is the uncertainty about what it means to design fine-grained functionality for microservices. Under a traditional service-oriented architecture (SOA), the unit of functionality for software components concerns individual business domain objects and encapsulated operations, enabling desirable architectural properties such as high cohesion and loose-coupling of its components. However, at present it is not clear how this SOA design strategy should be refined for microservices nor, more generally, how design considerations for different degrees of granularity apply, in a consistent and systematic way, for large SOA systems to smaller microservices. This paper proposes microservice patterns, as a contribution to the maturity of microservice architectures, through the refinement of the functional structure of SOAs. The patterns are derived by considering the splitting of business object (BO) operations and salient types of BO relationships, which influence software structure (as captured in UML): object association, exclusive containment, inclusive containment and specialisation (i.e., subtyping). The viability of the patterns for evolving large SOA systems into microservices is demonstrated through automated microservices discovery algorithms, on two open-source enterprise systems used widely in practice, Dolibarr and SugarCRM.

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

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   79.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   99.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

Learn about institutional subscriptions

Notes

  1. 1.

    \(A^*\) denotes the application of the Kleene star operation to set A.

  2. 2.

    Given a set A, by \(\mathcal {P}(A)\) we denote the powerset of A.

  3. 3.

    https://github.com/AnuruddhaDeAlwis/BORelationshipDerivation.git.

  4. 4.

    https://www.dolibarr.org/.

  5. 5.

    https://www.sugarcrm.com/.

  6. 6.

    https://www.seleniumhq.org/.

  7. 7.

    https://fluxicon.com/disco/.

  8. 8.

    https://aws.amazon.com/.

  9. 9.

    https://www.seleniumhq.org/.

References

  1. Adopting Microservices at Netflix: Lessons for Architectural Design. https://www.nginx.com/blog/microservices-at-netflix-architectural-best-practices. Accessed 5 May 2019

  2. Newman, S.: Building Microservices: Designing Fine-Grained Systems. O’Reilly, Sebastopol (2015)

    Google Scholar 

  3. Microservices a definition of this new architectural term. https://martinfowler.com/arti cles/microservices.html. Accessed 5 May 2019

  4. Evans, E.: Domain-Driven Design: Tackling Complexity in the Heart of Software. Addison-Wesley Professional, Boston (2004)

    Google Scholar 

  5. Erl, T.: SOA Design Patterns (Paperback). Pearson Education, London (2008)

    Google Scholar 

  6. Taibi, D., Lenarduzzi, V., Pahl, C.: Architectural patterns for microservices: a systematic mapping study. In: CLOSER, pp. 221–232 (2018)

    Google Scholar 

  7. Barros, A., Duddy, K., Lawley, M., Milosevic, Z., Raymond, K., Wood, A.: Processes, roles, and events: UML concepts for enterprise architecture. In: Evans, A., Kent, S., Selic, B. (eds.) UML 2000. LNCS, vol. 1939, pp. 62–77. Springer, Heidelberg (2000). https://doi.org/10.1007/3-540-40011-7_5

    Chapter  Google Scholar 

  8. Gamma, E.: Design Patterns: Elements of Reusable Object-Oriented Software. Pearson Education India, Chennai (1995)

    Google Scholar 

  9. van der Aalst, W.: Workflow patterns. In: Liu, L., Ozsu, M.T. (eds.) Encyclopedia of Database Systems, pp. 3557–3558. Springer, Boston (2009). https://doi.org/10.1007/978-0-387-39940-9

    Chapter  Google Scholar 

  10. Barros, A., Dumas, M., ter Hofstede, A.H.M.: Service interaction patterns. In: van der Aalst, W.M.P., Benatallah, B., Casati, F., Curbera, F. (eds.) BPM 2005. LNCS, vol. 3649, pp. 302–318. Springer, Heidelberg (2005). https://doi.org/10.1007/11538394_20

    Chapter  Google Scholar 

  11. Decker, G., Barros, A., Kraft, F.M., Lohmann, N.: Non-desynchronizable service choreographies. In: Bouguettaya, A., Krueger, I., Margaria, T. (eds.) ICSOC 2008. LNCS, vol. 5364, pp. 331–346. Springer, Heidelberg (2008). https://doi.org/10.1007/978-3-540-89652-4_26

    Chapter  Google Scholar 

  12. De Alwis, A.A.C., Barros, A., Polyvyanyy, A., Fidge, C.: Function-splitting heuristics for discovery of microservices in enterprise systems. In: Pahl, C., Vukovic, M., Yin, J., Yu, Q. (eds.) ICSOC 2018. LNCS, vol. 11236, pp. 37–53. Springer, Cham (2018). https://doi.org/10.1007/978-3-030-03596-9_3

    Chapter  Google Scholar 

  13. Nooijen, E.H.J., van Dongen, B.F., Fahland, D.: Automatic discovery of data-centric and artifact-centric processes. In: La Rosa, M., Soffer, P. (eds.) BPM 2012. LNBIP, vol. 132, pp. 316–327. Springer, Heidelberg (2013). https://doi.org/10.1007/978-3-642-36285-9_36

    Chapter  Google Scholar 

  14. Andrews, R., Suriadi, S., Ouyang, C., Poppe, E.: Towards event log querying for data quality. In: Panetto, H., et al. (eds.) OTM 2018. LNCS, vol. 11229. Springer, Cham (2018). https://doi.org/10.1007/978-3-030-02610-3_7

    Chapter  Google Scholar 

  15. De Alwis A.A.C., Barros A., Fidge C., Polyvyanyy A.: Discovering microservices in enterprise systems using a business object containment heuristic. In: Panetto H., et al. (eds.) OTM 2018 Conferences On the Move to Meaningful Internet Systems, OTM 2018. LNCS, vol. 11230. Springer, Cham (2018). https://doi.org/10.1007/978-3-030-02671-4_4

    Google Scholar 

  16. Tsai, W.T., Huang, Y., Shao, Q.: Testing the scalability of SaaS applications. In: IEEE International Conference on Service-Oriented Computing and Applications (SOCA), pp. 1–4 (2011)

    Google Scholar 

  17. Bauer, E., Adams, R.: Reliability and Availability of Cloud Computing, 1st edn. Wiley, Hoboken (2012)

    Book  Google Scholar 

  18. Candela, I., Bavota, G., Russo, B., Oliveto, R.: Using cohesion and coupling for software remodularization: is it enough? In: ACM Transactions on Software Engineering and Methodology (TOSEM), p. 24 (2016)

    Article  Google Scholar 

  19. A pattern language for microservices. https://microservices.io/patterns/. Accessed 5 Aug 2019

  20. Technical report for SugarCRM. https://drive.google.com/file/d/1u0Ai0XNOx-3yGoz0Keycxj093_NyDrJl/view?usp=sharing

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Adambarage Anuruddha Chathuranga De Alwis .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2019 Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

De Alwis, A.A.C., Barros, A., Fidge, C., Polyvyanyy, A. (2019). Business Object Centric Microservices Patterns. In: Panetto, H., Debruyne, C., Hepp, M., Lewis, D., Ardagna, C., Meersman, R. (eds) On the Move to Meaningful Internet Systems: OTM 2019 Conferences. OTM 2019. Lecture Notes in Computer Science(), vol 11877. Springer, Cham. https://doi.org/10.1007/978-3-030-33246-4_30

Download citation

  • DOI: https://doi.org/10.1007/978-3-030-33246-4_30

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-030-33245-7

  • Online ISBN: 978-3-030-33246-4

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics