- Cachéテクノロジガイド
- JavaのためのCaché eXTreme
- 高可用性
- 機能と特徴
- デモンストレーション
- 導入事例
- ホワイトペーパー・アナリスト
レポート・カタログダウンロード - 製品仕様・ドキュメント
- Caché開発者向け情報
- InterSystems FAQ
- Caché eラーニング
(USページ) - 無償ダウンロード
Caché コンポーネンツ

Cachéオブジェクトは、Cachéのポストリレーショナルデータベースにより動作しています。このデータベースは、Web指向、オブジェクト指向のテクノロジーとぴったりマッチし、Cachéのオブジェクト・テクノロジーを使うことによって、プログラマーは実世界を表す意味のあるデータ構造を作成し、開発プロセスの効率を高めることができるのです。
Cachéオブジェクトは現実世界をモデル化
Cachéオブジェクト・テクノロジーは、人間が実際にデータについて考え、使用する方法を記述するよう努めています。そのための手段としてCachéオブジェクトは、データとそのデータの使い方を制御するコードを一体化しています。オブジェクト専門用語でいえば、あるクラスに含まれているさまざまなデータは「プロパティ」と呼ばれ、データがどのように振る舞うかを記述するコード部分は「メソッド」と呼ばれています。
Cachéオブジェクト・テクノロジーはまた、プロパティを単純なコンピュータ中心のデータ・タイプに制限しないことで、データが自然な見え方をするようにしています。クラスは、他のクラスの中に入れ子になっている場合も、他のクラスへのリファレンスを含んでいる場合もあります。それによって、役立つ意味のあるデータ・モデルを簡単に構築することができるのです。以下は簡単な例となります。

|
Customer Object: |
|
顧客: |
データは、文字列、整数などの簡単でシステム定義タイプのものでもかまわない。 |
SSN |
データは、プログラマー定義のアドバンスト・データ・タイプ(ADT)でもかまわない。 |
| アドレス: |
オブジェクトは、クラス内に組み込むことができる。この例では、「アドレス」は、「通り」と「都市」というプロパティを含む1つのオブジェクトを構成している。 |
担当営業: |
「担当営業」は、「顧客」から独立して存在するかなり複雑なクラスである。この例では、「顧客」には、 対応する「担当営業」のリファレンスが含まれている。 |
|
インボイス: |
同じクラスの複数のインスタンスにリファレンスを作成することができる。それによりコレクションが作成される。コレクションとは、「一対多数」の関係と考えることができる。Caché は他のタイプの関係もサポートする。 |
「顧客」に、大量の情報が含まれる場合であっても、アプリケーションはそれを1つのエンティティとして扱うことができます。そのエンティティがすなわちオブジェクトです。
** 「クラス」はテンプレート、すなわちデータの総称。クラスのそれぞれ独自の「インスタンス」はオブジェクトであり、実際のデータをかかえています。
Cachéオブジェクトは迅速な開発を可能に
アプリケーション開発をスピードアップするために、Cachéオブジェクト・テクノロジーは、継承、カプセル化、多相性の概念をサポートしています。
継承とは、あるオブジェクト・クラスから別のオブジェクト・クラスを派生させる能力のことをいい、新しいクラス(サブクラス)は、上位にあるスーパークラスに対し、必ず「〜の1つである」という関係になります。例えば、犬は哺乳類「の1つである」という関係が成立しています。したがって「犬」というクラスは、犬に固有のプロパティとメソッドを含むだけでなく、「哺乳類」というクラスのすべてのプロパティとメソッドを継承すると考えられます。多重継承とは、1つのサブクラスを複数のスーパークラスから派生させることができることを意味します。犬は、哺乳類「の1つである」と同時にペットの「1つである」。したがって、「犬」クラスは、「哺乳類」クラスと「ペット」クラス両方の属性を継承することができるのです。

