ATG Developer Interview Questions and Answers - ATG Interview Questions for Basic Level / Developer level interview Questions and Answers
Art Technology Group (ATG) was an independent (unconstrained) internet technology company specializing in e-commerce software and On-demand optimization applications until its acquisition by Oracle on January 5, 2011. ATG's solutions enable enterprises to provide a cohesive online customer experience with sophisticated merchandising, marketing, content personalization, automated recommendations, and live-help services. On November 2, 2010, Oracle announced that it has agreed to acquire Art Technology Group (ATG), a leading provider of e-commerce software and related on demand commerce optimization applications.

ATG is cofounded by Jeet Singh and Joseph "Joe" Taisup Chung in 1991.Oracle and ATG are helping to grow business revenue and to improve brand value, to achieve better operating results, and increase business agility across online and traditional commerce environments.
What is ATG?
ATG means Art Technology Group. ATG is a framework for creating web applications. It is based on J2EE standards. Most of the online shopping websites are migrating to Atg for the best performance of their website and for the customer satisfaction who visits to the website for online shopping.

What is BCC in ATG?
 BCC means Business Control Center: UI for Business Users (to upload content to Catalogs, create promotions etc)

What is Nucleus in ATG?
 In ATG, Nucleus is the Oracle Commerce Platform’s component model for building applications from JavaBeans. (Or) Nucleus is the Dynamo Application Framework’s component model for building applications from JavaBeans. Nucleus lets you assemble applications through simple configuration files that specify what components are used by the application, what parameters are used to initialize those components, and how those components hook up to each other. The ATG Control Center Components window provides a handy way to create, modify, and manage Nucleus components.

What is a repository in ATG?
A repository is simply an interface between ATG application and database. High-level, any web application is based on two things mainly viz. source-code and database. So, it is use source code to access database and display/create/modify some data (JDBC connections and stuff).

What is a component in ATG?
Components are basically the building blocks of ATG. Practically, a component is a configuration file (a simple text file with .properties extension), which uses a java class.ATG has specified a specific standard (or syntax), for these configuration files, so that they can use java classes to execute some logic. So basically, to create this building block known as a component, we need a java class and a configuration file.

What is a droplet?
A droplet is basically ATG's custom servlet which has some atg-specific customization. Droplet helps the developer to separate the presentation code from the business logic code.

What are the basic Droplets in Oracle ATG?
The most frequently used Droplets in Oracle ATG are:
  • IsEmpty
  • ForEach and IsNull
  • Redirect and Switch
  • TargetingForEach and TargetingFirst
  • TargetingRange and TargetingRandom
  • TargetingArray and TableForEach
  • RepositoryLookup and ItemLookupDroplet
  • CatalogItemLookupDroplet
What is the difference between droplet and servlet in ATG?
Servlet
  • It is a java class which extends HttpServlet
  • Servlet extends are HttpServlet extends, GenericServlet implements, and javax.servlet.Servlet
  • Servlet can be invoked from a jsp giving the servlet path and name
  • <jsp:forward page="/MyServlet"/> or <form method="POST" action="/ProfileSyncService">
  • Servlet is used to submit data, it acts as a controller. It is not used to put data.
  • Servlet cannot be nested.
Droplet
  • It is a java class which extends DynamoServlet (customized in atg)
  • Droplet extends are Dynamo Servlet extends, HttpServletService extend, ServletService implements javax.servlet.Servlet
  • Droplet can be embedded in jsp as <dsp:droplet name="sampleDroplet"> to fetch the information.
  • Droplet is used to render or put data in the db .It is used for display logic
  • Droplet can be nested
What is "multi" table in ATG?
<table type"=multi"> is used in the item-descriptor definition of ATG Repositories.
type="multi" is used in case of one-to-many or many-to-many mapping.

What is ATG Dynamo?
ATG Dynamo is the name of a J2EE application server offered by ATG and a web application framework for building web applications. The application framework can also be run on all major J2EE application servers (JBoss, WebLogic, WebSphere etc…). The framework forms the foundation of all ATG product such as its flagship eCommerce product which run some of the largest sites on the web.

What is Servlet Pipeline in ATG? And types of servlet pipeline?
Servlet pipeline is creating request handling pipeline.
All servlet in pipeline should implements "atg.servlet.pipeline.pipelinableServlet". 
Or extends "atg.servlet.pipeline.pipelinableServletImpl" and override service () method.
There are two types of servlet pipeline in ATG for handling requests
DAF (Dynamo Application Framework) Pipeline: It is a chain of servlets which is called when a JSP is requested.
DAS (Dynamo Application Server) Pipeline: It is used to handle JHTML (Java within HTML) requests. JHTML pages are usually ATG's out of the pages accessible from dyn/admin (for example, pages to update inventory in dyn/admin).

