Oracle Commerce Store Accelerator (CSA) – REST MVC Exposed

With the Commerce 11.2 release, Oracle introduces a new reference accelerator called the Commerce Store Accelerator (CSA). One of the primary goals of CSA is to provide a best practice framework for using the REST APIs, Experience Manager, and Assembler to build Oracle Commerce applications. The application is a services-based single-page application and is responsive (four viewports).

CSA uses the following technical components:

  • KnockoutJS: our main MVC (MVVM) framework
  • RequireJS: JavaScript file that manages module dependencies
  • JQuery: Dom manipulation and traversal library
  • JQueryUI: UI components for widgets and effects
  • i18next: Javascript internationalization
  • Twitter Bootstrap: Provides a grid system and a pattern for responsive web design
  • Crossroads: Javascript routing system (maps URLs to application states)

How CSA Internally Works?
CSA focuses on enabling developers to easily separate the UI from the back-end code and takes a modular approach to extending and adding new features.

  • No JSP pages
  • No Components invoked
  • No Form Handlers invoked from JSP
  • No Dropler invoked

Here comes ATG REST MVC in picture. CSA mainly use JS libraries and there are no JSP pages so how CSA uses ATG components. What Knockout internally does it call the ATG REST MVC exposed web service URL and get the response from REST MVC. Let’s take a simple Login Scenario. Below are the details
Check how to handle ATG REST MVC Response

  • Previously :- On login button a handle method is mapped and on clicking it will directly invoke the handle method, page is refreshed and result is displayed.
  • CSA :- On login button a JS event is bind and on clicking it will fire an AJAX call to “/rest/model/atg/userprofiling/ProfileActor/login” which is a REST MVC exposed web service URL and no page refreshing is done and result from above actor chain is displayed.