Monday, March 23, 2009

ATG Dynamo


In the late 90's, ATG Dynamo was a pioneering platform that helped organizations build robust, scalable and innovative Web applications, long before 'J2EE' or 'application server' were mainstream terms. What made Dynamo special is that it solved many of the common problems developers faced in building Web applications. Even today, the J2EE specification doesn't fully address some of these problems. An active Open Source community is now striving to plug these gaps, to help simplify Web application development. Dynamo ultimately became a certified J2EE application server, but continued to stand apart from the crowd.

The ATG Dynamo name was not only applied to the 'application server' layer. Many will remember DPS (Dynamo Personalization Server), DCS (Dynamo Commerce Server), and a little later, DSS (Dynamo Scenario Server). Dynamo was not just about the technology platform; it became a suite of building blocks to help organizations create and manage user-centric, personalized Web experiences.


All of this technology is very much alive and well at ATG. In fact, it's the cornerstone of all our current products. Much of ATG's early technology remains as innovative today as it was several years ago. So what happened to 'Dynamo?'
  • Dynamo Commerce Server evolved into ATG Commerce, which is the industry's most complete and flexible commerce solution.
  • Dynamo Personalization Server and Dynamo Scenario Server are today packaged together as the ATG Adaptive Scenario Engine.
  • The Dynamo platform itself has undergone the most significant metamorphosis. As J2EE made its mark on the industry, ATG made the decision to leverage J2EE application servers from other vendors, and so the 'special' features of Dynamo that were not J2EE -specific, but were still very valuable to developers, were separated out and packaged as the Dynamo Application Framework or 'DAF'. DAF runs as a J2EE Web application, and ATG support its execution on Dynamo Application Server (DAS), IBM WebSphere, BEA WebLogic and JBoss Application Server. DAF is not sold as a product, but it appears in the ATG Adaptive Scenario Engine. DAF contains many of the important and innovative technologies that are used by ATG applications. Two of the most important are Nucleus and Data Anywhere Architecture. Nucleus is a fast, lightweight component model which implements the Inversion of Control and Dependency Injection patterns, and Data Anywhere Architecture is an object/relational mapping, data persistence and caching technology, both of which help to build scalable, flexible Web applications.

So, while the Dynamo name has taken a back seat, the technology behind it continues to evolve and to be used extensively throughout ATG's applications. Importantly, as the industry has adopted the J2EE standards, the innovative technology created by ATG continues to complement and enhance J2EE to help organizations build exciting, user-centric, personalized, scalable Web applications. And it's all proven technology.


The ATG Dynamo e-Business Platform is a flexible, Java-based platform for building personalized applications for the Web and other communication channels (e-mail messaging, wireless devices, etc.). Introduces you to the e-Business Platform and its related products, including Dynamo Application Server, the ATG Portal and ATG Commerce applications, and the ATG Control Center.

Application server
ATG Portal application
ATG Commerce applications
ATG Dynamo e-Business

As shown above, the Dynamo e-Business Platform consists of three core components:


• The Dynamo Application Framework (DAF) runs on top of your application server and supplies essential facilities for application development and deployment (Nucleus, Repositories, tag libraries, security, etc.). This portable framework is designed to run on the industry’s leading J2EE application servers, including ATG’s own Dynamo application Server (DAS), BEA’s Web logic Server and IBM’s Web Sphere Application Server.

• Dynamo Personalization Server (DPS) adds visitor profiling, content management, and content targeting capabilities to the e-Business Platform, enabling you to deliver personalized content to customers according to their characteristics and preferences.

• Dynamo Scenario Server (DSS) offers advanced scenario-based personalization features for customer relationship management. Using visual layout tools, business managers can implement, test, and fine-tune their customer management initiatives by designing sequences of targeted interactions that track and respond to customer behavior. DSS also includes powerful data analysis and reporting tools, including ready-made business chart templates, for charting the data collected from scenarios.


The following ATG products run on top of the Dynamo e-Business Platform and provide tools for developing personalized e-commerce and portal applications:

The ATG Portal application provides a customizable framework that combines content and services in a unified desktop for your end users. You can create a series of portals for your various visitors. A B2B commerce site, for example, might have different portals for first time visitors, returning customers, and internal employees. Each of these portals can share content and access, while maintaining high levels of security, ensuring that sensitive information and access is not shared with the wrong audience.

• The ATG Commerce applications include everything you need to build and manage personalized e-commerce sites. ATG Consumer Commerce provides business-to consumer (B2C) storefront development features -- product catalog management, pricing, inventory, customer service, etc. ATG Business Commerce adds support for business-to-business (B2B) transactions, including B2B payment methods (purchase orders, requisitions), account-specific product catalogs and price lists, multiple shipping/billing addresses, etc.

Finally, the ATG Control Center (ACC) is the all-in-one user interface for the entire Dynamo e-Business Platform. The ACC gives application developers, page designers, site administrators, business managers, and other members of your project team a central control point for building and maintaining Dynamo applications.

Application Framework supplies additional facilities for application development and deployment,
Including:

Nucleus is the central registry for the Java Beans, Servlets, and Enterprise Java Beans (Ebbs) that contain your application-level logic. It creates and configures dynamo components and organizes them into a hierarchical namespace (for example, /atg/dynamo/service/Scheduler) so they can be referenced by other components. By reading the various configuration files associated with each component, Nucleus figures out what components to use in an application, what there initial properties are, and how they connect to each other.