Multiple Inheritance:
Sub-classes can inherit attributes from
one or more superclass.
カプセル化とは、アプリケーションに関するかぎり、クラスを一種の「ブラックボックス」として見ることができることを意味しています。いかに複雑であろうと、1つのクラスが持ちうるプロパティとメソッドには限りがあります。いったんクラスが定義されれば、アプリケーションはクラス内での働きを知る必要はありません。アプリケーションが扱うのは、クラスのプロパティとメソッドのみです。このブラックボックス方式により、次のような2つの重要なメリットが得られます。
A) クラスがモジュール構造である。プログラマーは、アプリケーションの他の部分にまったく影響を及ぼすことなく、クラス内部の働きを改善することができる。
B) クラスは相互運用できる。クラスは、インターフェース(プロパティとメソッド)が変わらないため、異なるアプリケーション間での共有が可能である。
多相性は、それを支える実装方法が異なっても、複数のクラスで使用されるメソッドが共通のインターフェースを共有できるという事実を指しています。例え ば、あるアプリケーションが、「レター」、「メーリング・ラベル」、「IDバッジ」といった複数の異なるクラスを使用し、それらのクラスはすべて 「PrintAddress」と呼ばれるメソッドを共通して持っているとします。アプリケーションは、オブジェクトの種類ごとにアドレスのフォーマット化 する命令をいちいち持っている必要はなく、「DO PrintAddress(objectID)」(PrintAddress(objectID)の実行を意味する)といった内容のコマンドを組み込んでいるだけなのです。多相性は、一つ一つのオブジェクトに対し、そのオブジェクトが属するクラスに適うやり方で命令を実行させるようにします。
Caché オプジェクトの作成
Cachéクラスは、Caché Studioを使ってすぐに作成、編集できます。Caché Studioは、統合開発環境(IDE)なので、開発者は、この環境でアプリケーション開発作業をすべて実行することができます。データ・モデル化の場合、これには、プロパティの仕様の明確化、オブジェクト・メソッドのコーディングとデバッグ、特殊データ・タイプの定義づけなどが含まれます。Cachéは、単純な継承や多重継承、組み込みオブジェクト、オブジェクトに対するリファレンス、コレクション、関係、多相性といった、高度なオブジェクト概念をサポートしており、Caché Studioは、データやビジネス・プロセスをモデル化するパワフルで生産的な環境として利用できます。
Importing/Exporting Data Models データ・モデルのインポート/エクスポート
Caché Studioには、Cachéクラスを簡単に作成するためのウィザードが組み込まれていますが、それ以外にも、Caché Studioにクラス定義をインポートする、あるいはCaché Studioからエクスポートする方法が他にもいくつかあります。
Rational Software社の広く使用されているRoseオブジェクト・モデル化ツールを使って定義されたクラスは、Caché RoseLinkを使ってCachéにインポートすることができます。同様に、Cachéのクラス定義は、Roseにエクスポートし、Roseのモデル化環境内で使用することができます。
Cachéは、リレーショナルDDLファイルからオブジェクトを作成することもできます。その結果得られるオブジェクト・クラスは非常にシンプルなものです。そのプロパティは、リレーショナル・テーブルに対応する単一値のシステム定義のデータ・タイプであり。この場合、オブジェクトが利用できるメソッドは、ディスクからデータを出し入れするのに必要なパーシステンス・メソッドのみとなります。しかし、Cachéの統合データ・アーキテクチャにより、こうした単純なクラスであっても、すぐにオブジェクト・プログラミング言語といっしょに使用でき、また、ビルディング・ブロックとして使用し、もっと複雑なデータ・モデルを作成することもできます。
XMLは、クラス定義をあるアプリケーションから別のアプリケーションに移すもう1つ別の方法です。クラス定義は、XMLドキュメントとしてエクスポート/インポートすることが可能です。
Caché Scripting Languages スクリプト言語
Cachéオブジェクトに含まれているメソッドは、Caché ObjectScript、Caché Basicのいずれか、またはその両方を使ってコード化されています。いずれの言語を使用した場合でも、開発者は同一のルーチン内でオブジェクト、SQL、多次元といったすべてのCachéのデータ・アクセス・モードを使うことができます。
Cachéオブジェクトと他のテクノロジーとの統合
Cachéの統合データ・アーキテクチャにより、すべてのCachéクラスは、ODBCとJDBCを通じてリレーショナル・テーブルとして自動的にアクセスすることができます。そして継承を利用することによって、Cachéクラスは、XMLやオブジェクト指向テクノロジーといっしょに使えるよう簡単に改良することができます。
Caché Server Pages
サーバー・ページと呼ばれるクラスは、必要なWebセッション・マネージメント・メソッドと、開発者がページ内容をコード化する手段である「OnPage()」メソッドを自動的に継承します。
XML
%XML.Adaptorクラス(インターシステムズ)からプロパティとメソッドを継承することで、XMLデータのインポート/エクスポートが可能になります。Cachéは、CachéオブジェクトとXMLドキュメントの間のマッピングを自動的に決定します。また開発者は、独自にマッピングすることもできます。
COM
Caché Studioにあるコマンド1つで、COMクラスとしてCachéクラスをプロジェクトし、Visual Basic、デルフィ、その他COMインターフェースとコンパチブルなツールで使用することができます。CachéにはCOM Gatewayも組み込まれており、これによりCachéアプリケーションはCOMオブジェクトを使用できることができます。
C++
同様に、1つのコマンドで、CachéクラスのC++プロジェクションを作成することができます。
Java
1つのコマンドで、CachéクラスをJavaクラスとしてプロジェクトする。Cachéには、クラス・ライブラリも備わっているため、Javaプログラマーはそれを使ってCachéデータベースにあるCachéオブジェクトにアクセスすることができます。
EJBs
EJBプロジェクションも、Caché Studio内から1回のクリックで作成することができます。Cachéを使えばBean-Managed Persistence(ビーン管理パーシスタンス)のスピードが利用でき、Javaクラスとリレーショナル・テーブルの間でマッピングする作業に煩わされずにすむのです。CachéはBEA Systems社のWebLogicアプリケーション・サーバーをサポートしています。
** 「クラス」はテンプレート、すなわちデータの総称。クラスのそれぞれ独自の「インスタンス」はオブジェクトであり、実際のデータをかかえています。
CachéとCaché Directは米国インターシステムズ社およびその子会社の登録商標です。WindowsとVisual Basicはマイクロソフト社の登録商標です。Delphiはボーランド社の登録商標です。PowerBuilderはパワーソフト者の登録商標です。その他の製品名は、該当各社の登録商標です。
