Oracle TopLink

Oracle TopLinkは、 Java開発者向けのマッピングおよび永続性フレームワークです。TopLinkはOracleによって開発され、OracleのOracleASWebLogic、および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 ]

主要コンポーネント

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は、 Oracle CoherenceとEclipseLink間の接続を提供する統合メカニズムです。アプリケーションは通常、プライマリデータベースであるリレーショナルデータベースと対話します。しかし、TopLinkを使用すると、アプリケーションはグリッド上のJPAと呼ばれるCoherenceグリッドにデータを保存できます。[ 5 ]

TopLink Grid機能は、ユーザーがOracle Coherenceのライセンスを保有している場合にのみ使用できます。この機能は以下によって提供されます。

toplink-grid.jar 

TopLink GridとEclipseLinkのサポートを受けるには、ユーザーは以下のクラスパッケージもインポートする必要があります

org.eclipse.coherence.* 

挿入更新削除などのデータベース操作は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 Derbyorg.eclipse.persistence.platform.database.Derbyプラットフォーム
Attunity org.eclipse.persistence.platform.database.Attunityプラットフォーム
dBASEorg.eclipse.persistence.platform.database.DBasePlatform
ファイアバードorg.eclipse.persistence.platform.database.Firebirdプラットフォーム
H2org.eclipse.persistence.platform.database.H2プラットフォーム
HyperSQLデータベース(HSQL)org.eclipse.persistence.platform.database.HSQLプラットフォーム
IBM Cloudscapeorg.eclipse.persistence.platform.database.Cloudscapeプラットフォーム
IBM Db2org.eclipse.persistence.platform.database.DB2メインフレームプラットフォーム
Microsoft Accessorg.eclipse.persistence.platform.database.AccessPlatformPlatform
Microsoft SQL Serverorg.eclipse.persistence.platform.database.SQLServerPlatform
MySQLorg.eclipse.persistence.platform.database.MySQLPlatform

参照

参考文献

  1. ^ a b c "Java Persistence/TopLink - Wikibooks、オープンワールドのためのオープンブック" . en.wikibooks.org 2016 年 2 月 7 日に取得
  2. ^ 「WebGainがツール事業から撤退、OracleがTopLinkを買収」The Register . 2002年6月5日. 2024年10月4日時点のオリジナルよりアーカイブ。 2025年2月1日閲覧
  3. ^ 「Oracle TopLinkソフトウェアダウンロード」 www.oracle.com 2016年2月8日閲覧
  4. ^ a b c d「Oracle ドキュメント」(PDF)
  5. ^ 「Oracle® Fusion MiddleWay Oracle Coherenceの統合」 . docs.oracle.com . 2016年2月8日閲覧
  6. ^ a b c「TopLink JPA:エンティティを作成、変更、削除する方法」 www.oracle.com 2016年2月8日閲覧