夜間と週末にマイクロ ISV をブートストラップしようとしています。開発の非常に初期段階にあるアプリケーションがあります。これは C# で書かれており、主に問題領域を表すクラスのコレクションで構成されています。この時点では、UI またはデータの永続性はありません。(私はまだ .NET プラットフォームに落ち着いていません。Java やネイティブの実行可能ファイルに変更できるほど初期の段階です)
このアプリケーションの私の目標は、ハイブリッドのシングル ユーザー/時々接続されるマルチユーザー アプリケーションになることです。シングル ユーザー パーツは、ローカル ストレージに組み込みデータベースを使用します。これは私がよく知っている開発モデルです。
マルチユーザーの部分は、私が以前に経験したことがないところです。各ユーザーには次の 2 つのものが必要です。
パブリック インターネット上のリモート サーバーへの IP ベースの通信
ユーザー認証とリモート データ ストレージ
このサーバーに提供してもらいたいサービス (情報の検索とユーザー間のトランザクション) についての考えはありますが、それ以上は私の要素から外れています。自分のサーバーを実行するリソースがないため、サーバーはサードパーティによってホストされる必要があります。近い将来、私がこのプロジェクトの唯一の開発者になることを心に留めておいてください。
上記の 2 つのことを実装する最も簡単な方法は、どのテクノロジですか? データストア/データベースへの直接アクセスですか、それとも分離した方がよいですか? Web サービスを実装する必要がありますか? もしそうなら、SOAPかRESTか?
マルチユーザー アプリケーションに移行する場合、他にどのようなことを考慮する必要がありますか? マルチユーザー アプリケーションでは、セキュリティがより大きな関心事であることを私は知っています。特に、あらゆる種類の銀行情報を扱う場合(私はそうします)。リモート接続や多数のユーザーを扱う場合、パフォーマンスが問題になる可能性があります。他に見落としているものはありますか?