Oracle TopLink
Oracle TopLinkは、 Java開発者向けのマッピングおよび永続性フレームワークです。TopLinkはOracleによって開発され、OracleのOracleAS、WebLogic、およびOC4Jサーバーの一部です。[ 1 ]オブジェクト永続性およびオブジェクト変換フレームワークです。TopLinkは、開発プロセスを容易にし、機能の向上を支援する開発ツールとランタイム機能を提供します。永続的なオブジェクト指向データはリレーショナル・データベースに格納され、高性能なアプリケーションの構築に役立ちます。XML (拡張マークアップ言語)またはリレーショナル・データベースへのデータの格納は、オブジェクト指向データからデータを変換することで可能になります
TopLink Mapping Workbench を利用することで、TopLink 上でリッチなユーザーインターフェースを実現できます。この Mapping Workbench を使用すると、以下の操作を簡単に実行できます。
- オブジェクト モデルからデータ モデルへのグラフィカル マッピング。
- オブジェクト モデルからデータ モデルを生成し、その逆も行います。
- 既存のデータ モデルとオブジェクト モデルの自動マッピング。
Oracle の JDeveloper IDE では、マッピング ワークベンチが提供するこれらの機能を簡単に統合できます。
TopLink を使用することで、ユーザーは本来の目的に集中でき、アプリケーションへの永続化とオブジェクト変換の統合は TopLink に任せることができます。TopLink はリレーショナルデータベース、オブジェクトリレーショナルデータベース、エンタープライズ情報システム(EIS)、XML など、多様なデータソースとフォーマットをサポートしているため、設計、実装、導入のプロセスが加速されます。
| Oracle TopLink | |
|---|---|
| 開発者 | オラクル・コーポレーション |
| 安定版リリース | Oracle TopLink 12c (12.1.3) |
| Javaで書かれています | Java |
| オペレーティングシステム | クロスプラットフォーム |
| プラットフォーム | Java仮想マシン |
| ライセンス | Oracleライセンス |
| ウェブサイト | www.oracle.com /technetwork/middleware/toplink/overview/index.html |
歴史
Toplinkは、もともとThe Object PeopleによってSmalltalkで開発されました。1996年から1998年にかけてJavaに移植され、「TopLink for Java」と呼ばれました。2002年にOracle Corporationに買収され、Oracle Fusion Middleware製品の一部として開発されました。[ 2 ] TopLinkのコードはEclipse Foundationに寄贈され、 2007年にEclipseLinkプロジェクトが誕生しました。[ 1 ]現在、EclipseLinkはTopLinkの機能を提供しています。Sun Microsystemsは2008年3月、JPA 2.0、JSR 317リファレンスの実装としてEclipseLinkを選択しました。その後、TopLinkは複数のバージョンがリリースされており、最新バージョン12c(12.1.3)は無料でダウンロードできます。[ 3 ]
主な機能
- 拡張性と保守性に優れた高性能エンタープライズアプリケーションを迅速に構築します
- リレーショナル、オブジェクトリレーショナル データ型、およびXMLを使用した広範なマッピング サポート。
- ネイティブSQL、Java Persistence Query Language ( JPQL )、EclipseLink Expressions フレームワークを含む高度なクエリ機能。
- RESTfulサービス
- ジャストインタイム読み取り
- テナント分離
- NoSQL
- さまざまな楽観的および悲観的なロック ポリシーとオプション。
- JSON
- 一般的に使用されるアプリケーションサーバーおよびデータベースとの統合。
- 外部メタデータソース
- TopLinkグリッド[ 1 ]
主要コンポーネント
EclipseLink CoreとAPI
TopLinkのランタイムコンポーネントは、EclipseLink Coreによって提供されます。このAPIは、アプリケーションに埋め込まれたランタイムへの直接アクセスを提供します。永続的な動作は、EclipseLink APIを呼び出してこれらの機能を実行するアプリケーション呼び出しを行うことで有効になり、共有データベースへの安全なアクセスが提供されます。[ 4 ]
EclipseLink の拡張機能を使用するには、次のクラスをインポートします。
org.eclipse.persistence.*をインポートオブジェクトリレーショナル(JPA 2.0)コンポーネント
JavaクラスとXMLスキーマのバインディングは、EclipseLinkコンポーネントであるObject-XMLを利用することで可能になります。JAXBを実装することで、アノテーションを通してマッピング情報が提供されます。また、XMLの操作も可能になります。[ 4 ]
SDOコンポーネント
サービスデータオブジェクト(SDO)は、SDO APIの使用、動的オブジェクトを使用したXMLのカスタマイズと操作、静的データオブジェクトの使用、およびXMLスキーマの変換を提供します。[ 4 ]
データベース Web サービス コンポーネント
データベースWebサービス(DBWS)は、Webサービスを介してリレーショナルデータベースへのアクセスを容易にします。Javaコードを記述することなくデータベースにアクセスできます。XML SOAPメッセージとデータベースは、EclipseLinkを使用するDBWSのランタイムコンポーネントによって接続されます。[ 4 ]
TopLink Grid
TopLink Gridは、 Oracle CoherenceとEclipseLink間の接続を提供する統合メカニズムです。アプリケーションは通常、プライマリデータベースであるリレーショナルデータベースと対話します。しかし、TopLinkを使用すると、アプリケーションはグリッド上のJPAと呼ばれるCoherenceグリッドにデータを保存できます。[ 5 ]
TopLink Grid機能は、ユーザーがOracle Coherenceのライセンスを保有している場合にのみ使用できます。この機能は以下によって提供されます。
toplink-grid.jar
TopLink GridとEclipseLinkのサポートを受けるには、ユーザーは以下のクラスパッケージもインポートする必要があります
org.eclipse.coherence.*
TopLink操作(挿入、更新、削除)
挿入、更新、削除などのデータベース操作はTopLinkでも実行できます。データベースに加えられた変更は、Oracle Coherenceキャッシュに反映されます。Java Persistence APIでは、エンティティは永続クラスです。TopLinkを使用すると、大量のデータを書き込むための多くのパフォーマンス機能を実装できます。バッチ書き込み、ストアドプロシージャのサポート、パラメータバインディング、文の順序付けなどの機能が、データベースの制約を満たすために提供されています
基本的な操作は
挿入
EntityManagerメソッドpersist(Object entity)は、インスタンスを追加し、データベースへの挿入用にマークするために使用されます
entityManager.getTransaction ( ). begin ( ); Employee newEmployee = new Employee ( 5 ); entityManager.persist ( newEmployee ) ; entityManager.getTransaction ( ) . commit ( );トランザクションが完了すると、newEmployeeデータはデータベースに挿入されます。[ 6 ]
更新
エンティティの更新とは、単にトランザクションを読み取り、そのエンティティのプロパティを更新することを意味します。従業員の姓の更新は次のように実行できます。[ 6 ]
entityManager.getTransaction (). begin ( ) ;従業員existingEmployee = entityManager.find ( Employee.class , 5 ) ; existingEmployee.setLastName ( " NewLastName " ) ; entityManager.getTransaction ( ) . commit ( ) ;削除
エンティティの削除は挿入の反対で、remove(Object entity)EntityManagerのメソッドを使用して行うことができます
entityManager.getTransaction () . begin ( ) ;従業員existingEmployee = entityManager.find ( Employee.class , 5 ) ; entityManager.remove ( existingEmployee ) ; entityManager.getTransaction ( ) . commit ( ) ;EntityManagerメソッドはflush()トランザクションの完了時にエンティティを削除します。[ 6 ]
開発ツール
ユーザーは市販のほとんどのツールをTopLinkと併用できます。ただし、以下のツールはTopLinkとの特別な統合を提供します
サポートされているデータベースプラットフォーム
| データベース | Javaクラス |
|---|---|
| Apache Derby | org.eclipse.persistence.platform.database.Derbyプラットフォーム |
| Attunity | org.eclipse.persistence.platform.database.Attunityプラットフォーム |
| dBASE | org.eclipse.persistence.platform.database.DBasePlatform |
| ファイアバード | org.eclipse.persistence.platform.database.Firebirdプラットフォーム |
| H2 | org.eclipse.persistence.platform.database.H2プラットフォーム |
| HyperSQLデータベース(HSQL) | org.eclipse.persistence.platform.database.HSQLプラットフォーム |
| IBM Cloudscape | org.eclipse.persistence.platform.database.Cloudscapeプラットフォーム |
| IBM Db2 | org.eclipse.persistence.platform.database.DB2メインフレームプラットフォーム |
| Microsoft Access | org.eclipse.persistence.platform.database.AccessPlatformPlatform |
| Microsoft SQL Server | org.eclipse.persistence.platform.database.SQLServerPlatform |
| MySQL | org.eclipse.persistence.platform.database.MySQLPlatform |
参照
参考文献
- ^ a b c "Java Persistence/TopLink - Wikibooks、オープンワールドのためのオープンブック" . en.wikibooks.org 。2016 年 2 月 7 日に取得。
- ^ 「WebGainがツール事業から撤退、OracleがTopLinkを買収」The Register . 2002年6月5日. 2024年10月4日時点のオリジナルよりアーカイブ。 2025年2月1日閲覧。
- ^ 「Oracle TopLinkソフトウェアダウンロード」 www.oracle.com 2016年2月8日閲覧。
- ^ a b c d「Oracle ドキュメント」(PDF)。
- ^ 「Oracle® Fusion MiddleWay Oracle Coherenceの統合」 . docs.oracle.com . 2016年2月8日閲覧。
- ^ a b c「TopLink JPA:エンティティを作成、変更、削除する方法」 www.oracle.com 2016年2月8日閲覧。