Board index » delphi » Re: ASP.NET: Fundementally Flawed Architecture

Re: ASP.NET: Fundementally Flawed Architecture


2006-03-20 07:24:58 AM
delphi205
"Dennis Landi" <XXXX@XXXXX.COM>writes
Quote
Trevor de Koekkoek writes:
>>
>>Easy. Here is the criteria, not listed in any particular order:
>>
>>1) Ease of development (from scratch).
>>2) Ease of maintenance over time
>>3) Performance
>>4) Memory consumption and management
>>5) Robustness and stability
>>6) Vulnerability to environmental factors (such as OS/.NET patches and
>>upgrades).
>>7) Security and Vulnerability to hacking
>>8) Installation foot-print. How easy is it to install correctly? How
>>small is the foot-print?
>>9) Complexity of Architecture
>>
>
>
>Fine, but you didn't list any that you think are better. I think ASP.NET
>scores well on most counts.

I don't disagree with you. But a natively compiled server in combination
with a Flash client, will score *better* on all counts in my opinion. The
only thing that really needs to be tested is performance for which I
already strongly suspect the outcome. As for the other categories,
ASP.NET will lose to natively compiled servers eveytime, and it has
nothing to really compete with Flash, since server-side management of
state and gui, is something that just isn't necessary with a Flash +
Delphi Server Scenario.
You've got to be kidding. Ease of development? Ease of maintenance?
Memory management? Complexity? You're telling me these are better in a
natively compiled environment. How exactly? Also you don't mention a
platform. Just saying Delphi or C++ doesn't tell me how you're developing
your server code? Writing an Http Server from scratch? Using Intraweb?
Writing ISAPI DLLs in C++? Other?
-trevor
 
 

Re: ASP.NET: Fundementally Flawed Architecture

Hadi Hariri writes:
Quote
It has partial updates, which has been around for a long time. However,
we already have alpha tests for AJAX support and it will be coming very
soon.
And don't forget your ECO3/Intraweb compatible alpha tests !
:-)
JoeH
 

Re: ASP.NET: Fundementally Flawed Architecture

Trevor de Koekkoek writes:
Quote

You've got to be kidding. Ease of development? Ease of maintenance?
Memory management? Complexity? You're telling me these are better in a
natively compiled environment. How exactly? Also you don't mention a
platform. Just saying Delphi or C++ doesn't tell me how you're
developing
Quote
your server code? Writing an Http Server from scratch? Using Intraweb?
Writing ISAPI DLLs in C++? Other?

-trevor


Nope, not kidding. I wrote my own webserver back in 1998. Still using
it. Very few lines of code. Very performant. There are plenty of 3rd
party tcp-ip delphi socket servers in the community, so there is no need
for you to roll you own from scratch (although its not hard).
I have NexusDB hooked up as a back-end, so even the DB server is 100%
native Delphi. The unit that integrates a full set of NexusDB services
into my webserver for my Flash WebApp amounts to no more than about 400
lines of code. I could of course use most other DB products as db
back-end with no real impact in the size of complexity of code in the
webserver. But I do love the fact the NexusDB is 100% Delphi.
The servers (both web and db) are fully multi-threaded with a very small
foot-print. Installation is as easy as dropping an exe on a machine or
installing them as a service...
No fuss, no muss, lean, mean and clean...
-d
 

Re: ASP.NET: Fundementally Flawed Architecture

Henry writes:
Quote
I'm a fan of using OOP appropriately.
and you consider it inappropiate to encapsulate ASP Forms? How about
Winforms? Delphi VCL forms?
 

Re: ASP.NET: Fundementally Flawed Architecture

Quote

Nope, not kidding. I wrote my own webserver back in 1998. Still using it.
Very few lines of code. Very performant. There are plenty of 3rd party
tcp-ip delphi socket servers in the community, so there is no need for you
to roll you own from scratch (although its not hard).

I have NexusDB hooked up as a back-end, so even the DB server is 100%
native Delphi. The unit that integrates a full set of NexusDB services
into my webserver for my Flash WebApp amounts to no more than about 400
lines of code. I could of course use most other DB products as db
back-end with no real impact in the size of complexity of code in the
webserver. But I do love the fact the NexusDB is 100% Delphi.


The servers (both web and db) are fully multi-threaded with a very small
foot-print. Installation is as easy as dropping an exe on a machine or
installing them as a service...
Fine, but hardly a universal platform for building web applications. It
might work well for your flash applications, but having the .NET framework
for XML processing, state management, and ease of development to name a few
can't be matched by what you describe. I have used low-footprint Delphi
webservers as well. But they aren't appropriate for complex applications
IMO.
-trevor
 

