K
Ken Ross
I'm in the early stages of working up the design for a large .Net web
application and want to make sure that we have the best possible physical
architecture to support the logical architecture and implementation. To
my way of thinking, that means that no only do we follow a 3-tier
approach from a logical view (data access, business logic, and UI) but
that we also separate the application into physical layers to improve
scalability and security.
My thoughts now, keeping it simple, are to have a SQL Server (SQL), a
Business Rules Server (BRS), and Web Server (UI). The Web server would
host the pages that make up the UI and it would make requests for data
(read/write) to the BRS which in turn would talk to the SQL server
through a logical data access layer.
The big question for me in all this is whether I should use Web Services
as the communications mechanism between the UI and BRS or if I should use
Remoting instead. I have experience with both so it's not a learning
curve issue and at the moment it would only be code that we control
talking to the BRS (later we may have a need for SOA functionality at
this layer).
Certainly the web services style is better supported in the IDE and
therefore easier to work with but that [for now] comes with a performance
penalty when compared with Binary Remoting over TCP. The thing is, even
though slower, web services could very well be "fast enough" since I
don't anticipate moving huge numbers of records between the BRS and UI
layers anyway.
Any comments/advise on this is greatly appreciated!
Ken
application and want to make sure that we have the best possible physical
architecture to support the logical architecture and implementation. To
my way of thinking, that means that no only do we follow a 3-tier
approach from a logical view (data access, business logic, and UI) but
that we also separate the application into physical layers to improve
scalability and security.
My thoughts now, keeping it simple, are to have a SQL Server (SQL), a
Business Rules Server (BRS), and Web Server (UI). The Web server would
host the pages that make up the UI and it would make requests for data
(read/write) to the BRS which in turn would talk to the SQL server
through a logical data access layer.
The big question for me in all this is whether I should use Web Services
as the communications mechanism between the UI and BRS or if I should use
Remoting instead. I have experience with both so it's not a learning
curve issue and at the moment it would only be code that we control
talking to the BRS (later we may have a need for SOA functionality at
this layer).
Certainly the web services style is better supported in the IDE and
therefore easier to work with but that [for now] comes with a performance
penalty when compared with Binary Remoting over TCP. The thing is, even
though slower, web services could very well be "fast enough" since I
don't anticipate moving huge numbers of records between the BRS and UI
layers anyway.
Any comments/advise on this is greatly appreciated!
Ken