リモートポスト:
ピスン
クラウドベースの商用オブジェクト指向有料トイレビジネスアプリケーション
私は平均的なビジネスをしています-3つの有料トイレ。 商用のオブジェクト指向のクラウドベースのビジネスアプリケーションを使用して、ビジネスのビジネスプロセスを自動化するときが来たと思います。
有料トイレ用のクラウドベースの商用オブジェクト指向ビジネスアプリケーションを開発するには、どのようなアプローチ、方法論、フレームワークを使用する必要がありますか?
クラウドベースの商用オブジェクト指向の有料トイレビジネスアプリケーションには、何行の商用コードを含める必要がありますか?
有料トイレ用の事前にパッケージ化されたクラウドベースの商用オブジェクト指向ビジネスアプリケーションとは何ですか?
そして、誰かに興味があるかもしれない私の考えのいくつか。
アーキテクチャを3つの主要コンポーネントに分解しましょう。
*これは最前線です(クライアントが見るもの、彼が扱うもの)
*アプリケーションサーバー(ビジネスロジックの処理を担当)
*データベース(データが保存される場所)
2つの重要な点も考慮する必要があります。会計システムはそれ自体が目的ではありません。 すべてのデータを保存することはできません。何らかの理由で必要になります。 問題は、どのデータを保存するのか、それは何のためですか?
*企業の財務活動を実施するため
*規制当局への規制報告の提供
*クライアントのニーズと、それらを可能な限り満たす可能性を調査する(提供された製品とサービスの分析、行動モデルの調査、履歴データに基づく需要予測)
そのため、管理と会計、ビジネス分析のために、将来必要になるデータを保存します。 また、簿記と人事会計のために、チェック/証明書/請求書/注文などのいくつかの厳格なレポート文書の記録を保持する必要がありますが、これらの機能の多くはバックオフィスに関連し、別のシステムで維持することができます。
ただし、場合によっては、フロントシステムからのトランザクションの記録を提供する必要があります(チェック、銀行カードで操作を実行するための承認など)。 また、これには、支払いシステムやPOSシステムとの統合、およびそのような操作のセキュリティの確保と、障害発生時の操作の履歴の復元のために、一連の別個のソリューションが必要になる場合があります。
したがって、重要なことになります-これはバックアップであり、原則として、標準のDBMSツールとセキュリティで可能です。
アーキテクチャに戻る:
*アプリケーションサーバー(ビジネスロジックの処理を担当)
*データベース(データが保存される場所)
問題は、セキュリティとアクセスの分離を確保するために、これらのレイヤーのどれが必要かということです。
3つのアプローチがあります。
1.アプリケーションサーバーレベル
いくつかのロールのみを付与し、それらの下のアプリケーションサーバー(AOS)は既にデータベースにアクセスし、データベースへのロールの分離はジョイントベンチャーで配線され、データ/レコードレベルでの区別はAOSを使用して行われます。
長所:管理が簡単。 DBMSへの強い依存はありません。
短所:ビジネス分析は通常、データベースに直接くっついて、合弁事業レベルでの制限を考慮せずにすべてを確認します。 ジョイントベンチャーを通じてビジネスインテリジェンスへのアクセスを実装することは非常に重要であり、ジョイントベンチャーに大きなストレスを与える可能性があります。
2. DBMSレベルで
すべてのユーザーロール、アクセスレベル、データ/レコードの区別は、DBMSレベルで設定されます。 したがって、システムの管理を複雑にしないために、アプリケーションサーバーを大幅に終了する必要があります。管理者を職場に設定し、データベースレベルでロールを自動的に使用します。
長所:BI /レポートシステムは特定のユーザーのデータベースに直接くっつくことができるため、アクセス権を追加で制御する必要はありません。
短所:このメカニズムの実装は1つまたは別のDBMSの使用に大きく依存するため、実装の複雑さ。
テストの複雑さはゼロが欠落することであり、これがなぜそうなのかを理解する必要があります。これはアプリケーションロジックまたはアクセス権の設定のエラーです。 おそらく管理の重複-ユーザーを連れてきて、ビジネスロジックを彼に添付し、データベースへの権限を調整しました。
3.混合
いくつかの基本的なロールと、アクセスの違いがフィルターのレベルで異なる「標準」ロールがいくつかあります。
多数の主要な役割のアプリケーションサーバー(AOS)-データベースへのアクセス、データベースへの役割区分-ジョイントベンチャーに接続
「典型的な」ものの場合、AOSは各ロールに制限を設定します。データに対する追加の制限/レコードレベルでの制限は、フィルターを使用するDBMSによって維持されます。
すべての利点-管理の容易さ、BIシステムの簡単なセットアップ(実際、DBMSおよびBIシステムでユーザーのフィルターを複製する必要があります)これは最も労働集約的な実装方法です。
ですから、前線で決めるのが簡単な場合、私たちはモビリティの時代に住んでいます。したがって、アプリケーションがあらゆる種類のデバイスから開かれることを予見する必要があります。 そのため、iOS / Android / Win / Linuxで「シンクライアント」を記述するか、任意の環境(たとえば、任意のブラウザー)で開くフロントを記述する必要があります。 現在、Javaは不確実な状況にあるため、誰かがJVMを放棄し、誰かがセキュリティポリシーによって禁止されているので、HTML 5(6 ...)に注目します。 繰り返しになりますが、アプリケーションは24台の「モニターと4台」の携帯電話のように見えますか?ここでは、自動スケーリング、またはクライアントのなりすまし(メインのもののみを表示するか、画面/要素にヒットします)または再び-シンクライアントを作成します...
では、HTML5を選んだふりをしましょう。 グリッドも実装できます。
次にDBMSについて説明します。 主なものはMS SqlとOracleであり、オープンソースにも傾向があります。これは、PostgreSQLを忘れてはならないことを意味します。 多数の分散インストールが予想される場合は、Hadoop / Mongoなどを調べる必要がありますが、これらは特定の問題を解決するリレーショナルDBMSではありません。検索エンジンやソーシャルネットワークにならないのですか? とりあえず最初の3つで停止しますが、少なくとも1回は開始してください。 または、すべてのDBMSに固有の機能のみを残して、DBMSからの独立性を提供します。
ビジネスロジックを実装する対象 ブラウザとDBMSをつなぐ要素は何になりますか?
そして、これは未解決の質問です。 私自身は同僚の話を聞く
Oracleテクノロジーを使用する場合は、Oracle Apexを使用します。 成長した場合-Fusion Middlewareは完全に成長しています+ WebLogic
オープンソースに頼ると-Apache Tomcat。 はい、インストールが大きい場合、PgBouncerやNginxなどのロードバランサーもあります。 分散されている場合、Pacemakerクラスターリソースマネージャー、Corosyncクラスターノード間のメッセージングなどでもあります。
MSテクノロジーのサポーターなら、スタジオとその先へ。 悲しいかな、私は彼らのスタックで準備ができているAOSを促しません。 K2などのサードパーティフレームワークのみ。
クライアントバンクと統合されたアプリケーションサーバーを構築し(Apache ActiveMQ保証付きメッセージ配信ブローカーを使用する場合があります)、バックオフィスとの統合を確立しました。ビジネス分析について考える時が来ましたが、これは別の歌です。
では、典型的な建築について考えている同僚は誰ですか? 使用するアプリケーションサーバー、ビジネスロジックの記述対象
誰がどう思う?
よろしく、
ジョージ