SE2号

調べたこと、思ったことを覚えきれなくなったので2号に記録します

JavaEEをもう少し詳しく①

JavaEEの明確なイメージができていない。

もちろん仕事で使用しているので 「できません」 ということではないが「説明しろ」と言われると非常に苦しい。

ですので、少しJavaEEの詳細を学び直す(調べ直す)ことにしました。

JavaEEは「企業向けシステムを開発するためのパッケージ」

正式名称は 「Java Platform, Enterprise Edition」 。
Enterpriseは「企業」とか「事業」の意味だそうです。

IT用語的には、企業向けのシステムを構築する場合に使用する。「企業向け」Javaパッケージということだ。
これがわかるだけかなり自分の中でイメージが変わった。
逆にJavaSEの「Standard Edition」はStandardなので基本パッケージ的な雰囲気ですね。

今更だけど英語の意味を理解するって大事だなー。
話はそれますがこういうときOracleのHPで調べると、ものすごい抽象的でよけいわからないくなる。。

で今度は「企業向け」ってなんでしょう?
企業で使うということは画面があってDBに保存できてたくさんの人が使います。
JavaEEはこういったシステムを開発できるフレームワークということになります。

開発効率・保守・セキュリティなど「こうあるべき」みたいな考え方もあるようだが、またわからなくなるのでそこまでは考えないことにします。

ちょっと苦しいがここはシンプルに「企業けシステムを開発するためのパッケージ」ということで理解しよう。

ちなみにJavaEEはJavaSEを内包している。 業務系システムを開発する場合はJavaSEではなくJavaEEを使うと思って間違いないと思います。

では「企業向けシステムを開発するためのパッケージ」って具体的に何なのかをこれからもう少し調べていこうと思う。

JavaSEとJavaEE

Javaについて学びなおしてみる。

基本的に業務系のSEが使用するのはJavaSE、JavaEEだと思う。まずはこれらのバージョン履歴を追ってみよう。

JavaSEのバージョン

  • JDK 1.0 1996/1
  • JDK 1.1 1997/2
  • ※…1.1から1.4までは古すぎるので省略します。
  • J2SE 5.0 2004/9 筆者がはじめて使ったバージョン。 ジェネリクスとか、列挙型とか、可変引数とかはこのバージョンで対応されらしい。結構早く対応されてたんですね。当時は全く使用してなかった。

  • Java SE 6 2006/12

  • Java SE 7 2011/7
  • Java SE 8 2014/3
  • Java SE 9 2017/9

こんな感じ。もちろんJavaSE10、11も予定している。

JavaEEのバージョン

  • JavaEE 1.2 1999/12 ※いきなり1.2から。 …1.4まで省略
  • JavaEE 5 2006/5  大きな改定だった。JPAはここで追加。
  • JavaEE 6 2009/12  CDIが追加。
  • JavaEE 7 2013/5
  • JavaEE 8 2017/9

という感じで、avaSEの少し後に追従してリリースがある感じでしょうか。

JavaSE、JavaEE以外だとJavaME(IoT向け)とか、JavaFXGUIライブラリ)とかあるようです。なにそれ存在すら知りませんでした。

Javaの公式サイトを見ると色々な情報が公開されていますね。

JavaSEとJavaEEの違い

JavaSEの正式名称は、Java Platform, Standard Edition。単語の頭文字をとってSEですね。

多くのJavaプラットフォームプログラムで役立つJava APIの集合体である。Java仮想マシンAPIなどから構成される。 名前の通りJavaの基本パッケージですね。

JavaEEの正式名称は、Java Platform, Enterprise Edition。

主にサーバ向けの機能集合体。JavaSEの拡張機能として構成されている。

JavaSEは基本機能セット、JavaEEはJavaSEと含むサーバ向け機能を拡張したもの。 こんなイメージでしょうか。

Javaについて改めて思うこと

現在のプロジェクトではJavaEE7を使用している。

最新がJavaEE8(2018年1月時点)であることを考えるとまあまあ新しいバージョンではないかなと思います。


Javaに詳しい人、意識高い系の人は「早く最新のバージョンさわりてぇ」的なことをうが、筆者的にはそこまでバージョンを意識して開発はしていません。

 

Javaの経歴は長いが、若手で育ったときはJavaSE5を使っていた。

Swingでクライアントアプリケーションなんかを作っていました。

当時はSwingのJavaチックなおしゃれなコンポーネントがかっけーなぁーと自負していましたが、今ってどんな感じなんだろ。

 

Javaアップグレード系」の案件をやったときはバージョンの意識をしますね。
Javaのバグとかあってやりたいことができないと「じゃあ思い切ってバージョンあげましょう」なんて仕事をもらえる。

基幹系の大規模システムってこういうのどうしてるんだろ。調査とテストが大変すぎてあまりないのかな。

 

JavaEE5で育った私ですが、以降バージョンが異なる開発でもなんとかうまいこと開発していました。最低限の知識を身に着けて開発するという感じ。あとは、最近がっつりPG担当をすることが少なかったのも要因かな。

 

ただそれだとやっぱり身につかないですね。根本的なところを抑えてないと、たまにびっくりするようなことをして恥ずかしい思いをします。

 

ですので、これからJavaの概要について改めて調べてみようかなと思います。

 

思い立ったが吉日

ブログを始めました。

 

主に仕事関係で調べたこと。覚えきれないことがよくあるので記録していきます。プライベートや思いつきなどもたまには書くかもしれません。

 

まずは軽く自己紹介します。

30代後半・男性のシステムエンジニア

中規模のSIerに勤めています。

キャリアは10年ちょっとです。

主にJavaのエンジニアです。というかJavaしかできない。。

 

私にとってブログって器用な人が知りたい情報、楽しい情報を提供してくれる便利ツールでした。

 

でも、エンジニアなのでやっぱりアウトプットすることは大事だなと。

先日仕事で発表する機会があったのですが、本当に下手で愕然としました。。

いや、おかしい、俺はもう少し発表うまかったぞと。

 

練習が必要なんですね、人間って。少し経験を離れるとすぐ忘れてしまう。

 

忘れないほど熟練していればそんなことないんでしょうが、若造が手にした技術など薄っぺらいものでした。

 

だからアウトプットしようと思います。

一応毎日に仕事しているわけで、何か得たり考えたりするので。

 

技術系の記事なんかも書いていきたいですが、まずは深く考えずにアウトプットしていこうと思います。

 

よろしくおねがいします!