SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

DeveloperZine(デベロッパージン)- エンジニアの意思決定を支える技術情報メディア ProductZine

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

イベントレポート

Javaプラットフォームはクラウド、マイクロサービスなど時代に対応し、進化する【Java Day Tokyo 2016】

「Java Day Tokyo 2016」基調講演レポート

NetBeansはJava以外の言語での開発にも対応可能E

 Oracle Development Tools, NetBeans AdvocateのDirector、Geertjan Wielenga氏は、Javaプラットフォームの公式IDEであるNetBeansを、デモを交えて紹介。

 NetBeansはオープンソースのIDEであり、多くのプラグインが存在する。最近では、Javaとともに他言語を使う機会が増えているが、プラグインがあれば他言語にも対応可能である。たとえば、Oracle JETを使えば、JavaScript、CSS3、HTML5を利用できる。また、JDK 9のEarly Access版をインストールして、Project JigsawなどJava SE 9の機能を試すことも可能だ。

Oracle Development Tools, NetBeans Advocate Geertjan Wielenga氏
Oracle Development Tools, NetBeans Advocate Geertjan Wielenga氏

Java EEをベースとしたマイクロサービス開発を後押し

 Oracle, Cloud Application Foundation Producet Management and Technology AdvocateでDirectorを務めるDavid Delabassee氏が登壇。変化を続けるアプリ開発のトレンドにどのように対応していくべきかを語った。

 アプリ開発のトレンドは常に変化している。最近のトレンドとしては、マイクロサービス、分散コンピューティング、複数のプログラミング言語の使用、クラウド、コンテナ、DevOpsなどが挙げられる。

 Java EE 7でもそういったトレンドに対応する新機能が導入されている。HTML5やWebSocket(全二重通信のためのプロトコル)のサポート、JSON-P、JAX-RS(REST対応のAPI)などだ。市場ではWebLogic Server、WebSphere Application Server(Liberty Profile)、JBossなどJava EE 7に対応したアプリケーションサーバが出始めているほか、WildFly(Java EEコンテナ)、Vaadin(Webアプリフレームワーク)、Jersey(Webサービスフレームワーク)といった多くのオープンソース製品でJava EEが採用されている。

Oracle, Cloud Application Foundation Producet Management and Technology Advocate David Delabassee氏
Oracle, Cloud Application Foundation Producet Management and Technology Advocate David Delabassee氏

 Delabassee氏は、Java EEの今後の展望として、クラウドで利用しやすいプラットフォームを目指すとともに、マイクロサービスにフォーカスしていくと述べた。

 マイクロサービスは、新しいアプリケーションアーキテクチャである。これまで主流であったモノリシックアプリケーションは一枚板のように巨大なプロセスで複数の機能を提供するが、マイクロサービスでは複数の小さなサービスを組み合わせて1つの機能を構成する。各サービスは役割が明確に定義され、それぞれが独立しており、ステートレスであるため、スケーラビリティに優れ、耐障害性が高い。他のサービスに影響を及ぼさずに、サービスの追加や障害の修正を実行できるからだ。アプリ開発のトレンドがモノリシックアプリケーションからマイクロサービスへとシフトしていき、アプリ開発のスタイルが変わっていくのは、極めて自然な進化であると、Delabassee氏は言う。

 Java EEは、CDI(Contexts and Dependency Injection、サービス間の依存性を外部ファイルに設定して注入する)、JAX-RS(RESTにより多様なクライアントに対応する)、JPA(Java Persistence API、データベースへのアクセスを抽象化する)など、マイクロサービス開発に必要な機能を提供している。そのため、デベロッパはマイクロサービスの機能部分に専念することが可能だ。アプリをクラウドに移行する際も同様で、モニタリング、クラスタリングなどについてはJava EEの機能を利用できる。

Java EE上でマイクロサービスを開発
Java EE上でマイクロサービスを開発

 Delabassee氏は、Java EE上でマイクロサービス開発を行う際には各サービスを完全に独立させ、互いに隔離することが必要と述べた。たとえば、WebLogic Serverではマイクロコンテナという機能によりサービスの独立性を確保できる。一方、Java EEでサービスの独立性を確保するには、Project Jigsawによるモジュール化機能、JAX-RSやJSON-Pによる使いやすさ、アプリの起動時間の短縮が重要となる。

 今後は、モジュール化により必要なAPIのみをバンドルし、Java EEベースの任意のプラットフォーム上にデプロイして動作する形のアプリが求められるようになるだろう。Delabassee氏は、Java EEはマイクロサービス開発の鍵となる機能に注力するとともに、デベロッパが開発しやすいプラットフォームを目指すと強調し、今こそアプリ開発のスタイルを変えるときだと呼びかけた。

次のページ
デジタルディストラクション時代に保険会社が取り組むJava戦略

この記事は参考になりましたか?

イベントレポート連載記事一覧

もっと読む

この記事の著者

坂井 直美(サカイ ナオミ)

SE、通信教育講座の編集、IT系出版社の書籍編集を経てフリーランスへ。IT分野で原稿を書いたり編集したり翻訳したり。

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

CodeZine(コードジン)
https://codezine.jp/article/detail/9537 2016/07/06 14:00

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー