この例では、多層アーキテクチャがあり、その一部はストレージです。トランザクションを失いたくないのですが、Webサービスを介して新しい顧客を挿入する必要があり、スキーマ定義と一緒に顧客サービスがある場合は、自動生成できます。また、私の知る限り、BPEL 2.0はトランザクションをサポートしているため、これらのデータサービスはトランザクションを認識できます。つまり、分散トランザクションに参加できます。
新しいBLOGエントリの作成は、専用のトランザクションで実行できる操作です。私たちのプロジェクトには他にも多くのケースがあり(ほとんどすべてのテーブル)、それらを外部システムに公開する必要があります。なぜこれを手で100回書くのか。ANTLRの作者が言うように、5日で手動で何かを行うことができるなら、それを自動化するために5年を費やしてみませんか。
私は5年間を費やして、すぐに使える解決策を探したくありません。現在、コード生成を含むタスクを半自動化していますが、最大の問題は、JaxWSが汎用インターフェースでうまく機能しないことでした。
このアーキテクチャには、次のような多くの優れた機能を実行できるという利点があります。-エンティティクラスの上に一連のアノテーションを設定して、ROLE権限を確認します。このチェックは、エンティティ、Webサービス、または直接Java呼び出しにどのようにアクセスするかに関係なく行われます。また、特定のテーブルに対するすべての操作のRSS / Atomフィードを生成するなど、フックを一度定義することもできます。-自動フォーム作成のために、XSDで記述されたエンティティタイプをサポートする多くのGUIツールがあります。すべてのフォームを生成したくはありませんが、少なくともデフォルトの実装があり、これを置き換えることができます。
私が探しているのは、実際にはデータアクセス抽象化プロトコルです。これはデータベースなどによってバックエンドされ、Webサービス(soap / restful / json)としてエクスポートされます。
このApacheインキュベーションプロジェクトであるEmpireDBがあります。それらの優れた点は、アノテーションを使用せずjavaclasses
、モデルを定義することです。これにより、メタデータを使用してXSDとフォームを簡単に作成できます。業界標準ではないプロジェクトを使用することはできません。そのため、JPA(Hibernateなど)やJaxWSなどの標準テクノロジーに基づいたすぐに使えるソリューションを探しています。