Reasons for a 3-tier achitecture for Web? Why

  • Thread starter Thread starter Guest
  • Start date Start date
G

Guest

Reasons for a 3-tier achitecture for the WEB?
(NOTE: I said, WEB, NOT WINDOWS.

DON'T shoot your mouth off if you don't understand the difference.)

I hear only one reason and that's to switch a database from SQL Server to
Oracle or DB2 or vice versa... and that's it.... And a lot of these
enterprises don't need it as they already know what database they are going
to use and they don't plan on switching in and out database in the first
place, NOR can they afford to in the first place

Nobody switches databases everyday yet Microsoft and MVP's are recommending
these so called best practices for every single .NET implementation for the
enterprise or the mom and pop....Sort of like Windows Advanced Server and
Windows Server....everybody's got to have Advanced server on their
LAPTOP.....

I mean come on. Let Microsoft fix their own stuff FIRST before recommending
any best practices.

Also see no reason to have a business logic tier as that can be easily
contained in the code behind.

QUESTION OF THE DAY:
I would really like to know, who's idea it was to have 3-tier architecture
for .NET Web Pages. All I see is a carry over of practices from DNA using
COM and .asp pages.....

3-tier is using the same OLD broken tools when a new technology, .NET, that
has better and more simplier ways of doing things.

I say there is some hidden motive (like job security) for making things more
complicated and LESS performing when using 3-Tier or N-Tier.

There are a LOT of mind-numb robot MVP's and Microsoft employees who never
question if a particular and well-entrenched way is the best way.......

It's been 2 years and Mr. Bill is still saying things are going slow.....I
wonder why......
 
Hi,

Multi-tier architectures proved to be reasonable for considerably big
projects where they facilitate maintenance and further development (have you
ever tried to debug a huge code-behind class with thousands of lines of
code?).

It is just easier (well, for some of us, at least :-) to work with logically
separated parts of code - this one works with the database, this one handles
business rules and that one renders user interface.

By the way, the "business logic" tier, in my opinion, is reasonable only
when there are many complex business rules to enforce. This tier can be
omitted for web sites that merely store and display data, but do not perform
any sophisticated data processing.

As for switching the databases...well..I would agree that it happens with
very low probability, but if that happens and all your database code is
spread across the code behind - long boring hours of monkey job are
guaranteed.
 
Just how many lines of code in a Code Behind Page are too much?

I have seen thousands and thousands of lines of code in a business tier as
well, I see no difference.

I would also like to know the actual business SET of rules where this would
happen for each and every single web page.

I can think of only a few cases(i.e. web pages) where this might be,

(1.) Placing an order for like a shopping cart
(2.) Credit approval
(3.) Insurance approval

But that's it.
I see no reason to put the (1) login or (2) search (3)Order Details or the
rest of the web site all in a business tier.

People talk about these "so-called" business rules as if it's in every
single page of the web site. yet that's not true and only increases the
complexity of the web site.
It is just easier (well, for some of us, at least :-) to work with logically
separated parts of code - this one works with the database, this one handles
business rules and that one renders user interface.

Can you explain, "just why is it easier"? Like is there some feature I am
missing? I coded more pages and sites than any of the top coders I know,
database, business logic and all and possibly more than all of them put
together.

What about all the time you spend trying to figure out grey area rules?
Like is this really in this layer or that layer, or is it really a little
bit of both. And then trying to Later figure out where it is 2 months from
now.



Dmitriy Lapshin said:
Hi,

Multi-tier architectures proved to be reasonable for considerably big
projects where they facilitate maintenance and further development (have you
ever tried to debug a huge code-behind class with thousands of lines of
code?).

It is just easier (well, for some of us, at least :-) to work with logically
separated parts of code - this one works with the database, this one handles
business rules and that one renders user interface.

By the way, the "business logic" tier, in my opinion, is reasonable only
when there are many complex business rules to enforce. This tier can be
omitted for web sites that merely store and display data, but do not perform
any sophisticated data processing.

As for switching the databases...well..I would agree that it happens with
very low probability, but if that happens and all your database code is
spread across the code behind - long boring hours of monkey job are
guaranteed.

