Managing ATG Content Administration (the BCC) via REST services

 

Introduction

A set of tools has been published to allow management of Oracle ATG Commerce Content Administration (a.k.a The BCC) via REST services.

The tools allow many management functions to be performed without logging in to the BCC. Examples of services exposed are adding/deleting targets, adding/deleting agents, and initiating deployments.

These tools will help facilitate managing an Oracle ATG Commerce installation in a cloud environment without the need to manually use the BCC.

These tools also provide a key step to enabling the concept of bursting, or auto-scaling an ATG cluster. ATG instances can be programatically added or removed from an existing cluster without the need to manually modify the BCC topology.

 

The tools are composed of several individual parts.

  • An ATG module called BCCTools – this is the most basic requirement. Add this ATG module to your Content Administration EAR file to expose the REST services for management of Content Administration.
  • A set of python libraries called bcc_rest are helper libraries to make it easier to call the REST services exposed by the BCCTools ATG module.
  • An additional set of python libraries called bcc_ansible allow interacting with the REST services exposed by the BCCTools ATG module through Ansible playbooks.
  • Sample Ansible playbooks are provided to demonstrate usage.

 

The BCCTools ATG module

The BCCTools ATG module exposes REST services by utilizing the out of the box ATG MVC REST framework.

By default, all REST services are secured. They require both a valid session confirmation number (_dynSessConf), and an authenticated user.

The basic flow to interact with the REST services is:

  • Get a session confirmation number (_dynSessConf) and associated JSESSIONID. The JSESSIONID is stored as a cookie value, and _dynSessConf is passed in as a parameter to future REST calls.
  • Call the login REST service to authenticate a user, and elevate the security status of the JSESSIONID you obtained in step 1.
  • You now have a valid _dynSessConf number and authenticated JSESSIONID to make your REST calls with.

 

Examples using curl, and API documentation are provided with the BCCTools module.

 

Python bcc_rest libraries

The bcc_rest python libraries provide a access to the BCCTools REST services. These libraries are meant to make it easier to interact with the REST services (easier than using something like curl), and are what the bcc_ansible libraries utilize.

 

Python bcc_ansible libraries

The bcc_ansible python libraries allow for using Ansible playbooks to interact with the BCCTools REST services.

Sample playbooks are provided demonstrating how to call the BCCTools REST services.

 

Code and documentation

All code is located at https://github.com/oracle/atg-commerce-iaas, and on Oracle OTN under commerce samples.

Direct links:

BCCTools https://github.com/oracle/atg-commerce-iaas/tree/master/BCCTools

Instructions are in README.md, and API docs are in REST-APIs.md

 

Python libraries – https://github.com/oracle/atg-commerce-iaas/tree/master/common-python/bcctools

Instructions are in README.md, and Ansible API docs are in ANSIBLE-MODULES.md

 

 

Add Your Comment