RTC Forums

Subscription => Support => Topic started by: jpr on October 22, 2014, 10:14:35 AM



Title: Communication between tiers
Post by: jpr on October 22, 2014, 10:14:35 AM
Hello everybody,

I'm trying to figure out how I can make my tiers communicate between each other.
What I'm trying to do is:

  Client Tier <->   Web Tier     <-> Business Logic Tier <-> DataBase Tier
     Client          Web Server              App Server                Database

I can easily understand how to communicate between
  - Client Tier and WebServer
  - App Server and Database

But I don't know how to make my WebServer communicate with my App Server ? Do you have any advice ? Is RTC component can help me to do that ?

For information, Web Server, App Server and Database "Server" will be 3 separate exe.

Regards,

JP


Title: Re: Communication between tiers
Post by: D.Tkalcec (RTC) on October 22, 2014, 11:23:56 AM
Short answer ...

To implement your 4-tier scenario, you can use the TRtcDataRouter or TRtcLoadBalancer component in your "Web Tier".

Long answer ...

This is the usual 3-Tier Setup:

Client (Rich or Web) <-> Application Server (Business Logic with a Web and/or a Rich Client interface) <-> Database Server

If you need more ways to access your Application, for example if you wanted to access the data through Web Browsers using HTML, as well as through Rich Clients by using remote functions, you would have multiple interfaces to your Application Server. In other words, the same Application Server would have one or more TRtcDataProvider components to handle requests from Web Browsers and one or more TRtcServerModule components with TRtcFunctionGroup and TRtcFunction components to handle remote function calls from Rich Clients, linked to the same TRtcHttpServer or TRtcISAPIServer and accessing the same Business Logic code, which is accessing the same Database.

Should the Application Server become the bottleneck, because of increased Memory and/or CPU requirements for request processing, you would add a Load Balancer as your 4th tier, which would allow you to spread the load of your Application Tier to multiple Servers, like this:

Client (Rich or Web)<-> Load Balancer <-> Application Server (Business Logic with a Web and/or a Rich Client interface) <-> Database Server

Even though you can split the Application Server into a sepatate "Web Tier" and a "Business Logic" tier by using the TRtcDataRouter or TRtcLoadBalancer component (to have 2 separate EXEs), unless there is a real need to spread the load of your Business Logic Tier on multiple Servers (load balancing), or if you need a single access point (IP Address and Port) for all your Clients to access multiple different Application Servers (different Business Logic Tiers), there is no real gain in adding a "Web Tier".

Best Regards,
Danijel Tkalcec