-1

私の現在の雇用主は、サードパーティがホストする CRM プロバイダーを使用しており、2 つのシステム間にかなり洗練された統合層があります。CRM プロバイダーの機能の 1 つは、開発者が Java のような言語でビジネス ロジックを作成し、ユーザーがボタンをクリックしたり、新しいアカウントをシステムに送信したりするなどのイベントで、検証やビジネス ロジックを起動させることです。

私たちが利用する機能の 1 つは、ホストされたプロバイダーで実行されているビジネス コードが、ホストしている Web サービスを呼び出すことです。標準的な例として、営業担当者が新しい見込み顧客を入力し、ボタンを押してシステムに ping を送信し、電子メール アドレス、会社/名/姓などに基づいてその新しい見込み顧客を識別できるかどうかを確認し、識別できる場合は戻ってきます。その個人を表す内部 GUID。これはすべて問題なく機能しますが、正常な開発環境をセットアップして動作させるために何度も壁にぶつかりました.

したがって、私たちのユースケースは少し微妙ですが、これは一般に、サードパーティが使用する API を構築するすべての開発会社に適用でき ます。世界?

私たちのオフィスでは、すべての開発者がファイアウォールの内側にいるため、進行中のコードが外の世界 (私たちの場合は CRM プロバイダー) からアクセスされることはありません。ファイアウォールに穴を開けることはできますが、セキュリティ面の観点からは理想的とは言えません。特に、DMZ のようなエリアにいる必要がある開発者の数が多い場合。現在、DMZ で単一の開発マシンを試し、開発作業を行うために必要に応じてそこにリモート接続していますが、複数の開発者がボックスを必要とする場合、ましてや競合する可能性のある変更 (たとえば、異なるブランチ)。

これらのサービス用に偽のクライアントを構築することで、着信リクエストを単に偽装/偽装することを検討しましたが、これは機能セットを構築する上でかなり大きなオーバーヘッドです (ただし、本質的に API のテスト可能性を強化します)。これはまた、偽のリクエストペイロードではなく、実際のクライアント自体から発生する問題を診断/デバッグする必要がある場合があるという事実を回避するものではありません。

これらのタイプのシナリオで他の人は何をしましたか? マッシュアップのこの時代には、API を開発した経験のある人がたくさんいるに違いありません。

4

2 に答える 2

1

これが私に関連している場合 (実を言うと、それほど頻繁ではありません)、社内でソリューションの開発コピーをホストし、ホストできないものをモックすることを組み合わせて行う傾向がありました。

個人的には、個々の開発ボックスでホストできるものが多いほど良いと思います.開発者のPCが、すべてを実行するのに十分強力であり、開発に必要なものがあれば、これを行う必要があります. 他の人を気にせずに開発するための柔軟性をたくさん持つことができます。

于 2008-08-27T03:55:35.177 に答える
1

開発者にとっては、モック オブジェクトを使用し、目の前のタスクを定義する適切な単体テストを作成することは理にかなっています。開発者がビジネス要件を理解していることを確認するのに役立ちます。モック ライブラリは非常に洗練されており、この問題の解決に役立ちます。

次に、コードを DMZ 内の開発ボックスに移動する継続的なビルド プロセスが行われる可能性があります。堅牢な QA プロセスは、一般的な UAT テストに加えて意味があります。

また、一般的なデバッグの場合も、リモートで接続する DMZ 内のマシンにアクセスする必要があります。

これはおそらく「理想的な」状況ですが、ベストプラクティスを求めました:)。

于 2008-09-30T16:03:17.603 に答える