質問

私は進歩ABLで作業し、私たちがappserversと呼ばれるものを使用します。アプリケーションサーバー、プログレスデータベースに話をして、サーバー上にビジネスロジックを実行し、その後、クライアントに応答を送信します。

できるプロセス

これらは4モードがありますが、私は、火災で、モードを忘れて接続し、状態のない全体の状態を保持するアプリケーションサーバーである状態にリセットする最も慣れてるます。

この製品は、.NETなどの他のクライアントとの互換性を持つ非常に独自である。

私の質問は、同じことを行う純粋な.NETありそこに任意のソリューションがあります。彼らは別の問題に取り組むように私は、ASP.netやWebサービスをやっての話ではありません。私は自分のシステムを記述せずにデータベースに接続し、応答を返送することができ、コードを実行することができます何かをしたい。

AppServerの上でコードを実行する

無アンドゥを処理しないように、可変handleToAppServerを定義します。 文字なしのアンドゥとして変数charResponseを定義します。

サーバーhAppServer上の

ファイル名を指定して実行 'AppServerProcedure.p'(出力charResponse)。

役に立ちましたか?

解決

私は長年のABLの開発者だと私は、これは素晴らしい質問だと思います。また、私は好きで、両方のプラットフォームを尊重し、C#のを使用しています。しかし、私は本当にC#の開発者はOPが説明するとP4GLでとても簡単なようで何だろうか理解したことがありません。

p.marinoからの上記応答は、あなたがSPのとやりたいことができていることを前提としています。それは確かに、よくあるケースですが、私たちABLの開発者は、これまであなたはSQLで達成できるものを超えて物事をするために使用されます。

私はC#でビジネスロジックを記述し、それがリモートではなく、SQLのSPとして実行したい場合は、

ですから、私のオプションは何ですか? .NETリモート処理、Webサービス、または多分.NETエンタープライズサービス?私はそれらのいずれかがABL appserversと同じくらい簡単であるとは思わない、とWSの可能性を除いて、それらのどれもトラクションをたくさん持っていると思わない。

(私はP4GLのおたくのような音なかれ、そのGUIは完全に私はC#でGUIを書いたりP4GLはanyday上の振りだろう。彼らのツールが嫌で、ライセンス料はかなり法外ある、吹く。しかし、リモートのビジネスロジック...私は)そうかわからない。

他のヒント

進捗アプリサーバは、ロジック用デシベル&UI中立コンテナのようなものです。彼らは自分自身ではなく、オラクルの一部として、またはSQL Serverまたは任意の一部として実行され、クライアントは、.NET、Javaの、WSやグリーンスクリーンであれば、彼らは気にしないでください。彼らは、DB接続を必要としませんが、それは彼らがやっているために適切なものである場合には、接続することができます。

元質問者は、これらの機能のほとんどをしたいとは思われないと、物事の音から、おそらく好みのDBに登録された手順に満足するでしょう。

それは彼らにで動作するように、単一のプログラミング言語を与えるので、アプリケーション・サーバのような進捗プログラマはおそらく、なぜ本当の理由 -

元の質問には問題かもしれない一つの他の機能があります。ストアドプロシージャを使用して起動した場合、あなたはあなたがあなたのUIをコーディングとは異なる言語を使用する必要があるでしょう。そして、各ターゲットDBはを通して動作するように、その独自の言語や癖を持っています。

(進展がないサーバーのコンテキスト内で、クライアント上で実行するトリガー。彼らは非常にのようなストアドプロシージャをされないように。)

正直に言うと、私は実際の問題が何であるかを理解することを確認していない。

あなたが別々のDBサーバに接続することができるというクライアントアプリケーションを持っていることについて懸念している場合は、

、これは実際には標準ではなく例外です。ただ、任意のJDBC / ODBCブリッジを使用して、あなたのコードは、ネットワークとの移動中のデータだけを使用して、クライアント上で実行している可能性があります。

あなたは(AppServerのは後者を示唆しているという名前のプロシージャ呼び出しとあなたの例)リモートサーバー上で実行するためにあなたののロジックをしたい場合、基本は同じです、つまり接続するためにODBCを使用しDBサーバへ、およびストアドプロシージャにあなたのロジックのほとんどを動かします。

(私は何を探していることは最も近代的なRDBMSで名「ストアドプロシージャ」で行くことを考える:DBサーバー自体に排他的に実行され、すなわち、完全なコード単位、ファンクションまたはプロシージャのいずれか、彼らがリモートで呼び出すことができますクライアントではなく)、DBサーバのメモリ及び計算リソースを使用します。

DBを操作する場合、

これは、再び、かなり標準アーキテクチャの選択肢です。進捗状況ABL / 4GLは、メモリが提供する場合、appserversとは、ヘッドレスのいくつかの並べ替えとして実行されるプロセス「スーパークライアント」であり、「ストアドプロシージャ」の概念がない(あなたの視点ビットを混乱も混合パラダイムのモデルを持っているすなわちコード実行 を除くDB自体は、おそらくトリガー内)。

今後の参考のために答えるます:

はい、今そこにあります。 OpenEdge 11.5で古典的なアプリケーションサーバーの代替として含まれていた「太平洋のAppServer」(2014年12月にリリース)。これは、Apache Tomcatのに基づいており、古いものよりも軽量でいます。

詳細については、これらを参照してください。

11.5の

コンプリートセットドキュメント

OpenEdge(PDF)

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