CORBA:分散コンピューティングについて学ぶ

開示: あなたのサポートはサイトの運営を維持するのに役立ちます!このページで推奨する一部のサービスについては、紹介料を稼ぎます.


Common Object Request Broker Architecture(CORBA)は、さまざまなオペレーティングシステム、プログラミング言語、およびハードウェアプラットフォームに展開されたコンピューターシステムのコラボレーションを可能にするために設計された、ベンダーに依存しないオープンな標準です。.

CORBAは、国際的な非営利技術標準コンソーシアムであるObject Management Group(OMG)によって定義されました。.

結論:CORBAは、さまざまなプログラミング言語で記述されたソフトウェアを使用して、さまざまなプラットフォームで実行されているコンピューター間の通信を可能にします.

簡単な歴史

CORBA標準で説明されているアーキテクチャは、分散相互運用オブジェクトに基づいて相互運用アプリケーションを作成したいと考えていたソフトウェア開発者を対象としています。.

CORBA 1.0仕様は1991年10月にリリースされ、CORBAオブジェクトモデル、インターフェイス定義言語(IDL)、およびプログラミングAPIのコアセットとCプログラミング言語の言語マッピングが導入されました。.

その後すぐにCORBA 1.1と1.2が続き、それぞれ1992年2月と1993年12月にリリースされました。これらのバージョンは、元の仕様から多くのあいまいさを取り除きました.

CORBA 2.0リリースは1996年8月にリリースされました。これは、この仕様の最初のメジャーオーバーホールでした。この更新により、レイヤードセキュリティおよびトランザクションサービスのサポート、新しいデータ型拡張、OLE2 / COMとの相互運用など、一連の新機能が導入されました。.

1997年8月から2001年12月の間にリリースされた2.1から2.6までのCORBAバージョンは、仕様に新機能と改訂機能を追加することに重点を置いて、増分更新によってマークされていました.

次の重要なリリースは2002年7月のCORBA 3.0でした。2011年8月のCORBA 3.1.1も、ISOによって2012年版規格ISO / IEC 19500-1、19500-2、19500-3として正式に公開されました。.

CORBAの最新版は、2012年11月のバージョン3.3です。正式にリリースされたすべてのバージョンと各仕様の詳細については、OMGのCORBA Webサイトの仕様セクションを参照してください。.

CORBAの機能

CORBAは、異なるプラットフォームで異なるプログラミング言語で記述されたソフトウェアを実行するコンピューターが通信できるようにします。.

これを実現するために、CORBAはインターフェイス定義言語(IDL)を使用して、オブジェクトが外部に提示するさまざまなインターフェイスを指定します。 CORBAは、IDLからC ++やJavaなどの特定のプログラミング言語へのマッピングを指定します.

CORBAの標準マッピングは、Ada、C、C ++、Java、Lisp、Object Pascal、PL / I、Ruby、Python、Smalltalkプログラミング言語に対応しています。.

C#、Erlang、Perl、Tcl、およびVisual Basicの非標準マッピングは、これらのプログラミング言語用に作成されたオブジェクトリクエストブローカー(ORB)によって実装されます.

CORBA仕様は、アプリケーションがObject Request Broker(ORB)を介して他のオブジェクトと通信する必要があることを厳密に定義しています.

アプリケーションはORBを初期化し、内部オブジェクトアダプターを使用して参照カウントとオブジェクトおよび参照インスタンス化ポリシーを作成します。オブジェクトアダプターは、ユーザーIDLコードのコンパイル結果である生成コードクラスのインスタンスを登録するために使用されます。.

一部のプログラミング言語へのIDLマッピングは非常に簡単なので、JavaまたはPythonアプリケーションでCORBAを使用するのは簡単です.

一方、IDLからC ++へのマッピングでは、プログラマーがC ++標準テンプレートライブラリ(STL)より前のデータ型を学習する必要があります。または、IDLからCへのマッピング。Cはオブジェクト指向ではないため、プログラマはオブジェクト指向の機能を手動でエミュレートする必要があります。.

CORBAの使用法とアプリケーション

CORBAは多くの状況で役立ちます.

CORBAは、メインフレームからシンクライアント、デスクトップ、ハンドヘルド、組み込みシステムまで、さまざまなベンダーのマシンを簡単に統合できるため、大規模な(そしてそれほど大きくない)企業にとっても最適なミドルウェアです。.