What is Formhandlers? What are the different types of Formhandlers in ATG?
FormHandlers are used when there are forms. They help to perform validation for the forms .There are three types of formhandlers in ATG
EmptyFormHandler: It implements DropletFormHandler interface. Provides empty implementation of methods.
GenericFormHandler: It extends EmptyFormHandler class. Adds basic error handling logic (usage of addFormException() method)
TransactionalFormHandler: Extends GenericFormHandler class. Form processing is done in transactions.

What is "ATG-Data" folder in ATG?
ATG-Data folder is created to hold ATG specific files and folders like logs, localconfig etc.This folder is created because, it is not feasible to write these files (like logs) inside the EAR.

What are PriceLists in ATG?
Price Lists allow you to target a specific set of prices to a specific group of customers. Price lists are managed through a single interface in the ACC. For example, price lists can be used to implement business to business pricing where each customer can have its own unique pricing for products based on contracts, RFQ and pre-negotiated prices.

What is the difference between getRequestDispatcher().forward() ,sendRedirect(), sendLocalRedirect() ?
getRequestDispatcher ().forward(): Same functionality as that in sendLocalRedirect(). This is a J2EE method.
sendRedirect ():It is using when user need to redirect to different site with full path. Redirects to the page specified in the argument. Absolute URL must be provided. Usually done when redirecting to other sites.
sendLocalRedirect (): It is using when user need to redirect on the same site with relative or full path. Also when we need to pass session id with the response. ATG Specific method. Appends JSESSIONID to url, if JSESSIONID cookie is not found. Also, relative URLs are converted to absolute URLs using this method.Usually used when redirecting to own site.

What is the difference between JSP and DSP tag libraries in ATG?
 DSP: DSP is an ATG specific tag libraries that involves in executing only DAF framework resources. Also, Dsp imports all objects of type class.
JSP: JSP involves in all the functionalities for web application development. Also, Jsp imports only the primitive data types.

What is the main difference between DAS and DAF servlet pipelines?
The main difference between the DAS and DAF servlet pipelines is that the DAS servlet pipeline automatically compiles the page from JHTML to Java, whereas the DAF servlet pipeline relies on the application server to handle the complete page compilation process.

What are the performance issues with ATG?
  • High levels of database activity
  • Long running SQL queries
  • CPU utilization problems
  • Slow response times
What are the Out of the box components with Session Scope in ATG?
  • /atg/userprofiling/Profile
  • /atg/commerce/ShoppingCart
In this Profile and Cart have to be present throughout a user session.

What is the ClientLockManager in ATG?
A ClientLockManager should be injected into the component of the Repository using the lockManager property
ATG provides a default ClientLockManager component:
/atg/dynamo/service/ClientLockManager
Thus, you can set an SQL Repository’s lockManager property as follows:
lockManager=/atg/dynamo/service/ClientLockManager

What kind of EARs does ATG Support?
We can create two types of ear in ATG:
Development mode ear: the application draws its Nucleus configuration information from the ATG Web Commerce installation.
Standalone mode ear: the application stores its configuration in the EAR file itself.
The main difference development mode ear and standalone mode ear is Loading configuration and Handling output files such as log files and state information and dynamo.env

What are scenarios in ATG?
Scenario anticipates and tracks the actions of the people who visit your Web site and responds appropriately by, for example, tailoring the content of the site, offering price promotions, or sending targeted e-mail messages

Which is the IBM product used with ATG?
  • WebSphere Application Server
  • Eclipse IDE
What is ‘difference between Simple cache and Locked Cache in ATG?
Simple Cache: Simple Cache is handles caches in each server locally; no attempt is made to synchronize updates across multiple server instances. This mode is suitable for read-only repositories such as product catalogs.
Locked Cache: It uses read and write locks to synchronize access to items stored by multiple caches. A multi-server application might require locked caching, where only one ATG instance at a time has write access to the cached data of a given item type.

What is the Item Caches and Query cache in ATG?
SQL repository generally maintains two caches:
Item Caches: Item caches hold the values of repository items, indexed by repository IDs. An item cache entry is invalidated when that item is updated. The scope of an entry’s invalidation depends on its caching mode.
Query Caches: Query caches hold the repository IDs of items that match given queries. When a query returns repository items whose item descriptor enables query caching, the result set is cached as follows:
  • The query cache stores the repository IDs.
  • The item cache stores the corresponding repository items.
