Oracle ATG Interview Questions

Explain what is ATG?

ATG is a framework for creating web applications. It is based on J2EE standards.

Mention what is the core of ATG?

The core of the ATG platform is

DAF or Dynamo Application Framework ,which implements a component development model based on JavaServer Pages (JSPs) and JavaBeans.

Why does Oracle ATG Web Commerce only use durable topics? Aren’t some messages sent to only one component that might be listening?

Topics are used because various subsystems might be interested in the message being sent. Examples of this include the Modify Order Notification message. It can be sent by any of the components in the system. The Order Ful filler and the Order Change Handler components both listen for this message but each does something different with it. Order Ful filler might determine that it now has control of the shipping group whose modifications are included in the Modify Order Notification message. The Order Change Handler might choose to send some other message as an event into another subsystem.

Explain what is ATG component scope?

Scope is nothing but a nucleus variable, which tells the nucleus till when a component will exist.

Mention what is the main difference between JSP and DSP tag libraries?

The main difference between JSP and DSP tag libraries are

Dsp is a ATG specific tag libraries that involves in executing only DAF framework resources. Also, Dsp imports all objects of type class.

JSP involves in all the functionalities for web application development. Also, Jsp imports only the primitive data types.

Explain what if the ATG applications are deployed on a cluster of servers?

If the ATG applications are deployed on a cluster of servers then it is better to go for either Distributed caching or Locked caching.

Mention what is the difference between dsp and dspel tags?

DSP tags : DSP tag library tags support runtime expressions. These tags use an id attribute to name the scripting variables they create.

DSPEL tag : DSPEL tag library tags support JSTL Expression Language (EL) elements that are also evaluated at runtime.

Desired to gain proficiency on Oracle ATG? Explore the blog post on Oracle ATG training to become a pro in Oracle ATG.

Mention what is the standard atg.repository.QueryBuilder interface defines?

The standard atg.repository.QueryBuilder interface defines available query operations that repositories should support.

Mention what is the advantage of Nucleus in ATG?

The advantage of Nucleus in ATG are,

It renders a simple way to write new components

In nucleus, applications don’t need to contain code to create instances of components. It is created and administered through configuration files

By organizing configuration files into layers Nucleus provides a convenient way to modify and extend component properties

Nucleus provides a large number of out-of-the-box generalized service components
Nucleus makes it easy for application developers to set the scope of their components

Explain how can you embed the output of a Java servlet (an ATG servlet bean) in a JSP?

In order to embed the output of a Java servlet (an ATG servlet bean) in a JSP you need to add dsp:droplet tag with a bean attribute.

Mention in order to use custom ATG servlet beans with the ATG Control Center what is required?

In order to use custom ATG servlet beans with the ATG Control Center you need to apply following requirements:

You must make a BeanInfo file that defines the servlet bean’s parameters
The class must extend atg.servlet.DynamoServlet

By using what sign in the configuration files does nucleus properties are processed?

The nucleus properties are processed by using the $ sign in the configuration files.

Explain what is a component in ATG?

In ATG a component is simply is a configuration file (a simple text file with .properties extension), which uses a java class.

Explain what is a Nucleus in ATG?

In ATG, Nucleus is referred to the ATG container for components. It provides an hierarchical name space to component. Each component has a unique full name so that pages and other components can reference it.

Where do we deal with Payment groups? When do we charge?

The Order Fulfiller module handles payment groups. The default implementation charges the whole order either at the time of the order’s first shipment or at the time of the order’s last shipment. This is configurable by changing the state of the Settle On First Shipment property in the Order Fulfiller to true or false as is needed by the business rules.

Why does Commerce use Java Messaging Service (JMS)?

JMS allows you to build a distributed system that enables disparate subsystems to handle fulfillment for various parts of the fulfillment process. JMS and messaging allows you to abstract out all the connections and gives you the flexibility to adapt your existing systems to the Commerce system. For example, the Order Fulfiller system might be located on the same set of machines in the site hosting facility. The Hard good Fulfiller might be based in some other set of headquarters. The actual warehouse that does the shipping might be in another location. If the warehouse receives an e-mail when a shipping group is submitted, then a service can listen on the JMS message indicating that the shipping group is to be shipped. An e-mail can be constructed from the contents of the message.

What are modification objects? What purpose do they serve?

The Modification object is an abstraction that tries to capture the various ways in which changes can occur to the order. There are several types of modifications: add, remove, or update. Modifications can be targeted and therefore can modify shipping groups, payment groups, orders or relationships. Modifications contain a status field indicating whether the modification was successful or a failure.

This abstraction allows the system the flexibility to interface with existing legacy or distributed systems. A disparate system can construct an array of Modifications that will capture the types of changes that it is requesting or the modifications it already performed.

Refer to the sections on Modify Order Class and Modify Order Notification Class for more information.

How do scenarios find out about what is going on in the fulfillment system?

The scenario engine receives messages that are sent during the fulfillment process. Those messages are documented in the Inventory JMS Messages section.

The events contain the profile and the information needed for performing an action on those events. For example, the ShippingGroupShipped event contains the profile, the order and the shipping group that was shipped. This allows the scenario writer to create an action that sends an e-mail to the user (the profile) with the order information (from the order) and the details of the shipping group that was shipped (the shipping group). For more information, refer to the Order Fulfillment Events section.

How do I change the behavior of Modify Order messages?

The Modification Handler class deals with all the Modify Order messages. Both the Order Fulfiller and the Hard good Fulfiller have their own versions of those handler classes called Order Fulfiller Modification Handler and the Hard good Fulfiller Modification Handler. The class contains two methods handle Modify Order and handle Modify Order Notification.

To change the behavior of one of those two handling methods, override the method if you extended the existing Order Fulfiller Modification Handler or HardgoodFulfillerModificationHandler classes. Otherwise, a new class implementing the Modification Handler interface should be written and configured for the Order Fulfiller or Hard good Fulfiller.

How do I change the behavior of Modify Order Notification messages?

See the answer for changing the handling of the ModifyOrder message in the previous question.

How do we deal with the Modification IDs? Who is generating them? How do we guarantee the uniqueness?

Modification IDs are generated using the ID generator. The combination of the message source and message ID need to be unique to allow external systems to track the various messages in the system.

Mention what are the types of Pipeline in ATG?

The types of request handling pipelines used by Dynamo

DAS Servlet pipeline – It is used to handle JHTML request
DAF Servlet Pipeline – It is used to handle the JSP request

Mention what is the default Scope of a Component?

The default scope of a component is Session.

Mention what are the two methods in a component?

The two methods in a component are getters & setters

Mention the Advantages of DAF?

It is used to deal huge data

It can write any object of type 1 call in to the db.

Dynamo messaging using patch bay and jms

Dependency injection

Explain what are the performance issues with ATG?

The performance issues with ATG include

High levels of database activity

CPU utilization problems

long running SQL queries

Slow response times

Mention what are the two types of cache that ATG repository maintains?

The two types of cache that ATG repository maintains

-Item Cache

-Query Cache

“At TekSlate, we are trying to create high quality tutorials and articles, if you think any information is incorrect or want to add anything to the article, please feel free to get in touch with us at, we will update the article in 24 hours.”

0 Responses on Oracle ATG Interview Questions"

    Leave a Message

    Your email address will not be published. Required fields are marked *


    Please leave a message and we'll get back to you soon.

    3 + 5