100 Top ATG Job Interview Questions and Answers

1. Define what is ATG?

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

2. Mention Define 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.

3. Define what is a droplet in ATG?

Basically, a droplet is an ATG’s custom servlet which has some age-specific customization. It can be correlated with the HttpServlet in J2EE, but here we use DynamoServlet class which implements java.servlet.Servlet interface in ATG.

Droplets are mainly used to abstract out the business logic in the server-side code.

4. Define 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.

5. Define what is Atg Pipeline?

At Pipeline is a variant of Servlet Pipeline, In an ATG pipeline, the sequence of Programs are executed in a queue.
Below is the ATG servlet pipeline
/atg/dynamo/servlet/pipeline/DynamoHandler
/atg/dynamo/servlet/pipeline/TransactionServlet
/atg/dynamo/servlet/pipeline/PathAuthenticationServlet
/atg/dynamo/servlet/pipeline/URLArgumentServlet
/atg/dynamo/servlet/pipeline/CookieServlet
/atg/dynamo/servlet/pipeline/ContextPathServlet
/atg/dynamo/servlet/pipeline/ServletPathServlet
/atg/dynamo/servlet/pipeline/SessionServlet
/atg/dynamo/servlet/pipeline/DynamoServlet
/atg/dynamo/servlet/pipeline/SessionSaverServlet
/atg/dynamo/servlet/pipeline/FormLoginServlet
/atg/dynamo/servlet/pipeline/WebApplicationDispatcherServlet
/atg/dynamo/servlet/pipeline/CgiServlet
/atg/dynamo/servlet/pipeline/ServletPathDispatcher
/atg/dynamo/servlet/pipeline/FileFinderServlet
/atg/dynamo/servlet/pipeline/MimeTyperServlet
/atg/dynamo/servlet/pipeline/MimeTypeDispatcher
/atg/dynamo/servlet/pipeline/FileServlet
It starts with the DynamoHandler which adds the Dynamo specific request and response objects to the request’s context. Actually the list of servlets you will see depends on which modules you have running. This is the DAS configuration DPS and other modules can and do add more servlets to the pipeline.

6. Define what is ATG component scope?

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

7. Define what is ATG DPS? Define what are its elements?

ATG DPS refers to the ATG Dynamo personalization system. It is driven by User Profile Data and business rules designed to deliver the right content to the right user.
There are three key elements of the ATG DPS personalization System.

  1. User Profile Management
  2. Content Targetting
  3. Targeted E-mail
    User Profile Management

When a person visits a website driven by ATG Dynamo Personalization Server(ATG DPS) website for the first time, The person is allowed to create its own User Profile.
Once created, DPS stores that User`s Profile in its database repository. This profile contains a list of properties that describe the person`s characteristics, such as the name they entered in a registration form or the date of their last login. ATG DPS uses this profile information stored in its database repository to provided targeted content to each other.

Content Targeting

Targeting is the process of displaying

  • Content items
  • To a particular user
  • At a particular time
  • In a particular context and
  • On a particular rule set.

In the DPS rule-based system, business managers create rule sets called content targeters that control how content is displayed on the web site.

Targeting Email
DPS includes a Targeted Email service for composing and delivering personalized email using the same profile groups and targeting rules you use to deliver content on your web site. Also if you have Dynamo Scenario Server installed, you can use scenarios to deliver targeted email. You can use targeted email to perform below activities.

  1. Send a confirmation message to a new user who registers at your site.
  2. Notify frequent customers of special sales.
  3. Notify all users that have not logged into your site in several months that their accounts will be closed soon.
  4. Send out a mass mailing with each message tailored to its recipient.

8. how you can create a JSP in ATG or JSP page is processed in ATG?

You can create a JSP in ATG or JSP page is processed in ATG by following steps,

  • User access the browser, type a URL and send a request for a JSP to ATG application
  • ATG application receives the request for the JSP file you requested
  • Once the JSP is found it is compiled into JAVA code
  • When all the content is fetched by the Java code, the end result is converted into plain HTML
  • This HTML page is sent back to the browser
  • This is how the JSP page is processed in ATG application.

9. Define 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

10. Define what is the default Scope of a Component?

The default scope of a component is Session.

11. Define what are the two methods in a component?

The two methods in a component are getters & setters

12. Mention Define what is the difference between FormHandler, droplet, and servlet?

The difference between FormHandler, droplet, and servlet,

FormHandlers are used when there are forms. They help to perform validation for the forms
Droplet is from ATG, and it is used to put or render data in the database
Servlet is used to submit data, it acts as a controller. It is not used to put data

13. Define the Advantages of DAF?

  1. It is used to deal with huge data
  2. It can write any object of type 1 call into the DB.
  3. Dynamo messaging using patch bay and JMS
  4. Dependency injection

14. Define 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

15. Define what are the two types of cache that ATG repository maintains?

The two types of cache that ATG repository maintains

  1. Item Cache
  2. Query Cache

