web-dev-qa-db-ja.com

LinuxからGUIに最適なイベントベースのアーキテクチャ

私は abit を見回してきましたが、おそらくこの質問に適切なメディアが見つからなかったので、別のフォーラムが気になる場合はお知らせください。

まず、いくつかのシミュレーションを実行し、イーサネット経由でシステムと通信する別のグループによって管理されるアプリケーションがあります。このアプリを呼び出しましょう。

これで、Red Hat Enterprise Linuxシステムに次の設定ができました。

  1. レガシーAdaコード(事前定義された標準に従ってアプリと通信するために使用されます)
  2. Linux csh/shスクリプト(アプリと通信するためにAdaタスクを呼び出す、またはFlashを更新するためにファイルを書き込む-Adaタスクによって呼び出されるか、ステータスを監視するためにプログラムと共に常に実行される)
  3. FirefoxウィンドウでのActionscript 2 Flashムービー(GUI-ファイルをポーリングして更新が必要かどうかを確認し、PHPに変数をロードしてシステムコールを作成する、Linuxスクリプトを呼び出す、またはAdaタスクを実行する)
  4. PHP(FlashがLinuxスクリプトとAdaタスクを呼び出してアプリと通信するために使用)

アーキテクチャの改善を探しています。言語の食い違いは明らかに悪夢です。その上、割り込み駆動型アーキテクチャを導入することができなかったため、Flashの操作は困難です。よりイベントベースのフローにFlashのExternalInterfaceクラスを使用しようとしましたが、利用可能なExternalInterfaceがないようにFlash環境をセットアップした人は誰でもそうしました。 「最後に」(この投稿の場合)、プログラムはローカルマシンで実行されるため、Firefoxウィンドウで.swfを実行する必要はありません。


フィードバックをお寄せいただきありがとうございます!私が目にする最初の3つのコメントに対応させてください。

  1. システム全体をより首尾一貫した方法で書き直すために時間とお金を費やすことは絶対的な夢でしょう。私はかなりの抵抗を期待します(すでに数回試したため)が、私はより多くの調査を行い、より説得力のあるケースを収集し、「デザイン」の一部のみを更新することの「弱さ」を伝えようとします。
  2. あなたは正しいです-私は根性を知る必要があると思うためにあまりにも急いでいました。基本的に私は、「GUIとLinuxとの対話が必要なアーキテクチャで私のお気に入りの言語/ツール/パターン/パラダイム/その他は何だと思う」または「AS2の割り込み駆動型アーキテクチャは存在する、なんてことだ」などを望んでいましたまたは「ExternalInterfaceを使用できませんか?確認できましたか?」。上記を更新して、おそらくもっと役立つ情報を追加しました。それでも実際には何も明らかにされなかった場合はお知らせください。
  3. うまくいけば、前の応答が、ピースがある程度何をしているかを説明するのに役立ちます。

編集:私はこのプロジェクトに取り組んでいませんが、他の誰かが他の人に役立つと思っている場合はスレッドを開いたままにすることができます(この恥ずかしい状況に誰も遭遇しないことを期待しているので疑わしいです)。結局起こったのは<whine>私と他の2人の開発者が繰り返しJava/Pythonでアプリケーション全体を書き直すことを提案しようと試みましたが、誰も確信していませんでした。次に、別の開発者(プロジェクトではありません)がJavaですべてを書き直そうと申し出たので、誰もが突然ボードに飛び乗ったので、すべてがJava (アプリではありませんが、3と4のすべてがJavaになりました)</whine>

6
Mark Lodato

以下を仮定することにより:

  1. アプリは他のグループによって管理されているため、変更することはできません
  2. ASムービーを変更したり操作したりする必要はありません。フラッシュの更新を確認するだけです

全体的な設定を改善するために、次のことを行います。

  1. イーサネットを使用するレガシーコードを、選択したより高級な言語に移植すると、Pythonを使用します。
  2. GUIを削除します。代わりにPython(または何か他のもの)を使用して、.swfファイルを呼び出し、更新を確認し、システムコールを実行します。
  3. 上記の手順で概念実証を作成します。これは、システムの改善のアイデアを同僚に広めるのに役立ちます。
1
Emerson Cardoso

次のことが可能ですか?

  1. MySQLデータベースまたはその他の軽量データベースをシステムに導入する
  2. ファイルへの書き込みをこのデータベースの更新に置き換える
  3. このデータベースから読み取り、データをjspページにレンダリングするjBOSSアプリケーションサーバーを追加しますか?
0
A.Rashad