<?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>Three2Tango &#187; Tech Corner</title>
	<atom:link href="http://www.three2tango.com/category/techcorner/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.three2tango.com</link>
	<description>Points To Ponder : The Latest news from the TechWorld,Automobiles,CellPhones and lots of useful Code Snippets</description>
	<lastBuildDate>Thu, 09 Sep 2010 03:59:53 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Cloud Computing</title>
		<link>http://www.three2tango.com/techcorner/cloud-computing.html/</link>
		<comments>http://www.three2tango.com/techcorner/cloud-computing.html/#comments</comments>
		<pubDate>Thu, 09 Sep 2010 03:57:50 +0000</pubDate>
		<dc:creator>Vivek</dc:creator>
				<category><![CDATA[Tech Corner]]></category>
		<category><![CDATA[Tech Talk]]></category>
		<category><![CDATA[Cloud Computing]]></category>

		<guid isPermaLink="false">http://www.three2tango.com/?p=3962</guid>
		<description><![CDATA[Cloud Computing is the next big thing in the Computer Industry since the web. Cloud Computing would allow users to accesss applications installed on another machine and work on it. So instead of installing,say a Microsoft Visual Studio on your local machine, You could actually log on to a web based service and use the software installed in some other machines. The advantage of this would be a great reduction in operational costs. In today&#8217;s scenario, you would need the application to be installed in your machine, which would mean ...


No related posts.]]></description>
			<content:encoded><![CDATA[<p>Cloud Computing is the next big thing in the Computer Industry since the web. Cloud Computing would allow users to accesss applications installed on another machine and work on it. So instead of installing,say a Microsoft Visual Studio on your local machine, You could actually log on to a web based service and use the software installed in some other machines. The advantage of this would be a great reduction in operational costs. In today&#8217;s scenario, you would need the application to be installed in your machine, which would mean that you will have to get a license for this.So if 10 people are going to work on the same software, most probably, you will have to get 10 licenses for it. By using the Cloud Computing architecture, all you will need to buy is one license and allow the same application to be used by multiple clients. Hardware and Software demands will decrease on the user&#8217;s side. Probably all you will need is an interface to connect to the server on which the application resides.We could say that Cloud Computing is an extention of the many web based applications we currenly use-like Emails and even web based games, where we are not really installing the application in or local machine,instead just using the applications available online.<br />
The Cloud Computing architecture consists of a client side(front end) and a cloud(the network or backend). The client side here would be the user&#8217;s machine and the interface to connect to the Cloud Computing network. The interface for the web based applications we use today would be the web browser.The back end would consist of a network of computers ,servers and data storage mechanisms. Based on the demand for the applications, mostly there will be one dedicated server for each application. Data Storage mechanisms are also important part of the architecture. Usually backup storage will also be available.<br />
The applications that could run on a Cloud Computing network would be limitless. Privacy and Security could be potential concerns for the use of the architecture. But with the huge economic advantages the architecture provides, Cloud Computing is becoming more and more popular.</p>


<p>No related posts.</p>]]></content:encoded>
			<wfw:commentRss>http://www.three2tango.com/techcorner/cloud-computing.html/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>XMLDOM Parser:ATG</title>
		<link>http://www.three2tango.com/techcorner/atg-java/xmldom-parseratg.html/</link>
		<comments>http://www.three2tango.com/techcorner/atg-java/xmldom-parseratg.html/#comments</comments>
		<pubDate>Sun, 08 Aug 2010 13:20:23 +0000</pubDate>
		<dc:creator>Sam</dc:creator>
				<category><![CDATA[ATG & Java]]></category>
		<category><![CDATA[ATG]]></category>
		<category><![CDATA[ATG and java relation]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[xml]]></category>
		<category><![CDATA[xml parsing]]></category>
		<category><![CDATA[XML serialization of Objects in .NET]]></category>

		<guid isPermaLink="false">http://www.three2tango.com/?p=3923</guid>
		<description><![CDATA[The code below explains how to get the value of a particular node from an XML. Dont forget to take a look into the imports in the class as the XMLToDOMParser and ApacheXMLToolsFactory are two very important packages you can&#8217;t forget for this code to work. &#8220;xPath&#8221; gives the node we have to find. The string variable &#8220;xPath&#8221; is defined in a particular way. The path in the eg: file(testParsingXML.java) will lead you to the node named &#8220;category&#8220;. Here is another example to know how to write the xPath:=  /root/son[@name=\"firstchild\"]/grandson[@name=\"gs1\"]
This ...


Related posts:<ol><li><a href='http://www.three2tango.com/techcorner/droplet-a-repository-query.html/' rel='bookmark' title='Permanent Link: Droplet &#038; A Repository Query'>Droplet &#038; A Repository Query</a></li><li><a href='http://www.three2tango.com/techcorner/atg-java/atg-tag-librarydsp-tags.html/' rel='bookmark' title='Permanent Link: ATG Tag Library:DSP Tags'>ATG Tag Library:DSP Tags</a></li><li><a href='http://www.three2tango.com/techcorner/atg-java/installing-a-decompiler-pluginjad-for-eclipse.html/' rel='bookmark' title='Permanent Link: Installing a Decompiler plugin(JAD) for Eclipse'>Installing a Decompiler plugin(JAD) for Eclipse</a></li></ol>]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">The <a href='#last'>code below</a> explains how to get the value of a particular node from an XML. Dont forget to take a look into the imports in the class as the <strong>XMLToDOMParser</strong> and <strong>ApacheXMLToolsFactory</strong> are two very important packages you can&#8217;t forget for this code to work. &#8220;<strong>xPath</strong>&#8221; gives the node we have to find. The string variable &#8220;xPath&#8221; is defined in a particular way. The path in the eg: file(testParsingXML.java) will lead you to the node named &#8220;<strong>category</strong>&#8220;. Here is another example to know how to write the xPath:=  <strong>/root/son[@name=\"firstchild\"]/grandson[@name=\"gs1\"]</strong></p>
<p style="text-align: justify;">This xpath will lead you to grandson node. All other things in the code are self explanatory. An xml specified in the code is also provided., make sure  you copy the <a href="#end">xml(test.xml)</a> in the same path mentioned in the java code. Hope the code snippet helps. This code will work fine within an ATG environment. I tried successfully.</p>
<p style="text-align: justify;"><strong>Drawback:</strong></p>
<p style="text-align: justify;">This code will definitely help you find the value of known node, but wont help you in finding a dynamic node.Which means you need to specify the node name to get the value.Eg: you can&#8217;t read all <strong>&#8220;category&#8221;</strong> nodes of  <strong>&#8220;granddaughter&#8221;</strong> just by specifying xpath till &#8220;granddaughter&#8221;.</p>
<p style="text-align: justify;">
<p style="text-align: justify;">
<p><strong>1 .     &#8220;testParsingXML.java&#8221;</strong></p>
<p><a name="last"></a></p>
<pre name="code" language="C#">import java.io.ByteArrayInputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.util.Enumeration;

import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.NamedNodeMap;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
import atg.xml.tools.XMLToDOMParser;
import atg.xml.tools.apache.ApacheXMLToolsFactory;

public class testParsingXML{
public static void main(String[] argS){
		XMLToDOMParser xtdParser;
		ApacheXMLToolsFactory axtFactory = new ApacheXMLToolsFactory();
		xtdParser = axtFactory.createXMLToDOMParser();
		File xmlFile = null;
		FileInputStream fis= null;
		xmlFile = new File("E:\\test.xml");

		try {
			fis = new FileInputStream(xmlFile);	 // Should wrap with try catch block
			byte fileContent[] = new byte[(int)xmlFile.length()];
			fis.read(fileContent); 	// Should wrap with try catch block
			ByteArrayInputStream bis = new ByteArrayInputStream(fileContent);
			Document document = xtdParser.parse(bis ,false ,null);
			String xPath ="/root/daughter[@name=\"secondchild\"]/granddaughter[@name=\"three2tango\"]/category[@name=\"c1\"]";
			Enumeration nodes = axtFactory.createXSLQueryEngine().select(xPath, document, null);
			Node node = nodes.nextElement();
			if (node.hasAttributes())
			{
			NamedNodeMap attributes = node.getAttributes();
			System.out.println(attributes.item(1));
			System.out.println(attributes.getNamedItem("name").getTextContent());
			System.out.println(attributes.getNamedItem("value").getTextContent());
			}
		} catch (FileNotFoundException e) {
		} catch (IOException e) {
			e.printStackTrace();
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
}</pre>
<p><strong>2. &#8220;test.xml&#8221;</strong><a name="end"></a></p>
<pre name="code" language="C#">     &lt;root&gt;
	&lt;son name="firstchild"&gt;
		&lt;grandson name="gs1" value="dileep"/&gt;
		&lt;grandson name="gs2" value="lloyd"/&gt;
		&lt;grandson name="gs3" value="vivek"/&gt;
	&lt;/son&gt;
	&lt;daughter name="secondchild"&gt;
		&lt;granddaughter name="three2tango"&gt;
			&lt;category name="c1" value="java"/&gt;
			&lt;category name="c2" value="atg"/&gt;
		&lt;/granddaughter&gt;
	&lt;/daughter&gt;
&lt;/root&gt;</pre>


<p>Related posts:<ol><li><a href='http://www.three2tango.com/techcorner/droplet-a-repository-query.html/' rel='bookmark' title='Permanent Link: Droplet &#038; A Repository Query'>Droplet &#038; A Repository Query</a></li><li><a href='http://www.three2tango.com/techcorner/atg-java/atg-tag-librarydsp-tags.html/' rel='bookmark' title='Permanent Link: ATG Tag Library:DSP Tags'>ATG Tag Library:DSP Tags</a></li><li><a href='http://www.three2tango.com/techcorner/atg-java/installing-a-decompiler-pluginjad-for-eclipse.html/' rel='bookmark' title='Permanent Link: Installing a Decompiler plugin(JAD) for Eclipse'>Installing a Decompiler plugin(JAD) for Eclipse</a></li></ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.three2tango.com/techcorner/atg-java/xmldom-parseratg.html/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Installing a Decompiler plugin(JAD) for Eclipse</title>
		<link>http://www.three2tango.com/techcorner/atg-java/installing-a-decompiler-pluginjad-for-eclipse.html/</link>
		<comments>http://www.three2tango.com/techcorner/atg-java/installing-a-decompiler-pluginjad-for-eclipse.html/#comments</comments>
		<pubDate>Fri, 30 Jul 2010 21:58:35 +0000</pubDate>
		<dc:creator>Lloyd</dc:creator>
				<category><![CDATA[ATG & Java]]></category>
		<category><![CDATA[ATG Debug help]]></category>
		<category><![CDATA[ATG Helping tools]]></category>
		<category><![CDATA[Eclipse Decompiler]]></category>
		<category><![CDATA[How to decompile a java byte code]]></category>
		<category><![CDATA[JAD]]></category>
		<category><![CDATA[JAD eclipse]]></category>
		<category><![CDATA[JADClipse]]></category>
		<category><![CDATA[Java]]></category>

		<guid isPermaLink="false">http://www.three2tango.com/?p=3885</guid>
		<description><![CDATA[A decompiler does the reverse of a compiler, a lowel byte code into a high level language.Java decompiler will help you decompile a byte code file so that you can see the java code.
Steps in installing JADClipse(An eclipse plugin for decompiling)
1. Create a folder parallel to the eclipse installation named &#8220;JAD&#8221;, place the &#8220;jad.exe&#8221; file inside the folder.
2. Run the &#8220;jad.exe&#8221;.
3. Copy the jar file to the plugins folder in eclipse.(&#8220;jadclipse_3.2.2.jar&#8221;)
4. Restart your eclipse.
5.Go to window &#8211;&#62;preferences&#8211;&#62;Java&#8211;&#62;jadeclipse. (Check the Picture below)



Related posts:<ol><li><a href='http://www.three2tango.com/techcorner/atg-java/xmldom-parseratg.html/' rel='bookmark' title='Permanent Link: XMLDOM Parser:ATG'>XMLDOM Parser:ATG</a></li><li><a href='http://www.three2tango.com/techcorner/the-evolution-of-java.html/' rel='bookmark' title='Permanent Link: The Evolution Of Java'>The Evolution Of Java</a></li></ol>]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">A decompiler does the reverse of a compiler, a lowel byte code into a high level language.Java decompiler will help you decompile a byte code file so that you can see the java code.<br />
<strong>Steps in installing JADClipse(An eclipse plugin for decompiling)</strong><br />
1. Create a folder parallel to the eclipse installation named <strong>&#8220;JAD&#8221;</strong>, place the <strong>&#8220;jad.exe&#8221;</strong> file inside the folder.<br />
2. Run the &#8220;<strong>jad.exe&#8221;</strong>.<br />
3. Copy the jar file to the plugins folder in eclipse.(<strong>&#8220;jadclipse_3.2.2.jar&#8221;</strong>)<br />
4. Restart your eclipse.<br />
5.Go to <strong>window &#8211;&gt;preferences&#8211;&gt;Java&#8211;&gt;jadeclipse</strong>. (Check the Picture below)</p>
<p style="text-align: justify;">
<a href="http://www.three2tango.com/wp-content/gallery/loy/jadInstall.JPG" title="" class="shutterset_singlepic1027" >
	<img class="ngg-singlepic ngg-center" src="http://www.three2tango.com/wp-content/gallery/cache/1027_watermark_250x250_jadInstall.JPG" alt="jadInstall.JPG" title="jadInstall.JPG" />
</a>
<br />
6.Set the <strong>&#8220;Path to Decompiler&#8221;</strong> as your <strong>&#8220;jad.exe&#8221;</strong> location.<br />
7.Set the <strong>&#8220;Directory for temperary files &#8220;</strong> as <strong>&#8220;D\.jadeclipse&#8221;</strong><br />
8. Restart eclipse once more to use JAD.</p>
<p style="text-align: justify;">
<p style="text-align: justify;">The decompiler will come handy when you are moving back and forth through ATG Out of the Box components. If JAD is there OOTB components and can be read and understood easily. <span style="color: #0000ff;"><strong><a href="http://www.three2tango.com/JAD_Required_Files.zip">Click ToDownload JAD Utility</a></strong></span>.</p>
<p style="text-align: justify;"> </p>


<p>Related posts:<ol><li><a href='http://www.three2tango.com/techcorner/atg-java/xmldom-parseratg.html/' rel='bookmark' title='Permanent Link: XMLDOM Parser:ATG'>XMLDOM Parser:ATG</a></li><li><a href='http://www.three2tango.com/techcorner/the-evolution-of-java.html/' rel='bookmark' title='Permanent Link: The Evolution Of Java'>The Evolution Of Java</a></li></ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.three2tango.com/techcorner/atg-java/installing-a-decompiler-pluginjad-for-eclipse.html/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ATG Tag Library:DSP Tags</title>
		<link>http://www.three2tango.com/techcorner/atg-java/atg-tag-librarydsp-tags.html/</link>
		<comments>http://www.three2tango.com/techcorner/atg-java/atg-tag-librarydsp-tags.html/#comments</comments>
		<pubDate>Tue, 29 Jun 2010 19:00:36 +0000</pubDate>
		<dc:creator>Lloyd</dc:creator>
				<category><![CDATA[ATG & Java]]></category>
		<category><![CDATA[ATG]]></category>
		<category><![CDATA[ATG and java relation]]></category>
		<category><![CDATA[ATG framework]]></category>
		<category><![CDATA[ATG Tag Library]]></category>
		<category><![CDATA[ATG technology]]></category>
		<category><![CDATA[DSP Tag library]]></category>
		<category><![CDATA[DSP tags]]></category>
		<category><![CDATA[dsp:importbean]]></category>
		<category><![CDATA[dsp:page]]></category>

		<guid isPermaLink="false">http://www.three2tango.com/?p=3788</guid>
		<description><![CDATA[There are many ATG Out Of The Box(OOTB) droplets to cater the various needs in developing an application.Droplet&#8217;s main use in a jsp page is to dispay the contents dynamically. The OOTBox components are used in JSP with the help of DSP tags. DSP is a tag library provided by ATG, it acts as layer above the JSP tags. The DSP tag library lets you access all data types in ATG’s Nucleus framework. Other functions provided by these tags are managing transactions and rendering data in a Java Server Page. ...


Related posts:<ol><li><a href='http://www.three2tango.com/techcorner/droplet-a-repository-query.html/' rel='bookmark' title='Permanent Link: Droplet &#038; A Repository Query'>Droplet &#038; A Repository Query</a></li><li><a href='http://www.three2tango.com/techcorner/understanding-atgthe-e-commerce-framework.html/' rel='bookmark' title='Permanent Link: Understanding-ATG(The e-Commerce Framework)'>Understanding-ATG(The e-Commerce Framework)</a></li><li><a href='http://www.three2tango.com/techcorner/how-to-use-rql-in-javaatg.html/' rel='bookmark' title='Permanent Link: How to Use RQL in JAVA,ATG'>How to Use RQL in JAVA,ATG</a></li></ol>]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">There are many ATG Out Of The Box(OOTB) droplets to cater the various needs in developing an application.Droplet&#8217;s main use in a jsp page is to dispay the contents dynamically. The OOTBox components are used in JSP with the help of DSP tags. DSP is a tag library provided by ATG, it acts as layer above the JSP tags. The DSP tag library lets you access all data types in ATG’s Nucleus framework. Other functions provided by these tags are managing transactions and rendering data in a Java Server Page. Tags from the DSP tag library are used only for tasks that involve Dynamo Application Framework (DAF) resources.</p>
<p style="text-align: justify;">In the API documentation of ATG the class hierarchy is: <strong>atg.nucleus.GenericService</strong> &#8212;&gt; <strong>atg.servlet.DynamoServlet</strong>. And the classes for sample droplets &#8220;<strong>Switch</strong>&#8221; and &#8220;<strong>ForEach</strong>&#8221; droplets are &#8220;<strong>atg.droplet.Switch</strong>&#8221; and  &#8220;<strong>atg.droplet.ForEach</strong>&#8221; respectively. Before using the DSP tags in a page, it must be imported in the beginning of the page.</p>
<p><strong>&lt;%@ taglib uri=&#8221;/dspTaglib&#8221; prefix=&#8221;dsp&#8221;%&gt;</strong></p>
<p><strong>DSP PAGE tag:</strong><br />
The dsp:page surrounds the content body of the JSP. It is required to use this tag as such whenever your pages include DSP tags.&#8221;dsp:page&#8221; tag initiates the page rendering process by creating an instance of the &#8220;DynamoHTTPServletRequest&#8221;. This tag is preceded only by the page directives and import statements.<br />
["content of the page.It can be any dsp or jsp or html tags"]</p>
<p><strong>DSP IMPORTBEAN tag:</strong><br />
dsp:importbean can import a servlet or java bean component into a JSP.It is usually given at the top of the page so that it facilitates reference to all other elements.The tag has 3 attributes BEAN,VAR and SCOPE, of which bean is a compulsory attribute and can&#8217;t be omitted.The bean attribute accepts a fully qualified nucleuspath and name of the servlet bean that we want to import. The VAR attribute names an EL variable so that it can be used by other tags in the page. If SCOPE is not mentioned a default page is used.SCOPE determines where the servlet bean specified by VAR is stored and who all can access it.PAGE,REQUEST,SESSION &amp; APPLICATION are the various options available. Now a small eg: will serve a better understanding.<br />
Sample Code:</p>
<pre name="code" language="C#">&lt;dsp:importbean bean="/atg/dynamo/droplet/Switch"/&gt;
&lt;dsp:importbean bean="/atg/dynamo/servlet/RequestLocale" var="requestlocale"/&gt;
&lt;dsp:importbean bean="/atg/dynamo/droplet/Redirect/&gt;
&lt;dsp:setvalue bean="${requestLocale.refresh}" value=" "/&gt;
&lt;dsp:droplet name="Switch"&gt;
  &lt;dsp:param bean="${requestLocale.locale.language}" name="value"/&gt;
  &lt;dsp:oparam name="fr"&gt;
      &lt;dsp:droplet name="Redirect"&gt;
        &lt;dsp:param name="url" value="fr/index.jsp"/&gt;
      &lt;/dsp:droplet&gt;
  &lt;/dsp:oparam&gt;
  &lt;dsp:oparam name="default"&gt;
      &lt;dsp:droplet name="Redirect"&gt;
        &lt;dsp:param name="url" value="en/index.jsp"/&gt;
      &lt;/dsp:droplet&gt;
 &lt;/dsp:oparam&gt;
&lt;/dsp:droplet&gt;</pre>
<p style="text-align: justify;">Here the Switch, RequestLocale and Redirect droplets are imported to the page. The RequestLocale component is imported to a VAR attribute so that the <em>dsp:setvalue </em>and <em>dsp:param</em> tags can access RequestLocale with EL. EL is enumerated language so it requires the EL tag libraries as well(JSTL).<strong>*</strong></p>
<p style="text-align: justify;"><strong>*</strong> Not going into the details of JSTL as it will divert from the aim of this article, which is just to provide an understanding of the main DSP tags and attributes.</p>


<p>Related posts:<ol><li><a href='http://www.three2tango.com/techcorner/droplet-a-repository-query.html/' rel='bookmark' title='Permanent Link: Droplet &#038; A Repository Query'>Droplet &#038; A Repository Query</a></li><li><a href='http://www.three2tango.com/techcorner/understanding-atgthe-e-commerce-framework.html/' rel='bookmark' title='Permanent Link: Understanding-ATG(The e-Commerce Framework)'>Understanding-ATG(The e-Commerce Framework)</a></li><li><a href='http://www.three2tango.com/techcorner/how-to-use-rql-in-javaatg.html/' rel='bookmark' title='Permanent Link: How to Use RQL in JAVA,ATG'>How to Use RQL in JAVA,ATG</a></li></ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.three2tango.com/techcorner/atg-java/atg-tag-librarydsp-tags.html/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Autosys Machines, Autosys Instance, Events, Alarms, Utilities</title>
		<link>http://www.three2tango.com/techcorner/autosys-machines-autosys-instance-events-alarms-utilities.html/</link>
		<comments>http://www.three2tango.com/techcorner/autosys-machines-autosys-instance-events-alarms-utilities.html/#comments</comments>
		<pubDate>Thu, 10 Jun 2010 06:26:07 +0000</pubDate>
		<dc:creator>Dileep</dc:creator>
				<category><![CDATA[AutoSys]]></category>
		<category><![CDATA[Tech Corner]]></category>
		<category><![CDATA[Alarms]]></category>
		<category><![CDATA[Autosys Instance]]></category>
		<category><![CDATA[Autosys Machines]]></category>
		<category><![CDATA[Events]]></category>
		<category><![CDATA[Job Scheduling]]></category>
		<category><![CDATA[Unix]]></category>
		<category><![CDATA[Utilities]]></category>

		<guid isPermaLink="false">http://www.three2tango.com/?p=3765</guid>
		<description><![CDATA[AutoSys Machines
From a hardware perspective, the AutoSys architecture is composed of two types of machines, attached to a network -
Server Machine
The AutoSys server is the machine on which the event processor, the event server (database), or both, reside. In a basic configuration, both the event processor and the event server reside on the same machine.
Client Machine
The AutoSys client is the machine on which the remote agent software resides, and where AutoSys jobs are to be run. A remote agent must be installed on the server machine, and it can also ...


Related posts:<ol><li><a href='http://www.three2tango.com/techcorner/autosys-architecture.html/' rel='bookmark' title='Permanent Link: Autosys &#8211; Architecture'>Autosys &#8211; Architecture</a></li><li><a href='http://www.three2tango.com/techcorner/overview-of-autosys.html/' rel='bookmark' title='Permanent Link: Overview of AutoSys'>Overview of AutoSys</a></li><li><a href='http://www.three2tango.com/techcorner/basic-unix-commands.html/' rel='bookmark' title='Permanent Link: Basic UNIX Commands'>Basic UNIX Commands</a></li></ol>]]></description>
			<content:encoded><![CDATA[<p><strong>AutoSys Machines</strong><br />
From a hardware perspective, the AutoSys architecture is composed of two types of machines, attached to a network -<br />
<span style="text-decoration: underline;">Server Machine</span><br />
The AutoSys server is the machine on which the event processor, the event server (database), or both, reside. In a basic configuration, both the event processor and the event server reside on the same machine.<br />
<span style="text-decoration: underline;">Client Machine</span><br />
The AutoSys client is the machine on which the remote agent software resides, and where AutoSys jobs are to be run. A remote agent must be installed on the server machine, and it can also be installed on separate physical client machines.</p>
<p><strong>AutoSys Instance</strong><br />
An AutoSys instance is one licensed version of AutoSys software running as an AutoSys server with one or more clients, on a single machine or on multiple machines. An AutoSys instance is defined by the instance ID &#8211; a capitalized three-letter identifier defined by the $AUTOSERV environment variable. An instance uses its own event server and event processor and operates independently of other AutoSys instances. One could install multiple AutoSys instances. For example, you may want to have one instance for production and another for development. Multiple instances can run on the same machine, and can schedule jobs on the same machines without interfering or affecting the other instances.</p>
<p><strong>Events</strong><br />
AutoSys is completely event-driven. That is, for a job to be activated by the event processor, an event must occur on which the job depends. For example, a prerequisite job has completed running successfully or a required file has been received. Events can come from a number of sources, including the following:<br />
Jobs changing states, such as starting, finishing successfully, and so forth.<br />
Internal AutoSys verification agents, such as detected errors.<br />
Events sent with the sendevent command, sent from the Send Event dialog, the command line, or user applications.<br />
As each event is processed, the event processor scans the database for jobs that are dependent on that event in some way. If the event satisfies another job’s starting condition, that job is either started immediately, or if necessary, queued for the next qualified and available machine. The completion of one job can cause another job to be started, and in this way, jobs progress in a controlled sequence.</p>
<p><strong>Alarms</strong><br />
Alarms are special events that notify operations personnel of situations requiring their attention. Alarms are integral to the automated use of AutoSys. That is, jobs can be scheduled to run based on a number of conditions, but some facility is necessary for addressing incidents that require manual intervention. For example, a set of jobs could be dependent on the arrival of a file, and the file is long overdue. In such a case, it is important that someone investigates the situation, make a decision, and resolves the problem.</p>
<ul>
<li>Alarms are informational only.</li>
<li>Alarms are system messages about a detected problem.</li>
<li>Alarms are sent through the system as an event.</li>
<li>Alarms have special monitoring features to ensure they will be noticed.</li>
</ul>
<p><strong>Utilities</strong><br />
To help you define, control, and report on jobs, AutoSys has its own specification language called Job Information Language, or JIL, for defining jobs, machines, monitors, and reports. This language is processed by the jil command, which reads and interprets the JIL statements that you enter and then performs the appropriate actions, such as adding a new job definition to the database. AutoSys also provides a set of commands that run essential utility programs for defining, controlling, and reporting on jobs. For example, the autorep command allows you to generate a variety of reports about job execution, and the sendevent command allows you to manually control job processing. Additional utility programs are provided to assist you in troubleshooting, running monitors and browsers, and starting and stopping AutoSys and its components. AutoSys also provides a database maintenance utility that runs daily by default.</p>
<p style="text-align: left;"><a href="http://www.three2tango.com/techcorner/autosys-architecture.html/">&lt;&lt;Previous Post</a></p>
<p style="text-align: right;">NextPost&gt;&gt;</p>


<p>Related posts:<ol><li><a href='http://www.three2tango.com/techcorner/autosys-architecture.html/' rel='bookmark' title='Permanent Link: Autosys &#8211; Architecture'>Autosys &#8211; Architecture</a></li><li><a href='http://www.three2tango.com/techcorner/overview-of-autosys.html/' rel='bookmark' title='Permanent Link: Overview of AutoSys'>Overview of AutoSys</a></li><li><a href='http://www.three2tango.com/techcorner/basic-unix-commands.html/' rel='bookmark' title='Permanent Link: Basic UNIX Commands'>Basic UNIX Commands</a></li></ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.three2tango.com/techcorner/autosys-machines-autosys-instance-events-alarms-utilities.html/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ideal Production Environment for an e-commerce site</title>
		<link>http://www.three2tango.com/techcorner/atg-java/ideal-production-environment-for-an-e-commerce-site.html/</link>
		<comments>http://www.three2tango.com/techcorner/atg-java/ideal-production-environment-for-an-e-commerce-site.html/#comments</comments>
		<pubDate>Mon, 07 Jun 2010 08:32:40 +0000</pubDate>
		<dc:creator>Sam</dc:creator>
				<category><![CDATA[ATG & Java]]></category>
		<category><![CDATA[ATG]]></category>
		<category><![CDATA[ATG framework]]></category>
		<category><![CDATA[ATG in E-commerce]]></category>
		<category><![CDATA[ATG Sear]]></category>
		<category><![CDATA[atg search]]></category>
		<category><![CDATA[ATG technology]]></category>
		<category><![CDATA[ecommerce]]></category>
		<category><![CDATA[electronic commerce]]></category>
		<category><![CDATA[Search]]></category>
		<category><![CDATA[search engine]]></category>

		<guid isPermaLink="false">http://www.three2tango.com/?p=3759</guid>
		<description><![CDATA[ production setup is normally an alien environment to normal developers. On top of the e-commerce site setup locally, a few patch ups needs to be done to work in the production environment or rather there are large differences. Before going into the details of a production scenario a few important things needs to be brought into your attention; Content Administration (CA), Search Indexer, and electronic Store front. CA is Content or data related thing, the ATG CA lets the product data and other data flow into our website. The ...


Related posts:<ol><li><a href='http://www.three2tango.com/techcorner/atg-java/atg-search-architecture.html/' rel='bookmark' title='Permanent Link: ATG Search Architecture'>ATG Search Architecture</a></li><li><a href='http://www.three2tango.com/techcorner/atg-java/atg-searchadmin-ui-how-indexing-is-done.html/' rel='bookmark' title='Permanent Link: ATG SearchAdmin UI &#038; How Indexing is done?'>ATG SearchAdmin UI &#038; How Indexing is done?</a></li><li><a href='http://www.three2tango.com/techcorner/atg-search-a-few-key-things-to-note.html/' rel='bookmark' title='Permanent Link: ATG Search: A few key things to note'>ATG Search: A few key things to note</a></li></ol>]]></description>
			<content:encoded><![CDATA[<p>
<a href="http://www.three2tango.com/wp-content/gallery/loy/ProdEnvironmt.JPG" title="" class="shutterset_singlepic989" >
	<img class="ngg-singlepic ngg-left" src="http://www.three2tango.com/wp-content/gallery/cache/989__250x240_ProdEnvironmt.JPG" alt="ProdEnvironmt.JPG" title="ProdEnvironmt.JPG" />
</a>
A production setup is normally an alien environment to normal developers. On top of the e-commerce site setup locally, a few patch ups needs to be done to work in the production environment or rather there are large differences. Before going into the details of a production scenario a few important things needs to be brought into your attention; Content Administration (CA), Search Indexer, and electronic Store front. CA is Content or data related thing, the ATG CA lets the product data and other data flow into our website. The need of a CA in a retail website is due the frequent change of data and the changes are to be done by the business itself not a database administrator. Search module of the website is clubbed to CA because it is also a portion which needs frequent business intervention. The search administration and merchandising modules are kept as part of the CA ear in a seperate server(<strong>Server1</strong>). The search indexer which does the indexing is kept in another server(<strong>Server-2</strong>), this server will have the indexing engine(<strong>ATGSearch.exe</strong>) in it. The index files generated will be put into a folder which is accessible to the answer servers as well. An answer server(<strong>AS-1,2,3</strong>) is a server which caters to the requests coming from the front end or the consumer side. For eg: a customer enter the webaddress, visits the website, he want to buy a TV, he searches for it, the search requests will be routed to different answer servers for load balancing. This is done through a routing module. The answer servers will look into the index files which is deployed in the shared folder.</p>
<p style="text-align: justify;">The Search Indexer does all the indexing jobs create the .IDX and .STG files. The estore servers(Server-3 &amp; 4) caters the store related requests. Each of the estore servers has many number of instances to handle large number of customer requests.</p>


<p>Related posts:<ol><li><a href='http://www.three2tango.com/techcorner/atg-java/atg-search-architecture.html/' rel='bookmark' title='Permanent Link: ATG Search Architecture'>ATG Search Architecture</a></li><li><a href='http://www.three2tango.com/techcorner/atg-java/atg-searchadmin-ui-how-indexing-is-done.html/' rel='bookmark' title='Permanent Link: ATG SearchAdmin UI &#038; How Indexing is done?'>ATG SearchAdmin UI &#038; How Indexing is done?</a></li><li><a href='http://www.three2tango.com/techcorner/atg-search-a-few-key-things-to-note.html/' rel='bookmark' title='Permanent Link: ATG Search: A few key things to note'>ATG Search: A few key things to note</a></li></ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.three2tango.com/techcorner/atg-java/ideal-production-environment-for-an-e-commerce-site.html/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Autosys &#8211; Architecture</title>
		<link>http://www.three2tango.com/techcorner/autosys-architecture.html/</link>
		<comments>http://www.three2tango.com/techcorner/autosys-architecture.html/#comments</comments>
		<pubDate>Fri, 04 Jun 2010 07:01:04 +0000</pubDate>
		<dc:creator>Dileep</dc:creator>
				<category><![CDATA[AutoSys]]></category>
		<category><![CDATA[Tech Corner]]></category>
		<category><![CDATA[Architecture]]></category>
		<category><![CDATA[Job Scheduling]]></category>
		<category><![CDATA[System Components]]></category>
		<category><![CDATA[Unix]]></category>

		<guid isPermaLink="false">http://www.three2tango.com/?p=3709</guid>
		<description><![CDATA[The following are the main AutoSys system components:

Event server (AutoSys database)
Event processor
Remote agent

Event Server
The event server or AutoSys database (the RDBMS) is the data repository for all system information and events as well as all job, monitor, and report definitions. Event server refers to the database where all the AutoSys information, events, and job definitions are stored. Occasionally, the database is called a data server, which actually describes a server instance. That is, it is either a UNIX or Windows process, and it is associated data space (or raw disk ...


Related posts:<ol><li><a href='http://www.three2tango.com/techcorner/autosys-machines-autosys-instance-events-alarms-utilities.html/' rel='bookmark' title='Permanent Link: Autosys Machines, Autosys Instance, Events, Alarms, Utilities'>Autosys Machines, Autosys Instance, Events, Alarms, Utilities</a></li><li><a href='http://www.three2tango.com/techcorner/overview-of-autosys.html/' rel='bookmark' title='Permanent Link: Overview of AutoSys'>Overview of AutoSys</a></li><li><a href='http://www.three2tango.com/techcorner/basic-unix-commands.html/' rel='bookmark' title='Permanent Link: Basic UNIX Commands'>Basic UNIX Commands</a></li></ol>]]></description>
			<content:encoded><![CDATA[<p>The following are the main <strong>AutoSys system components</strong>:</p>
<ul>
<li>Event server (AutoSys database)</li>
<li>Event processor</li>
<li>Remote agent</li>
</ul>

<a href="http://www.three2tango.com/wp-content/gallery/general/autosys_architecture.jpg" title="" class="shutterset_singlepic986" >
	<img class="ngg-singlepic ngg-center" src="http://www.three2tango.com/wp-content/gallery/cache/986__320x240_autosys_architecture.jpg" alt="autosys_architecture.jpg" title="autosys_architecture.jpg" />
</a>

<p><strong>Event Server</strong><br />
The event server or AutoSys database (the RDBMS) is the data repository for all system information and events as well as all job, monitor, and report definitions. Event server refers to the database where all the AutoSys information, events, and job definitions are stored. Occasionally, the database is called a data server, which actually describes a server instance. That is, it is either a UNIX or Windows process, and it is associated data space (or raw disk storage), that can include multiple databases or tablespaces.</p>
<p><span style="text-decoration: underline;">High-Availability Option: Dual-Event Servers</span><br />
AutoSys can be configured to run using two databases, or dual-event servers. This feature provides complete redundancy. Therefore, if you lose one event server due to hardware, software, or network problems, AutoSys operations can continue on the second event server without loss of information or functionality. For various reasons, database users often run multiple instances of servers that are unaware of the other servers on the network. When implementing AutoSys, the database can run stand-alone for AutoSys only, or it can be shared with other applications.</p>
<p><strong>Event Processor</strong><br />
The event processor is the heart of AutoSys; it interprets and processes all the events it reads from the AutoSys database. Sometimes called the event_demon, the event processor is the program, running either as a UNIX process or as a Windows service that actually runs AutoSys. It schedules and starts jobs. After you start it, the event processor continually scans the database for events to be processed. When it finds one, it checks whether the event satisfies the starting conditions for any job in the database. Based on this information, the event processor first determines what actions are to be taken, then instructs the appropriate remote agent process to perform the actions. These actions may be the starting or stopping of jobs, checking for resources, monitoring existing jobs, or initiating corrective procedures.</p>
<p><span style="text-decoration: underline;">High-Availability Option: Shadow Event processor</span><br />
AutoSys lets you set up a second event processor, called the shadow event processor. This second processor should run on a separate machine to avoid a single point of failure. The shadow event processor remains in an idle mode, receiving periodic messages (pings) from the primary event processor. Basically, these messages indicate that all is well. However, if the primary event processor fails for some reason, the shadow event processor will take over the responsibility of interpreting and processing events.</p>
<p><strong>Remote Agent</strong><br />
On a UNIX machine, the remote agent is a temporary process started by the event processor to perform a specific task on a remote (client) machine. On a Windows machine, the remote agent is a Windows service running on a remote (client) machine that is directed by the event processor to perform specific tasks. The remote agent starts the command specified for a given job, sends running and completion information about a<br />
task to the event server, then exits. If the remote agent is unable to transfer the information, it waits and tries again until it can successfully communicate with the database.</p>
<p><a href="http://www.three2tango.com/techcorner/overview-of-autosys.html/">&lt;&lt;Previous Post</a></p>
<p style="text-align: right;"><a href="http://www.three2tango.com/techcorner/autosys-machines-autosys-instance-events-alarms-utilities.html/">Next Post&gt;&gt;</a></p>


<p>Related posts:<ol><li><a href='http://www.three2tango.com/techcorner/autosys-machines-autosys-instance-events-alarms-utilities.html/' rel='bookmark' title='Permanent Link: Autosys Machines, Autosys Instance, Events, Alarms, Utilities'>Autosys Machines, Autosys Instance, Events, Alarms, Utilities</a></li><li><a href='http://www.three2tango.com/techcorner/overview-of-autosys.html/' rel='bookmark' title='Permanent Link: Overview of AutoSys'>Overview of AutoSys</a></li><li><a href='http://www.three2tango.com/techcorner/basic-unix-commands.html/' rel='bookmark' title='Permanent Link: Basic UNIX Commands'>Basic UNIX Commands</a></li></ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.three2tango.com/techcorner/autosys-architecture.html/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Overview of AutoSys</title>
		<link>http://www.three2tango.com/techcorner/overview-of-autosys.html/</link>
		<comments>http://www.three2tango.com/techcorner/overview-of-autosys.html/#comments</comments>
		<pubDate>Tue, 01 Jun 2010 07:38:09 +0000</pubDate>
		<dc:creator>Dileep</dc:creator>
				<category><![CDATA[AutoSys]]></category>
		<category><![CDATA[Tech Corner]]></category>
		<category><![CDATA[Job Scheduling]]></category>
		<category><![CDATA[Unix]]></category>

		<guid isPermaLink="false">http://www.three2tango.com/?p=3686</guid>
		<description><![CDATA[In this series of articles, we take a look at AutoSys. AutoSys is an automated job control system for scheduling, monitoring, and reporting. In simpler terms, it is a workload automation tool. These jobs can reside on any AutoSys-configured machine that is attached to a network. An AutoSys job is any single command, executable, script, or Windows batch file. Each AutoSys job definition contains a variety of qualifying attributes, including the conditions specifying when and where a job should be run. As with most control systems, there are many ways ...


Related posts:<ol><li><a href='http://www.three2tango.com/techcorner/autosys-machines-autosys-instance-events-alarms-utilities.html/' rel='bookmark' title='Permanent Link: Autosys Machines, Autosys Instance, Events, Alarms, Utilities'>Autosys Machines, Autosys Instance, Events, Alarms, Utilities</a></li><li><a href='http://www.three2tango.com/techcorner/autosys-architecture.html/' rel='bookmark' title='Permanent Link: Autosys &#8211; Architecture'>Autosys &#8211; Architecture</a></li><li><a href='http://www.three2tango.com/techcorner/basic-unix-commands.html/' rel='bookmark' title='Permanent Link: Basic UNIX Commands'>Basic UNIX Commands</a></li></ol>]]></description>
			<content:encoded><![CDATA[<p>In this series of articles, we take a look at <strong>AutoSys</strong>. AutoSys is an automated job control system for scheduling, monitoring, and reporting. In simpler terms, it is a workload automation tool. These jobs can reside on any AutoSys-configured machine that is attached to a network. An AutoSys job is any single command, executable, script, or Windows batch file. Each AutoSys job definition contains a variety of qualifying attributes, including the conditions specifying when and where a job should be run. As with most control systems, there are many ways to correctly define and implement jobs.</p>
<p><strong><span style="text-decoration: underline;">AutoSys Jobs</span></strong><br />
In the AutoSys environment, a job is a single action that can be performed on a valid AutoSys client machine. On UNIX, this action can be any single command or shell script, and on Windows, this action can be any single command, executable, or batch file. In addition, job definitions include a set of qualifying attributes.</p>
<p><strong>Defining Jobs</strong><br />
Using AutoSys utilities, you can define a job by assigning it a name and specifying the attributes that describe its associated behavior. These specifications make up the AutoSys job definition. There are two methods available to create job definitions.</p>
<ol>
<li>Using the AutoSys Graphical User Interface (GUI).</li>
<li>Using the AutoSys Job Information Language (JIL) through a command-line interface.</li>
</ol>
<p><span style="text-decoration: underline;">AutoSys Graphical User Interface</span><br />
The AutoSys GUI allows you to interactively set the attributes that describe when, where, and how a job should run. The fields in the GUIs correspond to the AutoSys JIL sub-commands and attributes. In addition, from the GUI Control Panel, you can open applications that allow you to define calendars, monitors, and reports, and allow you to monitor and manage AutoSys jobs.</p>
<p><span style="text-decoration: underline;">Job Information Language</span><br />
AutoSys JIL is a specification language, with its own syntax, that is used to describe when, where, and how a job should run. When you enter the jil command, you get the jil command prompt, at which you can enter the job definitions one line at a time using this special language. When you exit the jil command-line interface, the job definition is loaded into the AutoSys database. Alternatively, you can enter the definition as a text file and redirect the file to the jil command. In this case, the jil command activates the language processor, interprets the information in the text file, and loads this information in the AutoSys database.</p>
<p style="text-align: right;"><a href="http://www.three2tango.com/techcorner/autosys-architecture.html">Next Post&gt;&gt;</a></p>


<p>Related posts:<ol><li><a href='http://www.three2tango.com/techcorner/autosys-machines-autosys-instance-events-alarms-utilities.html/' rel='bookmark' title='Permanent Link: Autosys Machines, Autosys Instance, Events, Alarms, Utilities'>Autosys Machines, Autosys Instance, Events, Alarms, Utilities</a></li><li><a href='http://www.three2tango.com/techcorner/autosys-architecture.html/' rel='bookmark' title='Permanent Link: Autosys &#8211; Architecture'>Autosys &#8211; Architecture</a></li><li><a href='http://www.three2tango.com/techcorner/basic-unix-commands.html/' rel='bookmark' title='Permanent Link: Basic UNIX Commands'>Basic UNIX Commands</a></li></ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.three2tango.com/techcorner/overview-of-autosys.html/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Droplet &amp; A Repository Query</title>
		<link>http://www.three2tango.com/techcorner/droplet-a-repository-query.html/</link>
		<comments>http://www.three2tango.com/techcorner/droplet-a-repository-query.html/#comments</comments>
		<pubDate>Wed, 19 May 2010 10:08:45 +0000</pubDate>
		<dc:creator>Sam</dc:creator>
				<category><![CDATA[ATG & Java]]></category>
		<category><![CDATA[Tech Corner]]></category>
		<category><![CDATA[ATG and java relation]]></category>
		<category><![CDATA[ATG droplets]]></category>
		<category><![CDATA[ATG framework]]></category>
		<category><![CDATA[ATG in E-commerce]]></category>
		<category><![CDATA[Repository Query Language]]></category>
		<category><![CDATA[RQL]]></category>

		<guid isPermaLink="false">http://www.three2tango.com/?p=2984</guid>
		<description><![CDATA[How to write a droplet??
How to execute a SELECT query in ATG repository??
A droplet is an ATG concept which is implemented with the help of java. We can say a droplet is complete when the java class and a properties file of the java class are combined. The scope of a droplet is always global. The droplet class extends DynamoServlet. It is same as that of a servlet class in java and it contains a service( ) method also. The two parameters of the service method are of type DynamoHttpServletRequest ...


Related posts:<ol><li><a href='http://www.three2tango.com/techcorner/how-to-use-rql-in-javaatg.html/' rel='bookmark' title='Permanent Link: How to Use RQL in JAVA,ATG'>How to Use RQL in JAVA,ATG</a></li><li><a href='http://www.three2tango.com/techcorner/atg-java/atg-tag-librarydsp-tags.html/' rel='bookmark' title='Permanent Link: ATG Tag Library:DSP Tags'>ATG Tag Library:DSP Tags</a></li><li><a href='http://www.three2tango.com/techcorner/understanding-atgthe-e-commerce-framework.html/' rel='bookmark' title='Permanent Link: Understanding-ATG(The e-Commerce Framework)'>Understanding-ATG(The e-Commerce Framework)</a></li></ol>]]></description>
			<content:encoded><![CDATA[<p>How to write a droplet??<br />
How to execute a SELECT query in ATG repository??</p>
<p style="TEXT-ALIGN: justify">A droplet is an ATG concept which is implemented with the help of java. We can say a droplet is complete when the java class and a properties file of the java class are combined. The scope of a droplet is always global. The droplet class extends DynamoServlet. It is same as that of a servlet class in java and it contains a service( ) method also. The two parameters of the service method are of type DynamoHttpServletRequest and DynamoHttpServletResponse. And it throws ServletException and IOException.<br />
Following the previous example of an Employee table (<a href="http://www.three2tango.com/techcorner/how-to-use-rql-in-javaatg.html/ "><em><strong>refer</strong></em></a>), here also we are using the same itemDescriptor (<strong>employeeItemDescriptor</strong>) and same repository xml, for sake of clarity. Here the droplet is used to get the list of all employees (same names should not get repeated) and display it in dropdown list. A simple select query(select * from employeeTB) is used instead of using (select distinct EName from employeeTB). So the example will address both questions.</p>
<p style="TEXT-ALIGN: justify">Three key parts while addressing the questions are,<br />
1. JSP file where the employee names (EName) are displayed.<br />
2. The droplet class or the java class (employeeNamesDroplet.java).<br />
3. The corresponding properties file of the class (employeeNamesDroplet.properties)</p>
<p><strong>1.JSP File(test.jsp)</strong></p>
<pre name="code" language="C#">&lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"&gt;
&lt;html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"&gt;
&lt;%@ taglib uri="/dspTaglib" prefix="dsp"%&gt;
&lt;%@ taglib uri="/dspCoreTaglib" prefix="core"%&gt;
&lt;dsp:importbean bean=" Folder Structure/employeeNamesDroplet "/&gt;
&lt;dsp:importbean bean="/atg/dynamo/droplet/ForEach" /&gt;
&lt;dsp:page&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html; charset=utf-8" /&gt;
&lt;title&gt; Sample Page &lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;%-- page content --%&gt;
&lt;div&gt;
	&lt;div&gt; Employee Name &lt;/div&gt;&lt;div&gt;
   &lt;dsp:select bean="testFormHandler.eName" id="ddlENAME"&gt;
    &lt;dsp:option value="-1" selected="selected" &gt;Select&lt;/dsp:option&gt;
    &lt;%--Our droplet --%&gt;
	&lt;dsp:droplet name="folderStructure/employeeNamesDroplet"&gt;
        	  &lt;dsp:oparam name="output"&gt;
     &lt;%--ATG OUT OF THE BOX DROPLET --%&gt;
      	&lt;dsp:droplet name="/atg/dynamo/droplet/ForEach"&gt;
        	 &lt;dsp:param name="array" param="enameslist"/&gt;
	 &lt;dsp:oparam name="empty"&gt;
 &lt;dsp:option value="There are No Employee Names in DB"&gt;&lt;/dsp:option&gt;
	 &lt;/dsp:oparam&gt;
	 &lt;dsp:oparam name="output"&gt;
&lt;%--eid, employeename are property values from SampleRepositoryXML file --%&gt;
           &lt;dsp:getvalueof id="en" param="element.eid"&gt;
	    &lt;dsp:option value="&lt;%=en%&gt;"&gt;
	    &lt;dsp:valueof param="element.employeename"&gt;
	    &lt;/dsp:valueof&gt;
	    &lt;/dsp:option&gt;
	 &lt;/dsp:getvalueof&gt;
	&lt;/dsp:oparam&gt;
        	&lt;/dsp:droplet&gt;
       &lt;/dsp:oparam&gt;
      &lt;/dsp:droplet&gt;
     &lt;/dsp:select&gt;
   &lt;/div&gt;
&lt;/body&gt;
&lt;/dsp:page&gt;
&lt;/html&gt;</pre>
<p><strong>2.“employeeNamesDroplet”</strong></p>
<pre name="code" language="C#">import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import javax.servlet.ServletException;
import atg.repository.Query;
import atg.repository.Repository;
import atg.repository.RepositoryException;
import atg.repository.RepositoryItem;
import atg.repository.RepositoryView;
import atg.servlet.DynamoHttpServletRequest;
import atg.servlet.DynamoHttpServletResponse;
import atg.servlet.DynamoServlet;

public class employeeNamesDroplet extends DynamoServlet
{
private static final String OUTPUT = "output";
private static final String EMPTY = "empty";
private static final String E_NAMES="enameslist";
private Repository repository;
private String ItemDescriptor;

public void service(DynamoHttpServletRequest DHSRequest,DynamoHttpServletResponse DHSResponse) throws ServletException, IOException
{
   List eNamesList = getNames();
   if (eNamesList.size() &gt; 0)
  {
       	DHSRequest.setParameter(E_NAMES, eNamesList);
         	DHSRequest.serviceParameter(OUTPUT,DHSRequest,DHSResponse);
   } else {
	DHSRequest.serviceParameter(EMPTY,DHSRequest,DHSResponse);
	}
}

private List getNames(){
  List tempNames = new ArrayList();
  List eNames = new ArrayList();
  if(getRepository() != null){
	RepositoryView rView;
	Query query;
	try{
	rView = getRepository().getView(“employeeItemDescriptor”);
	query = (Query) rView.getQueryBuilder().createUnconstrainedQuery();
	RepositoryItem[] rItems = rView.executeQuery(query);
   for(int ri=0; ri &lt; rItems.length; )
   {if(tempNames.contains((String)(rItems[ri].getPropertyValue("employeename")))= = false)
    { tempNames.add((String)(rItems[ri].getPropertyValue("employeename")));
      eNames.add((RepositoryItem)rItems[ri]);
      ri++;
    }else{
 ri++;}
   	 }
}
catch(RepositoryException re)
{
System.out.print(“..”+re);
}
catch(Exception ex)
{System.out.print(“..”+ex);
}
}
return (List)eNames;
}// end of getnames method

public Repository getRepository() {
return repository;
}
public void setRepository(Repository repository) {
this.repository = repository;
}

}// end of the class</pre>
<p><strong>3.Properties File of the Droplet(“employeeNamesDroplet.properties”)</strong><br />
$class=droplet. employeeNamesDroplet<br />
$scope=global<br />
Repository = Give the name of your repository here.</p>


<p>Related posts:<ol><li><a href='http://www.three2tango.com/techcorner/how-to-use-rql-in-javaatg.html/' rel='bookmark' title='Permanent Link: How to Use RQL in JAVA,ATG'>How to Use RQL in JAVA,ATG</a></li><li><a href='http://www.three2tango.com/techcorner/atg-java/atg-tag-librarydsp-tags.html/' rel='bookmark' title='Permanent Link: ATG Tag Library:DSP Tags'>ATG Tag Library:DSP Tags</a></li><li><a href='http://www.three2tango.com/techcorner/understanding-atgthe-e-commerce-framework.html/' rel='bookmark' title='Permanent Link: Understanding-ATG(The e-Commerce Framework)'>Understanding-ATG(The e-Commerce Framework)</a></li></ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.three2tango.com/techcorner/droplet-a-repository-query.html/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ATG SearchAdmin UI &amp; How Indexing is done?</title>
		<link>http://www.three2tango.com/techcorner/atg-java/atg-searchadmin-ui-how-indexing-is-done.html/</link>
		<comments>http://www.three2tango.com/techcorner/atg-java/atg-searchadmin-ui-how-indexing-is-done.html/#comments</comments>
		<pubDate>Tue, 11 May 2010 13:47:11 +0000</pubDate>
		<dc:creator>Sam</dc:creator>
				<category><![CDATA[ATG & Java]]></category>
		<category><![CDATA[adminUI in atg search]]></category>
		<category><![CDATA[ATG]]></category>
		<category><![CDATA[atg search]]></category>
		<category><![CDATA[ATG Search tool]]></category>
		<category><![CDATA[indexing in atg search]]></category>
		<category><![CDATA[Search Admin UIs]]></category>
		<category><![CDATA[search architecture]]></category>

		<guid isPermaLink="false">http://www.three2tango.com/?p=3623</guid>
		<description><![CDATA[What I intend to share in this article is a familiarity towards the admin UI screens of the ATGsearch.This article will give you an idea on how search indexing is done, not the code but the front end working in the search application.This will give you a fair idea on what the search guy should do get the products indexed once the coding part is over.Or simply configuring the search project. Figure one shows the BCC(Business control center) which is configured by adding certain UIs in the ATGSearch module.
                   Figure ...


Related posts:<ol><li><a href='http://www.three2tango.com/techcorner/atg-java/ideal-production-environment-for-an-e-commerce-site.html/' rel='bookmark' title='Permanent Link: Ideal Production Environment for an e-commerce site'>Ideal Production Environment for an e-commerce site</a></li><li><a href='http://www.three2tango.com/techcorner/atg-java/atg-search-architecture.html/' rel='bookmark' title='Permanent Link: ATG Search Architecture'>ATG Search Architecture</a></li><li><a href='http://www.three2tango.com/techcorner/atg-java/atg-searcha-brief-note.html/' rel='bookmark' title='Permanent Link: ATG Search:A brief note'>ATG Search:A brief note</a></li></ol>]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">What I intend to share in this article is a familiarity towards the admin UI screens of the ATGsearch.This article will give you an idea on how search indexing is done, not the code but the front end working in the search application.This will give you a fair idea on what the search guy should do get the products indexed once the coding part is over.Or simply configuring the search project. Figure one shows the BCC(Business control center) which is configured by adding certain UIs in the ATGSearch module.<br />
                   Figure 2 shows the &#8220;<strong>Search Administration</strong>&#8221; tab with 4 different options.Search Project administration,New Search Project,Browse Search Projects,Open Search Workbench.Each of these will take you to different options for creating a search project or edit already created ones. Figure 3 and its sub shows how to create a project. Figure 4 shows a project you created and under the name of your project there are 4 steps, of which the last 3 are essential parts of configuring a search project. <strong>Content</strong> means adding or giving location of the file from which the indexing starts.It is normally  &#8220;<strong>ProductCatalogOutputConfig.properties</strong>&#8220;. <strong>Environment</strong> tab will help you set up  an environment for indexing, which tells where should the search engine run,in local setup your computer name is given. <strong>Indexing tab </strong>does the indexing job.</p>
<blockquote>
<p style="text-align: justify;"><em>Picture looks a bit blurred in the site but if you save it to your machine the claritty is better,regret the inconveniance.Also the pictures are numbered</em></p>
</blockquote>
<p style="text-align: justify;">
<div class="ngg-galleryoverview" id="ngg-gallery-112">


	<!-- Piclense link -->
	<div class="piclenselink">
		<a class="piclenselink" href="javascript:PicLensLite.start({feedUrl:'http://www.three2tango.com/wp-content/plugins/nextgen-gallery/xml/media-rss.php?gid=112&amp;mode=gallery'});">
			[View with PicLens]		</a>
	</div>
	
	<!-- Thumbnails -->
		
	<div id="ngg-image-967" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://www.three2tango.com/wp-content/gallery/atgsearchadminui/S_1.JPG" title=" " class="shutterset_atgsearchadminui" >
				<img title="S_1.JPG" alt="S_1.JPG" src="http://www.three2tango.com/wp-content/gallery/atgsearchadminui/thumbs/thumbs_S_1.JPG" width="100" height="75" />
			</a>
		</div>
	</div>
	 		
	<div id="ngg-image-968" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://www.three2tango.com/wp-content/gallery/atgsearchadminui/S_2.JPG" title=" " class="shutterset_atgsearchadminui" >
				<img title="S_2.JPG" alt="S_2.JPG" src="http://www.three2tango.com/wp-content/gallery/atgsearchadminui/thumbs/thumbs_S_2.JPG" width="100" height="75" />
			</a>
		</div>
	</div>
	 		
	<div id="ngg-image-969" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://www.three2tango.com/wp-content/gallery/atgsearchadminui/S_3_1.JPG" title=" " class="shutterset_atgsearchadminui" >
				<img title="S_3_1.JPG" alt="S_3_1.JPG" src="http://www.three2tango.com/wp-content/gallery/atgsearchadminui/thumbs/thumbs_S_3_1.JPG" width="100" height="75" />
			</a>
		</div>
	</div>
	 		
	<div id="ngg-image-970" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://www.three2tango.com/wp-content/gallery/atgsearchadminui/S_4.JPG" title=" " class="shutterset_atgsearchadminui" >
				<img title="S_4.JPG" alt="S_4.JPG" src="http://www.three2tango.com/wp-content/gallery/atgsearchadminui/thumbs/thumbs_S_4.JPG" width="100" height="75" />
			</a>
		</div>
	</div>
	 		
	<div id="ngg-image-971" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://www.three2tango.com/wp-content/gallery/atgsearchadminui/S_5.JPG" title=" " class="shutterset_atgsearchadminui" >
				<img title="S_5.JPG" alt="S_5.JPG" src="http://www.three2tango.com/wp-content/gallery/atgsearchadminui/thumbs/thumbs_S_5.JPG" width="100" height="75" />
			</a>
		</div>
	</div>
	 		
	<div id="ngg-image-972" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://www.three2tango.com/wp-content/gallery/atgsearchadminui/S_6.JPG" title=" " class="shutterset_atgsearchadminui" >
				<img title="S_6.JPG" alt="S_6.JPG" src="http://www.three2tango.com/wp-content/gallery/atgsearchadminui/thumbs/thumbs_S_6.JPG" width="100" height="75" />
			</a>
		</div>
	</div>
	 		
	<div id="ngg-image-973" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://www.three2tango.com/wp-content/gallery/atgsearchadminui/s_3.JPG" title=" " class="shutterset_atgsearchadminui" >
				<img title="s_3.JPG" alt="s_3.JPG" src="http://www.three2tango.com/wp-content/gallery/atgsearchadminui/thumbs/thumbs_s_3.JPG" width="100" height="75" />
			</a>
		</div>
	</div>
	 	 	
	<!-- Pagination -->
 	<div class='ngg-clear'></div>
 	
</div>

</p>


<p>Related posts:<ol><li><a href='http://www.three2tango.com/techcorner/atg-java/ideal-production-environment-for-an-e-commerce-site.html/' rel='bookmark' title='Permanent Link: Ideal Production Environment for an e-commerce site'>Ideal Production Environment for an e-commerce site</a></li><li><a href='http://www.three2tango.com/techcorner/atg-java/atg-search-architecture.html/' rel='bookmark' title='Permanent Link: ATG Search Architecture'>ATG Search Architecture</a></li><li><a href='http://www.three2tango.com/techcorner/atg-java/atg-searcha-brief-note.html/' rel='bookmark' title='Permanent Link: ATG Search:A brief note'>ATG Search:A brief note</a></li></ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.three2tango.com/techcorner/atg-java/atg-searchadmin-ui-how-indexing-is-done.html/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