Re: ASP.NET: Fundementally Flawed Architecture

Trevor de Koekkoek writes:
Quote
>Nope, not kidding. I wrote my own webserver back in 1998. Still using it.
>Very few lines of code. Very performant. There are plenty of 3rd party
>tcp-ip delphi socket servers in the community, so there is no need for you
>to roll you own from scratch (although its not hard).
>
>I have NexusDB hooked up as a back-end, so even the DB server is 100%
>native Delphi. The unit that integrates a full set of NexusDB services
>into my webserver for my Flash WebApp amounts to no more than about 400
>lines of code. I could of course use most other DB products as db
>back-end with no real impact in the size of complexity of code in the
>webserver. But I do love the fact the NexusDB is 100% Delphi.
>
>
>The servers (both web and db) are fully multi-threaded with a very small
>foot-print. Installation is as easy as dropping an exe on a machine or
>installing them as a service...


Fine, but hardly a universal platform for building web applications. It
might work well for your flash applications, but having the .NET framework
for XML processing, state management, and ease of development to name a few
can't be matched by what you describe. I have used low-footprint Delphi
webservers as well. But they aren't appropriate for complex applications
IMO.

-trevor


I've already explained to you that there is no need to handle state
management on the server when using Flash, and Flash has a full arsenal
of XML services including WebServices (although those, too, aren't
necessary with a Delphi Server, unless you want to support Web Services
for some customer oriented reason).
-d
 

Re: ASP.NET: Fundementally Flawed Architecture

Quote

I've already explained to you that there is no need to handle state
management on the server when using Flash, and Flash has a full arsenal of
XML services including WebServices (although those, too, aren't necessary
with a Delphi Server, unless you want to support Web Services for some
customer oriented reason).

We're talking apples and oranges here. I can do all that stuff with Flash
and ASP.NET as well. You haven't shown me in any way how Delphi + Flash is
any better than ASP.NET + flash except possibly speed and footprint. The
XML processing I am talking about is on the server and for robust
applications you're still going to need processing on the server. I don't
see how memory management, ease of development, maitenance, etc. is any
better in a natively compiled app. Memory management for one is far easier
in a managed application and server-side XML processing (XPath, XSL, etc.)
is far more robust in .NET than in Win32 Delphi.
-trevor
 

Re: ASP.NET: Fundementally Flawed Architecture

Trevor de Koekkoek writes:
Quote
>I've already explained to you that there is no need to handle state
>management on the server when using Flash, and Flash has a full arsenal of
>XML services including WebServices (although those, too, aren't necessary
>with a Delphi Server, unless you want to support Web Services for some
>customer oriented reason).
>


We're talking apples and oranges here. I can do all that stuff with Flash
and ASP.NET as well. You haven't shown me in any way how Delphi + Flash is
any better than ASP.NET + flash except possibly speed and footprint. The
XML processing I am talking about is on the server and for robust
applications you're still going to need processing on the server. I don't
see how memory management, ease of development, maitenance, etc. is any
better in a natively compiled app. Memory management for one is far easier
in a managed application and server-side XML processing (XPath, XSL, etc.)
is far more robust in .NET than in Win32 Delphi.

-trevor


So we've boiled down your reasons for using ASP.NET to the availability
of server-side XML processing? Do I have to point out that this has
nothing to do with web servers or web applications, per se?
What's difficult about server side xml processing? I have been doing it
for years, and I don't need to buy into a huge framework just to do xml
processing. I do it with delphi servers and with Flash every day.
I don't use XPath, but I dare say, I would look for a lean, mean and clean
native delphi Xpath Module to plug into my application, before I would
abandon my native delphi code just to get XPath.
And that is all I will say about the thought processes concerning
technology choices. I suspect there are other quite specific forces at
work causing you to make the choices you've made, but I don't think they
have much to do with laying out the pros and cons of technology platforms.
-d
 

Re: ASP.NET: Fundementally Flawed Architecture

"Dennis Landi" <XXXX@XXXXX.COM>writes
Quote
Trevor de Koekkoek writes:
So we've boilXwoad down your reasons for using ASP.NET to the availability
of server-side XML processing? Do I have to point out that this has
nothing to do with web servers or web applications, per se?

