skip to main content
10.1145/1297846.1297966acmconferencesArticle/Chapter ViewAbstractPublication PagessplashConference Proceedingsconference-collections
Article

IAnticorruption: a domain-driven design approach to more robust integration

Authors Info & Claims
Published:20 October 2007Publication History

ABSTRACT

Custom House's new currency exchange system is integrated with a legacy system. After a few years of growth, the two systems were so intricately tangled that even small changes made in the integration layer would have unpredictable side effects. Refactoring on the integration layer was risky and time consuming. The situation called for a revolutionary redesign.

The solution was to introduce an anticorruption layer to isolate the two systems. This layer encapsulated the translation of conceptual objects and actions between the two systems, insulating the domain layer from knowing the existence of the other system. By freeing the domain layer from performing tasks that were only relevant to the other system, the anticorruption layer allowed additional external systems to be integrated without requiring any changes to the domain layer itself. Full implementation of an anticorruption layer reduced overhead of legacy integration from 30% of total development to 10%.

The biggest challenge in implementing the anticorruption layer is to control the complexity of translation work. This was managed in an innovative way: by building an object model reflecting the implicit model of the legacy system. Our experiences show that an external system need not be object-oriented for its model to be adequately abstracted, and this has proven to be the key to a clean and extensible translation.

References

  1. Eric Evans, Domain-Driven Design, Tackling Complexity in the Heart of Software, Addison-Wesley, 2003, ISBN 0-321-12521-5. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. Ying Hu and Sam Peng, So We Thought We Knew Money, available from http://www.domaindrivendesign.org/practitioner_reports/hu_ying_2007_01.htmlGoogle ScholarGoogle Scholar

Index Terms

  1. IAnticorruption: a domain-driven design approach to more robust integration

    Recommendations

    Comments

    Login options

    Check if you have access through your login credentials or your institution to get full access on this article.

    Sign in
    • Article Metrics

      • Downloads (Last 12 months)8
      • Downloads (Last 6 weeks)0

      Other Metrics

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader