Skip to main content

ATG - basic concepts of ATG

This blog is for the ATG beginners to get some basic overview about ATG. I just given the ATG concepts as a list of numbered points for the ease of understanding.

1. At the framework level, ATG is a
              java based application platform for hosting web-based applications, as well as RMI accessible business components,
              with an ORM layer,
              a component container,
              an MVC framework,
              and a set of tag libraries for JSP.

2. Art Technology Group(ATG)'s Dynamo Application Server (DAS) is a Java EE compliant application server. DAS is no longer actively developed as ATG recommends using other Java EE applications servers for its products such as BEA WebLogic, JBoss or IBM WebSphere.

3. Prior to ATG 2007, JHTML was used instead of JSP for view purpose. JHTML stands for Java HTML. This is a page authoring system developed at Art Technology Group (ATG).Sun Microsystems licensed parts of this technology and developed the JSP system from the ATG page compilation system.

4. ATG mainly works on the basis of following concepts:
       Nucleus
      Droplets
       DSP Tag Libraries
      Form Handlers
      Repository

5. Nucleus:  Nucleus is server side java beans. To use ATG platform functionality, a web application needs to start Nucleus by invoking atg.nucleus.servlet.NucleusServlet. It’s essentially an object container that manages the lifecycle of POJOs using reflection and dependency injection.

6. Droplet: Droplet is a Servlet and is also a Java bean. Advantage of droplet is that you can have multiple Droplets in a single page. Droplets can be nested and can pass parameters to each other.

7. DSP Tag Libraries: Dynamo Server Pages is a set of tags that ATG provides, that allow us to access the functionality provided by the Dynamo Application Framework such as accessing Nucleus componenets, passing parameters,...

8. Form Handler: ATG Form Handlers are components for validating and processing html forms, calling business components and managing flow between a limited set of pages (e.g. success/error), so a bit like Struts Action classes in that they mediate between the view and model. ATG provides hundreds of readymade form handlers for performing all sorts of tasks, like updating a customer profile, managing your shopping cart, checking out, or interacting with a repository.

9. Repository: A repository is a data access layer, which gives a generic representation for a data store.

10. Logging: ATG also provides a logging framework which is essentially a wrapper over log4j. A nice feature of this is that you can turn on logging for a particular component within a web browser. ATG also provides a performance logging framework which you can plug into components, and is very useful for identifying bottlenecks or problem areas in your code as it lets you browse and drill down into the performance timings and memory usage of components.

Following are the main administaration UIs provided by ATG

11. Dynamo administration: All the ATG components can be browsed and the properties can be modified at run time using dyn/admin. By clicking "View Service Configuration",  you can view the component in different modules in the hierachy.

12. ACC > ATG Control Centre: Browse and edit component configurations, Build scenarios, View and edit repository data. ATG provides a unified view of your application's data through the ATG Control Center which is a graphical user interface that uses the Repository interfaces to allow users to create, query, update, and remove repository items.

13. BCC >  Business Control Center: The ATG Business Control Center is a browser-based interface that you can use to create and edit many of the elements required to set up and maintain an ATG-based web site. This can be used for doing the Search Administration  and Content Administration.

14. CA > Commerce Administration: ATG Commerce Assist is a customizable and deployable customer service application that enables a Customer Service Representative (CSR) to perform the following tasks for an ATG Commerce site: Create and manage organization profiles (ATG Business Commerce only) , Create and manage customer profiles, Create and manage orders,  Issue refunds and exchanges, Process returned items, Research customer activity.


Comments

  1. Nice...and thanks for this article.

    ReplyDelete
  2. Good one for beginner. Any change in ATG10 ?

    ReplyDelete
  3. Thanks Sir,
    It helps me, Can I have Some more Stuff regarding ATG For Complete Beginners

    ReplyDelete

Post a Comment

Popular posts from this blog

JBoss - know more about the JBoss directory structure

Fundamentally, the JBoss architecture consists of the JMX MBean server, the microkernel, and a set of pluggable component services - the MBeans. The JBoss Application Server ships with three different server configurations. Within the <JBoss_Home>/server directory, you will find three subdirectories: minimal, default and all. The default configuration is the one used if you don’t specify another one when starting up the server. If you want to know which services are configured in each of these instances, look at the jboss-service.xml file in the <JBoss_Home>/server/<instance-name>/conf/ directory and also the configuration files in the <JBoss_Home>/server/<instance-name>/deploy directory. JBoss 4.0 features an embedded Apache Tomcat 5.5 servlet container. conf --> The conf directory contains the jboss-service.xml bootstrap descriptor file for a given server configuration. This has the jboss-log4j.xml file which configures the Apach...

ATG Order schema ER diagram

Check out the Product Catalog  schema ER-Diagram @  http://tips4ufromsony.blogspot.in/2012/01/atg-product-catalog-schema-er-diagram.html Check out the User Profile  schema ER-Diagram @ http://tips4ufromsony.blogspot.in/2012/03/atg-user-profile-schema-er-diagram.html If you would like to know the relationship between different Order schema tables, please find below screen shots of  Order schema ER Diagrams.

ATG Search - high level overview of product-catalog-output-config.xml and XHTMLs

The definition file format begins with a top-level item element that specifies the repository and item descriptor to use, and then lists the properties of that item type to include. The top-level item element has the is-document attribute set to true. This attribute specifies that an XHTML document should be generated for each item of that type (in this case, each user item). Property values that come from standard JavaBean properties of the RepositoryItem object (rather than dynamic bean properties) are specified using a dollar-sign ($) prefix. The item element has an is-multi attribute for specifying multi-value properties. If a property is an Array, Collection or Map  you should set this attribute to true. Eeach ATG Search document is uniquely identified by a URL (typically the path name of the file on the file system). In the XHTML documents that the ATG platform generates from repository items, meta properties are represented by meta tags in the head of the document, whi...

ATG Product Catalog schema ER diagram

Check out the O rder schema ER-Diagram @   http://tips4ufromsony.blogspot.in/2012/02/atg-order-schema-er-diagram.html Check out the User Profile  schema ER-Diagram @ http://tips4ufromsony.blogspot.in/2012/03/atg-user-profile-schema-er-diagram.html If you would like to know the relationship between different Product Catalog tables, please find below screen shots of  Product Catalog schema ER Diagrams.

How can we use SOAP UI to test ATG search

The call from the ATG commerce instance ( Estore instance ) to the search engine is done using the SOAP protocol. Read more about this architecture @  http://tips4ufromsony.blogspot.com/2011/11/atg-search-architectural-flow-search.html . If you have a SOAP UI tool (get it from @  http://www.soapui.org/ ), you could test the request/response from the search engine. You could find the wsdl for this SOAP in the folder in which your ATG search engine is installed. Below screen shot has the deatils of the wsdl : To call the search engine you need to know the port in which the search engine is running. You could get it from the SearchEngineService component of the commerce instance @ /dyn/admin/nucleus/atg/search/routing/SearchEngineService/.  Once you have these details, you could call the search engine with a sample request and a query string to get the response.