http://caucho.com/hessian/
Resin μ μ΄μ©νλ κ²½μ°λΌλ©΄ Hessian μ΄μ©ν΄μ κ°λ¨νκ² RPC λ₯Ό ꡬνν μ μλ€.
hessian simple tutorial (ννμ΄μ§μ Servlet μμ ) - μ΄λ Resin Servlet Container κ° λμν΄μΌ ν¨.
interface μ μ μ ¶
RPC λ₯Ό μν΄μλ μλ²-ν΄λΌμ΄μΈνΈμ λνλ₯Ό μν interface μ μ μκ° νμνλ€. κ°λ¨νκ² μ μν΄λ³Έλ€.
Basic.java
~cpp
public interface Basic {
public String hello();
public int returnInt();
}
RPC Service κ΅¬ν ¶
κ·Έλ¦¬κ³ RPC Test λ₯Ό ꡬνν΄λ³΄μ. (μ¬κΈ°μ Hessian Servlet μ μ΄μ©)
μ΄λ₯Ό μ»΄νμΌ νκΈ° μν΄μλ hessian-2.1.3.jar νμΌκ³Ό jsdk23.jar, resin.jar νμΌμ΄ classpath μ λ§μΆ°μ€μΌ νλ€. (μ΄λ resin μ lib ν΄λμ μλ€. hessian jar νμΌμ hessian λ₯Ό λ€μ΄λ°λλ€)
μ΄λ₯Ό μ»΄νμΌ νκΈ° μν΄μλ hessian-2.1.3.jar νμΌκ³Ό jsdk23.jar, resin.jar νμΌμ΄ classpath μ λ§μΆ°μ€μΌ νλ€. (μ΄λ resin μ lib ν΄λμ μλ€. hessian jar νμΌμ hessian λ₯Ό λ€μ΄λ°λλ€)
~cpp
import com.caucho.hessian.server.HessianServlet;
public class RpcTest extends HessianServlet implements Basic {
public String hello () {
return "Hello, World";
}
public int returnInt() {
return 10;
}
κ·Έλ¦¬κ³ class νμΌμ Servlet μ΄ λμκ°λ λλ ν 리μ 볡μ¬νλ€. μ΄λ‘μ RPC Publish κΈ°λ³Έμ€λΉλ ok.
RPC Client κ΅¬ν ¶
Java μ Python λ λ€ κ΅¬νμ΄ κ°λ₯νλ€. μ¬κΈ°μλ κ°λ¨νκ² Python Interpreter λ₯Ό μ΄μ©ν΄λ³΄μ.
Python λͺ¨λμ http://caucho.com/hessian/download/hessianlib.py λ₯Ό λ€μ΄λ°λλ€.
Java μ κ²½μ°λ λ€μκ³Ό κ°λ€. μμμ μ μν interface μΈ Basic μ΄ μμ΄μΌ νλ€.
----
Hessian/Counter
See Also PythonXmlRpc
----
Java
Python λͺ¨λμ http://caucho.com/hessian/download/hessianlib.py λ₯Ό λ€μ΄λ°λλ€.
~cpp
>>> import hessianlib
>>> proxy = hessianlib.Hessian("http://localhost:8080/servlet/RpcTest")
>>> proxy.hello()
'Hello, World'
>>> proxy.returnInt()
10
>>>
~cpp
import com.caucho.hessian.client.HessianProxyFactory;
import java.net.MalformedURLException;
public class RpcClient {
public static void main(String[] args) throws MalformedURLException {
String url = "http://localhost:8080/servlet/RpcTest";
HessianProxyFactory factory = new HessianProxyFactory();
Basic basic = (Basic)factory.create(Basic.class, url);
System.out.println("Hello ():" + basic.hello());
System.out.println("returnInt : " + basic.returnInt());
}
Hessian/Counter
----
Java









