Hessian Java API Overview

From Resin 3.0

Revision as of 10:09, 28 March 2006 by Ferg (Talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search


Introduction to Hessian

Creating a Hessian service using Java has four steps:

  1. Create an Java interface as the public API
  2. Create a client using HessianProxyFactory
  3. Create the Service implementation class
  4. Configure the service in your servlet engine.

The Service API

A Hessian service's API is just a plain old Java interface.

Hello, World API

 public interface BasicAPI {
     public String hello();

The Hessian protocol eliminates external API descriptions like CORBA IDL files or WSDL. Documenting a Hessian service API is as simple as providing the JavaDoc. Because Hessian is language-independent, the Java interface classes are not required for non-Java languages. For external languages, the Java interfaces serve only to document the service methods.

Service Implementation

The service implementation can be a plain-old Java object (POJO) or can extend HessianServlet to make the servlet-engine configuration trivial.

Hello, World Service

public class BasicService extends HessianServlet implements BasicAPI {
      private String _greeting = "Hello, world";

      public void setGreeting(String greeting)
          _greeting = greeting;

      public String hello()
          return _greeting;

The service implementation can also be a plain-old Java object (POJO), avoiding any dependency on HessianServlet. More details are at Hessian introduction and in the [http://www.caucho.com/resin-3.0/protocols/tutorial/hessian-ioc/index.xtp Hessian Service using Dependency Injection] tutorial.

Client Implementation

Creating a client is as simple as creating an API interface:

Hello, World Client

   String url = "http://www.caucho.com/hessian/test/basic";

   HessianProxyFactory factory = new HessianProxyFactory();
   BasicAPI basic = (BasicAPI) factory.create(BasicAPI.class, url);

   System.out.println("hello(): " + basic.hello());
Personal tools