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