CSLA .NET

Vibrant discussion about CSLA .NET and using the framework to build great business applications.

Business Logic inside a SSIS Package instead of in objects?

rated by 0 users
Answered (Verified) This post has 2 verified answers | 3 Replies | 1 Follower

Top 50 Contributor
178 Posts
Tim posted on Fri, Jan 11 2013 8:41 AM

I'd like to know if anyone has used SQL SSIS packages to handle business rules/validation in their application workflow instead of placing all those rules inside business objects.

The goal in my dept has been to do all rules/validation in CSLA objects going forward.  However, for a current large project kicking off, the idea has also floated about placing some business rules in SSIS packages.  One of the arguments for this (by the DBAs) is that they can easily see where things go wrong.

Rhe discussion has also included the possibility of a hybrid approach -- placing rules in CSLA objects but utilizing those objects from within SSIS packages (either directly or by exposing those objects via services).

Any thoughts on the matter and things to consider?  Thanks.

Tim

Answered (Verified) Verified Answer

Top 100 Contributor
67 Posts
Verified by Tim

I've recently had the pleasure of working with some SSIS packages, and I can't say I've been too impressed with the development and debugging experience.  I think my advice here would be to give some serious thought to what it's going to be like to support a solution like this, including (very important) *who* is going to be doing that support work.

If you've got DBA's who are interested in *owning* that part of the system, then I think it's only fair that their input be given a fair bit of weight, and if SSIS makes them more comfortable supporting that part of the system, then so be it.

For better or worse, though, my spidey-sense tells me that the DBA's want to be "involved", but they might not really believe that they're offering to be part of the front-line support team.  I believe if you can clear up who's "involved" vs. who's "responsible", you might have a better basis to weight input like that.

Top 10 Contributor
1,772 Posts
Verified by Tim

This would also most likely prevent an n-level deployment of your application. Or would you rather create a command object in order to execute each rule? 

Think WinRT and WindowsPhone that has no direct database access to SQL Server. 

Your clients would most likely require direct database access in order to execute the rules. 

 

Jonny Bekkum, Norway CslaContrib Coordinator

All Replies

Top 100 Contributor
67 Posts
Verified by Tim

I've recently had the pleasure of working with some SSIS packages, and I can't say I've been too impressed with the development and debugging experience.  I think my advice here would be to give some serious thought to what it's going to be like to support a solution like this, including (very important) *who* is going to be doing that support work.

If you've got DBA's who are interested in *owning* that part of the system, then I think it's only fair that their input be given a fair bit of weight, and if SSIS makes them more comfortable supporting that part of the system, then so be it.

For better or worse, though, my spidey-sense tells me that the DBA's want to be "involved", but they might not really believe that they're offering to be part of the front-line support team.  I believe if you can clear up who's "involved" vs. who's "responsible", you might have a better basis to weight input like that.

Top 10 Contributor
1,772 Posts
Verified by Tim

This would also most likely prevent an n-level deployment of your application. Or would you rather create a command object in order to execute each rule? 

Think WinRT and WindowsPhone that has no direct database access to SQL Server. 

Your clients would most likely require direct database access in order to execute the rules. 

 

Jonny Bekkum, Norway CslaContrib Coordinator

Top 50 Contributor
178 Posts
Tim replied on Wed, Jan 16 2013 8:46 PM

Thanks to both for your input.  We haven't made the final decision but your answers were helpful.  The one other point influencing this discussion in my dept is what is most expedient right now.  Certainly, the SSIS option is an "easier" route because that takes some of the load off the app developer and puts it onto the (willing) DBA.  But the right answer for the long-term feels like objects for multiple reasons.

Tim

Page 1 of 1 (4 items) | RSS

Copyright (c) 2006-2010 Marimer LLC. All rights reserved.
Email admin@lhotka.net for support.
Powered by Community Server (Non-Commercial Edition), by Telligent Systems