What are the OOTB Handlers in Oracle ATG Commerce?
/atg/commerce/catalog/CompareSkusFormHandler
/atg/commerce/catalog/comparison/ProductListHandler
/atg/commerce/promotion/GiftWithPurchaseFormHandler
/atg/commerce/promotion/CouponFormHandler
/atg/commerce/inventory/InventoryFormHandler
/atg/commerce/gifts/GiftlistFormHandler
/atg/commerce/order/purchase/UpdateElectronicShippingGroupFormHandler
/atg/commerce/order/purchase/SaveOrderFormHandler
/atg/commerce/order/purchase/CancelOrderFormHandler
/atg/commerce/order/purchase/CreateCreditCardFormHandler
/atg/commerce/order/purchase/ShippingGroupFormHandler
/atg/commerce/order/purchase/PaymentGroupFormHandler
/atg/commerce/order/purchase/ExpressCheckoutFormHandler
/atg/commerce/order/purchase/CreateInvoiceRequestFormHandler
/atg/commerce/order/purchase/CommitOrderFormHandler
/atg/commerce/order/purchase/CostCenterFormHandler
/atg/commerce/order/purchase/GCCartModifierFormHandler
/atg/commerce/order/purchase/UpdateCreditCardFormHandler
/atg/commerce/order/purchase/UpdateHardgoodShippingGroupFormHandler
/atg/commerce/order/purchase/PaymentAddressFormHandler
/atg/commerce/order/purchase/CartModifierFormHandler
/atg/commerce/order/purchase/CreateElectronicShippingGroupFormHandler
/atg/commerce/order/purchase/CreateHardgoodShippingGroupFormHandler
/atg/commerce/order/scheduled/ScheduledOrderFormHandler
/atg/commerce/approval/ApprovalFormHandler
/atg/search/formhandlers/BrowseFormHandler
/atg/search/formhandlers/CategorizeFormHandler
/atg/search/formhandlers/ViewDocumentFormHandler
/atg/search/formhandlers/QueryFormHandler
/atg/search/formhandlers/StructuredQueryFormHandler
/atg/search/formhandlers/TypeAheadFormHandler
/atg/search/formhandlers/SimilarDocsFormHandler
/atg/search/formhandlers/TreeQueryFormHandler
/atg/userprofiling/MultiUserUpdateFormHandler
/atg/userprofiling/MultiProfileUpdateFormHandler
/atg/userprofiling/ForgotPasswordHandler
/atg/userprofiling/ProfileAdminFormHandler
/atg/userprofiling/MultiUserAddFormHandler
/atg/userprofiling/ProfileFormHandler
/atg/userprofiling/MultiProfileAddFormHandler
/atg/integrations/RepositoryChangesToXMLHandler
/atg/integrations/RepositoryToXMLHandler
/atg/sitemap/SitemapGeneratorFormHandler
/atg/endeca/assembler/cartridge/handler/NavigationCartridgeHandler
/atg/endeca/assembler/cartridge/handler/RecordBasedNavigationCartridgeHandler
/atg/multisite/DefaultInactiveSiteHandler
/atg/userdirectory/droplet/CreateOrganizationFormHandler
/atg/reporting/datacollection/search/SearchClickThroughHistoryHandler
/atg/commerce/catalog/custom/CatalogFolderPropertiesChangedHandler
/atg/commerce/catalog/custom/CategoryPropertiesChangedHandler
/atg/commerce/catalog/custom/CatalogPropertiesChangedHandler
/atg/commerce/catalog/RunServiceFormHandler
/atg/commerce/order/DocumentBeanHandler
/atg/webservice/security/NucleusAccessControlFormHandler
/atg/dynamo/adminpipeline/AdminHandler
/atg/dynamo/service/event/QueuedActionHandler
/atg/dynamo/service/EmailFormHandler
/atg/dynamo/templates/SimpleSQLFormHandler
/atg/dynamo/servlet/adminpipeline/AdminHandler
/atg/dynamo/servlet/dafpipeline/DynamoHandler
/atg/dynamo/servlet/sessionhistory/SessionHistoryHandler
/atg/dynamo/servlet/pipeline/DynamoHandler
/atg/dynamo/servlet/ParameterHandler
/atg/dynamo/admin/context/AdminContextFormHandler
/atg/registry/EventHandlers
/atg/registry/EventHandlers/LoggingEventHandler
/atg/registry/EventHandlers/RegisterHandler
/atg/registry/EventHandlers/LoginHandler
/atg/deployment/file/FileDeploymentHandler
Request to Download PDF
Axact

Axact

Vestibulum bibendum felis sit amet dolor auctor molestie. In dignissim eget nibh id dapibus. Fusce et suscipit orci. Aliquam sit amet urna lorem. Duis eu imperdiet nunc, non imperdiet libero.

Post A Comment:

0 comments: