473,788 Members | 2,919 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

architecture question

Jon
I'm working on a project and the lead developer wants to put all of the
business logic on the database side. He wants the proc to do all of the
logic and create XML on the fly, parse out data, etc, and then return the
final result to the business layer. I pushed back and said that the business
layer should do all of the logic, just have SQL return the data needed and
then have the code do all of the XML creation, parsing of data, etc. I was
told I was wrong and thats not the best practice.
Now, this app can hit the db by a total of 100-500 users a day, and having
the db do all of the processing can have a performance hit. Then he
mentioned something about using temp table in the database side, do a
select, then insert into the temp table, then do a select on the temp table
and do the business logic. I pushed back on that as well..

Now, I'm not a DBA but a developer and I've seen DB's take performance hits
when doing logic such as this on the database side, so my question is, which
would be the best solution for this?
Jul 6 '07 #1
24 1481
PS
"Jon" <Jo*@community. nospam.comwrote in message
news:%2******** ********@TK2MSF TNGP04.phx.gbl. ..
I'm working on a project and the lead developer wants to put all of the
business logic on the database side. He wants the proc to do all of the
logic and create XML on the fly, parse out data, etc, and then return the
final result to the business layer. I pushed back and said that the
business layer should do all of the logic, just have SQL return the data
needed and then have the code do all of the XML creation, parsing of data,
etc. I was told I was wrong and thats not the best practice.
Now, this app can hit the db by a total of 100-500 users a day, and having
the db do all of the processing can have a performance hit. Then he
mentioned something about using temp table in the database side, do a
select, then insert into the temp table, then do a select on the temp
table and do the business logic. I pushed back on that as well..

Now, I'm not a DBA but a developer and I've seen DB's take performance
hits when doing logic such as this on the database side, so my question
is, which would be the best solution for this?
What does the business layer do with the XML? Is it becoming an object or is
the XML purely data like reporting data?

PS
Jul 6 '07 #2
If your Lead Developer is suggesting this, then I think you need a new
Lead Developer ASAP.

Thanks
Robb Andrew

Jul 6 '07 #3
Jon
The developer is generating his own XML to be returned to the C# web
service. Though he's creating a dataset and returning that from his method
which calls the database, he has the stored procedure generating XML within
the proc and then just using that as his dataset to populate Grid,
listboxes, etc.
so the XML isn't being used for reporting, is just being created and then
being used to populate grid, textboxes, labels, listboxes, etc.

he's creating his own dataset XML instead of using the XML format that is
returned when creating a dataset in .NET, though his dataset XML and the one
that .NET returns actually mirror each other, so why is he creating his own
XML I have no idea

"PS" <ec***********@ hotmail.comwrot e in message
news:u4******** ******@TK2MSFTN GP06.phx.gbl...
"Jon" <Jo*@community. nospam.comwrote in message
news:%2******** ********@TK2MSF TNGP04.phx.gbl. ..
>I'm working on a project and the lead developer wants to put all of the
business logic on the database side. He wants the proc to do all of the
logic and create XML on the fly, parse out data, etc, and then return the
final result to the business layer. I pushed back and said that the
business layer should do all of the logic, just have SQL return the data
needed and then have the code do all of the XML creation, parsing of
data, etc. I was told I was wrong and thats not the best practice.
Now, this app can hit the db by a total of 100-500 users a day, and
having the db do all of the processing can have a performance hit. Then
he mentioned something about using temp table in the database side, do a
select, then insert into the temp table, then do a select on the temp
table and do the business logic. I pushed back on that as well..

Now, I'm not a DBA but a developer and I've seen DB's take performance
hits when doing logic such as this on the database side, so my question
is, which would be the best solution for this?

What does the business layer do with the XML? Is it becoming an object or
is the XML purely data like reporting data?

PS

Jul 6 '07 #4
"Jon" <Jo*@community. nospam.comwrote in message
news:%2******** ********@TK2MSF TNGP04.phx.gbl. ..
Now, I'm not a DBA but a developer and I've seen DB's take performance
hits when doing logic such as this on the database side, so my question
is, which would be the best solution for this?
In addition to what others have replied, I think you have two choices:

