問題タブ [fat-client]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - Fat Javaクライアントには、http/httpsを介したWebサーバーへの双方向通信チャネルが必要です。
Javaクライアントにサーブレットを使用した双方向のデータチャネルを持たせたいという状況があります(両方を制御できます)。これにより、どちらかが最初に何かを行うのを待たずにデータ転送を開始できますが、ファイアウォールを通過するには、httpまたはhttpsでトンネリングする必要があります。
私は周りを見回しましたが、Googleに尋ねる正しい条件を知っているとは思いません。
私はもともとhttpトンネリングモジュールを見ていましたが、もう一方の端にWebコンテナがあることに気付いたので、ファットクライアントが自宅と通信する必要があると考えるのが適切な方法だと思います。ここでは、http1.1の永続的な接続が非常に役立つのではないかと考えていました。ハートビート転送を簡単に実行して、接続がアイドリングにならないようにすることができます。
この時点では、概念実証を行う必要があるだけなので、主に現在機能するものが必要です。これは、最適化するか、後で置き換えることもできます。
したがって、どちらの側も情報(シリアル化されたオブジェクトやバイトの記述ストリームなど)を反対側にプッシュできる接続を可能にするプロジェクトへのポインターをいただければ幸いです。可能であれば、純粋なJavaを使用したいと思います。
編集:ポインタをありがとう。私が必要としているものは、サーブレット3.0仕様で利用できるようです。これは、さまざまなWebコンテナーでいつサポートされるかによっては、長期的に使用することになります。
今のところ、Cometdパッケージを調査しています。これは、プロトタイプに必要なことを正確に実行できるようです。
php - 私のファット クライアント アプリケーションは MVC パターンに属しますか?
私が現在取り組んでいる Web ベースのアプリケーションは、手足が伸びています。これは基本的に、ユーザーが予約、ユーザー アカウント、請求などを追跡するのに役立つ管理システムです。また、かなり粗雑な API を使用して、いくつかの異なる Web サイトからアクセスすることもできます。
ファット クライアントの設計は、php/MySQL バックエンド、フロント コントローラー、いくつかの異なるページ コントローラー、オブジェクト指向モデルと手続き型モデルのリベラルな分散、混乱を招く一連のビューとテンプレート、いくつかの MVC パターン (またはおそらく MVP) に大まかに従っています。 JavaScript、CSS ファイル、および Flash オブジェクト。
私のプログラマーは「懸念の分離」の原則の大ファンであり、その点については、現在、プロジェクトが成長し、より多くの人々がそれに貢献するにつれて、さまざまな懸念を分離および結合する最良の方法を見つけようとしています。 .
私たちが直面している問題は、通常、JavaScript (または ActionScript を使用した Flash) はテンプレートを使用して記述されているため、View の一部であり、Controller および Model から分離されているにもかかわらず、実際には MVC パターン全体が含まれていることがわかります... スワップonmouseover イベントのある画像 - それがビヘイビアです。データグリッドをレンダリングします - ビューを操作しています。AJAX を介してリストを並べ替えた結果を送信します。これで制御できます。フォーム フィールドをチェックして、電子メール アドレスが有効な形式であるかどうかを確認します。モデルを調べています。
データベース担当者に検証モデルを jQuery で作成させるのは賢明でしょうか? PHP プログラマーは、必要な制御構造を JavaScript で記述できますか? Web デザイナーは、自分のビュー用に機能する AJAX フォームを本当に作成できるのでしょうか? すべてのプロジェクトに JavaScript オーバーロードが必要ですか?
コードではなく人に MVC パターンを適用できるとしたら、次のようになります。
- モデル - データベース boffins - 「SELECT * FROM
mind
WHEREinterested
IS NULL」</li> - コントロール - 厄介なプログラマー - 「クラスの何かが NothingAbstractClass を拡張します{…}」</li>
- ビュー - 伝統的にグラフィック/ウェブ デザイナーのドメイン - 「」</li>
…そして新しいレイヤー:
- 動作 - インタラクションおよびフィードバック デザイナー - 「CSS3 は新しい黒です…」</li>
そのため、リファクタリングを行っており、ベスト プラクティスの設計に固執したいと考えていますが、どのように進めればよいかわかりません。私は車輪を再発明したくないので、どのパターンを見るべきか、またはすでに汚い仕事をした人からのコードサンプルについてのヒントやヒントを誰かが持っていますか? プログラマーとして、バックエンドとフロントエンドを分けたままアプリを書き直すにはどうすればよいでしょうか?
質問する前に、はい、私は Zend、CodeIgnitor、Symfony などを見てきましたが、いいえ、それらはサーバー ロジックとクライアント ロジックの境界を越えていないようです!
sql-server - ファット クライアントがアクセスする安全な SQL Server
ファット クライアントがアクセスする SQL Server データベースを保護する方法はありますか? 意味: アプリケーションは、SQL ステートメント自体を配置するときに、データベースと直接通信します。つまり、接続文字列はクライアントのどこかにある必要があります。この接続文字列 (winauth または sql サーバー認証のいずれか) を使用すると、ユーザーは管理スタジオまたはコマンド ラインを使用してデータベースにアクセスし、GUI が許可するものとは異なるステートメントをデータベースに配置できます。
それについて何をすべきか?このアーキテクチャは修正されているため、クライアントとデータベースの間に別のレイヤーを配置することはできません。
single-sign-on - Windows ログオンを使用しないリッチ クライアント (「ファット クライアント」) のシングル サインオン
Web アプリケーションのシングル サインオン (SSO) (ブラウザー経由で使用) は十分に文書化され、確立されています。リッチ クライアントの SSO を確立するのは難しく、通常は Kerberos チケットに基づいて提案されます。特に、ドメイン内の ActiveDirectory に対する Windows ログインを使用します。
ただし、次の場合のより一般的なソリューションを探しています。クライアント側(管理されていないコンピューターなど)で、「実際の」SSO(すべてのアプリケーションに対して1つのID、つまりアプリケーション間のパスワード同期だけでなく)を確立する必要があります。非 Windows)、「エンド クライアント」は Java アプリケーションと GTK+ アプリケーションです。どちらも、HTTP ベースのプロトコル (HTTPS を介した Web サービスなど) を使用して、対応するサーバーと通信します。クライアントとサーバーは必ずしも同じ LAN/イントラネットにあるとは限りませんが、クライアントはエクストラネットからサーバーにアクセスできます。すべてのアプリケーションのサーバー側は同じネットワーク領域にあり、SSO コンポーネントは LDAP 経由で ID プロバイダーにアクセスできます。
私の質問は基本的に「どうすればそれを行うことができますか?」すなわち、
a) ブラウザーからアクセスするアプリケーションの SSO Cookie の場合のように、安全で保護されたクライアント側の「sso セッション ストレージ」のための合意されたメカニズムはありますか? クライアント側で ActiveDirectory 認証が実行されていない場合でも、Kerberos (TGT?) をエミュレートしたり、直接再利用したりするようなものでしょうか?
b) リッチ クライアントと SSO の他の参加者との間の通信用のプロトコル/API/フレームワークはありますか (Cookie の場合など)?
c) kerberos のような TGT とセッション チケットをネットワーク経由でプッシュするための API/フレームワークはありますか?
d) リッチクライアント SSO の実行方法を示す実装例/チュートリアルはありますか?
クライアント側のアプリケーション ダイアログに資格情報を入力することを学習する「入力」エージェントがあることを理解しています。できればそのような「ヘルパー」は使いたくありません。
また、できればCASやShibbolethなどのオープンソースのコンポーネントも可能な限り使いたいと思っています。
コメント、提案、回答ありがとうございます。
ミク
javascript - 単一ページ アプリケーションに Piwik を使用する
単一ページ/ファット クライアント アプリケーションを構築しています。
アーキテクチャ的に健全で、将来的には別のライブラリに置き換え可能な方法で Piwik を使用したいと考えています。
Piwik での追跡には 2 つの基本的なオプションがあるようです。
- グローバル
_paq
配列にコマンドを入力してから、スクリプトをロードします(ただし、将来の「ページ」ビューを記録する方法や変数を変更する方法は不明です) - 入手して使用する
var myTracker = Piwik.getTracker()
_paq
アプローチ:
.getTracker()
アプローチ:
これらのアプローチは機能的に同一ですか? 単一ページのアプリでは、どちらが優先されますか?