0

I am building a web application using asp.net 3.5, sql server 2008. My client wants it to be in minimum 3 tier architecture(Tiers are seperated physically, means 3 tiers means 3 seperate machines).

User Interface Tier: All the pages will be deployed on the different web server. This server will host only and only asp.net pages or server components.

Application Tier: This server will host the business logic and this is the tier where all the business logic will be implemented and deployed. This tier will fill the communication gap between database and the User Interface(UI).

Database Tier: A seperate server will be utilized to host the database only.

So far so good.

Actually my client is willing to use LLBLGen for the boiler plate code generation and to make the development fast.

My issue is that how can I call the components available at application layer from asp.net (user Interface layer)pages, because these application layer components are suppose to talk between the database and UI.

I have developed apps using the logical seperation where UI and BL is on the same machine. But on the different machines I am going to do it for the first time.

So please please kindly help me and if there is any good tutorial or article available kindly share it please.

Thanks and regards Shax

Shax
  • 4,207
  • 10
  • 46
  • 62
  • 1
    @Shax - The client is coming to you because you're the expert, the client has heard NTier thrown around and figured it's what he needs, when it's not. If the client is such an expert he doesn't need your help, you should push back on the clients requirements. – Phill Feb 21 '11 at 21:00
  • @Phill: Yes, it is his job to guide them, but it's also unwise to think they don't know what they are talking about either. Its possible they have an understand of building applications, but just need someone to actually do it. I personally think N-tier is the way to go, as it provides a clear separation of concerns, simplifies development (knowing you ONLY talk to the layer immediately below makes many decisions easier) and it leads to a easier to maintain and scalable solution. – Andy Feb 21 '11 at 21:12
  • 1
    @Andy - They may know or understand how to build applications, but again it most likely doesn't fit the application they want to build. The OP states Tier's as in physical tiers, 3 different servers. But in your response to me you've already stated layers, such as Data Access, Business, Presentation. If we are talking about layers then yes I completely agree, but the OP stated physical tiers and this is why I think the client has heard the term thrown around and thinks it's what they need when it's most likely not. (if that makes sense, sorry) – Phill Feb 21 '11 at 21:22
  • Friends, The issue is that client is very well aware about the terms they are using, but they are not the development experts. They are already having a product which they bought somewhere in 2001 which is written in VB6.0 and classic asp but they are facing lots of issues like now they want to move the database to a seperate machine but could't because the database connection string is hardcoded inside the vb6.0 components and the vendor is not supporting it easily because it is now an old technology product rather vendor is pushing them to buy a .net version for the same product etc etc etc. – Shax Feb 21 '11 at 21:36
  • So now they want to develop it in house. They already hired a contractor for this but this guy left the job for some reason now I am on board. The issue of using llblgen is that previously hired contractor recomanded them using llblgen and Telerik components and they bought those tools and for me these are the tools to work. Any suggestions are welcome. – Shax Feb 21 '11 at 21:38
  • 2
    Ouch, sounds like a they hired a contractor with little experience whos dictated what the client should use, now you're stuck with it :(. Moving the database out to it's own server is fine, but at the moment I don't see a point in moving the business logic to a separate tier, you will have to introduce WCF services or similar to communicate between the web server and application tier. You now contend with latency and bandwidth between DB-APP, and App-Web. Depending on the traffic of the site you may need introduce a network engineer. Single network connections will bottleneck your system. – Phill Feb 21 '11 at 22:05
  • @Phill, Thanks alot for the prompt reply. That is what I was thinking. I am preparing a small solution document and gonna propose what I have decided after my experience and with the help of all of you guys. But at the end, I am definitely gonna use LLBLGen and Telrik. Thanks alot once again. – Shax Feb 21 '11 at 22:23

1 Answers1

0

Since you didn't say anything about the type of application and the usage scenario (where you might need the security of multi-tier architecture) I wouldn't want to comment on whether the client needs such a thing or not. You might suggest to them that that sort of configuration will DECREASE performance if they think that that is the benefit of it.

I would recommend using the CSLA framework and then you won't have to worry about your deployment scenario. I have used it successfully for ages on many different projects and it will mitigate your architecture concerns and let you worry about providing real functionality.

DancesWithBamboo
  • 4,176
  • 1
  • 19
  • 20
  • I second the recommendation to use Csla. You want n-tier to 1) clearly separate responsibilities, and Csla helps guide you into that thinking, and 2) you want this configuration for scalability, which often does reduce performance, but makes the system more reliable over-all. – Andy Feb 21 '11 at 21:09
  • Friend, definitely there is a security part involved in it. Based on the user profile need to display certian screens or hide certain data. I am at the moment going through LLBLGen online documentation seems it provides lots of things which I need to implement but again. How can I communicate between layers. Do I need to build WCF Services for this reason... Cant go CSLA as I stated already that they have invested in LLBLGen and Telerik and they want me to use them rather introducing new thing. Please help. Sorry if I again missed out something. – Shax Feb 21 '11 at 21:43
  • @Shax: The usage of Telerik for your UI controls and LLBLGen as an OR mapper in no way precludes you from using CSLA. They work very well together. – DancesWithBamboo Feb 22 '11 at 19:50
  • do you mean that I can use CSLA and LLBLGEN together? can you guide me how or any tutorial for this reason ? Thanks – Shax Feb 22 '11 at 23:15
  • You can check out Rocky's web site (lhotka.net), query the CSLA forum there, and buy his books/e-books/videos. – DancesWithBamboo Feb 23 '11 at 19:26