質問

PeopleSoftのインストールがあり、PeopleSoftデータベースからデータを取得する必要がある別のWebアプリケーションを構築しています。 Webアプリケーションは、PeopleSoftとは異なるサーバー上にありますが、同じ内部ネットワークです。

私の選択肢は何ですか?

役に立ちましたか?

解決

はい - 統合ブローカーは、XMLを話す、パブリッシュ/サブスクライブメカニズムのPeopleSoftの独自の実装です。もちろん、JDBCまたはOLE/ODBCを使用してデータベースに反するコードを作成するだけです。あなたがこれをすることを妨げるものは何もありません。ただし、すべての適切なデータを引き出し、挿入/削除/削除するために、PeopleSoftデータベーススキーマを理解する必要があります。 PeopleSoftはあなたのためにこれを世話します。

また、コンポーネントインターフェイスをチェックしてください - それらはJavaまたはC/C ++のAPIとして公開されます。

他のヒント

これはオールディーですが、それでも興味深いかもしれません。

PeopleSoftには、PSXXXテーブルであるホストデータベース(Oracle、SQL Server、DB2など)内に独自のスキーマがあります。これらのテーブルは、外部コードに触れないでください。アプリケーションテーブルは、ps_xxxテーブル、例:ps_jobに保存されます。これらのテーブルは、任意のSQLコードで読み取りおよび更新できます。

PeopleSoftの多くのバッチプログラム(例:アプリケーションエンジン、COBOL、またはSQRS)は、テーブルに直接アクセスします。これは、データをデータベースに出し入れる最速の方法です。ただし、PeopleSoftには、直接SQLを実行するときにバイパスされる非常に豊富なアプリケーションレイヤーがあります。このアプリケーションレイヤーは、特に挿入または更新に対して、直接SQLコードで複製する必要があります。他のテーブルの更新、データベースが保存したカウンターの計算または増分がある場合があります。

これを行う方法を決定するには、PeopleCode(VB6のような解釈言語)、ページデザイン(アプリケーションデザイナーを介して)を調べ、PeopleCodeおよびSQL Traceツールを使用する必要があります。最近では、アプリケーションレイヤーが巨大であるため、これは自明でないページの長いタスクになる可能性があります。 PeopleSoftグループは、ページを「コンポーネント」に関連付け、コンポーネント内のすべてのページが同時に保存されます。

コンポーネントインターフェイスは、このすべてを避ける手段として、Peopletools 8で導入されました。 PeopleSoft App Designer内のジェネレーターを使用して、コンポーネントに基づいてコンポーネントインターフェイスが生成されます。多くのコンポーネントでは、ユーザーがユーザーと同様にページにアクセスするために使用でき、PeopleCodeプログラム、したがってアプリエンジンプログラムと統合ブローカーを介してアクセスできます。また、Webサービスラッパーを使用してアプリサーバーに対して実行できるコードによってJavaコードと直接アクセスすることもできます。この方法は、低容量のトランザクションに最適です。重い抽出物は、ネイティブSQLでよりよく機能します。

PeopleSoftのオンライン開発とトレースツールは非常に優れており、ドキュメントは優れており(非常に広範囲ですが)、以下で入手できます。 http://download.oracle.com/docs/cd/e17566_01/epm91pbr0/eng/psbooks/psft_homepage.htm

特定のコンポーネントからデータを表示することを検討している場合、最も簡単な方法は、SQLトレース(PeopleSoftのユーティリティメニューの下)をオンにし、コンポーネントのレコードを表示することです。トレースファイルを渡ると、何をすべきかについての良いアイデアが得られ、SQLの多くをカットして貼り付けることができます。別の方法は、あなたがやろうとしていることと同様の既存のレポートを見つけることであり、SQLを切り取ることです。

要件を開発するのを支援するために、PeopleSoftビジネスアナリストを手元に置いてください。

それはあなたの要件とあなたがいるPeopleSoftのバージョンに依存すると思います。

リアルタイムルックアップが必要ですか?その場合は、Web Services/Integration Brokerをご覧ください。

バッチ/バルクエクスポートが必要な場合は、スケジュールされたアプリエンジンがトリックを行います。

最良の方法は、Integration Broker(IB)サービスを使用して、PeopleSoftデータベースデータを外部アプリケーションに公開することです。外部アプリケーションは、HTTPを介してXMLとしてPeopleSoft IBサービスにアクセスできるため、この目的のために広く使用されているXMLパーサーを使用できます。

統合ブローカーとは対照的に、コンポーネントインターフェイスの問題は、コンポーネントインターフェイスがIBサービスPeopleCode内からの直接DBアクセスよりもはるかに遅くなる傾向があることです。また、コンポーネントインターフェイスに接続されたコンポーネントへの将来の追加は、インターフェイスを「破る」傾向がある場合があります。

PeopleSoft Integration Brokerの詳細については、オンラインドキュメントにアクセスできます。 http://docs.oracle.com/cd/e26239_01/pt851h3/eng/psbooks/tibr/book.htm

データベースに直接進むということは、プレゼンテーションロジックを再作成する必要があることを意味します。上記の私の長い答えを参照してください。これは簡単なページで行うことができますが、それ以外の場合はコンポーネントインターフェイスを使用することが方法です。

バルクデータ抽出のためのSQRプロセスを記述することもできます。 SQRは、他のアプリケーションが選択できる出力ファイルを作成します。 SQRは、メモリでほとんどの操作を実行するため、アプリケーションエンジンプログラムよりも速くなります。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top