16. Define what is ATG DPS? Define what are its elements?

ATG DPS is referred to ATG Dynamo personalization system. The key elements of ATG are

  1. User Profile Management
  2. Content Targetting
  3. Targeted E-mail

17. Define what is the scope of Dynamo Components?

The scope of Dynamo Components are

  1. session
  2. request
  3. Global
  4. The default scope is Global

18. Define what is the main difference between JSP and DSP tag libraries?

The main difference between JSP and DSP tag libraries are

  • Dsp is an ATG specific tag libraries that involve 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 primitive data types.

19. Define 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.

20. Define what is the difference between DSP and dispel 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.

ATG Questions pdf free download::

21. Define what is the standard at.repository.QueryBuilder interface defines?

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

22. Define what is the advantage of the Nucleus in ATG?

The advantage of the Nucleus in ATG is,

  • It renders a simple way to write new components
  • In the 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

23. 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.

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

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

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

25. Define what is a Nucleus in ATG?

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

26. By using Define what sign in the configuration files do nucleus properties are processed?

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

27. Define what is a Nucleus?

The nucleus is ATG`s open Object Application Framework. ATG 7 is said to be a component-centric development platform. The ATG 7 Web applications are nothing but individual JavaBean components assembled together. These JavaBean components are configured and linked together by .properties files within the Nucleus.
In the Nucleus, each service is packaged as a JavaBean or set of JavaBeans. These JavaBeans are configured individually and mounted into a namespace. The beans then interconnect with the beans representing other services. The nucleus is responsible for interpreting the component configurations and the management of the component namespace.

Dynamo uses the Nucleus framework to organize components into a hierarchical structure (similar to a directory structure). Each Nucleus service has a unique Nucleus name. For example, the default javax.sql.DataSource component is located at /atg/dynamo/service/JDBC/JTA Datasource
The nucleus is the core of the entire ATG system. It creates and configures Nucleus components (also called beans and JavaBeans) and organizes them into a hierarchical namespace, essentially giving them a place to live so they can be referenced by other components. By reading the .properties files associated with each component, Its Nucleus which figures out that which components are to be used in an application, initializes them to their default values and how decides about how they connect to each other. This model makes it easier for the developers to build ATG applications by configuring and using the pre-built components instead of writing a lot of Java code from scratch.

28. Define what is ATG Repository?

ATG Repository refers to the ATG`s way of accessing the Database through programs. It is someDefine what similar to Define what Hibernate offers, Separating the Application Logic from that of Database. So Atg repository provides a fine-grained abstraction between the application logic and Database. Thus it supports the ATG`s Data Anywhere paradigm, the application logic created by developers to interact with data need not change for any change in the source of that data. ATG repository architecture ensures that the source of the data is hidden behind the Dynamo Repository abstraction. It would be easy to change from a relational data source to another or to an LDAP directory since none of the application logic would need to change. Once data is retrieved from a data source it is transformed into an object-oriented representation. Manipulation of the data can then be done using simple getPropertyValue and setPropertyValue methods. The Repository API ties in closely with ATG’s targeting APIs, so you can retrieve items from the repository based on a variety of targeting rules, as well as retrieving specifically identified items.

29. Define what is class Hierarchy for ATG Formhandlers? How to create a FormHandler?

At the top of ATG form handler class hierarchy there exists the DropletFormHandlerinterface. Then come, three different classes provided by Dynamo which extend this interface. They are as below

  • atg.droplet.EmptyFormHandler
  • atg.droplet.GenericFormHandler
  • atg.droplet.TransactionalFormHandler

EmptyFormHandler is the simplest to implement. It implements the DropletFormHandler interface and defines blank body implementations of the methods in this interface.

GenericFormHandler extends EmptyFormHandler. It defines the simple implementations of the DropletFormHandler interface’s methods and the basic error handling logic. If errors occur in processing a form that uses GenericFormHandler, the errors are saved and exposed as properties of the form handler component.

TransactionalFormHandler extends GenericFormHandler, It treats the form processing operation as a transaction. Though the methods invoked by this form handler are processed discretely, but their results are saved simultaneously. The before and afterGet methods do transaction management. This establishes the transaction before any of your properties are set or handler methods are called.

30. Define what are ATG Form Handlers?

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

31. How can I resolve/initialize a particular component without injecting in any component.?

ATG provides one method resolveName(the component name we have to provide)

in GenericService class using it we can initialize the component.

32. Define what are all the input parameters for ForEach Droplet?

array,elementName,indexName.

33. How we can achieve Inheritance in ATG Repository level?

sub-type-property=”type”

super-type=” super item”

Ex: 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.

34. when or in which scenario I will go for ItemLookupDroplet?

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

35. How connection will give from ATG module to DB?

/atg/dynamo/service/JDBC/JTDataSource.properties

Using JTDataSource component will maintain the Schema/DB connection.