What's difficult about server side xml processing? I have been doing it for
years, and I don't need to buy into a huge framework just to do xml
processing. I do it with delphi servers and with Flash every day.
I mentioned XML processing as ONE example. You on the other hand have not
indicated any ways in which Delphi is better for web development. I've
asked you repeatedly as to how it is better other than possibly in speed and
footprint. How is it easier to develop? how does it handle memory better?
How is it easier to maintain? and others of your own list of 9 points? As
far as mean and lean native Delphi for XML you are assuming somehow that
.NET is slow. It might be slower than native code but often the difference
is not noticeable and then you must take into account the practicality of
having a very robust framework vs. searching for custom less supported
components. Sure it is doable, but how is that more maintainable and more
productive? Again using your own criteria for assessing a technology.
-tdk
 

Re: ASP.NET: Fundementally Flawed Architecture

"Dennis Landi" <XXXX@XXXXX.COM>writes
Quote
Trevor de Koekkoek writes:
>"Dennis Landi" <XXXX@XXXXX.COM>writes
>news:441e085e$XXXX@XXXXX.COM...
>
>>Trevor de Koekkoek writes:
>>So we've boilXwoad down your reasons for using ASP.NET to the
>>availability of server-side XML processing? Do I have to point out that
>>this has nothing to do with web servers or web applications, per se?
>>
>>What's difficult about server side xml processing? I have been doing it
>>for years, and I don't need to buy into a huge framework just to do xml
>>processing. I do it with delphi servers and with Flash every day.
>
>
>
>I mentioned XML processing as ONE example. You on the other hand have
>not indicated any ways in which Delphi is better for web development.

Because web server is far more simplified since it doesn't have to do the
state or gui management. I have already explained this to you and it has
not registered.

You don't seem to understand the incredible overhead managing the state
and the gui from the server costs in terms of complexity, robustness and
performance, let alone ease of maintenance. Since I have been writing web
application servers since 1996 I know how to do it "the hard way" and what
exactly the costs are in terms of servers-side complexity. With this
managed by the web client, the web server is left alone as a conduit of
file requests and DB requests. It because a much more simpler mechanism
that does very little and as a result, it becomes much more robust and
extremely performant since the tasks it is required to do can be done
simply and quickly. As such, it then become an ideal server solution for
high-load, heavy traffic internet websites with "real world" commercial
demands.

This architecture also truly isolates the "middle tier" for what it is
intended to be, for people who understand what they are doing. And that
is reserving the middle tier for server side activities that really cannot
be done in any other tier; because putting business logic in the middle
tier is expensive from a performance perspective as it can become the
performance bottle-neck in an architecture just like Db Servers run the
risk of a bottle-neck.

However, there are cases where there needs to be a "broker" of some kind
"coordinating" disparate sources of "state" and this where the middle tier
entity becomes a necessity. As such a "WebServer" by nature can become a
very simple, very specific "broker" with a very small portfolio of tasks.
This is the secret to high performance, robustness and simplicity of
design.

In my opinion, new developers are using "the middle tier" as a crutch very
much the way client-server developers used the "database" as crutch 10
years ago. Over use of these tiers will result in unnecessary complexity
and a degradation of performance as work is being done on the server when
it could have been done on the client "at no cost".

However, even in web application scenarios there are situations where
"special" tcp-ip servers with specific jobs can and should be deployed as
separate middle-tier entities when the situation demands it. But the
"broker's" portfolio of tasks should be clearly defined and adhered to so
that it doesn't become bloated, complex and hard to maintain.


>I've asked you repeatedly as to how it is better other than possibly in
>speed and footprint. How is it easier to develop?

Hopefully, I have just explained it.

No you haven't explained it. You've just pointed out again the benefits of
flash client-side development which I am not disputing and which I've
pointed out can be done with ASP.NET or native Delphi. So we really are
getting no-where with you not answering my questions. So I think I am out of
this conversation, but I hope to engage in others with you in the future.
Thanks,
Trevor
 

Re: ASP.NET: Fundementally Flawed Architecture

Trevor de Koekkoek writes:
Quote
"Dennis Landi" <XXXX@XXXXX.COM>writes
news:441e1b00$XXXX@XXXXX.COM...

