Open source to ATG transition.

This post is for java open source developers who are trying to learn proprietary Oracle ATG framework. ATG is a framework and a commerce solution at the same time. Both framework and solution components are written in Java/JEE technologies. In this post I would try to compare the ATG terms with the open source concepts.

ATG Concepts Open Source Alternative
Nucleus Bean Factory in spring or other similar framework.
Repository or Data anywhere architecture Hibernate & iBatis or similar framework.
Droplets Simple plain servlet.
Form Handler Action or Controller class in MVC framework like struts.
DSP Tags Tag library
Pipeline Pojos and meta data xml file. (chain of responsibility)
Scenarios Event & Event Listers & action classes.
Catalog A complex data structure.
Content Binary or Text files.
ATG Dust Extension of Junit.

ATG Concepts in detail.

1. Nucleus: Nucleus is responsible for the creation and life cycle management of objects. Nucleus is also responsible for exposing objects as components which can be injected in other components. To declare a class a component, we need to create a property file with at least class name in it.

2. Bean scopes: Nucleus supports four scopes for components.
a. Global
b. Session
c. Request
d. Tab

3. Repository: ATG Data anywhere architecture supports different data stores like RDBMS, LDAP and XML from file system. One SQL Repository can be configured against multiple RDMS table from different schemas.

4. Droplets: Plain simple servlets which can be used to encapsulate specific business logic.

5. From Handlers: Controller class in ATG dynamo application framework. Servlet pipeline rout/delegate the request to responsible From Handlers.

6. DSP Tags: Tag libraries used to render html components like text field and buttons. This is extensively used in ATG to develop UI.

7. Pipeline: There are two kinds of pipelines in ATG.
a. Servlet pipelines
b. Commerce pipeline
Both are implementations of chain of responsibility pattern. The first is responsible to rout the request to form handler. It is also used for the purpose of filter, addition/deletion of request parameters, form data massaging, authentication and authorization. Commerce pipelines are a collection of pojo classes and metadata about the classes.

8. Scenarios : ATG provides a scenario engine that listens to events in the application and respond to as per the configuration. ATG scenario engine is comparable with event based rule engines.

9. Catalog: Collection of product categories, sub categories, products and SKUs.

10. Content: Binary images or text files.

11. ATG Dust: Unit testing framework, this is an extension of Junit.

Editing Forms in Blazor with EditForm.

11 thoughts on “Open source to ATG transition.

  1. Siju said:

    Really helpful. Please keep posting more articles.

  2. Swamy said:

    Good comparision for giving basic idea for non ATG developers

    • Sanju Thomasourownjava said:

      Thank you very much Swamy.

  3. Chad said:

    This is great, I appreciate you taking the time to post this!

    • Sanju Thomasourownjava said:

      Thanks Chad.

  4. sowjanya said:

    Very help full.Thank you

  5. Leela Krishna said:

    Great efforts.. Appreciate u from the bottom of the heart.. keep going.. Thanks a lot.. :)

  6. Sanju ThomasSanju Thomas said:

    Thanks Leela & Sowjanya.

  7. Langley said:

    Tab scope? are you sure that one exists? I only see the first three in the document, I don’t know if my document is outdated.

    • Sanju ThomasSanju Thomas said:

      Yes there was a windows/tab scope. I am not sure if they removed it in the latest version.