<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>GeeKs Blogging @ dotCOM &#187; EAI</title>
	<atom:link href="http://geeksbloggingat.com/archives/practices/eai/feed/" rel="self" type="application/rss+xml" />
	<link>http://geeksbloggingat.com</link>
	<description>Let&#039;s share...</description>
	<lastBuildDate>Tue, 30 Aug 2011 21:29:13 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>netstat command</title>
		<link>http://geeksbloggingat.com/2009/06/17/netstat-command/</link>
		<comments>http://geeksbloggingat.com/2009/06/17/netstat-command/#comments</comments>
		<pubDate>Wed, 17 Jun 2009 15:40:12 +0000</pubDate>
		<dc:creator>Nitin Jain</dc:creator>
				<category><![CDATA[EAI]]></category>
		<category><![CDATA[Siebel CRM]]></category>
		<category><![CDATA[Admin]]></category>
		<category><![CDATA[Performance]]></category>
		<category><![CDATA[Server]]></category>
		<category><![CDATA[Siebel]]></category>

		<guid isPermaLink="false">http://geeksbloggingat.com/?p=508</guid>
		<description><![CDATA[Hi all, All of us have faced huge performance related issues. When it comes to Siebel, things can only be called murky! The OOB solution itself puts up a few questions. I say this as per my naive understanding and experience Sorry for being away from this blog for so long. It&#8217;s just that almost [...]


<b>Related posts:<b><ol><li><a href='http://geeksbloggingat.com/2009/07/14/siebel-admin-gateway-name-server-an-overview/' rel='bookmark' title='Permanent Link: Siebel Admin &#8211; Gateway Name Server &#8211; An overview'>Siebel Admin &#8211; Gateway Name Server &#8211; An overview</a> <small>We discussed about the basic Siebel Server Architecture in our...</small></li>
<li><a href='http://geeksbloggingat.com/2009/07/11/siebel-server-architecture-an-introduction/' rel='bookmark' title='Permanent Link: Siebel Server Architecture &#8211; an Introduction'>Siebel Server Architecture &#8211; an Introduction</a> <small>You may call this an introductory tutorial. Siebel as we...</small></li>
<li><a href='http://geeksbloggingat.com/2009/04/18/siebel-tools-hangs-when-checking-out-objects/' rel='bookmark' title='Permanent Link: Siebel Tools hangs when checking out objects'>Siebel Tools hangs when checking out objects</a> <small>Hi, Now this is strange. I had been running into...</small></li>
<li><a href='http://geeksbloggingat.com/2009/07/16/siebel-server-verification-evt-tool/' rel='bookmark' title='Permanent Link: Siebel Server Verification &#8211; EVT Tool'>Siebel Server Verification &#8211; EVT Tool</a> <small>Verifying the health of our Siebel Server Environment is the...</small></li>
<li><a href='http://geeksbloggingat.com/2009/08/05/siebel-automatic-user-logout/' rel='bookmark' title='Permanent Link: Siebel &#8211; Automatic User Logout'>Siebel &#8211; Automatic User Logout</a> <small>Logging out a user automatically, when the user does not...</small></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>Hi all,</p>
<p>All of us have faced huge performance related issues. When it comes to Siebel, things can only be called murky! The OOB solution itself puts up a few questions. I say this as per my naive understanding and experience <img src='http://geeksbloggingat.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p><span id="more-508"></span>Sorry for being away from this blog for so long. It&#8217;s just that almost all the writers on the panel have really been too occupied with their regular jobs.</p>
<p>Anyways, getting the Siebel server performance out of the way, the next thing that comes to anybody&#8217;s mind is to check the performance of the physical Server Box itself. I mean the Server Operating System and the processes that it is running. This is where we can make use of the <em>netstat</em> utility.</p>
<p>netstat, or the Network Statistics as we may call it, is a simple command line utility. When used with proper parameters on the command line, it can be used to monitor:<br />
1) Incoming Network Connections<br />
2) Outgoing Network Connections<br />
3) Network Interface Statistics<br />
4) Some Network Routing information that I could see.</p>
<p>It is available on most of the common Operating Systems like Windows, UNIX, etc.</p>
<p>It is generally used to find Network Problems, and more so to find the Network Usage by the number of open Network Connections, for Performance related measurements. A typical netstat output could look like:</p>
<p>Active Connections</p>
<p>  Proto  Local Address          Foreign Address        State<br />
  TCP    &lt;machine_hostname&gt;:1218      &lt;dns_server_name&gt;:8080  CLOSE_WAIT<br />
  TCP    &lt;machine_hostname&gt;:2841     &lt;dns_server_name&gt;:1400  ESTABLISHED<br />
  TCP    &lt;machine_hostname&gt;:4651      localhost:62514        ESTABLISHED<br />
  TCP    &lt;machine_hostname&gt;:5152      localhost:3863         CLOSE_WAIT<br />
  TCP    &lt;machine_hostname&gt;:62514     localhost:4651         ESTABLISHED</p>
