Open棟梁 wiki」は、「Open棟梁Project」,「OSSコンソーシアム .NET開発基盤部会」によって運営されています。

目次

概要

通信制御機能は、

http://www.slideshare.net/daisukenishino/open-0150/7

特徴

標準のP/B/D層の3層構成の中に、P層/B層呼び出しのアドインとして追加できる。
これによりP層 → B層のメソッド呼び出しをネットワーク経由(Webサービスなど)に変換可能。

http://www.slideshare.net/daisukenishino/open-0150/8

詳細

方式

リモート呼出し

下記は、Webサービスをプロトコルに使用する場合の例であり、

処理方式(ネットワーク経由時)

通信制御基盤の実装も変わってくる。

インプロセス呼出し

クライアント プログラムからネットワークを経由しないで
「インプロセス呼出し」をする場合は、以下のような処理方式となる。

処理方式(インプロセス呼び出し時)

構成要素

サービス ゲートウェイ

サービス インターフェイス

各プロトコルにおけるテンプレートを使用して実装する
(TCP/IP、RPC、Webサービス、WCFなどがある)。

  1. 「サービス論理名」をキーにして、
    呼び出しモジュール(アセンブリ、クラス)への名前解決を行う。
  2. 引数のバイト配列から、引数オブジェクトへデシリアライズする。
    なお、この際、必要になる型情報は、サービス インターフェイスの
    ローカルに配置しておくことで自動的に取り込むことができる。
  3. 前述と同様、
    1. インプロセス呼び出しを行う。
    2. タイプ別の例外処理を実行する。
  4. サービス ゲートウェイに結果を返す。

名前解決機能

名前解決機能として、

の2つのモジュールが存在する。

上記の2つの名前解決定義は、app.configにパスを指定する。

例外処理

例外については、全ての例外がシリアル化可能になっていないので、異常系の例外の型情報として、
「業務例外」、「システム例外」、「フレームワーク例外」、「その他、一般的な例外」の4つを識別し、
正常系の戻り値で返す(このため、一部データ欠損が発生する)。クライアントでは、この型で復元、リスローする。

サポートする通信テクノロジ

インプロセス呼び出し

レイトバインドを使用したインプロセスのメソッド呼び出し。

ASP.NET Web Service

WCF

ASP.NET Web API

対応未定。

透過性

http://www.slideshare.net/daisukenishino/open-0150/9

位置透過性

定義による呼び出し先の変更が可能。

規模透過性

スケールアウト(垂直・水平分散)が可能。

異種透過性

.NET以外の異種開発技術との連携も可能。

汎用サービス・インターフェイスを公開することで可能になる。

移行時

通信制御部品で.NETオブジェクトのバイナリ転送をしているので、
異なる.NETバージョン間の通信に問題がないか?ですが、

とあるので問題はなさそうです。

参考

SlideShare?


トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS