Open棟梁 wiki
目次 †
概要 †
通信制御機能は、
- C/S3層、Web3層システム開発で必要となるサービス インターフェイス / サービス ゲートウェイ基盤を提供する。
- 分散オブジェクト的な機能をHTTP, TCP/IPなどの通信プロトコルを使用して実現できる。
- .NET以外の異種開発技術との連携も汎用サービス・インターフェイスを公開することで可能になる。
http://www.slideshare.net/daisukenishino/open-0150/7
特徴 †
標準のP/B/D層の3層構成の中に、P層/B層呼び出しのアドインとして追加できる。
これによりP層 → B層のメソッド呼び出しをネットワーク経由(Webサービスなど)に変換可能。
- 通信処理を隠蔽することで、業務処理の実装に専念することが可能。
- P層/B層呼び出しの引数・戻り値は自動的にBinary serialize & deserializeされる。
- これにより3層方式のアプリケーションを2層方式と同様の、高い生産性で開発できる。
http://www.slideshare.net/daisukenishino/open-0150/8
サポートする通信テクノロジ †
インプロセス呼び出し †
レイトバインドを使用したインプロセスのメソッド呼び出し。
ASP.NET Web Service †
WCF †
- basicHttpBinding?
- WS-I Basic Profile 1.1 に準拠
- wsHttpBinding?
- WS-ReliableMessaging?、WS-Security を実装します。
- メッセージ エンコーディングは Text/XML エンコーディング
- TCP
- netTcpBinding?
- メッセージ セキュリティと認証用 Windows セキュリティ
- メッセージ配信用 TCP、およびバイナリ メッセージ エンコーディング
ASP.NET Web API †
対応未定。
透過性 †
http://www.slideshare.net/daisukenishino/open-0150/9
位置透過性 †
定義による呼び出し先の変更が可能。
- インプロセス呼び出し
- リモート呼び出し(アドレス指定)
規模透過性 †
スケールアウト(垂直・水平分散)が可能。
異種透過性 †
.NET以外の異種開発技術との連携も可能。
汎用サービス・インターフェイスを公開することで可能になる。
移行時 †
通信制御部品で.NETオブジェクトのバイナリ転送をしているので、
異なる.NETバージョン間の通信に問題がないか?ですが、
- バージョン トレラントなシリアル化
https://msdn.microsoft.com/ja-jp/library/vstudio/ms229752.aspx
- バージョン トレラントなシリアル化 (VTS: Version Tolerant Serialization) は、
.NET Framework 2.0 で導入された機能セットで、シリアル化可能な型を、長期にわたって簡単に変更できるようにします。
- 具体的には、VTS 機能が、ジェネリック型を含め、SerializableAttribute? 属性が適用されているクラスに対して有効です。
- VTS を使用すると、他のバージョンの型との互換性を失うことなく、これらのクラスに新しいフィールドを追加できます。
とあるので問題はなさそうです。
参考 †
SlideShare? †