Skip to main content

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 :
  1. Create a module directory within your ATG installation. 
  2. Create a META-INF directory within the module directory. Note that this directory must be named META-INF. 
  3. 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.
  4. A module located at <ATG2007.1dir>/MyModule is named MyModule and a module located at <ATG2007.1dir>/CustomModules/MyModule is named CustomModules.MyModule.
  5. 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 classes, platform-dependent libraries, HTML documentation, configuration files,...)
Sample MANIFEST.MF content :

Manifest-Version:  1.0
ATG-Config-Path:  config/
ATG-Required:  mycomp.my-commerce   mycomp.my-search-query
ATG-J2EE:  j2ee-apps/my-estore
ATG-EAR-Module:  j2ee-apps/my-estore
ATG-Class-Path:  lib

  • ATG-Required --> A space-delimited set of module names. Here we will define the other modules that need to be included in this module. When the application is started up, the module’s manifest is processed after the manifests of the modules that the module depends on. Note that in most cases, you should set this attribute to include the out of the box module DSS. DSS has ATG required DPS and DPS module has DAS.
  • ATG-Config-Path --> Check the ATG-Config-Path for the property files for this module.
  • ATG-Class-Path --> The ATG platform adds the ATG-Class-Path value to the beginning of the EAR file’s classpath as each module is processed. Paths are relative to the module’s root directory.
Read  more about different manifest.mf attributes @ http://docs.oracle.com/cd/E26180_01/Platform.94/ATGProgGuide/html/s0403applicationmodulemanifestfile01.html


How to create an ATG ear ?


           To create an ATG ear module, your web.xml should contain some basic elements. To use ATG platform functionality, a web application needs to start Nucleus by invoking NucleusServlet. So it should be included in the web.xml to load on start up.

<servlet>
 <servlet-name>NucleusServlet</servlet-name>
 <servlet-class>atg.nucleus.servlet.NucleusServlet</servlet-class>
  <load-on-startup>1</load-on-startup>
</servlet>

Also the following tag lib alias name should be given to call the dsp tags.

<taglib>
<taglib-uri>/dspTaglib</taglib-uri>
 <taglib-location>/WEB-INF/tld/dspjspTaglib1_0.tld</taglib-location>
</taglib>

             To assemble the ATG application, we can use the "runAssembler.bat" available @ ATG\ATG2007.1\home\bin\runAssembler.bat location. The basic syntax of the command follows this format : runAssembler  earfilename  –m  module-list  .  Each EAR file built by runAssembler includes the following J2EE modules:
  • atg_bootstrap_ejb.jar: This module contains a single session EJB. The EJB’s class loader is used to load the ATG classes needed by the application.
  • atg_bootstrap.war: This module starts up Nucleus and runs the DAF servlet pipeline and the DAS servlet pipeline (for JHTML).
  • The EAR file can optionally include Dynamo Administration, which is packaged as a web application named atg_admin.war and you must specify the DafEar.Admin module when you run the application assembler to include Dynamo Administration.

             You can create two types of EAR files with the ATG application assembler, development and standalone. Both types contain all ATG classes needed for the application. The primary difference is in where the configuration files for Nucleus components are stored. In development mode, the application draws its Nucleus configuration information from the ATG installation folders. In standalone mode, the application stores its configuration in the EAR file itself.

             The main differences between development-mode and standalone-mode EAR files are found in the WEB-INF/ATG-INF directory of the atg_bootstrap.war J2EE module. In this directory, both types of EAR files have a file called dynamo.env, which defines Dynamo environment properties. In a development-mode EAR, the dynamo.env file contains the following entry, which tells the application to get its configuration from the .properties and XML files in the ATG installation :  atg.dynamo.use-install=true. So in development-mode you can make configuration changes without having to rebuild the EAR file.



Comments

  1. very good explanation...Thanks ..Thomas

    ReplyDelete
  2. Great information for starters. I appreciate you work for us. Thanks a lot!

    ReplyDelete
  3. Really Good explanation Mr.Thomas. Thanks

    ReplyDelete

Post a Comment

Popular posts from this blog

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 Search - search engine tuning settings

In this blog, I am going to list the best tuning settings for ATG Search engine. The AESoapConfig.xml, AESoapWaspConfig.xml  and AEConfig.xml are the xmls referred below and you can find it @  <ATG_DIR>\<Searchx.x>\SearchEngine\<operating_system>\bin\ folder. (1)  Make sure that the AESoapConfig.xml's rwTimeout is less than or equal to routing's readTimeoutMs. You could find the routing's readTimeoutMs @ atg\search\routing\SearchEngineService component.               rwTimeout is the  length of time in seconds to wait before a read or write operation times out on an active connection. The number can be decreased to improve performance. However, a value that is too low could cause slow connections to be prematurely closed. (2)  Adjust the number of engine threads to match the number of CPUs available to the engine. Note that the minimal value for maxThreads and maxSpar...

Good features of Eclipse 3.6 (Eclipse Helios) JDT

Read the Eclipse Galileo features @  http://tips4ufromsony.blogspot.com/2011/10/good-features-of-eclipse35-eclipse.html New options in Open Resource dialog : The Open Resource dialog supports three new features: • Path patterns: If the pattern contains a /, the part before the last / is used to match a path in the workspace: • Relative paths: For example, "./T" matches all files starting with T in the folder of the active editor or selection: • Closer items on top: If the pattern matches many files with the same name, the files that are closer to the currently edited or selected resource are shown on top of the matching items list. MarketPlace :  Searching and adding new plugins for Eclipse have always been a challenge. The Eclipse Marketplace makes this much easier – it allows you to not only search a central location of all Eclipse plugins, but also allows you to find the most recent and the most popular plugins. Fix multiple proble...

ATG - how to use the Transaction Manager

Basic concepts of Java transaction In its simplest definition, a transaction is a set of actions that is treated as an atomic unit; either all actions take place (the transaction commits), or none of them take place (the transaction rolls back). Managing transactions is one of the primary tasks of an application server. The application server keeps track of transactions, remembering which transaction is associated with which request, and what transactional resources (such as JDBC or JMS connection) are involved. Each active transaction is represented by a transaction object, which implements the interface javax.transaction.Transaction. A transaction is usually associated with a thread and only one transaction can be associated with a thread at any one time. A central service, called the Transaction Manager, is responsible for keeping track of all these transactions. The Transaction Manager is implemented through the Java Transaction API (JTA). Transaction and Dynamo ap...

Windows 7 Tips

Some inputs to you based on my experience with windows 7. This blog will keep on updating with the feature/tips about Windows 7, so you can keep looking for some tips from here. 1. Bluetooth device, not able to connect to windows 7: If you have some problem with connecting any bluetooth device with Windows 7 , check whether your Windows 7 – Startup folder ( Startup folder can be found @ your Windows7 – Start program list)  has the shortcut to BTTray.exe. If not, add a shortcut to ”C:\Program Files\WIDCOMM\Bluetooth Software\BTTray.exe”. This need to executed during your Windows 7 startup. 2. Cannot find Recycle Bin @ Desktop: To add a shortcut to Recycle Bin @ your windows 7 desktop,  right click Desktop, select Personalize ( or you can select Personalization from the location   Control Panel\All Control Panel Items\Personalization ).  From the left side bar select the “Change desktop icons” and select the Recycle Bin check box : 3.Add/Rem...