If you are unable to create a new account, please email support@bspsoftware.com

 

News:

MetaManager - Administrative Tools for IBM Cognos
Pricing starting at $2,100
Download Now    Learn More

Main Menu

How does communication goes in a distributed environment?

Started by Wouter, 18 Jun 2007 07:42:39 AM

Previous topic - Next topic

Wouter

Hello,

Last week I installed Planning on 3 servers:
* "Admin server": full installation of Access Manager, Analyst and Contributor (including 1 job server)
* "Job Server": Contributor Server
* "Web Server": Contributor Server
* DB Server: Oracle 10G2

Basically each server contains the Contributor Server, one includes Analyst, Access Mananger and all client tools (admin), one will be used as Job Server only (job) and one will be used for users to access the applications (web). On each server Oracle client tools have been installed, IIS is fully configured on each server the exact same way including MSADC.

To me it is not completely transparent how these 4 machines communicate. I had to configure IIS completely on each machine as wel as the Oracle connection to make it work. Then e.g.: Users log on via the web server.
* I assume that on the web server via MSADC RDS the Contributer server is contacted with the tasks required.
* I assume that this Contributer server then contacts the PAD/datastore on the DB server and resulting from that, action changes are made.
* Then I still assume that the Job Servers (on "job server" and/or "admin server") check the PAD on the DB Server regularly to see if they have to execute tasks and do so if required and communicate this back to the DB.

Anyway a lot of "I think" and "I assume" as it is not fully clear for me what communicates with what via what way. E.g. in the GTP process, is this done via polling instructions in de DB or via communication over RDS?

=> if someone has some deeper insight on this or did some tests to clarify this, this would be really interesting to know.

Thanks in advance.


ovo

The webserver does not require MSADC and does not talk to any other planning servers.  Authentication is achieved against the Directory Server (via accman runtime setting) and then it talks to the application DB via the COM+ components.

The Admin Server is used for all requests from the Administration Console.  There is direct communication between the Admin Server and the Job Servers in order to ensure that they are all available and tell each which databases to monitor.  A GTP occurs on the Admin Server and the admin server creates Jobs in the Database containers:

Applications DBs for Reconcile, Import
Publish containers for Publish
PAD_Common for Admin Links

Job Servers poll the databases they have been asked to monitor, looking for these jobs created via the admin server - they write the job progress to the databases, which is where the admin server reads it from for progress in the admin console.  So no direct Admin Server to Job server communication to facilitate job execution.

Hope this helps!

ykud

You're right about everything ;).
Job Polling is done via DB.
You can use DB profiler (Toad was excellent for me), and epDebugToolsViewer to catch the polling process. Wireshark is nice on traffic, if it matters.

Just an advice: Since IIS+Contributor on web server (that makes it not just a web-server, but an app one) will give short peak loads for each connecting user, it's better to lower maximum concurrent jobs on web server, leaving a free cpu to handle load.

Wouter

Thank you for the responces, it is slightly starting to become a little bit more clear (.).

I also posted a similar question with Cognos support, of which I would like to share the response with you.

<QUOTE> The component called Contributor Server (which you can select during the install) is the minimum requirement for any computer involved in the Planning environment, together with the database client software which I forgot to mention earlier. This component makes use of the MSADC folder (preinstalled by Windows/IIS) which when properly configured allows communications among all Planning computers by means of a protocol called RDS. In Contributor terms, the gateway is actually the Web Server itself where all end users connect to access the various applications. The db client then allows the Web Server to retrieve data for the applications, the Job Servers to poll the DB for pending tasks and finally the Admin (or Application) Server to manage the PAD.
The only "thing" that can be grouped together are Job Servers in Job Clusters. You can probably also spread the load across multiple Web Servers, but I have to check on that as it's not a common option and they are not really grouped in the end. You can have only one Admin Server but it can be administered (exclusively) by a CAC installed on any computer.  </QUOTE>

jluckhoff

Dont Agree with OVO's statement that the IIS server does not require MSADC.

How will it comunicate with the CEP COM+ components if there is no MSADC virtual directory??

j

SomeClown

Job servers require MSADC for the RDS calls to components.

As for the web server, not sure.  I've never tried it, though I wouldn't be surprised to see the pages making local COM calls rather than COM+ (considering it's nearly impossible to separate the COM+ components off the Contributor web server)

jluckhoff


andrewbho



SomeClown

Not so sure on the web side - my understanding is that if you configure appropriately and are using Apache, there would be no IIS at all on the web server, which would imply no MSADC.  I'd try it out, but I'm in the middle of the beta right now.

jluckhoff

Right,

Version 8 of CEP still relies on COM+ which basically does all the work for CEP web and admin  and is also repsonsible for all those memory leaks we see. - COM+ must be accessed via MSADC from IIS.
Apache needs also to be told to use COM+ in the config files somewhere. but this is grey a bit of a grey area to me - I cant remember ever coming accross a working Apache install of CEP. Do any of you actually use Apache?

ovo

jluckhoff,

You do not need MSADC on the webserver. 

MSADC is required on other servers for remote calls to be recieved via RDS over HTTP.

I have seen several succesfull Apache implementations.

local COM is used for web requests

jluckhoff

Yes, for apache that is true, but you still need to register the components to communicate with COM which is pretty the "MSADC" for apache. - so strictly speaking you are right.
On the other hand why would you want to use apache if you are still forced to use COM which is only availible on windows.
Waste of time in my opinion - the so called "benefits" of apache is far outweighed by the complicated installs you get.
For windows IIS you need MSADC.

ovo

jluckhoff,

I agree with your sentiments about Apache.  But you are incorrect on IIS requiring MSADC for web server only.  Also please be careful about copying and pasting from internal Cognos and Partner documents on a public website.

Thanks

jluckhoff

Ovo,

Thanks for your comments

I think we might be crossing wires here:

Are you trying to tell me that you can connect to CEP via IIS when the IIS website does not have a MSADC virtual directory installed?
If so I  please could you explain how exactly IIS would pass the web request through to the underlying CEP COM+ components?

Also, thank you for pointing out copying partner documents to a public website however I am not a cognos partner and so do not have acccess to  their documentation to do this. Futhermore going back accross my contributions to this post I cant see anything that is not in my own wording.

Thanks


ovo

It uses local COM calls, even though the components are hosted in COM+ the are instantiated locally and not remotely.  So no need for RDS, therefore no need for MSADC.

Wouter

Thanks for all the comments and discussion. I plan to investigate it myself a little bit more thoroughly when doing a next installation and have the time to spent some effort on it.