Wrox Programmer Forums

Need to download code?

View our list of code downloads.

Go Back   Wrox Programmer Forums > C# and C > C# 2012/5.0 > BOOK: Patterns, Principles and Practices of Domain-Driven Design
Password Reminder
Register
| FAQ | Members List | Calendar | 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 tens of thousands of software programmers and website developers including Wrox book authors and readers. As a guest, you can read any forum posting. By joining today you can post your own programming questions, respond to other developers’ questions, and eliminate the ads that are displayed to guests. Registration is fast, simple and absolutely free .
DRM-free e-books 300x50
Reply
 
Thread Tools Search this Thread Display Modes
  #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!
Reply With Quote
  #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..
Reply With Quote
  #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!
Reply With Quote
Reply


Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off
Trackbacks are Off
Pingbacks are On
Refbacks are Off


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



All times are GMT -4. The time now is 01:32 PM.


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