bemokoLive Deployment Options

From bemoko developer wiki

Jump to: navigation, search

Introduction

There is a lot of flexibility in how bemokoLive can be deployed. These options provide you with the ability to get the bemokoLive benefits with minimal impact on your side. You can also think of these options allowing you to rapidly prototype an idea or to transition your current deployment architecture, by starting with one option with the plan to move to another.

Note: If you want the quickest way to get started with bemokoLive, see Installing Tomcat with bemokoLive in 5 minutes.

How can bemokoLive fit in with your architecture?

Rendering as a Platform

This is the standard configuration for the system. The bemokoLive platform runs as a normal web application in a J2EE application server such as Tomcat.

The typical configuration normally has the Tomcat server fronted by an Apache server, although Tomcat can be the first entry point if required.

The bemokoLive software is packaged as a complete WAR file and requires no other system dependencies for a system already running Tomcat.

A device connects to the bemokoLive web application which renders the site using the plugins and the Uis. More details on how bemokoLive works and the benefits of the solution can be found @ Solution & Benefits.

Example usage:
You are developing (or prototyping) a new site or perhaps building on top of one of the existing bemokoLive white label sites. You may have access to content and business logic via existing APIs, configuration files or content repositories. On the other hand, you may be wanting the freedom of implementing the site logic from scratch or from existing site plugins.
Advantages
Simple architecture, full control to access content from anywhere and code what you need.
Optimised for performance
Deployment
Deployed as WAR into a Java application server

Rendering as a Proxy

Device connects to bemokoLive and subsequently makes an HTTP request to the content source.

Example usage:
You already have an existing web site that are using to deliver to the PC. You want to deliver a ready for mobile site without any further development work to your PC site and leave the PC delivery untouched. see Semantically Tuning a Web Site on best practices for your web site to make this easy.
Advantages
Minimal impact on your existing PC site.
Limitations:
Mobile web site served from a different URL to you PC web site.
Deployment
Deployed as WAR into a Java application server
The "adapt pc site" addon demonstrates such a deployment

Rendering as a Web Service

Web site application passes content to bemokoLive over HTTP which subsequently returns the device optimised markup ready for delivery to the device.

Example usage:
Your application is currently delivering a web site to the PC, but you have an opportunity in your application, e.g. a servlet filter in a Java EE stack, to transform the markup prior to delivering to the device. see Semantically Tuning a Web Site on best practices for your web site to make this easy.
Advantages:
Minimal impact to your existing PC markup.
Your application can maintain control of all delivery to all devices from a single URL endpoint - including any security measures that you have in place.
Limitations:
You need to be able to hook the bemokoLive web service rendering into one of the final steps prior to delivery to a device.
Deployment
Deployed as WAR into a Java application server
The "adapt pc site" addon demonstrates such a deployment
Your existing Java EE application includes the bemokoLive libraries (i.e. JARs) and includes the Content Transformer Servlet Filter in the servlet filter stack.

Rendering as a Native API (Roadmap)

This deployment is not currently available, however is in the bemokoLive roadmap

Web site application uses bemokoLive API to (1) select the appropriate local UI pages (e.g. the ones that contain HTML) and (2) optimise and tweak the final makup for the device.

Example usage:
Your application is currently delivering a web site to the PC, but you have an opportunity in your application to integrate the bemokoLive APIs mentioned above
Advantages:
You can design a mobile ready application from ground roots to give you full control of the user experience across all devices.
Optimised for performance
Limitations:
bemokoLive is dependent on an existing web delivery framework being in place.

Further Reading