問題タブ [saas]
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.
database-design - 大規模な Web アプリのデータベース スキーマ
SaaS Web アプリケーション サービスの多くは、企業ベースのコンセプトを持っています。そのため、サービスを使用する各企業には、独自のユーザー、ファイル、およびその他のデータのセットがあります。通常、Web アプリは DB 側でこれをどのように処理しますか? 会社ごとに新しいデータベース (その会社に関連するデータ テーブルを含む) を作成しますか? それとも、単一の DB から関連データを選択するために、ある種の company_id 関係がありますか?
database-design - データベース設計 - 複数のルックアップ/列挙テーブルまたは 1 つの大きなテーブル?
ほとんどの列値に Lookup/Enum 参照を使用するテーブルが多数あります。例:
Person テーブル - PersonID | レースコード | ヘアカラーコード | ヘアスタイルコード | TeethConditionCode
ロケーション テーブル - LocationID | サイズコード | エクステリアカラーコード | ConditionCode
Race、Size、Color、Condition などは、Code ルックアップ テーブルへの外部キー参照にすぎません。このコード テーブルには他のフィールドがありますが、私の質問には重要ではありません。データベースは SaaS アプリケーション用です。これは、各クライアントが独自の色、人種、状態などのリストを持つことができることを意味します。クライアントが変更できない静的なコードがいくつかあります。
1 つのコード テーブルまたは 2 種類のコード テーブル (顧客が定義したものには DynamicCodeTable、1 つの変更に対しては StaticCodeTable) を使用する方が良いですか、それとも各コード タイプ (RaceCodeTable、HairColorTable、Condition など) に対してテーブルを使用する必要がありますか?
私が最も心配しているのは、すべての sql 結合です。私が使用している Person テーブルには、これらのコード属性が 20 以上あります。20 の異なるテーブルに参加するときと、同じテーブルに 20 回参加するときのパフォーマンスに違いはありますか? 複数のテーブルを持つということは、各テーブルが小さくなり、ルックアップにかかる時間が短縮されることを意味します。しかし、単一のテーブルを持つことも簡単です。助言がありますか?
seam - Seam で単一インスタンスのマルチテナント Web アプリケーションを使用した経験はありますか?
ワンインスタンス マルチテナント セットアップで Seam を使用した経験はありますか? Seam はその設定に適していますか? どのように気づきましたか?かかった費用は?
状況: Seam 2.1 SaaS Web アプリケーション (POJO、EJB なし)。利用可能な開発予算により、テナントごとに 1 つのインスタンスという単純な設計を余儀なくされました。アプリケーションはまだ製品化されていませんが、ほぼ完成しています。
予想されるホスティング コストを下げることができれば、顧客は 1 インスタンスのマルチテナント セットアップを再検討する可能性があると思います。
deployment - ホスト型 (saas) から個別の展開に移行する際の考慮事項
私が働いている会社は、ホストされた (つまり、サービスとしてのソフトウェア) ソフトウェア システムを販売しています。現在、潜在的な顧客にソフトウェアのローカル インストールを提供できるかどうか尋ねられています。これは、人々がホスト モデルに移行している他の場所で起こっているように見えることとは逆のようなものです. 問題は、これを提供する際に何を考慮すべきか、そして問題点がどこにある可能性があるかということです。オフィスでいくつかの議論を行いましたが、より広いコミュニティに公開することにしました. 私たちのアプリには、SQL サーバーのインストール、その他の依存関係 (Tomcat など) が必要で、いくつかの Windows サービスをインストールします。システムには専用の (おそらく仮想) マシンが必要になると思います。
java - cname forward サポートを saas ソフトウェアに与える方法
ユーザーが自分のアカウントを作成してサービスを使用できる webapp があります。ここで、app.customer1web.com points_to myservice.com がユーザー ID customer1 であるカスタム ドメイン機能を彼らに提供したいと思います。彼がカスタム ドメインをセットアップすると、私のサービスが彼のマシンで実行されているように見えます。ブロガー、wp.com、tumblr などの多くのサービスがこの機能を提供しています。
それ、どうやったら出来るの?Java を使用して Web アプリケーションを作成しています。リクエストが届いたときにドメイン名をユーザー ID にマップするにはどうすればよいですか?
zend-framework - SaaS アプリケーションを作成するには?
他に言い方がわからないので、私の理想的なシナリオを説明します。うまくいけば、それを実装する方法を説明してください...
DreamHost でホストされる Zend Framework を使用してアプリケーションを作成しています。アプリケーションは独自のドメイン (つまり、example-app.com) でホストされます。基本的に、ユーザーはサインアップして独自のドメイン sampleuser.example-app.com または example-app.com/sampleuser を取得できる必要があります。これは、実際には単一のインスタンスであるアプリの独自のインスタンスのように見えます。 URL に基づいてさまざまなコンテンツを提供します。
最終的には、ユーザーが sampleuser.example-app.com を指す独自のドメイン (foobar.com など) を作成できるようにして、foobar.com への訪問者がサイトが実際に提供されていることに気付かないようにしたいと考えています。 example-app.com から。
私はそのほとんどを行う方法を知りません。このプロセスはどのように機能しますか? Apache でファンキーなことをする必要がありますか? それとも、DreamHost のようなサードパーティのホストでこれを行うことができますか?
更新:アドバイスありがとうございます! 思い切ってホスティング プランをアップグレードして、ワイルドカード サブドメインを利用することにしました。思っていたよりも安い!また、opensrs.com のような独自の API を持つドメイン リセラー プログラムについても知りました。これらの API のいずれかを使用することで、ドメイン登録の問題を解決できると思います。
saas - ホステッド ソフトウェアの契約
ホストされているソフトウェアのクライアントをついに見つけました。ソフトウェアを販売したのはこれが初めてです。だまされたと誰も感じないように、期待される稼働時間、支払いスケジュールなどを指定する契約に両当事者に署名してもらいたいのですが、私は弁護士ではないので、今のところ契約を結ぶ余裕はありません. このプロセスを開始する方法を知っている人はいますか?
ティア。
ruby-on-rails - マルチユーザー SaaS アプリケーションで連番を生成する
典型的な SaaS アプリケーションで、特定のユーザーの auto_incrementing 整数をどのように生成しますか?
たとえば、特定のユーザーのすべての請求書の請求書番号は、auto_incrementing で、1 から始まる必要があります。Rails id フィールドは、すべてのユーザー間で共有されるため、この場合は使用できません。
頭のてっぺんから、ユーザーが持っているすべての請求書を数えてから 1 を足すことができますが、もっと良い解決策を知っている人はいますか?
php - 複数の mysql データベースのセットアップ
Mysql/PHP アプリケーションがあります。SASに売りたい。複数のデータベースを利用できるホスティング会社を考えています。彼らがログインしたページが欲しいので、彼らのデータベースに連れて行きます。同じ構造を持つ多くのデータベースがあります。それらをそのフォルダーに切り替えて(cssなどのコードを変更する場合があります)、データベースを操作する方法が必要です。ログインにマスターテーブルを使用できますが、データベースに接続するにはどうすればよいですか? セキュリティが心配です。例: 3 人の顧客がいるとします。ABC Apache サーバーに 3 つのフォルダーをセットアップし、そこにコードをコピーして、new_db_a、new_db_b、new_db_c などの一意のデータベース名を設定しました。ログイン時にメモリ変数でそれを行うと、彼は彼の場所に連れて行かれます。彼は URL を見ることができ、簡単に別の文字に置き換えて、別の会社のデータベースを実行することができました。
これを行うには、Perl、PHP、または何でも使用したいと思っています。これを行う最良の方法は何ですか?