none
Directly Reference of WCF class library project RRS feed

  • Question

  • Hello

    We are in the process defining the architecture of a fairly large customer facing financial application where performance and scalability are the key requirements. We proposed n-tier architecture which primary consists of Web Tier, Application Tier (Mid-Tier) and Data Tier WCF being the communication mechanism between web tier and app tier. Some of the stakeholders are concerned that WCF would cause performance overhead and want configurable architectural provision to support In-process calls and WCF. Their vision is to start with in-process calls and change it to WCF based communication if horizontal scalability is a concern.

    One of the options that we are considering is to create WCF Class Library projects for now and directly reference it from the web project.  This way, web layer simply access the WCF project as if it access a standard class library project. In future, when there is a real need to host the services in a separate server, we can host the WCF services and make the client to consume the WCF service.

    Please let me know your comments about this approach.

    Appreciate it.

    Tuesday, October 28, 2014 9:59 AM

Answers

  • It should be this.

    UI

    Service layer

    Middle Tier - BLL

    WCF

    DAL

    OR

    UI

    Service Layer

    WCF

    Middle Tier -- BLL

    DAL

    Either way, becuase of the Service layer, WCF can be moved out of the picture or implemented as need be.

    But on the other hand, if you are going to use WCF, then why half-step or pussy-foot around with it?

    I have ssen companies use WCF over TCP/IP between the front-end and back-end infrastucture.

    http://blog.shutupandcode.net/?p=1085

    http://weblogs.asp.net/sweinstein/creating-high-performance-wcf-services

    With that said, yes you can performance tune WCF. But if the middle tier -- BLL and DAL code perform poorly, what difference does it make if WCF is in the mix? That's where you need to pay attention to is what is the code doing in those tiers and not solely on what WCF is doing. 

     

    Tuesday, October 28, 2014 1:57 PM

All replies

  • It should be this.

    UI

    Service layer

    Middle Tier - BLL

    WCF

    DAL

    OR

    UI

    Service Layer

    WCF

    Middle Tier -- BLL

    DAL

    Either way, becuase of the Service layer, WCF can be moved out of the picture or implemented as need be.

    But on the other hand, if you are going to use WCF, then why half-step or pussy-foot around with it?

    I have ssen companies use WCF over TCP/IP between the front-end and back-end infrastucture.

    http://blog.shutupandcode.net/?p=1085

    http://weblogs.asp.net/sweinstein/creating-high-performance-wcf-services

    With that said, yes you can performance tune WCF. But if the middle tier -- BLL and DAL code perform poorly, what difference does it make if WCF is in the mix? That's where you need to pay attention to is what is the code doing in those tiers and not solely on what WCF is doing. 

     

    Tuesday, October 28, 2014 1:57 PM
  • Thank you for your reply. It certainly helps. Are there any downsides of directly referencing WCF class library projects from the web tier? 
    Wednesday, October 29, 2014 6:26 AM
  • Thank you for your reply. It certainly helps. Are there any downsides of directly referencing WCF class library projects from the web tier?

    Other than tight coupleing the Web tier to the WCF service with no seperation of concerns, you may not want that.

    Wednesday, October 29, 2014 2:00 PM