COGNOiSe.com - The IBM Cognos Community

Planning & Consolidation => COGNOS Planning => Topic started by: Wouter on 18 Jun 2007 07:42:39 AM

Title: How does communication goes in a distributed environment?
Post by: Wouter on 18 Jun 2007 07:42:39 AM
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.

Title: Re: How does communication goes in a distributed environment?
Post by: ovo on 18 Jun 2007 08:14:39 AM
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!
Title: Re: How does communication goes in a distributed environment?
Post by: ykud on 18 Jun 2007 08:20:26 AM
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.
Title: Re: How does communication goes in a distributed environment?
Post by: Wouter on 18 Jun 2007 10:14:11 AM
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>
Title: Re: How does communication goes in a distributed environment?
Post by: jluckhoff on 26 Jun 2007 05:14:31 AM
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
Title: Re: How does communication goes in a distributed environment?
Post by: SomeClown on 26 Jun 2007 10:11:59 AM
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)
Title: Re: How does communication goes in a distributed environment?
Post by: jluckhoff on 27 Jun 2007 03:09:51 AM
Take out the MSADC VD and check what happens.
Title: Re: How does communication goes in a distributed environment?
Post by: andrewbho on 27 Jun 2007 07:33:27 PM
nothing will work if you take out the MSADC
Title: Re: How does communication goes in a distributed environment?
Post by: jluckhoff on 28 Jun 2007 03:13:06 AM
My point exactly!
Title: Re: How does communication goes in a distributed environment?
Post by: SomeClown on 28 Jun 2007 07:57:13 AM
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.
Title: Re: How does communication goes in a distributed environment?
Post by: jluckhoff on 28 Jun 2007 10:47:34 AM
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?
Title: Re: How does communication goes in a distributed environment?
Post by: ovo on 12 Jul 2007 01:36:26 PM
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
Title: Re: How does communication goes in a distributed environment?
Post by: jluckhoff on 13 Jul 2007 02:27:07 AM
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.
Title: Re: How does communication goes in a distributed environment?
Post by: ovo on 17 Jul 2007 11:18:46 AM
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
Title: Re: How does communication goes in a distributed environment?
Post by: jluckhoff on 18 Jul 2007 04:53:32 AM
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

Title: Re: How does communication goes in a distributed environment?
Post by: ovo on 22 Jul 2007 10:48:41 AM
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.
Title: Re: How does communication goes in a distributed environment?
Post by: Wouter on 24 Jul 2007 08:53:56 AM
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.