<p>  etc..</p>
<p> </p>
<p>A simple dos help utility look up revealed the following options to this utility on my Win XP based machine:</p>
<p>Displays protocol statistics and current TCP/IP network connections.</p>
<p>NETSTAT [-a] [-b] [-e] [-n] [-o] [-p proto] [-r] [-s] [-v] [interval]</p>
<p>  -a            Displays all connections and listening ports.<br />
  -b            Displays the executable involved in creating each connection or<br />
                listening port. In some cases well-known executables host<br />
                multiple independent components, and in these cases the<br />
                sequence of components involved in creating the connection<br />
                or listening port is displayed. In this case the executable<br />
                name is in [] at the bottom, on top is the component it called,<br />
                and so forth until TCP/IP was reached. Note that this option<br />
                can be time-consuming and will fail unless you have sufficient<br />
                permissions.<br />
  -e            Displays Ethernet statistics. This may be combined with the -s<br />
                option.<br />
  -n            Displays addresses and port numbers in numerical form.<br />
  -o            Displays the owning process ID associated with each connection.<br />
  -p proto      Shows connections for the protocol specified by proto; proto<br />
                may be any of: TCP, UDP, TCPv6, or UDPv6.  If used with the -s<br />
                option to display per-protocol statistics, proto may be any of:<br />
                IP, IPv6, ICMP, ICMPv6, TCP, TCPv6, UDP, or UDPv6.<br />
  -r            Displays the routing table.<br />
  -s            Displays per-protocol statistics.  By default, statistics are<br />
                shown for IP, IPv6, ICMP, ICMPv6, TCP, TCPv6, UDP, and UDPv6;<br />
                the -p option may be used to specify a subset of the default.<br />
  -v            When used in conjunction with -b, will display sequence of<br />
                components involved in creating the connection or listening<br />
                port for all executables.<br />
  interval      Redisplays selected statistics, pausing interval seconds<br />
                between each display.  Press CTRL+C to stop redisplaying<br />
                statistics.  If omitted, netstat will print the current<br />
                configuration information once.</p>
<p> </p>
<p>Usage Example:</p>
<p>netstat -aon</p>
<p>This utility can be of immense use on analysing server performances where we are quite sure that the server is running slower than nowmal. It could possibly be running some junk tasks from the now defunct softwares that we no longer need.<br />
Try it, and tell me what you see on your PC!</p>


