Cancel
Showing results for 
Search instead for 
Did you mean: 

Does 4-tier client support asynchronous server calls?

Experimenter
Experimenter

Does Team Center 4-tier client capable of non-blocking asynchronous calls to the server for data?

We have an issue with high latency users expanding the BOM in structure manager.  Looking at the communication log in TeamCenter and the network packet capture, one can see that the client send request to the server one at a time.  It only send the next request after it get the response from the server for the previous request.  This synchronous type of calls make task that takes few seconds to more than a minute in a high latency environment.  

Wondering if there is an option/way for the client to make these calls non-blocking.

We are using TeamCenter 10.1.7 btw.

9 REPLIES 9

Re: Does 4-tier client support asynchronous server calls?

Solution Partner Esteemed Contributor Solution Partner Esteemed Contributor
Solution Partner Esteemed Contributor
Not for meta data which is what is happening when opening a BOM and expanding it. Note, custom properties in structure manager can greatly increase the time it takes to expand a BOM. To increase performance for meta data, you need to decrease the latency. Bigger/faster pipes can help but implementing Cisco WAS (or Riverbed but that's overkill for just Teamcenter) is likely the best option.

Randy Ellsworth, Teamcenter Architect, Applied CAx, LLC
NX 11 | SW 2016 | Creo 4 | TcUA 11.4
Evaluating: AW 3.4

Re: Does 4-tier client support asynchronous server calls?

Experimenter
Experimenter

Does Riverbed improve much for meta data?  We tried Riverbed but it doesn't seem to help much at all even though the connection said optimized.  Riverbed do help when there is large data transfer though.

 

Re: Does 4-tier client support asynchronous server calls?

Solution Partner Esteemed Contributor Solution Partner Esteemed Contributor
Solution Partner Esteemed Contributor
It absolutely helps dramatically. Its an expensive solution and Teamcenter only uses a fraction of the capability. But if you use it for other applications too then the ROI is greater making the cost worth it. For sites that don't already own Riverbed then I usually recommend Cisco WAS although I may have to change my recommendation since Cisco WAS is deprecated by Cisco?

Randy Ellsworth, Teamcenter Architect, Applied CAx, LLC
NX 11 | SW 2016 | Creo 4 | TcUA 11.4
Evaluating: AW 3.4

Re: Does 4-tier client support asynchronous server calls?

Experimenter
Experimenter

That is odd.  We put in the Riverbed but don't see much improvement at all.

Do you have any detail on what need to be configured?

The Riverbed technical support person take a look at the packet capture and they said it seems like there is a timer in the application that send request every about 120ms; which is a little more than the latency.

 

Re: Does 4-tier client support asynchronous server calls?

Solution Partner Esteemed Contributor Solution Partner Esteemed Contributor
Solution Partner Esteemed Contributor

Riverbed (or any WAN accelerator) looks at packet contents and then only sends the delta. For this to be successful then WAN compression on the Teamcenter side needs to be turned off and LAN used instead.

 

For files, this is done in the FMS Master by setting transport="lan" instead of transport="wan" but that only deals with files. File compression is controlled with two fscdefault elements (FSC_DoNotCompressExtensions and FSC_WebRaidThreshold) and the compression attribute, available in the defaultfsc and linkparameters elements.

 

For the web tier, you want to disable HTTP Compression, especially when using a load balancer (like F5). In F5, changing the setting for "HTTP Compression Profile" to "none" resolved the issue. Your web application server settings vary depending on which is used. In .NET, it is controlled by the Response Compression Threshold (default 500 bytes).

 

You don't want to use WAN Compression when running a WAN Accelerator.


Randy Ellsworth, Teamcenter Architect, Applied CAx, LLC
NX 11 | SW 2016 | Creo 4 | TcUA 11.4
Evaluating: AW 3.4

Re: Does 4-tier client support asynchronous server calls?

Experimenter
Experimenter

Thank you.  Let me see if I can get and environment to try out these settings.

Re: Does 4-tier client support asynchronous server calls?

Siemens Genius Siemens Genius
Siemens Genius

It would be nice, if you can share any real result on this.

 

If the problem is really latency (count of request x TTL), I can not imagine how riverbed improves it, if it can not reduce count of request and probably increases the response time a bit.
If the connection capacity (speed in MBs) is exhausted, then can riverbed help. (It can make the pipe wider but not shorter).

 

We have had similar problem with our customized solution, where the network latency was about 220ms (europe-china). Moving from multiple OOTB SOA calls from client to one customized SOA call with large response improved the response time dramatically. I'm not sure if the customer has riverbed in use and configured for Teamcenter.

 

What you can do on your site is to check the request/responses, if there are not requests for additional object properties.If so, you can extend the SOA policies to get all required properties in initial request. Like: A request for ItemRevision returns object_type and object_name immediatelly. Your RAC client needs CUST4_property for each ItemRevision and ask for it in next request. Adding the CUST4_property to the SOA policy for ItemRevision will eliminate the second call.

 

Re: Does 4-tier client support asynchronous server calls?

Experimenter
Experimenter

I'm not able to easily get the Riverbed in place with ease anymore.  It has become to service and I would have to order it through are network group etc...

Anyhow, I look at the test we did few month ago with Riverbed noticed that the number are similar or slightly higher.  I think it's a little higher because we were using the Riverbed mobile client.  Attached is information.  In this setup, there is no load balancer and the FMS is not set to lan.  FMS should have no bearing because expanding a BOM in SM have nothing to do with FMS.

 

Svatos,

 

How do I extend the SOA policy?  I see that there is a Default.xml and RACBase.xml which contains the BOMLine objecttype as refereneces in the call requests.  Do I modify both of these file and add the properties in the call requests to the BOMLine objecttype?

 

The following is the call shown in communication monitor console for an expansion of a BOM with 4 items:

   TcBOMService:expand

   TcBOMService:getBulletinBoardEvents

   Internal-Core-2011-06-ICT:invokeICTMethod( ICCT.getProperty )

   Internal-Core-2011-06-ICT:invokeICTMethod( ICCT.getProperty )

   Internal-Core-2011-06-ICT:invokeICTMethod( ICCT.getProperty )

   Internal-Core-2011-06-ICT:invokeICTMethod( ICCT.getProperty )

   Internal-Core-2011-06-ICT:invokeICTMethod( ICCT.getProperty )

   Core-2006-03-DataManagement:getProperties (1568 bytes)

   Internal-Core-2011-06-ICT:invokeICTMethod( ICCT.getProperty )

   Internal-Core-2011-06-ICT:invokeICTMethod( ICCT.getProperty )

   Internal-Core-2011-06-ICT:invokeICTMethod( ICCT.getProperty )

   Internal-Core-2011-06-ICT:invokeICTMethod( ICCT.getProperty )

   Internal-Core-2011-06-ICT:invokeICTMethod( ICCT.getProperty )

   Core-2006-03-DataManagement:getProperties (1568 bytes)

   Internal-Core-2011-06-ICT:invokeICTMethod( ICCT.getProperty )

   Internal-Core-2011-06-ICT:invokeICTMethod( ICCT.getProperty )

   Internal-Core-2011-06-ICT:invokeICTMethod( ICCT.getProperty )

   Internal-Core-2011-06-ICT:invokeICTMethod( ICCT.getProperty )

   Internal-Core-2011-06-ICT:invokeICTMethod( ICCT.getProperty )

   Core-2006-03-DataManagement:getProperties (1568 bytes)

   Internal-Core-2011-06-ICT:invokeICTMethod( ICCT.getProperty )

   Internal-Core-2011-06-ICT:invokeICTMethod( ICCT.getProperty )

   Internal-Core-2011-06-ICT:invokeICTMethod( ICCT.getProperty )

   Internal-Core-2011-06-ICT:invokeICTMethod( ICCT.getProperty )

   Internal-Core-2011-06-ICT:invokeICTMethod( ICCT.getProperty )

   Core-2006-03-DataManagement:getProperties (1568 bytes)

   Internal-Core-2011-06-ICT:invokeICTMethod( ICCT.getProperties )

   Internal-Core-2011-06-ICT:invokeICTMethod( ICCTAccessControlService.checkPrivileges )

 

request calls:

<?xml version="1.0" encoding="UTF-8"?>
<InvokeICTMethodInput className="ICCT" methodName="getProperty">
<args val="BOMLine"/>
<args val="TYPE::BOMLine::BOMLine::RuntimeBusinessObject"/>
<args val="BOM::64515"/>
<args val="bl_rev_a9_IsRawMaterial"/>
</InvokeICTMethodInput>

 

<?xml version="1.0" encoding="UTF-8"?>
<InvokeICTMethodInput className="ICCT" methodName="getProperty">
<args val="BOMLine"/>
<args val="TYPE::BOMLine::BOMLine::RuntimeBusinessObject"/>
<args val="BOM::64515"/>
<args val="bl_rev_a9_IsEndItem"/>
</InvokeICTMethodInput>

 

<?xml version="1.0" encoding="UTF-8"?>
<InvokeICTMethodInput className="ICCT" methodName="getProperty">
<args val="BOMLine"/>
<args val="TYPE::BOMLine::BOMLine::RuntimeBusinessObject"/>
<args val="BOM::64515"/>
<args val="bl_rev_a9_ReleaseStatusString"/>
</InvokeICTMethodInput>

 

<?xml version="1.0" encoding="UTF-8"?>
<InvokeICTMethodInput className="ICCT" methodName="getProperty">
<args val="BOMLine"/>
<args val="TYPE::BOMLine::BOMLine::RuntimeBusinessObject"/>
<args val="BOM::64515"/>
<args val="bl_rev_a9_Is_Color_Part"/>
</InvokeICTMethodInput>

 

<?xml version="1.0" encoding="UTF-8"?>
<InvokeICTMethodInput className="ICCT" methodName="getProperty">
<args val="BOMLine"/>
<args val="TYPE::BOMLine::BOMLine::RuntimeBusinessObject"/>
<args val="BOM::64515"/>
<args val="bl_rev_a9_ColorCode"/>
</InvokeICTMethodInput>

Re: Does 4-tier client support asynchronous server calls?

Siemens Genius Siemens Genius
Siemens Genius

I'm sorry, I do not know how to extend the policies. At the project we used it, I have just told the rigth guy "Extend the SOA policies" and got the test protocol, that it was done and working. I suppose you shall extend only the RACBase.xml, as long your problems are only in RAC.

 

According to your communication monitor, I would expect the 5 getPropertyLine calls disappear, when the  missed properties for BOMLines are returned directly with the first BOMLine response. This migt save time up to 5 x Latency x BOMLineCount

 

Be aware, that the policis are valid for the whole site, it means the properties will be evaluated and transferred for every client, regardless which columns are visible in structure manager.