6

私は時代遅れの大きな州政府機関で働いています。私たちのスキルセットは時代遅れであり、予算の凍結により、新しい従業員/コンサルタントのトレーニングや雇用が妨げられています (従業員を解雇することも不可能です)。ビジネス オブジェクトの設計、設計パターンの実装、コード ライブラリとサービスの確立、単体テスト、ソース管理などはすべて、ここでは行われません。私たちはジョエルテストであなたが得ることができる限り0です. 良いニュースは、ここからしか上がれないということです!

ODBC 接続を介して Oracle データベースに直接アクセスするデスクトップ CRUD アプリケーション (C++、C#、または Java) を開発します。基本的に、GUI には SQL ステートメントとパッチワーク コードが散らばっています。データベースへの直接アクセスを防ぎ、ユーザー マシンでの Oracle クライアントの必要性を取り除くために、サービス指向の n 層アーキテクチャに移行するように言われました。

WCF は私たちが進むべき道ですか? n 層アプリケーションのウォークスルー (このようなもの) をいくつか実行しましたが、それらは簡単に実装できるように見えますが、適切なテクノロジを検討しているかどうかを理解するのに十分な知識がありません。.NET で生成された型指定された DataSet を利用することは、(多数のプロジェクトのために新しいビジネス オブジェクトをゼロから作成するのとは対照的に) 数か月または数年の作業を節約するための良い一時しのぎのように思えます。この既製のアプローチは、最初のステップとして実行可能ですか?

4

5 に答える 5

4

私は最近、一部の Web アプリケーションでデータ層に WCF サービスを使い始めましたが、最初 (最初の 1 週間程度) はイライラしますが、コードが展開されると、それだけの価値があります。

最初に小さな既存のアプリで試してみるか、概念実証で試して、ニーズに合っていることを確認してください。

あなたが置かれている環境の説明から、すぐにメリットを実感できると確信しています。

于 2009-04-21T20:12:50.293 に答える
2

私が最後に働いていた会社は、あなたが上で説明したのとほとんど同じ理由で WCF を選びました。WCF に関する優れたドキュメントや本がたくさんあり、比較的簡単に作業でき、WCF は多くの構成オプションをサポートしています。

すぐに使えるように特別に設計されていない方法で動作するように WCF を曲げようとすると、頭の痛い問題が発生する可能性があります。これらは一般的に設定の問題です。しかし、このようなサイトやIDesignはそれらを解決するのに役立ちます。

于 2009-04-21T20:15:59.957 に答える
2

CSLAは、N 層デスクトップ アプリに適している場合があります。WCF をサポートし、大規模な開発コミュニティがあり、十分に文書化されています。非常にオブジェクト指向です。

于 2009-04-22T13:18:58.393 に答える
2

まず第一に、 (強調して申し訳ありませDataSetが) typed を使用して節約できる時間と、独自のビジネス オブジェクトを作成する時間を心配することは絶対にありません。これは通常、開発時間のほとんどを費やす場所ではありません。私は自分でビジネス オブジェクトを使用することを好みます。

あなたの状況では、最初に概念実証を実装したいと思います。発生する可能性のあるすべての問題に対処するもの。この概念実証では、クライアントから開始し、データベースからデータを取得してクライアントに返すという、ユース ケース全体を実装する必要があります。続行する前に、実装に自信を持つ必要があります。

次に、技術の選択について。WCF は、クライアント アプリケーションとサービス層の間の通信に適しています。クライアントとサービス層の両方が C# アプリケーションになると思いますか? 異なるプラットフォーム (Java/C# など) 間の相互運用性は、ほとんどの場合に機能するはずですが、まだ簡単ではないため、これにより作業がはるかに簡単になります。

于 2009-04-21T20:21:50.957 に答える
2

EF で生成されたクラスの組み込みの WCF シリアル化を有効にする .NET 3.5 SP1 と組み合わせて、Entity Framework を調べてください (既にいくつかの Oracle プロバイダーが利用可能です)。

開始するのに適したブログは次のとおりです: http://blogs.msdn.com/dsimmons

于 2009-04-21T20:28:38.117 に答える