Top 34 Oracle Atg Interview Questions You Must Prepare 03.Dec.2022

To get complete item by providing id as a input parameter to that droplet.

The ATG framework is used by Dynamo ATG.

Express- Logged in user has information stored

Guest- will enter all information (shipping, billing, review steps) and information is not saved

we have to create component/properties file:

$class=atg.adapter.gsa.GSARepository
$scope=global
XMLToolsFactory=/atg/dynamo/service/xml/XMLToolsFactory
dataSource=/atg/dynamo/service/jdbc/JTDataSource
definitionFiles=/com/my/myRepository.xml
idGenerator=/atg/dynamo/service/IdGenerator
tractionManager=/atg/dynamo/traction/TractionManager

Explanantion : have to tell all the properties in our component

Class is GSARepository OOTB it will do all operations getitem, getiteforupdate

XMLToolsFactory : for parsing xml

definitionFiles : items info will keep here

idGenerator : for generating unique ids

tractionManager : for traction purpose either to commit or roll back i particular traction/task.

ATG Formhandler is the intermediate class that comes in between a jsp form value and its bean class. They are there to evaluate the validity of form data before it is submitted, write data to and read data from a database or repository, and direct the user to different pages, depending on the results of the form submission

There are three different types of scopes for ATG components namely 

@request

@session

@Global

Global is the default scope

ATG Dynamo or Dynamo Application Server(DAS) is a J2EE application server from Art Technology Group. 

Atg tag library is a variant of jsp standard tag library. However atg provides its own set of tag libraries e.g. dsp,dspel, core

Create “/config/atg/registry/ContentRepositories.properties” file and append our repository file (XML )name to the “initialRepositories” property

Eg: initialRepositories+= /myModule/mySampleRepository

DAS DPS DSS DCS : from left to right

We maintained it in MANIFEST.MF file

Manifest-Version: 1.0

ATG-Config-Path: config/

ATG-Required: DAS DPS DSS DCS DAS

ATG-J2EE: j2ee-apps/text J2ee

ATG-EAR-Module: j2ee-apps/text J2ee

ATG-Class-Path: bin

Applications often depend on other modules, these dependencies are declared in this file.The file name is MANIFEST.MF and resides in the META_INF directory. It specifies ATG-Class-Path,ATG-Required, ATG-Config-Path etc

Business Control Center- UI for Business Users (to upload content to Catalogs, create promotions etc)

Caching modes are set at the item descriptor level, through the <item-descriptor> tag’s cache-mode attribute. The default caching mode is simple caching. To set a different caching mode on an item descriptor, set cache-mode to one of the following values: 

  • simple
  • locked
  • distributed (distributed TCP caching)
  • distributedJMS (distributed JMS caching)
  • distributedHybrid (distributed hybrid caching)

The ATG framework is used for building Web applications which can run on JBOSS, WebLogic, WebSphere and other J2EE application servers.

Performance problems come in many shapes and sizes, but they all mean that the processing of some task is not happening at the expected, and previously observed speed. Performance issues include CPU utilization problems, slow response times, high levels of db activitivities, SQL queries that run long time, Slow CA deployments, just to name a few.

Properties set in later entries in the CONFIGPATH override earlier entries. By adding a entry to the config path you can customize any components in the system without losing the original configuration information.You can have a global configuration common to all machines then have machine specific information in the last layer.

Is a URL mounting point of the web application. It decides what URL site site visitors will enter to get to the site. 

“context-root” is specified in the “application.xml” file in the “j2ee-apps” folder.

Add to shopping cart, Login, Billing address, Payment, eMail confirmation, Confirm button, Shipped eMail address

Global: components are accessible from all other components.Not available across ATG servers, each server has its own copy of global scoped component.

Session: me every user of the application gets a separate copy of the component, and component exists for duration of the user’s session.

Request : A component is called in for returning the values of a search, so each time a search is triggered an object instantiation happens and its gone when the result page is closed.Which me the scope of the search component is request.

Eg:-formhandlers normally have a request scope.

Nucleus is a ATG container for components. It creates and initializes component instances on request. It manages the components scope. It locates the properties file for the component and through that it reaches the class file of the component. Nucleus components are Java Objects each with an associated .properties file which store configuration values.

sub-type-property=”type”

super-type=”super item”

Ex : <item-descriptor name=”shippingGroup” sub-type-property=”type” />

<item-descriptor name=”hardgoodShippingGroup” super-type=”shippingGroup” />

Here hardgoodShippingGroup is the subitem(like class) shippingGroup is the super Item(class)

Hence all the features/properties of shippingGroup we can get it in hardgoodShippingGroup item also.

  1. When your property in the item-descriptor needs to hold only one value which is of type of any other repository item, use ‘item-type=”item name”’ attribute.
  2. when your property needs to hold a collection (set/array/map/list) of items of type of any other repository item,use data-type = “set/array/map/list” and component-item-type=”another Item name” to specify what type each one of the element in the collection

Any component whose base class implements “ApplicationLogging” Interface can use atg logging infrastructure. Logging can be done per-component, per-module/per-application basis. Error, Warning,Info & Debug messages are the various logging mechanisms.First three are logged by default, whereas the Debug messages are just for debugging purpose and should be removed when the code goes into production.Logging is managed using the “GLOBAL.properties” file, which specfies the log levels of various modules.

we can create it in 2 ways:

I) using ACC

II)by creating java+properties file in our module/Eclipse

In general, the Custom tags will be written by the developer.

Dsp is all ready to use. you can use to render content dynamically by linking Nucleus components directly to your JSPs. Especially, the (dsp) tag library, allow you connect your JSP content to the Java code at work behind the scenes so you can separate your application logic from your presentation layer.

ATG 7 provides you with three tag libraries: JSTL, DSP/DSPEL, and Core. You can find these tag libraries in /DAS/taglib.

Mainly i used in my application level:

  1. CartModifierFormHandler
  2. PaymentGroupFormHandler
  3. ShippingGroupFormHandler
  4. CommitOrderFormHandler
  5. GenericFormHandler
  6. ProfileFormHandler

HandleX methods contain the actual function to be performed. its a method. Like in ProfileFormHandler- handleLogin

ATG provides one method resolveName(component name we have to provide) in GenericService class using it we can initialise the component.

Using ATG Dynamo, this is the process for entering into a Database using programs while keeping the actual application logic apart from the Database.

Enables one repository item to derive property values from another repository item or from another property in the same repository item.

/atg/dynamo/service/jdbc/JTDataSource.properties Using JTDataSource component will maintain the Schema/DB connection.

One can start or stop components manually using an ACC.We can instruct nucleus to start a component during server startup, this is done by modifying the “Initial.properties” file.Add the component name to the “initialServices” property inside the Initial.properties file.