1) find another job or, at the very least, ask to be transferred to another
project with a different "lead" (ha! ha!) developer;

2) show this thread to your lead developer and ask for his/her comments.

In fact, I'd probably do both... :-)
--
Mark Rae
ASP.NET MVP
http://www.markrae.net

Jul 6 '07 #5
Jon
LOL
the good side of this, is that I'm only helping out so they meet their
deadline. I'm not even truly on the project full time, but they brought me
in on this project to help out and kind of over see it to make sure its
going down the correct path technology wise and architecture wise, and so
far, I think its ready for huge downfall performance wise and after going
through some of the code, I'm seeing some other performance issues, as well
as other things.

"Mark Rae [MVP]" <ma**@markNOSPA Mrae.netwrote in message
news:e0******** ******@TK2MSFTN GP02.phx.gbl...
"Jon" <Jo*@community. nospam.comwrote in message
news:%2******** ********@TK2MSF TNGP04.phx.gbl. ..
>Now, I'm not a DBA but a developer and I've seen DB's take performance
hits when doing logic such as this on the database side, so my question
is, which would be the best solution for this?

In addition to what others have replied, I think you have two choices:

1) find another job or, at the very least, ask to be transferred to
another project with a different "lead" (ha! ha!) developer;

2) show this thread to your lead developer and ask for his/her comments.

In fact, I'd probably do both... :-)
--
Mark Rae
ASP.NET MVP
http://www.markrae.net

Jul 6 '07 #6
//he's creating his own dataset XML instead of using the XML format that
is
returned when creating a dataset in .NET, though his dataset XML and the
one
that .NET returns actually mirror each other, so why is he creating his
own
XML I have no idea//

Wow.

Here are some articles:
(mine)
http://sholliday.space s.live.com/Blog/cns!A68482B9628 A842A!139.entry
(pay attention to the dataset vs custom collection performance in the 1.1
code)
http://sholliday.space s.live.com/Blog/cns!A68482B9628 A842A!140.entry
(microsoft)
http://msdn.microsoft.com/library/de...tml/BOAGag.asp

He is misusing XML. Somebody needs to reel that guy in.
Life is too short dude. Find another job if you can. Get on another
project if you can.
This guy is going to set you back so many years, you won't be able to get a
good 'next' job.

If this guy has any (perceived) authority/power, get away from him. (from
your earlier comment that "his way is the best way, period")


"Jon" <Jo*@community. nospam.comwrote in message
news:OY******** ******@TK2MSFTN GP04.phx.gbl...
The developer is generating his own XML to be returned to the C# web
service. Though he's creating a dataset and returning that from his method
which calls the database, he has the stored procedure generating XML
within
the proc and then just using that as his dataset to populate Grid,
listboxes, etc.
so the XML isn't being used for reporting, is just being created and then
being used to populate grid, textboxes, labels, listboxes, etc.

he's creating his own dataset XML instead of using the XML format that is
returned when creating a dataset in .NET, though his dataset XML and the
one
that .NET returns actually mirror each other, so why is he creating his
own
XML I have no idea

"PS" <ec***********@ hotmail.comwrot e in message
news:u4******** ******@TK2MSFTN GP06.phx.gbl...
"Jon" <Jo*@community. nospam.comwrote in message
news:%2******** ********@TK2MSF TNGP04.phx.gbl. ..
I'm working on a project and the lead developer wants to put all of the
business logic on the database side. He wants the proc to do all of the
logic and create XML on the fly, parse out data, etc, and then return
the
final result to the business layer. I pushed back and said that the
business layer should do all of the logic, just have SQL return the
data
needed and then have the code do all of the XML creation, parsing of
data, etc. I was told I was wrong and thats not the best practice.
Now, this app can hit the db by a total of 100-500 users a day, and
having the db do all of the processing can have a performance hit. Then
he mentioned something about using temp table in the database side, do
a
select, then insert into the temp table, then do a select on the temp
table and do the business logic. I pushed back on that as well..

Now, I'm not a DBA but a developer and I've seen DB's take performance
hits when doing logic such as this on the database side, so my question
is, which would be the best solution for this?
What does the business layer do with the XML? Is it becoming an object
or
is the XML purely data like reporting data?

PS


Jul 6 '07 #7
// In fact, I'd probably do both... :-)//

Amen.


"Mark Rae [MVP]" <ma**@markNOSPA Mrae.netwrote in message
news:e0******** ******@TK2MSFTN GP02.phx.gbl...
"Jon" <Jo*@community. nospam.comwrote in message
news:%2******** ********@TK2MSF TNGP04.phx.gbl. ..
Now, I'm not a DBA but a developer and I've seen DB's take performance
hits when doing logic such as this on the database side, so my question
is, which would be the best solution for this?

In addition to what others have replied, I think you have two choices:

1) find another job or, at the very least, ask to be transferred to
another
project with a different "lead" (ha! ha!) developer;

2) show this thread to your lead developer and ask for his/her comments.

In fact, I'd probably do both... :-)
--
Mark Rae
ASP.NET MVP
http://www.markrae.net

Jul 6 '07 #8

"Jon" <Jo*@community. nospam.comwrote in message news:%2******** ********@TK2MSF TNGP05.phx.gbl. ..
LOL
the good side of this, is that I'm only helping out so they meet their
deadline. I'm not even truly on the project full time, but they brought me
in on this project to help out and kind of over see it to make sure its
going down the correct path technology wise and architecture wise, and so
far, I think its ready for huge downfall performance wise and after going
through some of the code, I'm seeing some other performance issues, as well
as other things.
You should remove yourself from the project, and let it go down tubes without you, if possible.

Or become a contractor where you can think to yourself, "It's your bed lay in it, as I am just passing through -- just pay me." :)

If you're up in a NG posting about these kind of issues, then you don't need the stress, as it will kill you early. :)


Jul 6 '07 #9
Wow, flame on here.
Generally people who don't listen/admit mistakes/take advice are hard to
work with, and under... I know little compared to some of the flyers around
here, but it's that admission that keeps us current/fresh/growing.

"Jon" <Jo*@community. nospam.comwrote in message
news:%2******** ********@TK2MSF TNGP04.phx.gbl. ..
I'm working on a project and the lead developer wants to put all of the
business logic on the database side. He wants the proc to do all of the
logic and create XML on the fly, parse out data, etc, and then return the
final result to the business layer. I pushed back and said that the
business layer should do all of the logic, just have SQL return the data
needed and then have the code do all of the XML creation, parsing of data,
etc. I was told I was wrong and thats not the best practice.
Now, this app can hit the db by a total of 100-500 users a day, and having
the db do all of the processing can have a performance hit. Then he
mentioned something about using temp table in the database side, do a
select, then insert into the temp table, then do a select on the temp
table and do the business logic. I pushed back on that as well..

Now, I'm not a DBA but a developer and I've seen DB's take performance
hits when doing logic such as this on the database side, so my question
is, which would be the best solution for this?


Jul 6 '07 #10

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