Dynamo Server Pages and Dynamo Servlet Beans. Dynamo Server Pages (DSP) is based on ATG’s JHTML markup language. While structurally similar to ordinary HTML documents, Dynamo Server Pages support specialized markup tags that render content dynamically by linking directly to Nucleus components. The tag, for instance, enables page developers to embed dynamic elements called Dynamo servlet Beans. Using Dynamo Servlet Beans minimizes the amount of Java code that has to appear in HTML and the amount of HTML that has to be hard-coded into Java classes. As a result, Java programmers and page designers can work independently and applications are easier to maintain.

DSP Tag Library. If your application is based on Java Server Pages (JSPs), you can use the DSP tag library to access Nucleus components and render dynamic content from your JSPs. These tags are the JSP equivalents to the JHTML tags used in Dynamo Server Pages.

Repository API. The Repository API (atg.repository. *) is a data access layer that defines a generic representation of a data store. Whenever Dynamo needs to load, store, or query a data store, it makes the appropriate calls through this API. The API then accesses the underlying data storage device, translating the API calls into whatever calls are needed to access that particular data store. Implementations of the repository API exist to access data stores such as relational databases, LDAP systems, and content management systems.

Security API. The Security API (ATG.security. *) provides authentication/access control
Support for applications. It enables you to access and manage user security information in XML files, SQL databases, and LDAP directory services.

Session Backup. Dynamo’s session backup feature enables you to save and restore important session-scoped Nucleus components and component properties. For example, backing up the user profile ID property allows the server to access persistent information in the user’s profile without requiring the user to log in again.

Logging and Data Collection. Dynamo includes three different systems for sending, receiving, and recording messages generated by components: Logging (which logs system messages to a flat file), Data Collection (which can record data contained in any JavaBean), and Recorders (which collects data through scenarios).

Supported Application Servers
The portability of the Dynamo Application Framework enables you to run your e-Business applications on ATG Dynamo

Full J2EE 1.2 support. DAS fully supports the Java 2, Enterprise Edition (J2EE) 1.2 standard (EJBs, JSPs, tag libraries, servlets, JavaMail, JDBC, JNDI, etc.). Depending on the needs of your site, you can write applications based on Dynamo Server Pages, or J2EE applications based on JavaServer Pages. The ATG Control Center includes a deployment Editor that guides you through the process of developing and deploying J2EE applications on DAS.

Multi-channel support. DAS includes full support for Wireless Application Protocol (WAP) standards, including Wireless Markup Language (WML), compact HTML (CHTML), and Short Message Service (SMS). DAS is configured out of the box to handle requests from WAP-enabled devices just like it handles requests from conventional browsers.

Extensible Markup Language (XML) support. DAS incorporates the Apache Xerces XML parser and the Apache Xalan XSLT engine, and provides several Dynamo servlet beans for transforming XML documents into Java objects. You can display the transformed XML document in a Dynamo Server Page, using templates defined either according to the Extensible Stylesheet Language (XSL) specification or in a Dynamo Server Page.

Session management. DAS provides advanced session management facilities for web sites running multiple Dynamo servers. Session Failover lets you redirect user requests to another Dynamo server running a copy of the original application. Thus, if a Dynamo server fails, session data is moved to another Dynamo server running the same application. Session Migration is like session Failover, except that it is a planned porting of sessions. Session migration lets you transfer sessions even to servers at a different site with a different domain, while preserving session information. Session federation lets users have multiple active sessions on multiple associated dynamo applications. As users move from one Dynamo application to another, there sessions can be maintained separately within each Dynamo application, while sharing session
Information.

Dynamic load balancing. DAS is equipped with its own dynamic load balancing
Facility, the Dynamo Load Manager, which automatically allocates the load across
Available servers. If a site has multiple HTTP servers, it can use HTTP load distribution to
Allocate user requests among the HTTP servers. If the site has multiple Dynamo
Servers, it can use Dynamo Load Managers to distribute the load among the Dynamo
Servers. With both multiple HTTP servers and multiple Dynamo servers, the site could
Use both forms of load distribution. Dynamo’s flexible architecture allows it to work
With one or both of these load distribution models simultaneously and allows DAS to
Scale to support large, high-volume Web sites.

Transaction management. DAS includes a transaction manager that monitors
Transactions across resources (i.e., databases, messaging systems, etc.). It provides
Developers with a standard framework for implementing high-performance database
Applications and ensures the integrity of transactions across resources using a two phase
Commit protocol

Dynamo Message System (DMS). DAS provides a comprehensive messaging
Architecture called the Dynamo Message System (DMS). DMS is based on the Java
Message System API (JMS), but also provides several features and subsystems that
Make JMS more accessible to applications. DMS can be used with J2EE and non-J2EE
Applications. For non-J2EE applications, DAS provides a system called Patch Bay, which
Is designed to ease the development of messaging applications in Dynamo.

Diagnostic tools. DAS includes a variety of diagnostic and administrative tools to help
Keep your applications running smoothly. For example, the ATG Control Center
Includes an SNMP-based Dynamo System Console that monitors your running
Dynamo servers and provides readings in an easy-to-use graphical interface.

No comments:

Post a Comment