Rama Adisurja
Mark Chi
Ramesh Ramakrishnan
Agenda
Webserver
Webservers will be used as of today as pass through between Akamai and application server layer
Coherence
Coherence grid will be used to store data across modules (e.g. CSI, Catalog, Profile, etc)
RESTful API
Session Content
Content Content
Mgmt HTML/AJAX
Livesite Endeca XM
Software Module
OSGI Layer
It is an abstract layer between frontend systems and middle tier.
Apache CXF - SOAP, XML/HTTP, RESTful HTTP, or CORBA and work over a variety of
transports such as HTTP, JMS or JBI.
Apache Karaf a light weight container Apache Felix OSGi container
Each of the services (e.g. CSI API, Catalog Data, Search) requires to be exposed to
clients, will be required to create a service module and register with OSGi layer.
The deployed modules output can be expose to outside client with various formats.
Service Modules
Module Layer
The module layer defines the OSGi module called a bundle, which is a JAR file with extra metadata
Bundles are more powerful than standard JAR files.
It declares which contained packages are externally visible (that is, exported packages)
It can explicitly declare on which external packages the bundles depend (that is, imported
packages)
Lifecycle Layer
The lifecycle layer serves two different functionality
External to your application, it defines the bundle lifecycle operations (install, update, start, stop, and
uninstall).
Internal to your application, how bundles gain access to their execution context, which provides them
with a way to interact with the OSGi framework and the facilities it provides during execution.
Service Layer
The main concepts revolve around the service-oriented publish, find, and bind interaction pattern.
Reference Proposed Architecture Sample Code