2
1580
by: comp.lang.php | last post by:
I can't possibly reproduce the code for this as the 2 classes in question are about 1500 lines each and condensing is in this case impossible due to algorithmic logic dependencies. Let's say you have a Class A and a Class B. Let's say Class A is like this: class A { var $b;
3
2612
by: Michael Crawford | last post by:
Hi, Where would one start for this type of application: I want to create an vb.net container application that has the gives the end user the ability to install and uninstall plugins or add-in modules. As the user installs the various components, additional functionality to the application is integrated. How would I structure or orchestrate a project plan that makes use of add-in
6
381
by: Tim | last post by:
Hello everyone. I visit this board pretty regularly but have never posted. My question is an application architecture question... so hopefully it's okay to post in the dotnet general forum. I have this project I'm proposing but want to get some opinions on a good architecture. Some of the requirements are as follows: 1. 30+ tables and 25+ lookup tables 2. Small number of records added monthly (<100) 3. Fairly complex, PCU-intensive...
2
1779
by: hans | last post by:
Hi! I am new to .NET (coming from Java). We have to implement a desktop application which extracts data from a database, does some analysis, filtering etc. and displays the results. I have noticed that in .NET applications Windows widgets like the DataGrid are often directly bound to a DataSet Object. For me this means essentially a 2 tier architecture instead of a 3 tier architecture. I am used to seperating the application into 3 tiers:...
6
2953
by: Gary James | last post by:
This may not be a direct C# question, but since I'll be using using C# for development, I thought I'd pose the question here. I'll soon be involved in the design of a new software product that will employ a software "Plug-In" architecture. Taking the plug-in route will give us a design that can adapt to, as yet, undefined future requirements (within the scope of the plug-in interface spec of course). In the past I've done this with...
1
3130
by: dilip ranganathan | last post by:
Howdy All I have a quick question on an architecture I am trying to implement. I want to implement something similar to a pub-sub architecture. Is it possible to broadcast event notifications across machines and networks? I have a .NET application (lets call it .NETApp) sitting on an IIS box that recieves events from another source. If I want client applications (that are potentially on machines different from the network on which...
1
4475
by: benmorganpowell | last post by:
I have a small windows service which connects to a POP3 server at defined intervals, scans the available messages, extracts the required information and inserts the data into a SQL database. I am assuming that this is not an uncommon piece of software. I want to get an architecture that conforms as closely as possible with the recommendations from Microsoft on developing Windows Services, but to be honest I have found difficultly in...
3
1538
by: Ken H | last post by:
Hi I have a question about architecting solutions.. I have a part of a project which requires me to track person details (name, addresses, etc... Should I be creating Person objects, Address objects etc as Business layer classes and then have an data access layer which actually save / updates / delete to and from the DB.. If so, and bearing in mind the 'easiest' way to pass data between the layers would be with a dataset - should my BL...
2
1776
by: John A | last post by:
I have a Web Service that I am reponsible for that we use for data integration purposes. Recently I have been tasked with sending some of this data to a third party. Because they need to receive the data in real time. They have requested that I subscribe to a Web Service that they have published. The only problem is that they often take longer than 30 seconds to process my data before I get a response back from them. This is taking far...
13
7207
by: rrs.matrix | last post by:
hi i have to detect the type of CPU. whether it is 32-bit or 64-bit.. how can this be done.. can anyone please help me.. thanks.
0
9656
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However, people are often confused as to whether an ONU can Work As a Router. In this blog post, we’ll explore What is ONU, What Is Router, ONU & Router’s main usage, and What is the difference between ONU and Router. Let’s take a closer look ! Part I. Meaning of...
0
10370
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers, it seems that the internal comparison operator "<=>" tries to promote arguments from unsigned to signed. This is as boiled down as I can make it. Here is my compilation command: g++-12 -std=c++20 -Wnarrowing bit_field.cpp Here is the code in...
0
10177
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven tapestry of website design and digital marketing. It's not merely about having a website; it's about crafting an immersive digital experience that captivates audiences and drives business growth. The Art of Business Website Design Your website is...
1
10113
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows Update option using the Control Panel or Settings app; it automatically checks for updates and installs any it finds, whether you like it or not. For most users, this new feature is actually very convenient. If you want to control the update process,...
0
9969
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each protocol has its own unique characteristics and advantages, but as a user who is planning to build a smart home system, I am a bit confused by the choice of these technologies. I'm particularly interested in Zigbee because I've heard it does some...
0
8995
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing, and deployment—without human intervention. Imagine an AI that can take a project description, break it down, write the code, debug it, and then launch it, all on its own.... Now, this would greatly impact the work of software developers. The idea...
0
5402
by: TSSRALBI | last post by:
Hello I'm a network technician in training and I need your help. I am currently learning how to create and manage the different types of VPNs and I have a question about LAN-to-LAN VPNs. The last exercise I practiced was to create a LAN-to-LAN VPN between two Pfsense firewalls, by using IPSEC protocols. I succeeded, with both firewalls in the same network. But I'm wondering if it's possible to do the same thing, with 2 Pfsense firewalls...
1
4074
by: 6302768590 | last post by:
Hai team i want code for transfer the data from one system to another through IP address by using C# our system has to for every 5mins then we have to update the data what the data is updated we have to send another system
2
3677
muto222
by: muto222 | last post by:
How can i add a mobile payment intergratation into php mysql website.

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.