<p><b>Related posts:<b><ol><li><a href='http://geeksbloggingat.com/2009/07/14/siebel-admin-gateway-name-server-an-overview/' rel='bookmark' title='Permanent Link: Siebel Admin &#8211; Gateway Name Server &#8211; An overview'>Siebel Admin &#8211; Gateway Name Server &#8211; An overview</a> <small>We discussed about the basic Siebel Server Architecture in our...</small></li>
<li><a href='http://geeksbloggingat.com/2009/07/11/siebel-server-architecture-an-introduction/' rel='bookmark' title='Permanent Link: Siebel Server Architecture &#8211; an Introduction'>Siebel Server Architecture &#8211; an Introduction</a> <small>You may call this an introductory tutorial. Siebel as we...</small></li>
<li><a href='http://geeksbloggingat.com/2009/04/18/siebel-tools-hangs-when-checking-out-objects/' rel='bookmark' title='Permanent Link: Siebel Tools hangs when checking out objects'>Siebel Tools hangs when checking out objects</a> <small>Hi, Now this is strange. I had been running into...</small></li>
<li><a href='http://geeksbloggingat.com/2009/07/16/siebel-server-verification-evt-tool/' rel='bookmark' title='Permanent Link: Siebel Server Verification &#8211; EVT Tool'>Siebel Server Verification &#8211; EVT Tool</a> <small>Verifying the health of our Siebel Server Environment is the...</small></li>
<li><a href='http://geeksbloggingat.com/2009/08/05/siebel-automatic-user-logout/' rel='bookmark' title='Permanent Link: Siebel &#8211; Automatic User Logout'>Siebel &#8211; Automatic User Logout</a> <small>Logging out a user automatically, when the user does not...</small></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://geeksbloggingat.com/2009/06/17/netstat-command/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>XPath Expressions in XML &#8211; Part I</title>
		<link>http://geeksbloggingat.com/2009/06/03/xpath-expressions-in-xml-part-1/</link>
		<comments>http://geeksbloggingat.com/2009/06/03/xpath-expressions-in-xml-part-1/#comments</comments>
		<pubDate>Wed, 03 Jun 2009 05:28:21 +0000</pubDate>
		<dc:creator>Nitin Jain</dc:creator>
				<category><![CDATA[EAI]]></category>
		<category><![CDATA[Siebel]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[workflows]]></category>
		<category><![CDATA[XML]]></category>

		<guid isPermaLink="false">http://geeksbloggingat.com/?p=410</guid>
		<description><![CDATA[This post has a broad focus, not just Siebel CRM. I have briefly alluded to the XML structures in EAI in some of my previous posts: A meeting with Siebel EAI FINS Industry XML Query Service One of the interesting things that came out of the feedback was parsing the XML and the XPath expressions. [...]


<b>Related posts:<b><ol><li><a href='http://geeksbloggingat.com/2009/08/12/siebel-left-right-and-from-the-middle/' rel='bookmark' title='Permanent Link: Siebel &#8211; Left, Right and from the Middle'>Siebel &#8211; Left, Right and from the Middle</a> <small>Extracting a sub string from a lengthy string in Siebel....</small></li>
<li><a href='http://geeksbloggingat.com/2009/05/31/siebel-fins-industry-xml-query-service/' rel='bookmark' title='Permanent Link: Siebel &#8211; FINS Industry XML Query Service'>Siebel &#8211; FINS Industry XML Query Service</a> <small>&#8220;Extracting values from a tag deep down in the Hierarchy.&#8221;...</small></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>This post has a broad focus, not just Siebel CRM. I have briefly alluded to the XML structures in EAI in some of my previous posts:<br />
<a href="http://geeksbloggingat.com/2009/04/30/a-meeting-with-siebel-eai/" target="_blank">A meeting with Siebel EAI</a><br />
<a href="http://geeksbloggingat.com/2009/05/31/siebel-fins-industry-xml-query-service/" target="_blank">FINS Industry XML Query Service</a></p>
<p>One of the interesting things that came out of the feedback was parsing the XML and the XPath expressions. This is exactly what I will be covering in my blog post today.</p>
<p>The XPath defines the path, or the way that you parse/read/traverse through an XML. The concept is generic in nature. However, Siebel in itself has some limitations in the way that it handles these expressions. I will try to cover both these scenarios here. I will take the following small XML Snippet as an example for better understanding of the same. One of the best ways to understanding this is to refer this structure of the XML is a popular XML Editor like Internet Explorer, Oxygen Editor, Editplus, Altova XML Spy (I like this the best), or any other supported browser.</p>
<p><span id="more-410"></span>&lt;?xml version=&#8221;1.0&#8243; encoding=&#8221;UTF-8&#8243;?&gt;<br />
&lt;snackbar&gt;<br />
&nbsp;&nbsp;&lt;fastfood&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&lt;name id=&#8221;10&#8243;&gt;burger&lt;/name&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&lt;price&gt;10&lt;/price&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&lt;calories&gt;1000&lt;/calories&gt;<br />
&nbsp;&nbsp;&lt;/fastfood&gt;<br />
&nbsp;&nbsp;&lt;drink&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&lt;name id=&#8221;20&#8243;&gt;pepsi&lt;/name&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&lt;price&gt;5&lt;/price&gt;<br />
&nbsp;&nbsp;&lt;/drink&gt;<br />
&lt;/snackbar&gt;</p>
<p>Following is the terminology that I will be using:<br />
roottag:                                snackbar<br />
childtag:                               fastfood<br />
grandchildtag:                        name, price<br />
attribute:                              id (this is the attribute of the grandchild element in the XML)</p>
<p>The line on the top (&lt;?xml version=&#8221;1.0&#8243; encoding=&#8221;UTF-8&#8243;?&gt;) defines that the structure is of an XML, and helps the browser parse it. One of the best ways to validate a valid XML is to try and open it in a web browser like Internet Explorer. In case of any discrepancies, the document will throw an error and will not open in the Browser.</p>
<p>Following are some of the common XPath expressions:<br />
/     forward slash &#8211; used to differentiate between parent and child tags one level deep<br />
//    two forward slashes &#8211; indicate searches anywhere in the XML, typically more than one level deep<br />
./    indicates the currect XML document passed an input.<br />
.//   indicates the need to search multiple levels deep in the document<br />
@     indicates the attribute to a particular tag<br />
*     wildcard character to match any tag/element in the XML</p>
<p>Using the above table, if for eg. I need to retrieve the value in the name tag for burger object, I would build the expression as:<br />
./snackbar/fastfood/name</p>
<p>Similarly, for getting the price of &#8216;pepsi&#8217;, I would write:<br />
./snackbar/drink/price</p>
<p>&#8216;Calories&#8217; tag appears just once in the structure, so I can directly use double slashes to retrieve the value &#8217;1000&#8242;:<br />
.//calories</p>
<p>To retrieve the value of the attribute for the name &#8216;pepsi&#8217;, I could use:<br />
./snackbar/drink/name/@id</p>
<p>Note: It has been noted that in case a particular tag does not have a value, instead of returning NULL, in some cases Siebel returns the whitespace character, &#8216; &#8216;.</p>
<p>There is more to this. However, what I have covered above are the only ones I have seen working in Siebel successfully.<br />
I have split this blog into parts because of the length. Part II of this article will follow.<!--subscribe2--></p>


<p><b>Related posts:<b><ol><li><a href='http://geeksbloggingat.com/2009/08/12/siebel-left-right-and-from-the-middle/' rel='bookmark' title='Permanent Link: Siebel &#8211; Left, Right and from the Middle'>Siebel &#8211; Left, Right and from the Middle</a> <small>Extracting a sub string from a lengthy string in Siebel....</small></li>
<li><a href='http://geeksbloggingat.com/2009/05/31/siebel-fins-industry-xml-query-service/' rel='bookmark' title='Permanent Link: Siebel &#8211; FINS Industry XML Query Service'>Siebel &#8211; FINS Industry XML Query Service</a> <small>&#8220;Extracting values from a tag deep down in the Hierarchy.&#8221;...</small></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://geeksbloggingat.com/2009/06/03/xpath-expressions-in-xml-part-1/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>

