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.
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. BCC means Business Control Center: UI for Business Users (to upload content to Catalogs, create promotions etc) 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. 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). 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. 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. The most frequently used Droplets in Oracle ATG are: Servlet Droplet <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. 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. 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). 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. 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. 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. 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. 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. 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. In this Profile and Cart have to be present throughout a user session. 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 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 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 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. 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: /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 What is ATG?
What is BCC in ATG?
What is Nucleus in ATG?
What is a repository in ATG?
What is a component in ATG?
What is a droplet?
What are the basic Droplets in Oracle ATG?
What is the difference between droplet and servlet in ATG?
What is multi table in ATG?
What is ATG Dynamo?
What is Servlet Pipeline in ATG? And types of servlet pipeline?
What is Formhandlers? What are the different types of Formhandlers in ATG?
What is ATG-Data folder in ATG?
What are PriceLists in ATG?
What is the difference between getRequestDispatcher().forward() ,sendRedirect(), sendLocalRedirect() ?
What is the difference between JSP and DSP tag libraries in ATG?
What is the main difference between DAS and DAF servlet pipelines?
What are the performance issues with ATG?
What are the Out of the box components with Session Scope in ATG?
What is the ClientLockManager in ATG?
What kind of EARs does ATG Support?
What are scenarios in ATG?
Which is the IBM product used with ATG?
What is ‘difference between Simple cache and Locked Cache in ATG?
What is the Item Caches and Query cache in ATG?
What are the OOTB Handlers in Oracle ATG Commerce?
Related posts:
- Oracle Architecture Interview Questions and Answers
- Oracle ATG Interview Questions and Answers
- Oracle BPEL Interview Questions and Answers
- Oracle BPM Interview Questions and Answers
- Oracle CRM Interview Questions and Answers
- Oracle Golden Gate Interview Questions and Answers
- Oracle HRMS Interview Questions and Answers
- Oracle SOA Interview Questions and Answers