Discussions
Categories
Groups
Community Home
Categories
INTERNAL ENABLEMENT
POPULAR
THRUST SERVICES & TOOLS
CLOUD EDITIONS
Quick Links
MY LINKS
HELPFUL TIPS
Back to website
Home
Web CMS (TeamSite)
Significance of HTTPD
pranav
Hi ,
My Env :
Microsoft Windows 2000 (SP4)
Teamsite version 6.1 with SP2
Question :
What the significance of HTTPD folder in Teamsite. In my project few .ipl files are put into the location "httpd/iw-bin" folder.My question is why can't we put these files in some other location ?. Is there any specific characteristic attached with this location (httpd/iw-bin) ?
I hope my querry is clear to you all. Lets hope to get the answers for this.
Thanks in advance.
Find more posts tagged with
Comments
Adam Stoller
There are several directories under httpd - all of which are configured especially to work with iwwebd [apache] for running the TeamSite UIs.
httpd/iw-bin/ is configured for CGIs for custom menu items and cgitask scripts -- at this point (to the best of my knowledge) there is no officially supported way to have these files reside anywhere else
--fish
Senior Consultant, Quotient Inc.
http://www.quotient-inc.com
pranav
Thanks for the reply but i couldn't get the whole concept.I will put my querries in simple way.Rightnow my situation is like this.
I am calling one ipl(iw-home\httpd\iw-bin) from java file(On Tomcat) which is further calling one method from WFSytem.pm(GetActiveWorkflows()----iw-home\iw-perl\vendor\lib\TeamSite) to get the ActiveWorkflows from the Teamsite System.
My Problem :
1>> Why this ipl file is residing at this place (I havn't done created or put this ipl file)
2
>The method i talked about is taking tooo long to get the ActiveJobs is teamsite which in further delaying my response to JSP page which will show all active jobs.So, how can i reduce this time ? is there any other efficient way to do this job ?
I hope this will give you the exact scenario.
Adam Stoller
I'm not sure I'm getting the entire issue here - so let's take a step back first:
- What version of TeamSite (including SPs and patches)?
- What platform?
- What User Interface? (WebDesk, WebDeskPro, CCStd, CCPro, custom)
- In what context is this Perl (.ipl) script being called? (custom menu item, cgi-callout on DCT form, cgitask script from workflow, other? [specify])
- What are you trying to acheive with this script? What is its purpose?
--fish
Senior Consultant, Quotient Inc.
http://www.quotient-inc.com
pranav
First of all thanks for getting into my problem as well as replying so quickly.
--Teamsite version 6.1(SP2)
--I am not at all directly interacting with teamsite interface.
Flow is like this :
I have one gadget on plumtree portal which is interacting with teamsite .
Example : i am submitting intiating one workflow having 10-15 approvers.Now what i am trying to do is "clicking on one link from portal interface" and getting all the active jobs from the teamsite on my portal(putting all the jobs in jsp).
For this i am calling this ipl file from one java file, which do marshalling and unmarshalling(basically interacting with teamsite).
Now my problem is here in the ipl file..
This ipl file is calling one subroutine from WFSyetms.pm
its like this :
use TeamSite::WFsystem;
my
@active_workflows
= @ { $wfSystem->GetActiveWorkflows() };
Now when i was debuggin this ipl file i found out that this line is taking tooooo much time to execute.
And in result the jsp(which will show all the jobs..is getting hanged becoz of excessive process timing).
In summary i am doing all my interaction from portal.Not at all interacting with Teamsite GUI , Getting all the infomations about Teamsite from ipls.
I hope i am not confusing you again.
Adam Stoller
It's unclear how you are calling the Perl script from the Java code -- is it through a URL reference like:
-
http://tsservername/iw-bin/yourscript.ipl
or is it through a filesystem path like
- system("/iw-home/httpd/iw-bin/yourscript.ipl");
or some other mechanism?
if it's the first case - then httpd/iw-bin/ make sense as being a publicly accessible location on the iwwebd / Apache server for running CGI scripts.
If it's the second case - you could put the script anywhere you wanted to - you're running it as a CLT.
There's also the possibility that you should look at possibly utilizing the Interwoven CSSDK which I believe (I don't know for sure - as I haven't used it) provides Java interface calls for retrieving this kind of information.
--fish
Senior Consultant, Quotient Inc.
http://www.quotient-inc.com
pranav
Bingo fish !!! you have hit the right spot.Now i can understand that for me its "THE FIRST CASE".I am calling it through http request.
Now here i am comming again with another question.
Why that specific method is taking so much time:
my
@active_workflows
= @ { $wfSystem->GetActiveWorkflows() };
Can this be because of :
---> Teamsite is having too many workflows (But the same env i have created on other machine and that one is also having same number of workflows but it is not taking that much of time).
--> Is this possibility that corrupt workflows are giving us the problem(But this method is only picking up the Active workflows !!!)
--> My Teamsite Performance is weak .... How will i check that my teamsite performance is giving me the trouble.
After getting so many answers i am sure to get this one also.
Thanks in advance.
Adam Stoller
There are any number of possible answers here:
the network bandwidth between where your java process is running and the TeamSite server
the size / power of your TeamSite server
how many other applications are running on your TeamSite server
how many workflows exist on the system
how efficient your java code is
how efficient your perl code is
how efficient the TeamSite::WFsystem code is
etc.
Based on your post - I'm assuming you've already done some investigation to narrow the source of the bottleneck to that particular method call.
You might get better results using the
iwqueryjobs
CLT
You might get better results coding the TeamSite side component using CSSDK
Note: The
GetActiveWorkflows()
method not only retrieves the list of active workflows - but it creates a job object for each one -- and it's returning a reference to an array of references to job objects -- if all you need are jobids - then
iwqueryjobs
(or a CSSDK equivalent) would likely be faster since it wouldn't be spending time creating the job objects.
For instance - using the following code:
#!/usr/app/iwov/teamsite/iw-perl/bin/iwperl
use Benchmark;
use File::Temp qw(tempfile);
use TeamSite::WFsystem;
use TeamSite::Config;
my $iwhome = TeamSite::Config::iwgethome();
sub wfsystem{
my
@tmp
= caller(0);
my $wfs = new TeamSite::WFsystem;
my
@list
= @{ $wfs->GetActiveWorkflows() };
print "[$tmp[3]] Got " .
@list
. " jobs\n" if (!$test);
}
sub jobquery{
my
@tmp
= caller(0);
my $query = qq(<wfquery><active/></wfquery>\n);
my($fh, $fname) = tempfile(UNLINK => 1);
print $fh $query;
close($fh);
my
@list
= qx($iwhome/bin/iwqueryjobs < $fname);
print "[$tmp[3]] Got " .
@list
. " jobs\n" if (!$test);
}
$test = (
@ARGV)
? shift : 0;
if ($test){
timethese($test, {
wfsystem => \&wfsystem,
jobquery => \&jobquery,
});
}
else {
wfsystem();
jobquery();
}
I get the following results on my TeamSite 6.5 Solaris 9 system:
[NEWPROD] ~ >
foo.ipl
[main::wfsystem] Got 28 jobs
[main::jobquery] Got 28 jobs
[NEWPROD] ~ >
foo.ipl 100
Benchmark: timing 100 iterations of jobquery, wfsystem...
jobquery: 2 wallclock secs ( 0.16 usr 0.15 sys + 0.96 cusr 1.31 csys = 2.58 CPU) @ 322.58/s (n=100)
wfsystem: 17 wallclock secs ( 7.38 usr 2.93 sys + 3.00 cusr 6.10 csys = 19.41 CPU) @ 9.70/s (n=100)
However, if you need the actual job objects to retrieve additional information about the job - then iwqueryjobs isn't really going to save you that much time.
--fish
Senior Consultant, Quotient Inc.
http://www.quotient-inc.com
pranav
Thanks again for so much of information.
Now lets talk about the issue one by one (mentioned by you)
the network bandwidth between where your java process is running and the TeamSite server
This seems not a big problem because other applications which are interacting with teamsite is working perfectly
the size / power of your TeamSite server
Size of teamsite server( IW-STORE) is :: 13 GB.Actually teamsite server is sharing drive with E drive which contains IW-STORE as well as other contents too.Is this also affect teamsite performance.Lets say my iw-store is in
D
drive having total capacity of 38GB but it also contains my local files(9 GB) too.So in result the net blank space is 16 GB. Should we keep only the " iw-store" in one drive. Power of Teamsite version is not getting into my head.
how many other applications are running on your TeamSite server
Not much.Only the Interwoven specific applications are there.Actually its DataDeploy and Opendeploy(base server and admin server) only
how many workflows exist on the system
around 100 Active workflows are there .Few corrupt workflows are also there.Teamsite version is 6.2 with SP2
how efficient your java code is
this is also not an issue because all my performance is getting killed at perl program specially that method which is getting Active workflows
how efficient your perl code is
this is also effciently written .Again that one method is giving me headache.Theat one taking around 99% time.
how efficient the TeamSite::WFsystem code is
Don't you think that this is inbuilt functionality with teamsite.I mean all those methods are always there.
Lets say !! if i use iwqueryjobs isntead of using WFSytem method , but is it possible to get the other informations like JOBID and JOBOWNER from this command.
Now i should thank you for reading that much of detail.hope to get some interesting information again from yur side.