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向け)とか、JavaFX(GUIライブラリ)とかあるようです。なにそれ存在すら知りませんでした。
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しかできない。。
私にとってブログって器用な人が知りたい情報、楽しい情報を提供してくれる便利ツールでした。
でも、エンジニアなのでやっぱりアウトプットすることは大事だなと。
先日仕事で発表する機会があったのですが、本当に下手で愕然としました。。
いや、おかしい、俺はもう少し発表うまかったぞと。
練習が必要なんですね、人間って。少し経験を離れるとすぐ忘れてしまう。
忘れないほど熟練していればそんなことないんでしょうが、若造が手にした技術など薄っぺらいものでした。
だからアウトプットしようと思います。
一応毎日に仕事しているわけで、何か得たり考えたりするので。
技術系の記事なんかも書いていきたいですが、まずは深く考えずにアウトプットしていこうと思います。
よろしくおねがいします!