Wrox Programmer Forums
| Search | Today's Posts | Mark Forums Read
BOOK: Patterns, Principles and Practices of Domain-Driven Design
This is the forum to discuss the Wrox book Patterns, Principles and Practices of Domain-Driven Design by Scott Millett; ISBN: 978-1-118-71470-6
Welcome to the p2p.wrox.com Forums.

You are currently viewing the BOOK: Patterns, Principles and Practices of Domain-Driven Design section of the Wrox Programmer to Programmer discussions. This is a community of software programmers and website developers including Wrox book authors and readers. New member registration was closed in 2019. New posts were shut off and the site was archived into this static format as of October 1, 2020. If you require technical support for a Wrox book please contact http://hub.wiley.com
  #1 (permalink)  
Old May 20th, 2015, 08:59 AM
Registered User
Points: 67, Level: 1
Points: 67, Level: 1 Points: 67, Level: 1 Points: 67, Level: 1
Activity: 0%
Activity: 0% Activity: 0% Activity: 0%
 
Join Date: May 2015
Posts: 4
Thanks: 0
Thanked 0 Times in 0 Posts
Default Integrating with Legacy Codebase Question

ok so we are in the process of integrating with a legacy code base that is not maintained anymore so it can be considered stable.

i am torn between exposing a service endpoint (JSON) for our new bounded context to integrate with or just simply creating a component (assembly) that directly talks to the legacy database (sql server) and have my new bounded context reference directly and make calls too (kind of RPC i guess).

any guidance or suggestions on this would be great!
  #2 (permalink)  
Old May 21st, 2015, 04:45 AM
Wrox Author
Points: 237, Level: 4
Points: 237, Level: 4 Points: 237, Level: 4 Points: 237, Level: 4
Activity: 0%
Activity: 0% Activity: 0% Activity: 0%
 
Join Date: May 2015
Posts: 59
Thanks: 1
Thanked 5 Times in 5 Posts
Default

I think both approaches are realistic possibilities. With each approach you are probably going to use an anti-corruption layer to translate from the old system to your new code. As you are probably aware now, this will allow your new code be clean, domain-focused, and able to evolve as you gain new domain insights.

In your situation, I'd expect the most important factors to be how much extra effort is involved, what is your longer-term plan, and what are your schedule requirements.

For example, if you put a JSON API on top of your legacy system, a lot of the business rules and calculations may already be implemented. However, if you go direct to the database, you may have to re-implement them.

But if you do go direct to the database, you have effectively replaced that portion of legacy code, meaning there is less of the legacy system that needs to be maintained, understood, replaced, debugged etc.

However, going to the DB comes at the cost of additional risk - you may not reimplement the new version as-per the old one, and additional time - it may take longer, since you are starting from scratch which may push back the delivery of important business functionality.

I'd expect that in most rewrite scenarios creating a JSON API is likely to take longer to eventually replace the old system, but will allow you to deliver new features sooner and more predictably in the short-term. However, that's not a universal rule.

Last edited by nick_t; May 21st, 2015 at 04:50 AM..
  #3 (permalink)  
Old May 21st, 2015, 11:05 AM
Registered User
Points: 67, Level: 1
Points: 67, Level: 1 Points: 67, Level: 1 Points: 67, Level: 1
Activity: 0%
Activity: 0% Activity: 0% Activity: 0%
 
Join Date: May 2015
Posts: 4
Thanks: 0
Thanked 0 Times in 0 Posts
Default

thanks nick that really helped me make up my mind!


Similar Threads
Thread Thread Starter Forum Replies Last Post
The given assembly name or codebase was invalid. lfassio C# 2005 1 December 20th, 2007 08:00 PM
updating the codebase & bindingredirect in config Gauls .NET Web Services 0 February 21st, 2007 12:24 PM
setting codebase for applet inside jsp file picky Java Basics 0 December 12th, 2006 08:12 AM
Need of struts-legacy.jar sam123 Struts 1 May 24th, 2006 10:24 PM
Set codebase parameter vahid1983 J2EE 0 April 6th, 2006 01:51 AM





Powered by vBulletin®
Copyright ©2000 - 2020, Jelsoft Enterprises Ltd.
Copyright (c) 2020 John Wiley & Sons, Inc.