問題タブ [middleware]
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 - ミドルウェアAPIのベストプラクティスは何ですか?
たとえば、ゲーム開発者、アニメーションソフトウェア開発者、アバター開発者が製品を拡張するためにライブラリ/ DLLとして使用するミドルウェアSDKを、C++とJavaの両方で開発しています。
私が知りたいのはこれです:これらのタイプのAPIの開発のための標準的な「ベストプラクティス」はありますか?
使いやすさ、読みやすさ、効率などの観点から考えています。
api - 非 Web ベースのアプリケーション向けの REST 型 API、それは良い考えですか?
ゲーム開発者、アニメーション ソフトウェア開発者、アバター開発者などの製品を強化するためにライブラリ/DLL として使用されるミドルウェア SDK を C++ と Java の両方で開発しています。
特定の関数の特定の呼び出しを使用して典型的な API を作成したので、REST タイプの API (GET、PUT、POST、DELETE) または CRUD タイプ (CREATE、READ、UPDATE、DELETE) インターフェースを使用して API を簡素化することを検討しています。
これは、可能な API 呼び出しが 4 つしかないクライアント サーバー タイプの REST API と同様に機能しますが、柔軟なパラメーターを使用できます。
これには、新しい呼び出しが追加されず、古い呼び出しが削除されないという点で、API を安定させるという利点があるようです。したがって、この API の利用者は、ミドルウェアの更新に合わせてコードを再コンパイルおよび変更する必要があることを心配する必要はありません。
オーバーヘッドは、API 呼び出しをルーティングするためにミドルウェア コントローラーに追加のリダイレクト レイヤーがあり、開発者は各 REST 呼び出しで使用できるパラメーターを知る必要があることです (もちろん提供されます)。
このシステムが Web タイプのクライアント サーバー アプリケーション以外で使用されているのを見たことがないので、私の質問は次のとおりです。これは実行可能なアイデアですか?
効率性や、例えばゲーム開発者が使いやすいかなどを考えています。
python - PythonWSGIアプリケーション用のミドルウェアのデバッグ/監視
wsgiアプリケーションをワープできるwsgiミドルウェアを探しています。これにより、着信および発信のhttpリクエストとヘッダーフィールドを監視できます。
Firefoxのライブヘッダーのようなものですが、サーバー側用です。
.net - .NET エンタープライズ アプリケーション プラットフォーム (JBoss to Java と同じ)
.NET 開発者として、エンタープライズ アプリケーション プラットフォームとして「.NET 開発により適した」JBoss の代替案が存在するかどうかを尋ねています。
「WebServices を公開するために JBoss を作成する」などの提案は行わないでください...
sql-server - ドキュメント/画像データベース リポジトリの設計に関する質問
質問:
データベース イメージ リポジトリに直接アクセスするアプリケーションを作成するか、ドキュメント リクエストを処理するミドルウェアを作成する必要があります。
バックグラウンド:
現在、約 1,500 万のドキュメント/ドキュメント イメージ (90% 以上の単一ページ、グループ 4 TIFF、残りの PDF、Word、および Excel ドキュメント) を保存するカスタム ドキュメント イメージングおよびワークフロー アプリケーションがあります。イメージ リポジトリは商用のサードパーティ アプリケーションであり、非常に高価であり、率直に言ってオーバーヘッドが大きすぎます。ドキュメント画像を保存および取得するシステムが必要なだけです。
イメージを SQL Server 2005 データベースに直接移動することを検討しています。インデックス情報は非常に限られています - 基本的に 2 つのインデックス フィールドです。これは生命保険証券管理システムなので、証券番号とシステム全体で一意の ID 番号を使用して画像にインデックスを付けます。他にもインデックス値がありますが、それらは画像データとは別に保存および維持されます。これらのインデックス値により、個々の画像を取得するための一意の ID 値を検索できます。
データベース サーバーは、DB ファイルをホストする SAN ドライブを備えたデュアル クアッド コア Windows 2003 ボックスです。現在のイメージ リポジトリのサイズは約 650 GB です。変換後のデータベースのサイズを確認するためのテストは行っていません。データベースの設計について質問しているわけではありません。その点については DBA と協力しています。それが変わったら、私は戻ってきます:-)
交換する現在のシステムは明らかにミドルウェア アプリケーションですが、3 つの Windows サーバーにまたがる非常に重量のあるシステムです。この道を行くとしたら、それは単一のサーバー システムになります。
私の主な関心事はスケーラビリティとパフォーマンスであり、パフォーマンスに重点を置いています。私は約 100 人のユーザーを抱えていますが、今後数年間はおそらく使用量の伸びが鈍化するでしょう。ほとんどのユーザーは主に読み取りユーザーであり、システムにイメージを頻繁に追加することはありません。リポジトリへのイメージのスキャンや追加を処理する部門があります。ドキュメントを (ftp 経由で) 受信し、受信したドキュメントを自動的にリポジトリに挿入するアプリケーションもいくつかあります。完全なインデックス情報、またはユーザーがレビューしてインデックスを作成する「バッチ」として挿入されます。
ドキュメント/画像のほとんど (90% 以上) は非常に小さく、100K 未満、おそらく 50K 未満であるため、SQL 2008 を取得してファイルストリームを使用するよりも、データベース ファイルに画像を保存するのが最も効率的であると考えています。
agile - BizTalk で DDD、TDD を引き続き使用するにはどうすればよいですか?
仕事で BizTalk を使い始めたばかりで、DDD や TDD などについて学んだことをすべて使い続けたいと思っています。パイプラインやオーケストレーションなどを作成するとき、これは可能ですか、それとも常に Visio のようなエディターを使用する必要がありますか? ?
.net - アジャイル開発と ESB
私は、企業の技術パラダイムをアジャイル開発に移行することに取り組んでいます。大変なプロセスでしたが、あと少しです!:)
データベース管理用のレガシー システム (以前は Access でしたが、現在は .NET と MS SQL に移植されています) を使用しており、将来のビジョンに向けたフレームワークを開発しています。可能な限り Web に移行したいと考えています。しかし、現在のシステムを「今後の」システムと統合したいと考えています。タスクと機能が重複することはありません。
私のビジョンは、ユーザーのすべての連絡先情報を別のデータベースに移動し、それらの「プロファイル」を MS SQL にリンクして履歴と会計情報を取得することです。すべての会計システムはデスクトップ アプリに残しますが、Web、特に Ruby on Rails に大きく依存する多くの機能を追加しようとしています。
問題は、なぜ ESB なのかということだと思います。複雑な ESB システムで大騒ぎせずに SOA を作成する方法はありますか? 全体のアイデアは、とにかくKISSすることです。デスクトップ/Web/モバイルをインターフェイスとして、ビジネス ロジックの機能を維持できるような方法で SOA を作成できますか (もちろん、一部の機能はインターフェイスに実装する必要がありますが、最小限に抑えます)。また、ESB はアジャイルの哲学にも適合するのでしょうか? それらを読んで勉強すればするほど、そうは思いません!:/
ご意見をお寄せいただきありがとうございます。明確にする必要がある場合は、いくつか質問してください。できる限りのことを行います。:)
django - Flup で未処理の例外
Flup によって発生した恐ろしい「ハンドルされていない例外」に直面しています。悲しい部分は、アプリケーション レベル (Django) ではなく、Web サーバー (lighttpd+flup) レベルで発生したことです。そのため、問題がどこにあるかについて 500 通の電子メールが送信されることはありません。
私たちのチーム全体は、あいまいなインポートやそのような人がいる場合に備えて、あいまいなインポートによるエラーが発生する可能性を排除するために、コードベースをクリーンアップするのに苦労しました. そして、コード内の多くのことをクリーンアップしました。それでも同じ例外です。
率直に言って、私は Flup のエラー処理に本当にイライラしています。それはあなたに何も教えてくれません。最悪の場合、同じ「未処理の例外」がユーザーに表示されます。どうすればこれをパスできますか?
lighttpd ログを確認しました。「インターフェイス エラー/接続が既に閉じられています」と表示されるだけです。アプリケーションが FCGI モードで実行されている場合にのみ発生します。したがって、問題は flup が実際に私のコード (アプリケーション) をどのように扱っているかということです。どうすればこれをパスできますか?
flup の代替案を調べたのですが、Django は明示的に flup に依存しています (これはもう 1 つの制限であり、私を困惑させました) (参照:django_src/django/core/servers/fastcgi.py 行:100 / 131)
このシナリオを (少なくとも) デバッグして問題を解決するにはどうすればよいですか? 私を助けてください。アプリケーションは 3 日間ダウンしています。
python - WSGI バイト範囲の提供
WSGI サーバー/アプリケーションでHTTP/1.1 Byte サービスをサポートすることを検討しています。
- 部分ダウンロードの再開
- マルチパートダウンロード
- より良いストリーミング
WSGI PEP 333は、WSGI サーバーがバイト サービスの処理を実装する可能性があり ( RFC 2616セクション 14.35.2 で Accept-Range/Range/Content-Range 応答/要求/応答ヘッダーを定義)、アプリケーションが機能をアナウンスする場合はそれを実装する必要があると述べています。
クライアントから要求された場合、サーバーはアプリケーションの応答のバイト範囲を送信できますが、アプリケーションはバイト範囲をネイティブにサポートしていません。ただし、必要に応じて、アプリケーションはこの機能を独自に実行する必要があります。
私はいくつかのグーグルを実行しましたが、利用可能なWSGIサーバー/ミドルウェア/アプリケーションのどれがByte-Rangesを実装しているかについての情報はほとんど見つかりませんでした? この分野での経験があり、さらに掘り下げる場所を教えてくれる人はいますか?
編集:誰でもコメントできますか、答えを見つけることができるように質問をどのように強化できますか?