3

C#.NET の経験はほとんどありませんが、Delphi には何年も携わっています。ガイダンスを提供できる Delphi + .NET 関係者はいますか?

ここにスクープがあります:

コードベースのオーバーホール(20万行以上)を担当する予定です。フロント エンドが Silverlight である完全な n 層アーキテクチャを作成します。フロント エンドとして Silverlight を選択したのは、私の調査によると、Silverlight は最小限の労力でアプリケーションだけでなくブラウザーにもデプロイできるからです。

Remobjects SDK と WCF の明確な比較を見つけることができませんでした。私が遭遇したいくつかのスレッドは、応答時間、大きなオーバーヘッド、MS からのやや気の利いた応答など、WCF の問題に言及しています。

この質問はバックエンド向けです。現在のコードベースは Delphi です。可能であれば、バックエンドを Delphi のままにしておく価値はありますか? 議論は、.NET に移行する場合は WCF を使用するか、Delphi に固執する場合は Remobjects SDK (.NET と Delphi フレーバーを同時に使用) を使用するかです。

Delphi バックエンド + Silverlight フロントエンドの長所:

  • 既存のコードベース: 移行期間の短縮
  • 既存の知識: 私たちのコードベースに精通している開発者は、すでに Delphi に精通しています。
  • 簡単な展開: 単一の exe/dll 展開は無視するのが困難です!
  • ケイデンス: Remobjects SDK は何年も安定しています

Delphi Remobjects SDK バックエンド + Silverlight + Remobjects SDK フロントエンドの短所:

  • テクノロジー: Remobjects .NET がセッション機能を使用して Remobjects Delphi と通信することは可能ですか?
  • 知識: 私たちの少数の開発者を除いて、私たちの都市部では Delphi の知識は非常に薄いです。
  • プロジェクト コードの再利用: Silverlight で使用するために、C# と Delphi でクラスを再開発する必要があります。
  • コスト: ライセンスの追加コスト
  • 将来: Delphi がいつ崩壊するかはわかりません

次に、WCF .NET について説明します。WCF .NET バックエンド + Silverlight フロントエンドの長所:

  • プロジェクト コードの再利用: クラスはバックエンドとフロントエンドの両方で使用できます
  • テクノロジー: すでに証明済み
  • 知識: 私たちの街は .NET が大好きなので、多くの人材を雇うことができます。
  • 将来: MS が .NET と VS 2010 で莫大な利益を上げていることは誰もが知っています。これにより、.NET アーキテクチャにある程度の安定性が追加されます。

WCF .NET バックエンド + Silverlight フロントエンドの短所:

  • 既存のコードベース: クラス構造の参照を除いて、コードベース全体をやり直す必要があります。
  • 展開: 私自身は WCF アプリケーションを展開したことはありませんが、Delphi よりも複雑であることは知っています。
  • ケイデンス: Microsoft は、業界が落ち着くとすぐにゲームを変えることで有名です。COM に起こりましたが、.NET にはいつですか?

理想的な状況はどのようなものでしょうか? これをすべて書いた後、コストが低く、安定した将来の可能性が高いため、C# バックエンドが勝者のように見えます。現在使用しているバックエンドは、将来のすべてのプロジェクトで選択される方法になります。

  • WCF n 層アプリケーションの実装について、どのような経験がありますか?

  • アプリケーションを設計する際に、WCF の使用法とベスト プラクティスの概要を説明した明確で簡潔な書籍や記事はありますか?

  • この状況で WCF よりも優れたソリューションはありますか?

    あなたの考えを消してください!

4

1 に答える 1

3

Joel on Softwareには、最初から書き直すことについてのかなり良い記事があります(http://joelonsoftware.com/articles/fog0000000069.html)。それがあなたの状況に完全に当てはまるかどうかはわかりませんが、彼の記事の要点は決して書き直さないでください。そのコードにはすでに何年もの作業とバグ修正があり、別の言語で書き直すだけでは、これらの修正のすべてをカバーすることはできません。私の推奨事項は、Delphiバックエンドを新しいSilverlightフロントエンドとインターフェイスさせるための良い方法を見つけることです。そうは言っても、私はDelphiとのインターフェースを行ったことがないので、そこから自分でやっています。

于 2011-05-24T22:42:11.763 に答える