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