アドベントカレンダー2015の12月23日分です。寺田さんの記事からの続きになります。内容がエンタープライズ開発の中核方面に寄っているので難度高かなという気がします。2015ではキーノート発表に日本人として超久しぶりに登壇させてもらったり去年に引き続きセッションを一枠喋ったりとなかなかのプレッシャーでしたが、なんとか無事終わりほっと一息、なんて余裕が全くないのですが、そんなことより個人的にショックなことがあったのでそれを書きます。いう記事が雑誌(そもそも消えてしまった)や日本語商用技術サイトに載らなくなったってのが、多分日本全体の技術力の低下&乗り遅れの証なんだろうなと思いつつ、日本語で情報発信しなくなった私も元凶の一人かもしれないですね。Calendarは多分英語で書いてる気がしています。さよならIIOPショックだったのがこれ。8からオプショナル扱いになるかもしれない、という話題が急遽入ってきた訳です。最近使ってないからいいんじゃねパーフェクト、みたいなノリでガンガン話が進んでいくわけです。EEを丸17年間ほぼフルで使ってる私としては、おいおいちょっと待った、と。使ってない輩が勝手に仕様を削るなよと。使ってる側の話を聞いたのかよと。とまあそんな感じをまとめて私も投稿するわけですが焼け石に水。一人で世界は変えられないのでした。(アイアイオーピー)って何よ?とほぼ10人に9人が謎に思うと思うので改めて。EE内唯一の汎用通信プロトコルなわけです。(アールエムアイ・オーバー・アイアイオーピー)という仕様になってます。(ティースリー)という高機能プロトコルが提供されてますで、次にXAって何よ?の回答なんですが、JDBCにXA対応、ってのがあるのでそれで気付く人が居たら嬉しいのですが、分散トランザクションの標準プロトコル、ってのがざっくり回答でしょうか。要は、複数のシステムに跨がってACIDトランザクションを制御できるってものです(ACIDはぐぐってね)。複数システムで処理する内容があったとして、どこかでエラーが起きたら複数台丸ごとロールバックできるという素敵仕様です。金融系処理には欠かせない処理、と言えばなんとなく想像付くでしょうか。お金情報が壊れたら嫌ですよね。ある日突然増えてたりとか減ってたりとか。1.2の標準仕様に盛り込まれ、金融系システムに2000年代前半に広まっていくというサクセスストーリーな訳です。私もだいぶお手伝いさせて頂きました。JBossのどれかが将来にサポートを外してくる恐れがあるわけですね。いうことでJavaOneで直談判に行ってきました。さよならEJBでまあいろんな偉い人とディスカッションしていくわけですが(仔細は割愛。言えないこととかも沢山出てきた気がするので)、そこで追加で分かったのは、やっぱりEJBも将来無くなりそう、ということでした。あーやっぱり・・・時代はCDIなのです。3.0からEJBを使ってきた身からすると大変寂しい話ではあります。EJBは機能がてんこもり過ぎて、必用な分だけ能動的に選択できるCDIは時代の要請でもあります。7のCDI仕様を見ると、EJBでサポートされてるけどCDIでサポートされてない機能がまあ沢山あります。Beanは?とか聞かないで下さいね・・・もう無いですと見ていくと、「まだサポートされてない」ものの中で落とされていくものがなんとなく色分けされていきます。どれが落とされるか分かりませんけど、少なくともIIOP+XAは当確な感じになって参りました。そんなに後ろ向きだと生きるのが辛くなるし代替技術も無いので、しゃーないですなと気持ちを切り替え、XA使わないアーキテクチャーに変えていけばいいんじゃね?という方向にシフトしていく訳です。windowとかあるし)ので、この方向もアリはアリです。現在動いているシステム群は一体どうするのよ?という疑問も当然あります。Webスタートアップ系の単一システムならまだしも、例えば金融系はアホみたいにシステムがある(数百から数千規模)のが普通なので、それをひとつにしていくというのも何となく無謀な感じもします。書いてると絶望感しか沸いてこない・・・で、唯一の方策というのは、製品利用企業が正しく声を上げてベンダーにIIOPをサポートさせ続けるということでしょう。プレッシャーかけていきましょう。こんにちはCDIさて、悩み深いリアル金融系システムはさておき、大半の利用側はCDIバンザイな気がします。配備時に実装クラスを自動生成&コンパイルして動作するEJBに対して、単純に機能がインジェクトされて動作するCDIの方が、エラー発生時も分かりやすいですし、何せテストがやりやすい。8〜9で追加されていくはずなので、それを待てばEJBがこの世から消える算段ができ、初学者はCDIだけ勉強すればあとはJSFもJPAもOKな幸せな世界になると思います。考えてCDIに仕様を移してきているので当然です。BeanからCDIに移行するために何が必用か、というところだけ補足しておきます。BeanからCDIへの移行はアノテーションの一括置換で概ね行けます。こんな感じと考えればいいでしょうか。Remoteどうすんの(=移行先が無いので削ってアーキテクチャー変更)とか沢山有りますけど、こんな感じでの基本移行パターンを考えておく必要があるかと思います。Bean)は以下の書き方になっていくことでしょう。7だと機能が足りなさすぎる気もするので、ご自身のソフトウェア特性に応じて使いこなしましょう。ツールに踊らされるのは本末転倒です。....}明日12/24の回はhondaYoshitakaさんの番です。Calendarの12月24日分になります。キリスト教徒ではないのですがメリークリスマス。EEに関する大きな発表が無かったのでネタ的に困る訳なのですが、個人的な「温故知新」ブームに乗っかり、こんなのをやってみることにします。