hessian使用

13721 ワード

友情のヒント:この文章は原始的な開発に戻って、多くのものを思い出して、最後にhessianを紹介します!
一、準備
前言:今hessianを使ってmaven jarパッケージがないので、手動で公式サイトをダウンロードしなければなりません.http://hessian.caucho.com/ hessian使用_第1张图片
二、建設プロジェクト
  • JAVAオリジナルWebプロジェクトを構築し、このような階層関係(インタフェース実装クラス)を維持するために、サービス側hessian使用_第2张图片
  • を作成する必要がある.
  • webを構成する.xml hessian使用_第3张图片
  • 
    <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
             version="4.0">
    
        <servlet>
            
            <servlet-name>hessianservlet-name>
            <servlet-class>com.caucho.hessian.server.HessianServletservlet-class>
            
            <init-param>
                
                <param-name>home-apiparam-name>
                <param-value>com.czxy.hession.IWeatherServiceparam-value>
            init-param>
            <init-param>
                
                <param-name>home-classparam-name>
                <param-value>com.czxy.hession.WeatherServiceparam-value>
            init-param>
        servlet>
        
        <servlet-mapping>
            <servlet-name>hessianservlet-name>
            <url-pattern>/hessianurl-pattern>
        servlet-mapping>
    
    web-app>
    
  • プロジェクトをTomcat hessian使用_第4张图片
  • に配備
    hessian使用_第5张图片
  • アクセスポートテストが成功しました
  • http://localhost:8089/hessian 
    

    hessian使用_第6张图片(サービスはリリースに成功したが、HessianのサービスはPOSTのリクエスト方式を使用しなければならないことを意味する)
  • クライアントの開発hessian使用_第7张图片
  • 注意:hessian開発クライアントインタフェースのパッケージ名インタフェース名は、サービス側と一致する必要があります.テストクラスを書きます
    package com.czxy.hessian.test;
    
    import com.caucho.hessian.client.HessianProxyFactory;
    import com.czxy.hessian.IWeatherService;
    
    public class InvokingHessian {
    
    	public static void main(String[] args) throws Exception, ClassNotFoundException {
    		//   HessianServer    
    		//1       
    		HessianProxyFactory proxy= new HessianProxyFactory();
    		//2       
    		IWeatherService ws = (IWeatherService)proxy.create("http://localhost:8089/hessian ");
    		//3         ,      
    		String w = ws.getName("  ");
    		System.out.println(w);	
    	}
    }
    
    

    結果を実行すると、このクライアントを対外サーバhessian使用_第8张图片に構築できます.
    Hessianの概要
    Hessianって何?
    公式サイト紹介:
    The Hessian binary web service protocol makes web services usable without requiring a large framework, and without learning yet another alphabet soup of protocols. Because it is a binary protocol, it is well-suited to sending binary data without any need to extend the protocol with attachments.
    

    HessianはCaucho Technologyによって開発された軽量レベルのバイナリRPCプロトコルである.他のWebサービスの実装フレームワークとは異なり、Hessianはバイナリフォーマットで伝送されるWebサービスプロトコルのフレームワークであり、従来のsoap Webサービスに比べて軽量で高速である.その利点は、XMLの処理などのjarパケットのような追加のAPIパケットを大量に免除することであり、これは、携帯電話上のアプリケーションがHessianが提供するAPIを通じてHessianのWebサービスにアクセスできるため、軽量レベルのWebサービス実装フレームワークである理由である.
    現在、N多言語(言語プラットフォームにまたがる特性):1をサポートしている.RMI RMI(Remote Method Invocation、リモートメソッド呼び出し)は、JavaがJDK 1にある.2で実装され、Java RMIは、異なるアドレス空間に格納されたプログラムレベルオブジェクト間の通信をサポートし、リモートオブジェクト間のシームレスなリモートコールを実現する.(つまり、あるJava仮想マシン上のオブジェクトに別のJava仮想マシン内のオブジェクトを呼び出す方法)
    【利点】:Java RMIはJavaの「Write Once,Run Anywhere」の利点を有し、分散アプリケーションシステムの100%純粋なJavaソリューションである.Java RMIで開発されたアプリケーションシステムは、JRE(Java Run Environment Java、実行環境)をサポートするプラットフォームに配備できます.
    【欠点】:RMIは非Java言語で開発されたアプリケーションシステムのサポートが不足している.Java以外の言語で書かれたオブジェクトと通信することはできません.
    Webサービス、SOAを大いに宣伝する時代には、どのアプリケーションも不器用なWebサービスコンポーネントを選んで実現すべきではないか.比較テストを通じてRMIが最も簡単で、いくつかの小さなアプリケーションの中で最も適切である.
    hessianとHttpclientの違い
    hessian使用_第9张图片
    祝你幸福送你一首歌《Your Bones》Of Monsters And Men図面:BBC 11-12新ドキュメンタリー《王朝》豆弁9.7