HBase comes with a variety of clients that can be used from various programming languages. This chapter will give you an overview of what is available.
Access to HBase is possible from virtually every popular programming language and environment. You either use the client API directly, or access it through some sort of proxy that translates your request into an API call. These proxies wrap the native Java API into other protocol APIs so that clients can be written in any language the external API provides. Typically, the external API is implemented in a dedicated Java-based server that can internally use the provided
Table client API. This simplifies the implementation and maintenance of these gateway servers.
On the other hand, there are tools that hide away HBase and its API as much as possible. You talk to a specific interface, or develop against a set of libraries that generalize the access layer, for example, providing a persistencl layer with data access objects (DAOs). Some of these abstractions are even active components themselves, acting like an application server or middleware framework to implement data applications that can talk to any storage backend. We will discuss these various approaches in order.
Going back to the gateway approach, the protocol between them and their clients is driven by the available choices and requirements of the remote client. An obvious choice is Representational State Transfer (REST), ...