Chonaso's Commentary

InternetやIT技術などについて知ったこと、試したこと、考えたことを書いていきます。

Seasar2使いがこの先生きのこるには

(手前ツイートですが)

当初、色んな考え方を書こうと箇条書きにしてみたらかなり発散しちゃったので、あの場で自分が思ったことだけ書きます。*1

「やった!これはチャンスだ!」

先日こんな記事を書いたばかりではありますが、 私(のいる職場)はこれまでSeasar2についてはSeasar2自身の機能追加はなくとも他のライブラリ等と組み合わせて使うことで技術要素としての寿命を引き延ばしてきました。 現実的にそれでどうしても困るような状況にならないため、暗黙のコンセンサスのような状態が続いています。

ただそれは皆が「他を知らないだけ」という点による部分も大きいと思っています。

CTOもいないような非IT企業のエンジニアは「マネージャや経営層にもブッスリ刺さるメリット」がない限り新しい技術要素を取り入れることが難しく、 (そういった環境や情勢を作れない私自身の力不足による部分も大きいのですが) ちょっとでも変化を求めようとすると「お前の趣味に付き合うわけにはいかない」と突き放されてしまいます。*2

そういった中で「WindowsXPのEOSL」や「Struts1のEOSL」のように強烈な外的要因による強制終了が頼みの綱の一つなのです。

でも現実的には、あと1年の猶予あるし、そもそも別に商用サポートを受けているわけではないんですよね。


とはいえ、今のサービスの根幹を担うフレームワークに対してのこの宣言は確実に影響を与えてくれると考えています。

もちろん「何かあったら自分たちでメンテすればいいじゃない、OSSなんだもの。」という考えもあるかと思います。 でも、やっぱりここは「別のこともやってみたいよね。エンジニアなんだもの。」でいきたいものです。

この1年をどう捉えるか。私は楽しみな1年ではあるんですが、コンサバな組織からみたらあっという間の1年、あるいは特に何もしない1年になるんでしょうね。 なにせJava8移行はおろか未だに「ServletかStruts1」で提案してくるSIerもいますから…。

移行先

で、移行先は?というと職場に入れるのであれば順当にSpringかJavaEEでしょうか。 J2EEのことは水に流して、そろそろJavaEEと和解してもいい時期になってきました。思いっきり標準的なものに寄せることで、海外のリソースを活用しやすいというメリットも出てきます。

SpringBootやWildFly Swarmを使ったMicroservicesなアーキテクチャにあこがれる部分もありますが、現在の技量や情熱からすると極力モノリシックに寄せた方がよさそう。 むしろバッチプログラムを作るのに活用したい、と思ってます。

ただ、DBまわりはSQLが書ける(書きやすい)ものを選びたいです。 そういう点で元々S2JDBCは避けていました。私に裁量があったプロジェクトではDomaを使ってます。 DBの気持ちがわかる人が多い職場ならSQLを書かないO/Rマッパーでもいいと思うんですけどね。

あと「何が何でもRDBMS」っていう考え方もどうにかしたいんですけどね。

*1:※この発言は個人の見解です。所属する組織の公式見解だったらいいのに。

*2:開発環境を含めたそういったモダン化は優れたエンジニアの確保には欠かせないですし、既存メンバーもそれを乗り越えることによって成長し、巡り巡って必ずリターンがある、といいたいところですが、うまいやり方はないものですかね…