Category Selected:

community

Blog

Couchbase: Ortus Railo Extension

Brad Wood |  August 28, 2013

So far in this series, we’ve introduced you to Couchbase Server and showed you how to set up a cache cluster.  Then we covered using that cluster as an ORM Secondary Cache as well as connecting to it through our open source CacheBox Provider.  Today, we’re going to show how to get the deepest integration yet for those of you running Railo’s Open Source CFML server via our upcoming Ortus Railo Couchbase Extension.  Our extension will allow you to leverage Couchbase directly from Railo as a caching engine, but also as a storage container for session or even client scope variables.  The extension also introduces several native ColdFusion functions that will allow you to interact with Couchbase directly from CFML code for your NoSQL or Caching needs. So let's get to it and start off by introducing our extension.

Capabilities

Caching

CFML has a set of cache-related functions that allow you to set and retrieve objects from an application cache.  Adobe ColdFusion uses EHCache, an in-process Java caching solution.  Railo, the open source CFML engine, also can use EHCache, but they went a step further and introduced a pluggable cache architecture that allows you to write a Java adapter class that will connect to any underlying caching engine; much how CacheBox works but right into the engine. 

Session/Client Storages

Railo also allows these caches to be used for session or client storage as an added bonus.  This is extremely handy if you have a farm of load balanced web servers and you want to use session storage without using session replication or enabling sticky sessions on your load balancer.  By configuring your session storage to use an out-of-process distributed cache you are allowing your site to scale out easily since the application servers won't be taxed with storing session data for all your users in their in-process heap.  It will also allow for your session information to survive server restarts and provide a much better user experience for your application.  Lastly, it can allow your load balancers to run round-robin algorithms instead of the typical sticky session approach.  This will bring a much more stable cluster farm where load can be distributed evenly and without user segregation.

Native Integration

Couchbase is not only an amazing caching solution but also a NoSQL database, as we have seen throughout our series.  Having the capabilities to interact with it easily via CFML was our next step of introducing several native CFML functions thanks to Railo's extension architecture.  This is where we come in.  We here at Ortus Solutions have developed a commercial extension for Railo Server that adds Couchbase support for the native cache functions, as well as query/template/function caches, session/client storage and native CFML functions for NoSQL integration.  This extension is built on top of the Couchbase Java SDK and truly gives you low-level access to the power of Couchbase Server.

Read More

Couchbase: CacheBox Integration

Brad Wood |  August 16, 2013

In our previous posts, we covered how to get Couchbase installed and set up your first cluster.  Then we showed you how to use Couchbase for an ORM secondary cache.  Now it’s time to showcase our Couchbase CacheBox provider that we released just a few days ago.  This is a CFML provider that uses the Java SDK for Couchbase and lets you create one or more named caches in CacheBox that connects to one or more buckets in a Couchbase cluster.  Once you connect up CacheBox, you can seamlessly also store ColdBox Platform cached events/views in Couchbase along with anything else you use the CacheBox API for.  So basically you have full Couchbase storage capabilities from ColdBox and non-ColdBox applications.  Let’s get started!

ForgeBox and Code

The CacheBox Couchbase provider does not ship with the ColdBox core, but can be found in our community repository; ForgeBox.  You can use this provider in any installation of CacheBox that is bundled with the ColdBox Platform, or in a standalone installation.  Here’s some handy links for you:

Read More

Couchbase: Secondary ORM Configuration & Setup

Brad Wood |  August 07, 2013

In our first two posts, we covered how to install Couchbase server and get a cluster up and running.  In this post we are going to put that cluster of yours to use and show you how to configure it as an ORM secondary cache provider for your ColdFusion applications.  

 

Please remember that the installation instructions are pretty much the same for Adobe ColdFusion and Railo CFML.

If your “cluster” is still just a single server, don’t worry.  The size and configuration of a Couchbase cluster is seamlessly invisible to the connecting client.  Meaning you can grow and scale your cluster without changing your setup/connection code.

At this point in time, there is no Couchbase-specific library for a Hibernate secondary cache, but luckily for us, Couchbase is compatible with the memcached protocol, so we can use the memcached library.  The only drawback is that if you are connecting on the standard port of 11211 to Couchbase, the library will only be able to connect to the “default” bucket.  To use a named bucket for your ORM Secondary cache, you will need to assign the Couchbase bucket you create to a unique port number with NO password when you create it in Couchbase Administrator application.

