2011-01-18 8 views
8

SOAで一連のサービスを新たに開発するための言語/プラットフォームを選択する必要があります。私はScalaとClojureを検討していますが、現実のエンタープライズ製品にはまだコミュニティや製品が成熟しているとは考えていません。ポストJavaの世界でLinux上のSOAのための最良の言語/プラットフォームは何ですか?

更新/明確化:私たちはSOAが、いくつかの言語/プラットフォーム用多く言語/プラットフォームを使用することができます。もちろん、

  1. は、SOAのために簡単に、より適しています。 SOAのためのインタフェースプログラミング(契約の定義を容易にするため)、(Felix for JavaやWCF for .NETのような)サービスのホスティングオプション、そして規模の拡大が必要です(RoRのTwitterの問題を参照してください)。
  2. Javaはエンタープライズ市場で常にお気に入りです。しかし、多くの開発者は、v6以降のJavaの停滞について話すだけでなく、動的言語を検討しています。その結果、多くの新しいポストJavaの言語が到着しました:Scala、Clojure、GroovyはまだJVM上で動作しますが、Javaではなく、いくつかの名前になります。

これらの質問を明確にすることを願っています。

+0

私はそれがそこに属していると思うので、これをコミュニティの質問にする方法を見つけることができません。 – Khash

+5

答えを得る前に "最高"を定義しなければなりません。 – duffymo

+0

ScalaとClojureはどのように 'post java'ですか? – Javier

答えて

17

"実績のあるエンタープライズ製品に十分に成熟している"という意味と、最先端に住むための

たとえば、私は現在、Clojureに「現実のエンタープライズ製品」を構築しています(私はScalaにも満足していました.Clojureは、並行性とメタプログラミングパースペクティブ)。

私の決定に非常に満足しています。

いくつかの簡単な視点、あなたがこの「ポストJavaの」パスを検討している場合:

  • をコミュニティが素晴らしいと支持しているが、誰もが持っていないという理由だけであれば、あなたはまだ、問題を自分で解決する必要がありますまだ同じ問題が発生しています。これらのどれも乗り越えられない可能性がありますが、配達スケジュールに余計なリスクを与えます。

  • ScalaとClojureの両方は非常に生産的です(1時間あたりの顧客に提供される価値の観点から)が、いずれの言語でも悪いコードとメンテナンス不可能なコードを同等に書くことができます。 Javaは、標準化された、やや冗長で構文的にシンプルで分かりやすい方法で物事を書くようにしてくれます。 ScalaとClojureを使用すると、ターゲットを叩いたり、足で自分を撃ったりする、狂気のような新しい武器を得ることができます。あなたのチームはScala/Clojureの利点を最大限に生かすことができるでしょうか?

  • 既存のClojure/Scalaスキルで熟練した人を搭乗させることは困難ですが、決して不可能です。フリップサイドでは、これらのスキルを持っている人(またはそれらを取得したい人)は、より才能のある/動機付けされた開発者の中にいる可能性が高いので、検索はまだ生産的である可能性があります。

  • 「まさに丸い」言語/ライブラリ機能をターゲットにするかどうかについて、厳しい決定を下す準​​備をします。たとえば、Clojure 1.3で提供される拡張されたプリミティブサポートを待っていますか?あるいは、Clojure 1.2では完全に適切だが遅いボックス化されたプリミティブ関数を使用しますか?

  • JVM上の大きな利点は、言語としてJavaに縛られずに、Javaエコシステムを最大限に活用できることです。その有用性を過小評価しないでください。たとえば、Clojureアプリケーションで非常によくテストされた成熟したJavaライブラリ(例:Netty)を透過的に使用します。これにより、リスクと、必要な新しい開発の量が大幅に削減されます。

+0

+1 - 非常に客観的で、バランスのとれた有用な答えです。 – Landei

1

現時点では(サービス/統合プロジェクトを完了したばかりです)、Webサービスのお気に入りリストには、Springの上にあるJerseyがあります。

SOAフレームワークに関する提案はできません。前回私がOracle BPEL Process Managerを使用していたタイプのものに取り組んでいましたが、私はそれについて気にしました。私たちはRESTを使用していなかったので、Oracleソフトウェアがいかにうまく動作しているかわかりません。

1

私にとっては、PythonはSOAを実行する最も簡単な方法と思われ、Windowsコンピュータとの相互運用性があります。私はフレームワーク名を持っていませんが、SOAP、REST、RPCには多くのものがあります。

関連する問題