Railsはweb serviceの開発でも開発効率いいよ。
- ここ2日掛かって実装した代物と同等の物が3時間でできたよ。
- でもやっぱり、実行速度はsoap4rでベタに実装したほうがずっといいよ
動的型言語で普通にSOAP実装しようとすると、型情報が不足しててWSDLを生成できないよ。
- WSDLは自由度の半面、message, operation, port, binding, serviceとレイヤーが挟まってて冗長だから、書くのが大変だよ。
- ActionWebServiceならお得意の所謂DSLっていうのを使って型情報を補足できるよ
- 生のWSDLより抽象度を落としてレイヤーを少なくしてる分、記述はDRYだよ
- でも、普通はこれで足りるよ。っていうか、あんまり変なWSDLを書くとクライアント側のマッパーが理解できないよ。
- documentじゃなくてRPCスタイルっていう前提があるなら、これぐらいの割り切りは妥当かもしれないよ。
- AWDwR chap.20参照だよ。
- XML書かなくていいので楽だよ。
ActiveRecord::Baseの子クラスのインスタンスをoperationの返り値に指定できるのは便利だよ
- でも、引数に指定しようとしたら ActionWebService::ActionWebServiceError, "ActiveRecord model classes not allowed in :expects"とか怒られたよ
- そりゃ、そうかもしれないけど、そこをrailsパワーでなんとかしてほしいよ
- 結局DTOが必要だよ
どうしたもんだろう。ActionWebServiceに乗り換えるべきか、やめるべきか。不安材料は実行速度なのだけれど、これは負荷試験してみないと何とも言えない。今ごろこんなことを検討してるあたり、このプロジェクトの進捗のヤバさ加減が分かろうというもの。