CORBAの最も重要で最も一般的な使用法の1つは、高い信頼性で高いヒット率で多数のクライアントを処理する必要があるサーバーでの使用です。.

スケーラビリティとフォールトトレランスの専門分野は、これらのシステムをサポートしています。 CORBAは、大規模なアプリケーションだけに使用されるわけではありません。 CORBAの専用バージョンは、リアルタイムシステム、および小規模な組み込みシステムも実行します.

CORBAリソース

CORBAの詳細については、以下のオンラインリソースのいくつかを確認することをお勧めします。

  • CORBA 3.3の公式仕様は基本的なガイドです.

  • CORBA Explained Simply by Ciaran McHaleは、CORBAに関する無料の電子ブックです。 CORBA Webサイトの公式リソースとしてリストされており、CORBAの詳細を確認できます.

  • CodeProject.comのCORBAのシンプルなC ++クライアント/サーバーは、Visual C ++ CORBA開発の非常に優れた紹介です。.

CORBA Books

CORBAを特に扱っている本は見つけるのが難しいですが、その代わりに、通常、プログラミング言語に関する本の中でCORBAに関する章を見つけます。また、CORBAについて言及している本の多くは古くなっています。私たちはいくつかのタイトルを選びました:

  • CORBA 3 Fundamentals and Programming、2nd Edition(2000)、Jon Siegel:CORBA 3は、分散プログラミングをこれまで以上に強力かつ生産的にします。このCORBAプログラミングガイドでは、OMGインサイダーがアーキテクトとプログラマーにこれらの機能を最大限に活用する方法を示しています。.

  • Reaz HoqueによるCORBA 3(1998):この本は、動的呼び出し、インターフェースリポジトリ、セキュリティ、およびその他の主要なCORBAサービスをカバーしています。また、CORBA 3仕様の新機能も紹介します。最後のセクションでは、Java、JavaBeans、および新しいCORBAコンポーネントとスクリプト機能を使用する例を使用して、CORBA Webアプリケーションを作成する方法を示します.

  • CORBAを使用したJavaプログラミング:分散アプリケーションを構築するための高度な手法(2007)(Brose、Vogel、Duddy):著者は、CORBAでJavaを使用して単純なプログラムと複雑なプログラムの両方を構築するための高度な手法と実例を紹介します。この本には、詳細なコード例のほか、ポータブルオブジェクトアダプター(POA)、IIOP経由のリモートメソッド呼び出し(RMI)、EJBなどの最先端のトピックの拡張された範囲も含まれています。.

結論

CORBA仕様は、プログラミング言語やOSの独立性など、開発者にいくつかの興味深い可能性をもたらしました。 CORBAで使用される最も一般的なプログラミング言語はJavaとCです。++.

相互運用性により競争が激化し、顧客が代替の実装間を移動しやすくなるため、これらの事実はCORBA設計委員会の主なトラブルの原因であることが判明しました.

これは、今度は委員会内の多くの政治的問題につながり、CORBAの頻繁なリリースと改訂をもたらしました.

CORBAは、多くの機能を備えた非常に詳細な標準です。初期のバージョンの多くは仕様全体を実装できなかったため、評判が悪かった。堅牢なCORBA実装が表面化し、人気を獲得するまでに少し時間がかかりました.

参考資料とリソース

コーディングと開発に関連するガイド、チュートリアル、およびインフォグラフィックが他にもあります。

  • C ++開発者向けリソース:より伝統的な言語を使いたい場合は、このページに必要なすべてのツールが用意されています.

  • Java:はじめに、学習方法、およびリソース:CORBAで使用される2番目の(C ++とともに)最も人気のある言語.

  • Swiftの紹介とリソース:これは最新のCライク言語の1つです。プログラミングの未来は?こちらをご覧ください!

どのコードを学ぶべきか?

あなたがコーディングするためにどのプログラミング言語を学ぶべきかについて混乱していますか?私たちのインフォグラフィックをチェックして、あなたは何のコードを学ぶべきですか?

これは、言語のさまざまな側面について説明するだけでなく、「生活のためにJavaプログラミングを行うことでどれだけのお金を稼ぐことができるか」などの重要な質問に答えます。

どのコードを学ぶべきですか?
どのコードを学ぶべきか?

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map