--
Dmitriy Lapshin [C# / .NET MVP]
X-Unity Unit Testing and Integration Environment
http://x-unity.miik.com.ua
Deliver reliable .NET software

nospam said:
Reasons for a 3-tier achitecture for the WEB?
(NOTE: I said, WEB, NOT WINDOWS.

DON'T shoot your mouth off if you don't understand the difference.)

I hear only one reason and that's to switch a database from SQL Server to
Oracle or DB2 or vice versa... and that's it.... And a lot of these
enterprises don't need it as they already know what database they are going
to use and they don't plan on switching in and out database in the first
place, NOR can they afford to in the first place

Nobody switches databases everyday yet Microsoft and MVP's are recommending
these so called best practices for every single .NET implementation for the
enterprise or the mom and pop....Sort of like Windows Advanced Server and
Windows Server....everybody's got to have Advanced server on their
LAPTOP.....

I mean come on. Let Microsoft fix their own stuff FIRST before recommending
any best practices.

Also see no reason to have a business logic tier as that can be easily
contained in the code behind.

QUESTION OF THE DAY:
I would really like to know, who's idea it was to have 3-tier architecture
for .NET Web Pages. All I see is a carry over of practices from DNA using
COM and .asp pages.....

3-tier is using the same OLD broken tools when a new technology, .NET, that
has better and more simplier ways of doing things.

I say there is some hidden motive (like job security) for making things more
complicated and LESS performing when using 3-Tier or N-Tier.

There are a LOT of mind-numb robot MVP's and Microsoft employees who never
question if a particular and well-entrenched way is the best way.......

It's been 2 years and Mr. Bill is still saying things are going slow.....I
wonder why......
 
I can only think of one thing that is maybe common, and that's validation.

Other than that, there is nothing else.

Plus, there is a trade off on encapsulation as well and not to mention
reliabilty and maintenance.

Having code HERE and THERE amounts to "spaghetti" code.

Any custom code that is called more than once is also a single point of
failure and also each and every web page that uses it must be tested for
Quality Assurance. It seems like the time saved in hand coding changes are
easily lost in QA. Then is this myth about the "2 second maintenance
change" that never, ever is really 2 seconds.
 
Also, there's one thing that you're missing - the service
oriented architecture. If you place code in the code
behind page, it can't be called from another process
without loading up the entire web page, transferring to
that site, etc. Using middle tier logic enables you to
hold common services for use across many applications.
It's not just all based on database issues.

Jeff Levinson

Author of "Building Client/Server Applications with
VB.NET: An Example Driven Approach"
 
nospam said:
Reasons for a 3-tier achitecture for the WEB?
(NOTE: I said, WEB, NOT WINDOWS.

DON'T shoot your mouth off if you don't understand the difference.)

I hear only one reason and that's to switch a database from SQL Server to
Oracle or DB2 or vice versa... and that's it.... And a lot of these
enterprises don't need it as they already know what database they are going
to use and they don't plan on switching in and out database in the first
place, NOR can they afford to in the first place

Nobody switches databases everyday yet Microsoft and MVP's are recommending
these so called best practices for every single .NET implementation for the
enterprise or the mom and pop....Sort of like Windows Advanced Server and
Windows Server....everybody's got to have Advanced server on their
LAPTOP.....

If you had sold a product to companies, you'll easily find out that the
database implementation is not always as you had planned. The same product
can be be deployed in different companies using different RDBMS products
(well, if you don't want to, you've just limited yourself to a few clients).
Not to mention those "Mom and Pop" shops that can only afford access, and
later on outgrow the system and would demand a robust RDBMS. Well, that's
one reason. In some cases (specially tracing and logging), the persistent
store is not always a database. It can be a flat file, your email service
or logging objects in windows. Wouldn't you rather write a design where you
can just "switch" your application to use any of these objects that logs
information differently. I know you're thinking, why in the world would you
choose to log information in a flat file when you have a database or
whatever. Depending on who you are... in today's distributed
envinronments, technical support can be in far flung India while the program
is running in Iraq. Are you going to send the entire database image to them
so they can analyze a problem that occurred in the last 5 minutes? I can
think of so many reasons why you should separate your "Data Layer" from the
other "Layers."
I mean come on. Let Microsoft fix their own stuff FIRST before recommending
any best practices.

I agree on this one but this does not have any bearing on your question of
"3 Tier Architecture."
Also see no reason to have a business logic tier as that can be easily
contained in the code behind.

Again, imagine an application where you have to write an interface for PDA's
and full browser like I.E. Coding the business rules for pages that supply
information in a PDA and another for I.E. is just too much to do. I don't
know about you, but I would rather spend more time upgrading my system than
doing interfaces (with built in business rules) so many times, depending on
how many client interfaces I have to deal with. Just consider if you have
to write a "Touch Tone" interface to your application as well.
QUESTION OF THE DAY:
I would really like to know, who's idea it was to have 3-tier architecture
for .NET Web Pages. All I see is a carry over of practices from DNA using
COM and .asp pages.....

This idea was definitely not from Microsoft. But the idea behind n-tier
architecture is code reuse. Unless, you haven't heard of it.
3-tier is using the same OLD broken tools when a new technology, .NET, that
has better and more simplier ways of doing things.

N-Tier development is an architectural design that allows a development team
to work together by establishing standards before the first code is ever
written. That way, you can avoid the saying, "Too many chefs spoils the
broth."
I say there is some hidden motive (like job security) for making things more
complicated and LESS performing when using 3-Tier or N-Tier.

Even in non n-tier designs, Job security has always been a motive. It isn't
even hidden anymore. Don't you think so? I wonder why so many people are
still in denial that job security is a goal.
There are a LOT of mind-numb robot MVP's and Microsoft employees who never
question if a particular and well-entrenched way is the best way.......

That's because it's a proven "practice." I don't even call it a design
anymore. Code behind leads to too much duplicate code all over the
application. But since you prefer to do things the long way... good luck
investing more time in writing a simple "logon" screen. By the way, the
tools that you get out there to write "components" are based on the very
n-tier design that you don't agree with. Have you noticed that they work
with almost every DB out there? I wonder why?
It's been 2 years and Mr. Bill is still saying things are going slow.....I
wonder why......

You know, there are other tools out there you can use, some are even free...
but, they too have been centered on n-tier development. I suggest you try
J2EE. You'll see the real power of n-Tier design. It's even amazing how
they've put away with proprietary SQL code.
 
comments inline below


nhoel said:
If you had sold a product to companies, you'll easily find out that the
database implementation is not always as you had planned. The same product
can be be deployed in different companies using different RDBMS products
(well, if you don't want to, you've just limited yourself to a few clients).
Not to mention those "Mom and Pop" shops that can only afford access, and
later on outgrow the system and would demand a robust RDBMS. Well, that's
one reason. In some cases (specially tracing and logging), the persistent
store is not always a database. It can be a flat file, your email service
or logging objects in windows. Wouldn't you rather write a design where you
can just "switch" your application to use any of these objects that logs
information differently. I know you're thinking, why in the world would you
choose to log information in a flat file when you have a database or
whatever. Depending on who you are... in today's distributed
envinronments, technical support can be in far flung India while the program
is running in Iraq. Are you going to send the entire database image to them
so they can analyze a problem that occurred in the last 5 minutes? I can
think of so many reasons why you should separate your "Data Layer" from the
other "Layers."

still weak arguments....FLAT FILE...come ON? TO INDIA? EXCUSE me...that's
NO reason.
Backup the database and zip it up and send it over there...what's the
difference?
These points are simply Weird and don't occur in real life.
Mom and Pop on access....just have them install MSDE then?....the amount of
effort to SWITCH is total NONSENSE as you could have just had them switch to
MSDE.......They, the client are happy and so are you.
Getting a Mom and Pop to buy your enterprise app is simply improbable as
they can't afford it....YET, if they could afford it, why would they use
access?



I agree on this one but this does not have any bearing on your question of
"3 Tier Architecture."


Again, imagine an application where you have to write an interface for PDA's
and full browser like I.E. Coding the business rules for pages that supply
information in a PDA and another for I.E. is just too much to do. I don't
know about you, but I would rather spend more time upgrading my system than
doing interfaces (with built in business rules) so many times, depending on
how many client interfaces I have to deal with. Just consider if you have
to write a "Touch Tone" interface to your application as well.


I would like to know if anyone BUYS stuff off of a PDA like they do a Web
Site shopping cart.
Can you really shop around and surf with a PDA....just look at how small the
screen is....people have enough trouble with 640x-480 now, I can't imagine
what it would be like for a PDA.

Just any device can display information doesn't mean it's going to have or
need a set of complex business rules in the first place. ANYTHING that
complex, you got to ask yourself if the customer is going to really buy
something OR spend time filling out a form on a PDA...YIKES!

Second, it complete poor design practice to have the same set of business
rules as that would be a single point of failure anyway...and the PDA
business requirements are going to be TOTALLY different then a Web Site's


This idea was definitely not from Microsoft. But the idea behind n-tier
architecture is code reuse. Unless, you haven't heard of it.

OK, well who was it from then if not Microsoft?


N-Tier development is an architectural design that allows a development team
to work together by establishing standards before the first code is ever
written. That way, you can avoid the saying, "Too many chefs spoils the
broth."

2-Tier can easily do this....Internet and Intranet web sites have hundreds
of web pages where each set of web pages belong to a departments.
With N-Tier, you could like say have one module, but it needs to worked on
two different divisions. Say if it's the database module....what happens if
two people need access to the same time?


Even in non n-tier designs, Job security has always been a motive. It isn't
even hidden anymore. Don't you think so? I wonder why so many people are
still in denial that job security is a goal.


That's because it's a proven "practice." I don't even call it a design
anymore. Code behind leads to too much duplicate code all over the
application. But since you prefer to do things the long way... good luck
investing more time in writing a simple "logon" screen. By the way, the
tools that you get out there to write "components" are based on the very
n-tier design that you don't agree with. Have you noticed that they work
with almost every DB out there? I wonder why?

The only thing I see proven are the number of failed enterprise projects
like CRM and ERP.

CRM especially as they are always in the news getting sued for a failed
implementation.

ERP...well that takes at least a year of dev, and by that time, the
technology has changed.

IF YOU notice, the POST said WEB, NOT WINDOWS.....Looking at the TOOLS, like
VS.NET are Windows apps that have a really long beta test and are updated
once a year....big difference here.


You know, there are other tools out there you can use, some are even free...
but, they too have been centered on n-tier development. I suggest you try
J2EE. You'll see the real power of n-Tier design. It's even amazing how
they've put away with proprietary SQL code.

J2EE!!!! Aghhhh....have you looked at their code.....abstraction after
abstraction after abstraction.....YES, you are right, that's N-TIER...where
the "N" stands for "Not enough" Tiers....It's no wonder why J2EE is so slow
and take forever to implement.
 
Inline...

nospam said:
I can only think of one thing that is maybe common, and that's validation.

Other than that, there is nothing else.

There are plenty of services that can be shared beyond simple validation.
Plus, there is a trade off on encapsulation as well and not to mention
reliabilty and maintenance.

You are just arguing in favour of keeping business logic in a separate tier
from the UI logic.
Having code HERE and THERE amounts to "spaghetti" code.
Ditto.

Any custom code that is called more than once is also a single point of
failure and also each and every web page that uses it must be tested for
Quality Assurance. It seems like the time saved in hand coding changes are
easily lost in QA. Then is this myth about the "2 second maintenance
change" that never, ever is really 2 seconds.

You've completely lost me here. How would you code an application so that
every single web page _didn't_ need to be tested individually? With your
"single point of failure" couldn't you stop testing when it did fail, and
then fix it before you go and test it again from a different page knowing
that it's just going to fail again?

Here's a real example of why encapsulating business logic in a single
location is a good thing. I worked on a site that had to validate addresses.
Some genius decided that the only valid postal codes were the one's that had
5 digits. Brilliant decision for an international site. When I got to
changing the business logic to allow international postal codes I discovered
(over a period of about 2 weeks tracking down all the places that a postal
code was entered or used) that the team of consultants had put the
validation logic in the database, in the data access layer, in the business
logic layer, in the UI code and in client-side code. I should note that the
address wasn't being validated multiple times because they only used one of
those layers to do the validation depending on where the address was being
entered. Not only was the logic in 5 different locations, they used
different rules (i.e. some allowed anything and long as it wasn't blank,
some numeric only, some specific alpha-numeric patterns and sometimes it
only required it for US addresses).

You say I have a single point of failure, I say you have multiple places to
completely stuff things up.

Maybe you should come back to this discussion after you've got a bit of
experience developing and maintaining a non-trivial web application.

Colin
 
nospam said:
comments inline below




still weak arguments....FLAT FILE...come ON? TO INDIA? EXCUSE me...that's
NO reason.

Maybe this is the reason why you're looking for attention. Your poor
methodologies are chasing your clients away from you and your employer finds
your work weak stuff!!! In case you haven't noticed, most of the IT jobs
are going to India and South East Asia.
Backup the database and zip it up and send it over there...what's the
difference?
These points are simply Weird and don't occur in real life.

Are you going to zip up a database that's over 300 GB worth of information.
It shows how poor your experience is when it comes to "BIG" applications.
Mom and Pop on access....just have them install MSDE then?....the amount of
effort to SWITCH is total NONSENSE as you could have just had them switch to
MSDE.......They, the client are happy and so are you.

You think they'd be able to easily use MSDE for their own internal reasons
where they decide not use your help? Most of the mom and pop shops I know
create their own "simple" applications based on the files that you give
them.
Getting a Mom and Pop to buy your enterprise app is simply improbable as
they can't afford it....YET, if they could afford it, why would they use
access?

If you know how much it costs to get MS SQL server, you'd probably
understand why they want to save every way they can.

That's because you're probably narrow minded that your software engineering
background needs an overhaul. Soon, you'd be claiming, what's the use of
Object Oriented Programming. Compare to straight procedural language,
they're slow. But, that's you...
I would like to know if anyone BUYS stuff off of a PDA like they do a Web
Site shopping cart.

Hey, I do even worse with my mobile phone. I check movie times in it. It's
probable that you are not that "connected" and versed with today's
technology.
Can you really shop around and surf with a PDA....just look at how small the
screen is....people have enough trouble with 640x-480 now, I can't imagine
what it would be like for a PDA.

PDA's and tablets are now being used in many modern hospitals. They allow
patients to fill in forms from tablets. Doctors are hooked up to wireless
networks and their PDA's work as an extra tool to keep on top of things.
HECK, I use a PDA too and have some of my applications expose interfaces in
such devices. So at least, there's one who can shop around or surf with a
PDA.
Just any device can display information doesn't mean it's going to have or
need a set of complex business rules in the first place. ANYTHING that
complex, you got to ask yourself if the customer is going to really buy
something OR spend time filling out a form on a PDA...YIKES!

Second, it complete poor design practice to have the same set of business
rules as that would be a single point of failure anyway...and the PDA
business requirements are going to be TOTALLY different then a Web Site's

It may be a single point of failure to the uneducated. But once QA has been
done, it's guaranteed to work anywhere. If you put the same logic in every
page you have, if the business rule is false... good luck changing it all
over the place. And your single point of failure becomes "multiple" points
of failure.
OK, well who was it from then if not Microsoft?

Definitely not yours....
2-Tier can easily do this....Internet and Intranet web sites have hundreds
of web pages where each set of web pages belong to a departments.
With N-Tier, you could like say have one module, but it needs to worked on
two different divisions. Say if it's the database module....what happens if
two people need access to the same time?

Even if it was 2-Tier, you'd still have to stop the other division from
overwriting the changes of the other one. This is why code repositories are
used. Unless, then again... you have had no experience using them. In
case you haven't, I suggest you read about Microsoft Visual Sourcesafe...
or if you're brave enough, use CVS. Although, you should worry more about
how you're going to control your code's logic once the requirements of your
client (assuming you still have one) changes.
The only thing I see proven are the number of failed enterprise projects
like CRM and ERP.

CRM especially as they are always in the news getting sued for a failed
implementation.

That's probably because the developers were old school like you in those
failed projects.
ERP...well that takes at least a year of dev, and by that time, the
technology has changed.

That's probably because they wrote too much code like you did in your
applications and cannot reuse exisiting ones. Maybe they did reuse it but
in a more "pre-historic" way of cut and paste.
IF YOU notice, the POST said WEB, NOT WINDOWS.....Looking at the TOOLS, like
VS.NET are Windows apps that have a really long beta test and are updated
once a year....big difference here.

So? what's your point? Even in the same web application the same data can
be presented differently but the same business rules apply. A human
resources page might require information about the employee's personal stuff
and "salary." The payroll department might only be able to edit the
"salary." Both departments must still abide by the same rules of the
company even if information is shown using different web pages. Of course,
you can write the logic in both pages rather than encapsulating it in a
class and using that class to enforce the business rules. Doesn't the later
sound easier? As far as i'm concerned if my methods exceed 20 lines of
code, there's something wrong in my design.
J2EE!!!! Aghhhh....have you looked at their code.....abstraction after
abstraction after abstraction.....YES, you are right, that's N-TIER...where
the "N" stands for "Not enough" Tiers....It's no wonder why J2EE is so slow
and take forever to implement.

Yes I have looked into a J2EE code and coded some myself. I find some to be
pure genious and others not too bright. It's probably why you never decided
to expand on these technologies because yours might be the later.
 
INLINE BELOW


Terje A. Bergesen said:
"nospam" <[email protected]> wrote in message

No, this is not at all a weak argument. When building an app you can
never know in advance what storage your clients will ask for. In my
experience you will find shops that mandate one particular (down to
the version and patch level) database and others who only care about
the total cost. The first may be Oracle (typically for large installs)
the second would be serviced well with PostrgreSQL or MySQL (if your
app can live within the limits of these).

Tying your business logic to a specific DB will make this highly
difficult.


NOPE, Oracle people ASK for J2EE First, not .NET
PostgreSQL and MySQL ask for PERL first, not .NET

So, your analysis is for the few and rare cases.......




...

Depends on your daily life I assume. They occur every day, with every
customer I talk to, in my life.

...

Yes, now they can. .NET and J2EE (I see your disparaging comments later,
I'll deal with them there) allows this.


Did you see the "imagine" part? Use your imagination. An enterprice app
developer will frequently find him self in a situation where he will be
asked to provide new DB connectivity, new vertical app connectivity and
new interfaces into his app. What if your customer has suppliers and
customers who agree to start doing business by exchanging XML docs? What
if your customer wants 1-800-MY-BIZZ access into the app you wrote?


IMAGINE???? SUN, IBM and MICROSOFT have been imagining for 3 or 5 years
with billions and billions of dollars and thousands upon thousands of
engineers and programmers. Contest after contest......NOTHING.....

People get in a CAR to DRIVE, NOT SURF the .NET.

Had the thought ever occured to you that people want to get away from the
..NET once in a while....

TABLETS will easily take over PDA's as they can get a standard web
page.....PDA will always have a small screen and will always be hard to
use...... HECK, IF YOU want PROOF, switch your monitor back to 640x480 and
start surfing at that resolution...see how long that lasts...... NOW, stick
that PDA in front of your eyes..is that even going to be near the 640x480
surfing experience....NO WAY.....


Eh, no. It would not be complete poor design. Having *one* set of
business rules in your app is something I think they teach in computers
101 these days. It makes 100% sense. I would be so strong-worded as
to say that *not* seperating business logic from presentation and
storage is complete idiocy.


The 3-tier architecture was not dreamed up by Microsoft, it came about
from years and years of experience with 2-tier architectures and their
complete failure to work over time.


Not over time, this is why the sound idea of a 3-tiered architecture
was created. It was developed by people with years and years of
experience in the field, and solves the real problems they have been
facing over the past 30 or so years.

OMG!!!! NON-ANSWER......Just because you have 30 years of experience
doesn't give you the gift of innovation or creativity.

Most innovation comes from BEGINNERS, NEWBIES, who have ZIPPO
EXPERIENCE...Why? Cause they haven't been INDOCTRINATED or BRAIN WASHED
with the same old tired methods.

Let's run down the history of great inventors and see what is what and who
did what......

WHAT A STUPID ANSWER!!!!!


...

Well, it does appear that you have very little experience, and it also
seems you have very little software design and development education
and experience. J2EE apps are far from slow to develop, and if you know
what you do (i.e. don't have millions of Entity Beans accessed by the
remote clients) then they have excellent performance.


J2EE are slow to develop? in comparison to what, machine language or
assembly?

The only thing you have very little of, is the humility to admit that your
are completely wrong.

Typical arrogant J2EE / OOP programmer......
 
I want to add that the Windows OS (with thousand and thousand programmers
and software engineers who are supposedly the best of the best, and YEARS
and YEARS of man hours) STILL needs a weekly service pack.......

Oh, and the BIG Service Packs.....DON'T install them because THEY BREAK
already working systems....how many times has that happened and whose
architecture was that? Where is that QA team?

So, are the architects of n-tier development with 30+ years of experience,
the same people who produced these service packs?

'nough said
 
One other thing.

Resume OR Acronym Chest THUMPERS need to watch themselves very carefully or
else someone might knock those acronym chips off their shoulder.
 
MORE for the MS Architecture Team......THINK about what PEOPLE DO or NEED,
FIRST.

REALLY Stupid N-Tier PDA's Business use Logic....similar to Apple's Newton
FAILURE

http://www.wired.com/news/mac/0,2125,54580,00.html
BIG as a BRICK......Look at why the Palm took off, small and ONLY did what
people really NEEDED to be done.


NOW, based on that fiasco,
Most people use the Internet to RESEARCH PRICES BEFORE they BUY STUFF

.....PDA's with a 2 inch screen are NOT great for spending ONE or TWO HOURS
RESEARCHING PRICES!!!

I also don't buy things when a telemarketer calls me to on the cell
phone...so don't expect anyone to buy anything off a PDA as well when it
starts beeping either.

Last time I checked, no one watches a 2 hour DVD on one of those tiny 5"
portable DVD players.
I wonder WHY??????

Perhaps the words, "52 inch BIG SCREEN TV with SURROUND SOUND" might help
you arrogant N-Tier advocates.

Or, perhaps it's competing against the 15 inch LAPTOP will help on those
Long airplane trips....BUT REMEMBER...IT's an AIRPLANE TRIP... which is NOT
365 days a year.


To all your N-Tier resume THUMPERS, have a nice day.
 
nospam said:
MORE for the MS Architecture Team......THINK about what PEOPLE DO or NEED,
FIRST.

For your information, that's exactly what the MS Architecture team is doing.
There are only a few of your kind who still believes 2-tier designs are the
way to go. But for the majority of us, we see the value of N-Tier
development. Why don't you just do COBOL development. But wait, oh yeah...
i have had a few experiences in it, and even they have a concept of
"modules." And these programs have been around even before I wrote my first
program in BASICA.
REALLY Stupid N-Tier PDA's Business use Logic....similar to Apple's Newton
FAILURE

http://www.wired.com/news/mac/0,2125,54580,00.html
BIG as a BRICK......Look at why the Palm took off, small and ONLY did what
people really NEEDED to be done.

The reason N-Tier is used for PDA interfaces is because, the business rules
are not used only for PDA's. These companies also offer full browser
compliant web pages. (And sometimes, thick clients.)
NOW, based on that fiasco,
Most people use the Internet to RESEARCH PRICES BEFORE they BUY STUFF

....PDA's with a 2 inch screen are NOT great for spending ONE or TWO HOURS
RESEARCHING PRICES!!!

Is that all you know about the function of the internet? To buy stuff? How
weak is your sense of entrepreneurship? The internet is more than
researching prices. People use their wireless PDA to check on stock prices
(specially those who are always on the go). Others use the internet to
browse their emails. In today's mobile world, everyone needs to be
connected. From my experience, the big wigs don't like to carry bulky
notebooks.
I also don't buy things when a telemarketer calls me to on the cell
phone...so don't expect anyone to buy anything off a PDA as well when it
starts beeping either.

Again, see note above. The internet is not just for buying things. It's
also for promoting articles and other business models.
Last time I checked, no one watches a 2 hour DVD on one of those tiny 5"
portable DVD players.
I wonder WHY??????

Maybe you're not in with the current vehicles. Why are most of them being
equipped with portable DVD players? And most trips take longer than that
(or movies). But, again this has no bearing on the N-TIER topic so I won't
give it my two cents.
Perhaps the words, "52 inch BIG SCREEN TV with SURROUND SOUND" might help
you arrogant N-Tier advocates.

Sure, fit that in your Chevy Tahoe... let's see if you can have the proper
position of watching it.
Or, perhaps it's competing against the 15 inch LAPTOP will help on those
Long airplane trips....BUT REMEMBER...IT's an AIRPLANE TRIP... which is NOT
365 days a year.

Ever heard of docking stations? Most IT professionals, and even managers,
don't have a desktop and a notebook. Maintaining one PC is hard enough,
imagine if you had to transfer your data everytime you're on the go?
To all your N-Tier resume THUMPERS, have a nice day.

And I suppose your programs don't break? enough said...
 
nhoel said:
For your information, that's exactly what the MS Architecture team is doing.
There are only a few of your kind who still believes 2-tier designs are the
way to go. But for the majority of us, we see the value of N-Tier
development. Why don't you just do COBOL development. But wait, oh yeah...
i have had a few experiences in it, and even they have a concept of
"modules." And these programs have been around even before I wrote my first
program in BASICA.

NOPE. YOU DID NOT GIVE A TECHNICAL REASON. COBOL is STILL in use today
after some 30 years.

ALSO, your concept of Modules is Twisted in the wrong direction. Look at
the News....all of this N-Tier is still producing GLITCHES here and there,
again and again. So CAlled SOFTWARE Upgrades are the once producing
glitches....WHY is this SO? I thought N-Tier wasn't supposed to produce
glitches...Where is all that QA?

Look at all the Service Packs that have fixed one things and broken
another.....Hmmm Seems like your MODULES are designed improperly.

Look at just today.
http://www.washingtonpost.com/ac2/wp-dyn/A18981-2003Aug20?language=printer

Trading firm....must have N-Tier......didn't seem to work there...I wonder
how much time and money was lost there....Imagine if that was a
hospital......


The reason N-Tier is used for PDA interfaces is because, the business rules
are not used only for PDA's. These companies also offer full browser
compliant web pages. (And sometimes, thick clients.)


If the Business rules are NOT used for PDA's, why are N-Tier programmers,
gurus, and MS advertising them as such for use in
PDA's????????????????????????????????

Is that all you know about the function of the internet? To buy stuff? How
weak is your sense of entrepreneurship? The internet is more than
researching prices. People use their wireless PDA to check on stock prices
(specially those who are always on the go). Others use the internet to
browse their emails. In today's mobile world, everyone needs to be
connected. From my experience, the big wigs don't like to carry bulky
notebooks.


WEAK. WEAK. WEAK.
IS this the same silly Entrepreneurship thinking from MBA's and N-Tier
Programmer and C++ Thumpers that created Pets.com...thinking that people
will pay the extra shipping for a 50lb bag of dog food to ship
cross-country?

What do you or any programmer in general know about entrepreneurship? Look
at the DOT.BOMB...there were a lot of people there with 2 or 3 or 4 letters
after their signature.......

How about Loud Cloud? WebVan? All N-Tier with 30 years of experience
there......

The list goes on and on.....





Again, see note above. The internet is not just for buying things. It's
also for promoting articles and other business models.


The phone can be said to be PROMOTING things and business models...... Did
you ever hear of telemarketing?

Maybe you're not in with the current vehicles. Why are most of them being
equipped with portable DVD players? And most trips take longer than that
(or movies). But, again this has no bearing on the N-TIER topic so I won't
give it my two cents.

I has a BUSINESS bearing......PDA's have a 2 inch screen......Just how many
people want to stare at a 2 inch screen for 2 hours

DVD's of the Kids to keep them occupied...The adults are usually
driving......If you want to watch The Lion King that's great.

Sure, fit that in your Chevy Tahoe... let's see if you can have the proper
position of watching it.


Ever heard of docking stations? Most IT professionals, and even managers,
don't have a desktop and a notebook. Maintaining one PC is hard enough,
imagine if you had to transfer your data everytime you're on the go?

So this justifies N-Tier......? I don't think so.
 
nospam said:
NOPE. YOU DID NOT GIVE A TECHNICAL REASON. COBOL is STILL in use today
after some 30 years.

I said, even COBOL introduced modules where there are modules that help
developers do data access (i.e. access a DB2 database or VSAM files and in
some cases XML from other systems). And I never said, COBOL was shelved by
IT groups. I said, even now... COBOL is in used. Only that it matured and
accepted the idea of separating presentation code from business logic and
the data tier from business logic through the use of modules. READ
CAREFULLY!!!
ALSO, your concept of Modules is Twisted in the wrong direction. Look at
the News....all of this N-Tier is still producing GLITCHES here and there,
again and again. So CAlled SOFTWARE Upgrades are the once producing
glitches....WHY is this SO? I thought N-Tier wasn't supposed to produce
glitches...Where is all that QA?

I've never seen a program that didn't have any problems. As they say, the
only bug free program is an obsolete one. Even if there were no bugs,
business rules change over time. That's why separating the business logic i
s so important in MODERN software architecture.
Look at all the Service Packs that have fixed one things and broken
another.....Hmmm Seems like your MODULES are designed improperly.

And so are some 2-tier design system. Now are we discussing N-Tier design
vs. 2-Tier design or QA?
Look at just today.
http://www.washingtonpost.com/ac2/wp-dyn/A18981-2003Aug20?language=printer

Trading firm....must have N-Tier......didn't seem to work there...I wonder
how much time and money was lost there....Imagine if that was a
hospital......

Well, just for your information... I know that the hospital I work for uses
N-Tier architecture. I don't have to imagine coz I know it works.
Occassionaly, we have to change the business rules because of some contract
changes and whatsoever. Fortunately for us, we had our business logic
separate from our presentation that we didn't have to do it in every page!!!
Our turn around is fast that a change can be done in less that two weeks and
that would include extensive QA!!!

What's stupid is thinking that N-Tier is used inside a PDA. I think I have
an idea of what you think about N-Tier. Just a wild guess, you probably
think all of the modules/assemblies run in one machine which is operated by
the user. The business tier is located on a server. The only tier that's
on the PDA is the GUI. Now... what was that word again, "stupid?"
If the Business rules are NOT used for PDA's, why are N-Tier programmers,
gurus, and MS advertising them as such for use in
PDA's????????????????????????????????

Again, see the note above with "STUPID" on it. You don't put the business
logic on the PDA!!!
WEAK. WEAK. WEAK.
IS this the same silly Entrepreneurship thinking from MBA's and N-Tier
Programmer and C++ Thumpers that created Pets.com...thinking that people
will pay the extra shipping for a 50lb bag of dog food to ship
cross-country?

Well, in case you didn't know... it was not the architecture that caused
these businesses to fail but rather the business model adopted by these "DOT
COM" companies. I know of a several DOT COM's that adopted 2-Tier design
(i.e. technology through Vignette Story Server ver 4.x and below) that
failed and laid off all their workers.
What do you or any programmer in general know about entrepreneurship? Look
at the DOT.BOMB...there were a lot of people there with 2 or 3 or 4 letters
after their signature.......

That's something I'm not willing to disclose to you... But, trust me... I
do know a lot. Just to give you an example, because on N-Tier development,
IBM can develop software using teams from the US and a bulk of programmer in
India (or any part of the world for that matter) without clobbering each
other's deliverables. That's because, teams can be divided into tasks to
handle different pieces and modules of an enterprise application. It's
possible to issue releases after releases without breaking existing
components in production. Failures in patches are natural for a software
development cycle. Or have you not experienced that yourself. I would
think that your programs are so perfect they never had any bugs once the
came into production. Or, that you've actually foreseen ALL the needs of
your clients that you don't have to change the business rules in your
application. N-Tier development and deploying patches are not JUST for
FIXING bugs.
How about Loud Cloud? WebVan? All N-Tier with 30 years of experience
there......

The list goes on and on.....

Yeah? What about ebay? And no matter how much you despise Microsoft, it's
still out there doing great business. I think it just came up with a good
business report to its shareholders. But you see, there are other websites
out there that use N-Tier development and are still in production. So, what
are you blabbering about companies using N-Tier design going out of
business. It's all about the business model and how you handle your
finance. Just to answer your question in advance... Yes, their stock
prices went down. But which company did not?
The phone can be said to be PROMOTING things and business models...... Did
you ever hear of telemarketing?

Telemarketing is now due to fail. check http://www.donotcall.gov. Again,
what does that have to do with 2-Tier design against 3-Tier design?
I has a BUSINESS bearing......PDA's have a 2 inch screen......Just how many
people want to stare at a 2 inch screen for 2 hours

Problem is, you probably haven't been out much. Or have you reported to
work lately? Maybe you should ask your boss if they've got one. Out here,
almost every manager has one. But, that's not even related to 2-Tier design
and 3-Tier design.
DVD's of the Kids to keep them occupied...The adults are usually
driving......If you want to watch The Lion King that's great.

Well, even some adults have their own toys. Last I know, i've never seen a
52" surround sound GPS screen. Those also came out in a 5 inch screen. And
even their hardware is designed using the methodology of N-Tier development.
You can upgrade your software, but don't need to buy a new unit. It's
analogous to changing the business rules, but keeping the GUI look the same.
Then again, I don't expect you to understand it coz, you'd probably think
all the software is built into the GPS just like the PDA having a "business"
tier. Or do you also want to fit in a "300Gb" database in a PDA too? Or
maybe a desktop application in one workstation (just to justify your "No
PDA" attitude) which is kind of "STUPID."
So this justifies N-Tier......? I don't think so.

You're the one who brought up the topic of laptops (which are called
notebooks nowaday). I just forgot to ask you the relevance of "Notebooks"
in N-Tier development.

By the way, don't give up... keep it coming. I'm willing to entertain your
ideas no matter how "stupid" they get. But if you really hate N-Tier
development... stick to device driver development. Now, those are programs
that don't need N-Tier development. But as your topic said, "WEB."
 
Still missing one important aspect.

Search and replace works just as good as OOP...

It's a proven tool that applications like Word, NotePad, and even VS.NET
have built in....

I could easily have a bunch of the SAME methods all over the place that can
be easily "SEARCH and REPLACED" a LOT FASTER than the OOP abstracted, all in
one place N-Tier or 3-Tier design.

I guess since it's SO simple to use, OOP people don't even want to mention
it because they have less work or would be out of a job...wouldn't want the
manager to know it was so simple would you.

Nevertheless, no one here said business logic was built directly INTO the
PDA. BUT Gurus, authors, MVP's, etc keep touting it in the Architecture of
Web Sites, server side, by saying, "Oohhhhh, because we have a middle tier
and our business logic can easily work with "different" presentation
layers......Uhhhhh...did it ever occur to you that different presentation
layers mean totally different USER Needs???????? Translation.....a lot
simplier, (which means different) business logic layer.

THE FACT that YOU ACCEPT BUGS as a WAY of LIFE for SOFTWARE
means your NOT INNOVATIVE as YOU THINK YOU ARE.

WHERE IS THAT IMAGINATION YOU keep talking about???????

--------------------------------------------------------------------
HERE IS A RIDDLE FOR YOU
Full OOP = "fill in the blank here" = Full Plate of Problems
---------------------------------------------------------------------

There is a lot more where this came from.......
As we wait, there will be more revealed bugs, patches that break other
patches, and fixes that unfixes other fixes.

Oh well, so much for ENCAPSULATION when patches break other patches...but
then that's OK with you since you, Mr. INNOVATION, have accepted bugs as a
fact of life.
 
If I had a penny for every bug that was traced back to cut-'n-paste
programming, I wouldn't be reading this forum.

Colin
 
nospam said:
Still missing one important aspect.

Search and replace works just as good as OOP...

Sure, search and replace works really well, until you've forgotten to search
and replace one piece of your application. With N-Tier development, I
modify it in one place, compile, send it to my users and they plug it in. I
don't even have to bother other "production" components that are dependent
on my changes. Which one is easier to maintain now?
It's a proven tool that applications like Word, NotePad, and even VS.NET
have built in....

What you don't realize is that all the apps you've said also expose COM
components that applications can take advantage of. These components are
also easily used for N-Tier development.
I could easily have a bunch of the SAME methods all over the place that can
be easily "SEARCH and REPLACED" a LOT FASTER than the OOP abstracted, all in
one place N-Tier or 3-Tier design.

Like I said, in N-Tier design, I modify the method I need to change and no
more search and replace for me. Which one is a lot faster... What if you
have to modify a whole code block? Damn, you're lucky if you're using
Regular Expressions so you can include CRLF characters on your text. What
you gonna do? Replace each occurrence of a certain command in your code,
line per line. Hmmm, business rule contains 10 lines of code (at least),
across 10 pages. Wow a 100 times you'll have to do cut and paste. Regular
Expression cut and paste style... figuring out the regular expression in
the find string and applying the correct one to the replace string... good
luck!!!
I guess since it's SO simple to use, OOP people don't even want to mention
it because they have less work or would be out of a job...wouldn't want the
manager to know it was so simple would you.

It's simple to use, yeah... But, the reason why it's not mentioned by most
OOP programmers is because it's just plain "STUPID." Knowing if we design
it well, we only need to change it in one place.
Nevertheless, no one here said business logic was built directly INTO the
PDA. BUT Gurus, authors, MVP's, etc keep touting it in the Architecture of
Web Sites, server side, by saying, "Oohhhhh, because we have a middle tier
and our business logic can easily work with "different" presentation
layers......Uhhhhh...did it ever occur to you that different presentation
layers mean totally different USER Needs???????? Translation.....a lot
simplier, (which means different) business logic layer.

Let me "Cut and Paste" what you indicated in your reply...

Don't deny what you wrote... and if you are, you're just contradicting what
you say. And if you contradict yourself, then your word as a "contributing"
member in a group of developers is not to be taken seriously. Your words
"as such for use in PDA's" suggest that you're thinking of putting the
business tier in it (just plain stupid as an idea though).

And to answer your question of different presentation layers are different
functions... NOT!!! Given an example of a simple (note the word simple)
Time And Attendance application. There is only one goal of the enterprise
app. That is, to log in the time the employee got in and out. Yet,
software companies have written a Web GUI, Voice Recognition Telephone
systems and swipe cards. Although these interfaces are different, all their
underlying rules are the same. For example, the employee cannot come in to
work before 7:00 AM. Despite the interfaces are different, they all follow
the same rule. Now, assuming you go with your 2-Tier design... the company
decides to change the rule to 8:00 AM... Wow, modification on 3 UI's. So,
where's the difference in the user's needs in this scenario? Take the
example of a retail application, since your major use for the internet is to
buy things. A company may open a website to sell their items, a 1-800
service over the phone and a retail store. In case you want a solid
example, take pizza hut as one. It has all three means of getting to the
customer... (Pizza hut is working on a central site, where people in one
location can take the order and forward it to their regional stores.) All
the rules are the same, you make your order, get charged and tax is added
into it plus other fees. Yeah, the rates may be different but if you design
it differently, you'd just grab it from the database and feed that
information to the interface. Even though each GUI may have additional
features, the basic rules of doing business still applies.

Man, this feels weird, it's like teaching a high school student to break bad
habits!!!
THE FACT that YOU ACCEPT BUGS as a WAY of LIFE for SOFTWARE
means your NOT INNOVATIVE as YOU THINK YOU ARE.

At least I'm smart enough to realize that not everything in life is perfect.
To assume that it is is plain stupid. And because of this assumption, I
find a constant role in correcting the imperfection and making people's life
better.
WHERE IS THAT IMAGINATION YOU keep talking about???????

However, bugs are not the only reason to issue updates and patches. You can
improve performance as technology becomes better. For a simple minded
person's sake... Consider that he created software that used, bubble sort
algorithm inside a method. Later on, he found out that a quick sort
algorithm will make his application work better... making the change on the
DLL across all applications that used his component is easier than changing
all the applications with that logic. EVEN WITH CUT AND PASTE!!!

What's the use of the riddle? And it's seems to be missing another "O."
There is a lot more where this came from.......
As we wait, there will be more revealed bugs, patches that break other
patches, and fixes that unfixes other fixes.

Can you say honestly, that you've never changed your application once it
went to production. Or do you call it an entirely different product every
new release...
Oh well, so much for ENCAPSULATION when patches break other patches...but
then that's OK with you since you, Mr. INNOVATION, have accepted bugs as a
fact of life.

Yes, I have accepted bugs as a natural fact of life... and so is famine and
war and every little evil in this world. Not to accept it is to live a
false life. But should that stop me from putting out my patches or getting
them, the answer is definitely NO. In a digital world, no matter how secure
your application is, it's just plain nonsense to think that you are safe
from every hacker in this world. Nor should you assume that your
application works perfectly. One should design their system for growth,
adaptation and presentation. Perfection, is a false goal. As a seasoned
developer, I know that not everyone can be satisfied by your work. And
that's why, patches are released one right after the other. Why is it, that
Norton AntiVirus and McAffee, producing updates to their systems? They are
afterall, somewhat reliable. That's because it's a never ending battle.
Besides, life does not stop because your application has been rid of bugs.
You can constantly improve on it, give it more features and make it more
user friendly. Like I said, fixing bugs is not the only reason why you
issue a patch. Now, isn't that innovation? But I guess, I have to thank
you for calling me as such. (NOT!!!)

Here's the real plus of N-Tier design that I keep on forgetting to include
in my past messages. N-Tier development allows me to concentrate more on
building the application rather than spending time on the "infrastructure"
of my product. If you don't understand that, you can read up on Microsoft
DNA or J2EE development. They'll explain to you what I meant.

As for the moment, J2EE has the better infrastructure than Microsoft. Only,
Microsoft has the better IDE than most J2EE compliant tool I've used before.
That includes JBuilder... really need to improve it a whole lot more to
come par with Visual Studio. And if you think Microsoft has a patch every 2
months or so, JBuilder has a new version every 3 to 6 months. My point is,
no matter what technology you use, you'll constantly encounter bugs in the
system. Even the "glorified" mainframe applications have bugs. Remember,
Y2K? Now, that's a perfect example of how hairy it was to modify 2-Tier
applications. (As most COBOL programs have that very nature.) If it were
an N-Tier architecture... as I did with my clients... all I needed was a
patch from microsoft and modified one module. Beat that with your cut and
paste!!! (And yes, the companies continued to operate even after Y2K.)

I come to wonder, how do you build "internationalized" versions of your
applications. It must be a gruesome task to change its feature from english
to spanish to french. Oh, I can just imagine the currencies and the dates
(in case you didn't know, some countries use comma's instead of dots in
numbers, and dots instead of slashes)... Thinking of how to do it in a two
tier application gives me the horror of doing everything ALL OVER AGAIN on
the same logical code. That is one piece where your "CUT" and "PASTE"
wouldn't work too well... Still convinced that your favorite "CUT" and
"PASTE" will do the job? Don't ask me how, but for seasoned developers
(it's a trade secret for N-Tier developers and OOP programmers)... this is
an easy task with OOP and N-Tier development. Having a different method for
each language is not even necessary if you design it right. Just remember,
after it is all said and done, currency representation and dates, no matter
what the culture is, are all represented the same way in .NET at the end.
 
PROVE IT.

There is a bug every other day with OOP.....Did you ever hear about
Microsoft Windows Update? Critical Update....that seems to be every other
day...and who know how many things are being patched.

YOU HAVE ZERO PROOF...... ALL TALK......

SHOW THE UNBIAS STUDY...

It's just that you don't know how to use Search and Replace correctly.
 
Back
Top