Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
CODE PROJECT For Those Who Code
  • Home
  • Articles
  • FAQ
Community
  1. Home
  2. General Programming
  3. C#
  4. How to set 3 tier Architecture in physically.(harware)

How to set 3 tier Architecture in physically.(harware)

Scheduled Pinned Locked Moved C#
databasesysadminquestioncomhardware
6 Posts 3 Posters 1 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • M Offline
    M Offline
    Member 2321293
    wrote on last edited by
    #1

    Hi, I have a project in 3 tier Architecture structure. There are GUI (presentation layer), BLL (Business logic layer) and DAL (Data Access Layer). Based my understanding dll always stick to exe in order to run my program. 3 tier is good in development management and enhancement. Here is my question is it is any way to make my “dll” store application server (computer / App server) and user only keep the “exe” e.g. hardware “–“ (link) DB (Database server) – DLL(Application server, which is store the dll only) – EXE (multiple user, which is store exe only) I used on Assembly Configuration Files. But it’s only help on probing those dll in subsidiary folder only. And it is FAIL probing to network path. COM+ I added all dll in server application. It can be work if exe is running stand alone. But It is fail while user (user’s COM+ added the dll for his/her computer but point to server dll folder) run the exe in stand alone. It is possible the exe can be run in a pc which is can refer the dll to application server? Purposely to separate my “dll” and “exe” is easy for me to do updating (Business logic changes only) hence I no need to update all users versions pc by pc. Please give me a solution. Thank you.

    C Z 2 Replies Last reply
    0
    • M Member 2321293

      Hi, I have a project in 3 tier Architecture structure. There are GUI (presentation layer), BLL (Business logic layer) and DAL (Data Access Layer). Based my understanding dll always stick to exe in order to run my program. 3 tier is good in development management and enhancement. Here is my question is it is any way to make my “dll” store application server (computer / App server) and user only keep the “exe” e.g. hardware “–“ (link) DB (Database server) – DLL(Application server, which is store the dll only) – EXE (multiple user, which is store exe only) I used on Assembly Configuration Files. But it’s only help on probing those dll in subsidiary folder only. And it is FAIL probing to network path. COM+ I added all dll in server application. It can be work if exe is running stand alone. But It is fail while user (user’s COM+ added the dll for his/her computer but point to server dll folder) run the exe in stand alone. It is possible the exe can be run in a pc which is can refer the dll to application server? Purposely to separate my “dll” and “exe” is easy for me to do updating (Business logic changes only) hence I no need to update all users versions pc by pc. Please give me a solution. Thank you.

      C Offline
      C Offline
      Christian Graus
      wrote on last edited by
      #2

      Member 2321293 wrote:

      Here is my question is it is any way to make my “dll” store application server (computer / App server) and user only keep the “exe”

      No. You can make your actual database anywhere you like, but the dll is the code to access that database. The user needs it. Unless you can distribute it on a local network with something like COM+, as you say. It still sounds dodgy to me.

      Christian Graus Driven to the arms of OSX by Vista. Read my blog to find out how I've worked around bugs in Microsoft tools and frameworks.

      1 Reply Last reply
      0
      • M Member 2321293

        Hi, I have a project in 3 tier Architecture structure. There are GUI (presentation layer), BLL (Business logic layer) and DAL (Data Access Layer). Based my understanding dll always stick to exe in order to run my program. 3 tier is good in development management and enhancement. Here is my question is it is any way to make my “dll” store application server (computer / App server) and user only keep the “exe” e.g. hardware “–“ (link) DB (Database server) – DLL(Application server, which is store the dll only) – EXE (multiple user, which is store exe only) I used on Assembly Configuration Files. But it’s only help on probing those dll in subsidiary folder only. And it is FAIL probing to network path. COM+ I added all dll in server application. It can be work if exe is running stand alone. But It is fail while user (user’s COM+ added the dll for his/her computer but point to server dll folder) run the exe in stand alone. It is possible the exe can be run in a pc which is can refer the dll to application server? Purposely to separate my “dll” and “exe” is easy for me to do updating (Business logic changes only) hence I no need to update all users versions pc by pc. Please give me a solution. Thank you.

        Z Offline
        Z Offline
        Zoki Manas
        wrote on last edited by
        #3

        One possible solution is to implement Service layer above BLL code and DAL code. This service layer will wrap methods from these two assemblies in web service methods or WCF methods. By this, you can deploy different app layers on different machine. Additionaly, implementing Load balancing on application layer will not be a problem. The service layer will represent nice interface for your exe to be used. Let me sketch your scenario... Presentation layer (EXE) ------------------------ BLL WCF Services ------------------------ BLL assembly ------------------------ DAL WCF Services ------------------------ DAL assembly Your exe will reference BLL WCF service that can be deployed on any PC. Your BLL code will reference DAL WCF service that can also be deployed on any PC. I hope it will clear some issues for you.

        M 1 Reply Last reply
        0
        • Z Zoki Manas

          One possible solution is to implement Service layer above BLL code and DAL code. This service layer will wrap methods from these two assemblies in web service methods or WCF methods. By this, you can deploy different app layers on different machine. Additionaly, implementing Load balancing on application layer will not be a problem. The service layer will represent nice interface for your exe to be used. Let me sketch your scenario... Presentation layer (EXE) ------------------------ BLL WCF Services ------------------------ BLL assembly ------------------------ DAL WCF Services ------------------------ DAL assembly Your exe will reference BLL WCF service that can be deployed on any PC. Your BLL code will reference DAL WCF service that can also be deployed on any PC. I hope it will clear some issues for you.

          M Offline
          M Offline
          Member 2321293
          wrote on last edited by
          #4

          So i need to come out a new Layer which is call service layer(WCF)? Can give me a clear direction what is the WCF structure look like? Thank you,

          Z 1 Reply Last reply
          0
          • M Member 2321293

            So i need to come out a new Layer which is call service layer(WCF)? Can give me a clear direction what is the WCF structure look like? Thank you,

            Z Offline
            Z Offline
            Zoki Manas
            wrote on last edited by
            #5

            WCF = Windows Communication Foundation. It is a replacement for web services. More details can be found on followinf links: What is WCF? http://msdn.microsoft.com/en-us/library/ms731082.aspx[^] Beginners guide http://msdn.microsoft.com/en-us/netframework/dd939784.aspx[^] ABC of WCF http://msdn.microsoft.com/en-us/magazine/cc163647.aspx[^]

            M 1 Reply Last reply
            0
            • Z Zoki Manas

              WCF = Windows Communication Foundation. It is a replacement for web services. More details can be found on followinf links: What is WCF? http://msdn.microsoft.com/en-us/library/ms731082.aspx[^] Beginners guide http://msdn.microsoft.com/en-us/netframework/dd939784.aspx[^] ABC of WCF http://msdn.microsoft.com/en-us/magazine/cc163647.aspx[^]

              M Offline
              M Offline
              Member 2321293
              wrote on last edited by
              #6

              Hi, After get your reply i try to come out a simple things. exe is a screen contain a button. if i click on the button a message should be return from the layer call MyMessage. i try to put MyMessage in IIS and MyInterface is the layer to communicated within this 2 layers. my sample program MyWCF(exe), MyMessage(BLL), MyInterface(WCF) I still fail. maybe is due to IIS setting or the post problem or maybe is the endpoint problem. i alway get a error message like bellow. {"You have tried to create a channel to a service that does not support .Net Framing. It is possible that you are encountering an HTTP endpoint."} and The communication object, System.ServiceModel.Channels.ServiceChannel, cannot be used for communication because it is in the Faulted state. My setting of my config file By the way, is this idea help in the speed performance? user, App.Server and DB.Server

              modified on Sunday, September 13, 2009 11:12 PM

              1 Reply Last reply
              0
              Reply
              • Reply as topic
              Log in to reply
              • Oldest to Newest
              • Newest to Oldest
              • Most Votes


              • Login

              • Don't have an account? Register

              • Login or register to search.
              • First post
                Last post
              0
              • Categories
              • Recent
              • Tags
              • Popular
              • World
              • Users
              • Groups