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

ATG Search - how to define the search configuration rules

ATG Search configuration rules are specified through the ATG BCC Merchandising UI. Over here you could specify the below set of rules Redirection rules --> If you want to redirect to another page other than the search result page for a search keyword Property Prioritization rules  --> Prioritize certain set of properties and give weightage Result exclusion rules  --> Exclude certain search results Result positioning rules  --> Position / Sort the search result data 1.  To create the search configuration tree, you need to log-in to the ATG BCC Merchandising UI and select the Search Configuration Tree in the Browse tab drop down. Now need to click the Create button and first you need to create the Search Configuration Folder. 2.  When you create the folder, give the name of the folder and select whether the contents vary by Language or Segment. If your ecommerce site need to support more than one language and y...

ATG - how to create and deploy a new atg module

ATG products are packaged as a number of separate application modules. Application modules exist in the ATG installation as a set of directories defined by a manifest file. To create a new module, follow the below steps : Create a module directory within your ATG installation.  Create a META-INF directory within the module directory. Note that this directory must be named META-INF.  Create a manifest file named MANIFEST.MF and include it in the META-INF directory for the module. The manifest contains the meta-data describing the module. A module located at <ATG2007.1dir>/MyModule is named MyModule and a module located at <ATG2007.1dir>/CustomModules/MyModule is named CustomModules.MyModule. Within the subdirectory that holds the module, any number of files may reside in any desired order. These files are the module resources (EAR files for J2EE applications, WAR files for web applications, EJB-JAR files for Enterprise JavaBeans, JAR files of Java class...

Eclipse plug-in to create Class and Sequence diagrams

ModelGoon is an Eclipse plug-in avaiable for UML diagram generation from Java code. It can be used to generate Package Dependencies Diagram, Class Diagram, Interaction Diagram and Sequence Diagram. You coud get it from http://marketplace.eclipse.org/content/modelgoon-uml4java Read more about it and see some vedios about how to create the class and sequence diagram @ http://www.modelgoon.org/?tag=eclipse-plugin Find some snapshots below which gives an idea about the diagram generation.

Google Chrome shortcut keys

If you are a Google Chromey guy, please find below the list of shortcut keys for some of the most used features  :-) Find more shortcut keys @  http://www.google.com/support/chrome/bin/static.py?page=guide.cs&guide=25799&topic=28650

ATG - more about Forms and Form Handlers

An ATG form is defined by the dsp:form tag, which typically encloses DSP tags that specify form elements, such as dsp:input that provide direct access to Nucleus component properties. Find below a sample dsp:form tag.    <dsp:form action="/testPages/showPersonProperties.jsp" method="post" target="_top">      <p>Name: <dsp:input bean="/samples/Person.name" type="text"/>      <p>Age: <dsp:input bean="/samples/Person.age" type="text" value="30"/>      <p><dsp:input type="submit" bean="/samples/Person.submit"/> value="Click to submit"/>    </dsp:form>   When the user submits the form, the /samples/Person.name property is set to the value entered in the input field.Unlike standard HTML, which requires the name attribute for most input tags; the name attribute is optional for DSP form element tags. If an input tag omits the n...