>Trevor de Koekkoek writes:
>
>>"Dennis Landi" <XXXX@XXXXX.COM>writes
>>news:441e085e$XXXX@XXXXX.COM...
>>
>>
>>>Trevor de Koekkoek writes:
>>>So we've boilXwoad down your reasons for using ASP.NET to the
>>>availability of server-side XML processing? Do I have to point out that
>>>this has nothing to do with web servers or web applications, per se?
>>>
>>>What's difficult about server side xml processing? I have been doing it
>>>for years, and I don't need to buy into a huge framework just to do xml
>>>processing. I do it with delphi servers and with Flash every day.
>>
>>
>>
>>I mentioned XML processing as ONE example. You on the other hand have
>>not indicated any ways in which Delphi is better for web development.
>
>Because web server is far more simplified since it doesn't have to do the
>state or gui management. I have already explained this to you and it has
>not registered.
>
>You don't seem to understand the incredible overhead managing the state
>and the gui from the server costs in terms of complexity, robustness and
>performance, let alone ease of maintenance. Since I have been writing web
>application servers since 1996 I know how to do it "the hard way" and what
>exactly the costs are in terms of servers-side complexity. With this
>managed by the web client, the web server is left alone as a conduit of
>file requests and DB requests. It because a much more simpler mechanism
>that does very little and as a result, it becomes much more robust and
>extremely performant since the tasks it is required to do can be done
>simply and quickly. As such, it then become an ideal server solution for
>high-load, heavy traffic internet websites with "real world" commercial
>demands.
>
>This architecture also truly isolates the "middle tier" for what it is
>intended to be, for people who understand what they are doing. And that
>is reserving the middle tier for server side activities that really cannot
>be done in any other tier; because putting business logic in the middle
>tier is expensive from a performance perspective as it can become the
>performance bottle-neck in an architecture just like Db Servers run the
>risk of a bottle-neck.
>
>However, there are cases where there needs to be a "broker" of some kind
>"coordinating" disparate sources of "state" and this where the middle tier
>entity becomes a necessity. As such a "WebServer" by nature can become a
>very simple, very specific "broker" with a very small portfolio of tasks.
>This is the secret to high performance, robustness and simplicity of
>design.
>
>In my opinion, new developers are using "the middle tier" as a crutch very
>much the way client-server developers used the "database" as crutch 10
>years ago. Over use of these tiers will result in unnecessary complexity
>and a degradation of performance as work is being done on the server when
>it could have been done on the client "at no cost".
>
>However, even in web application scenarios there are situations where
>"special" tcp-ip servers with specific jobs can and should be deployed as
>separate middle-tier entities when the situation demands it. But the
>"broker's" portfolio of tasks should be clearly defined and adhered to so
>that it doesn't become bloated, complex and hard to maintain.
>
>
>
>>I've asked you repeatedly as to how it is better other than possibly in
>>speed and footprint. How is it easier to develop?
>
>Hopefully, I have just explained it.
>



No you haven't explained it. You've just pointed out again the benefits of
flash client-side development which I am not disputing and which I've
pointed out can be done with ASP.NET or native Delphi.
No, ASP.NET (or any server) can not do client side state and gui
management on the client, since its a server-side entity. A server side
entity does work on the server. ASP.NET generates and sends its state
and gui code to the client with each page request (or it generates
server-side javascript to be executed in the browser in a limited fashion.)
IF you meant to say that Flash can act as a client for both Delphi
servers and ASP.NET servers, then that is strictly true; but as I've
already pointed out, the vast majority of "state" management and "gui"
generation services are simply not needed by the flash client at all, so
all Flash would be using ASP.NET for is an extremely bloated tcp-ip
server.
In that case, why not use a lean, mean and clean, no-muss, no-fuss
natively compiled delphi tcp-ip server?
"I know I would"...
-d
 

Re: ASP.NET: Fundementally Flawed Architecture

luxspes writes:
Quote
>I'm using VS 2005. What are you referring to?
I really like that now you can visual bind the datasources to data
stored in the cookies, querystrings, or other controls... IMO it makes
development a lot easier and faster than in ASP.NET 1.x
I've never got actually got this to work in complex scenarios. I find a lot of
.NET like that; good for whiz-bang demos, but useless for real work.
 

Re: ASP.NET: Fundementally Flawed Architecture

David Farrell-Garcia writes:
Quote
and you consider it inappropiate to encapsulate ASP Forms? How about
Winforms? Delphi VCL forms?
It is appropriate to encapsulate the page. ASP.NET goes much further, layering
an extremely artificial component model on top of the HTTP protocol. HTTP is not
the Windows message loop, and trying to pretend that it is is asking for trouble.
 

Re: ASP.NET: Fundementally Flawed Architecture

Mmm, you can do states in ASP.Net
there is a dedicated chapter in every book about ASP.Net development
how it was with DataSnap when STATELESS server is used, same with ASP you
need to do a little of coding to specify a way of how state is preserved,
but it is there and used widely...
"Henry" <XXXX@XXXXX.COM>writes
Quote
Craig writes:
>How is ASP.NET different to any other web development technology in
>regards to this?

No MVC or cross-page state objects. Ruby on Rails uses MVC, JEE has
stateful session beans.
 

Re: ASP.NET: Fundementally Flawed Architecture

I use firefox and the 2nd plugin i install after noscript is a flash
blocker.