私は現在、会社向けのERPソリューションを開発しています。要件は次のとおりです。
HR、BSC、Inventoryなどのモジュールを処理する1つのwinformsベースのアプリケーションが必要です。
すべての従業員が個人データにアクセスしたり、休暇を申請したりする必要があるWebベースのソリューション。これは、どこからでもアクセスできるインターネットベースのソリューションである必要があります。
将来的には、Webベースのドキュメント管理システムも必要になります。
緊急の要件であったため、現在、winformsアプリケーションのいくつかのモジュールはすでに完了しています。WinFormの場合、階層化アーキテクチャに対して水平方向のアプローチを採用しています。つまり、各モジュールは、プロジェクト内に独自のデータレイヤーとビジネスレイヤーを持つ1つのプロジェクトです。次に、Webソリューションの作業を開始する必要があります。WinFormsアプリとWebアプリの間でデータレイヤーとモデルレイヤーを共有するには、どちらのアプローチが最適か疑問に思っています。また、Webアプリは機密データになるため、適切なセキュリティを設定する必要があります。私は利用可能なすべての可能性をカバーしないかもしれない2つのアプローチについて考えました。
私が考えることができるアプローチは以下の通りです:
a。データレイヤーとモデルを処理するWebサービスを作成します。サーバー上でホストし、winformsアプリとWebアプリを介してアクセスします。このために、私はすでに行ったコーディングを変更する必要があります。ただし、レイヤーアーキテクチャとして最小限の労力で済むため、許容範囲です。ここで私が持っている唯一の疑問は、winformsアプリの場合、Webサービスレイヤーを不必要に通過して遅くなることです。
b。データレイヤーとモデルをdllに変換します。WinFormsおよびWebアプリでこれらのdllにアクセスします。
より良いアプローチとなるWebアプリについても:
a。MVC3ベースのWebアプリを使用する必要があります。
b。またはasp.netとWCF?
私は同僚と一緒にこのプロジェクトに取り組んでおり、私たちはたった2人のチームです。つまり、私たちがすべてについて決定を下しているのです。
私はwinformsでかなり良い経験を持っていますが、Webベースのテクノロジーでの経験は比較的少ないです。ご意見をいただければ幸いです。