Read More

Ortus CacheBox Couchbase Provider Release!

Luis Majano |  August 06, 2013

 

Today we are releasing an open source Couchbase provider for our CacheBox library whether you use it standalone or within a ColdBox application.  We have been working with Couchbase NoSQL server and have been absolutely loving it.  This provider will allow you to leverage Couchbase Server from any CFML application that leverages CacheBox for your caching needs.  We have created two providers in our initial release: 1) For standalone Couchbase integration in any CFML application, 2) For ColdBox applications.  The latter will allow you to hook up Couchbase to your ColdBox applications and even allow you to use it for event and view caching alongside data caching.  We also take care of serializations and Java inter-operability for Adobe ColdFusion and Railo CFML as well.  You can also leverage the Couchbase ColdBox provider for Flash RAM capabilities as well.  As with anything we do here at Ortus, this provider is fully documented and professionally supported.

Read More

Couchbase: Cluster Setup + ORM Secondary Cache Introduction

Brad Wood |  July 31, 2013

This is our second part of our Couchbase and CFML series that we started last week.  In our first post, “Installation and Introduction to Couchbase” we talked about Couchbase Server, how to install it, and how it can help create a fast and scalable caching layer for your applications.  Today we’re going to talk about setting up a Couchbase cluster and look at our first use for it: as a Hibernate secondary cache for ColdFusion ORM.

Horizontal Scalability


 

In our previous post we set up a very simple cluster of only one node.  Let’s look at how Couchbase lets you expand your cluster horizontally as your needs increase.  A cluster can have as many nodes as you want, seriously!  All nodes in a cluster will be exact copies of each other in regards to their buckets and even their configuration.  When you set up the first node, you will choose how much RAM you want for each node in that cluster to allocate itself.  You can only add a new node to the cluster if it has enough RAM to allow for the node size specified in the cluster at setup.  Therefore, the total amount of RAM in the entire cluster will be the node size times the number of nodes.

Read More

Intro to Couchbase Server for ColdFusion - Clustered NoSQL and Caching at its Finest

Brad Wood |  July 26, 2013

Caching is an important layer in today's applications that require high availability in clustered environments.  Caching demands require fast performance, lots of storage, and the ability to scale horizontally so your cache infrastructure can grow with your needs.  We take caching seriously which is why we've built tools like CacheBox which is not only a caching engine, but an aggregator and API for other caches.  In-process caches which run on the JVM alongside your application and share the same heap space are convenient and easy to set up, but they have limitations.  This is why we've spent time learning about other out-of-process caching strategies.

Read More

ColdBox Platform, ColdBox LITE and Library Releases

Luis Majano |  July 10, 2013

It has been a busy past few months here at Ortus Solutions and we have some cool new stuff to share with the world today.  We have updates for all our major open source libraries this week. Some are minor releases and some are cool enhancement releases thanks to everybody's feedback and contributions.  You can find much more about the releases in our ColdBox engineering blog or in our online documentation wiki:

    <...
Read More

ColdBox Developer Week Recordings and WINNERS!

Brad Wood |  June 22, 2013

Today was the final day of our second annual week of free ColdBox/ContentBox training.  We are very pleased with the success of the event and want to thank each of our wonderful speakers as well as all you attendees who showed up and had a great time with us while learning about our platform.  This year we had almost 250 people registered from 15 countries around the world including Germany, Brazil, India, Ukraine, and Pakistan.

Read More

DataBoss Adobe Event July 3, 2013

Luis Majano |  June 20, 2013

We are very excited to announce our very first Adobe Event on Ortus DataBoss: Dynamic Administrator!

 

When: Wednesday, July 3, 2013 at 8:00 AM - 9:00 AM US/Pacific

Where:

Read More

ColdBox Platform Utilities v3.0 Released

Luis Majano |  June 18, 2013

We are so proud to announce another update to our Adobe ColdFusion Builder exension: ColdBox Platform Utilities v3.0.  This update has tons of cool updates and fixes:

Bugs ...

Read More