今、ビジネスの世界では、高度化・複雑化するニーズにタイムリーな対応が求められている。金融業界を中心としたミッションクリティカルシステムで活用されてきた日立製作所の「Justware」もまた、変化に柔軟かつ迅速に対応できる基盤へと進化した。クラウドに対応したJustwareは、開発環境の現場にどのような“新しい価値”をもたらしてくれるのだろうか。
日立製作所が、統合アプリケーション構築基盤「Justware」のクラウド対応を本格化させている。Justwareは、金融業界を中心とした大規模なミッションクリティカルシステム構築で活用されている開発基盤だ。Java EE(Java Platform, Enterprise Edition)ベースの高信頼性アプリケーション開発で必要となるフレームワークとランタイムライブラリ群、開発環境、開発ガイドライン、開発支援ツールなどで構成されている。
Justwareは従来、仮想化環境や物理環境上で稼働する開発基盤として提供されてきたが、2016年4月に刷新し、レッドハットのDockerコンテナ基盤「OpenShift Container Platform」へと全面的に対応した。さらに、2016年10月には、コンテナ基盤を含め、Microsoft Azure対応させた「Justware統合開発環境Azure版」の提供を開始した(図1)。
日立製作所の広瀬雄二氏(ICT事業統括本部アプリケーションサービス事業部 サービスソリューション本部 サービス統括部担当部長)は、Justwareでクラウド対応を強化する背景を、次のように説明する。
「業務アプリケーションの構築プロジェクトはこれまで以上に高度化、複雑化しています。ビジネスのニーズにタイムリーに対応するためには、既存のリソースを有効活用しながら、変化に柔軟に対応できる開発基盤が求められるようになりました。実際、お客さまからも『クラウド環境を利用して開発してほしい』という要望が多く寄せられており、案件数も急増しています。コンテナ技術やクラウドへの対応は、そうしたお客さまのニーズの高まりに応えるものです」(広瀬氏)
クラウドは、開発やテストなどには適した環境といえる。開発機やテスト機を物理的に調達する手間が削減されるだけでなく、テストやデプロイ、インテグレーションなどを効率化して生産性を大きく向上できるといったメリットもある。Webサービスを提供するような企業にとっては、クラウド技術やクラウド環境の利用は今や当たり前となった。
そうした“クラウド開発”へのニーズは、ビジネスのデジタル化が進み、IoT(Internet of Things)や人工知能(Artificial Intelligence:AI)などの取り組みが活発化する中で、大規模なミッションクリティカルシステムの開発現場でも少しずつ高まってきている状況だという。
広瀬氏は「今後、クラウドの技術や環境を抜きに開発を語ることはますます難しくなるはずです。新しいトレンドや技術に積極的に取り組むことで、私たち自身が変化に対応しやすくなり、お客さまのニーズに迅速に対応できるようになります」と、クラウド対応の狙いを語る。
広瀬氏が所属する日立製作所のアプリケーションサービス事業部は、金融業界を中心とした大規模アプリケーション開発を50年にわたって手掛けてきた。1964年に座席予約システム開発を担当した部隊が中心となり、1969年に前身となる部署が発足。1985年には、第三次オンラインシステム開発の主軸を担った。
Justwareは、そうした大手金融機関を始めとする大規模ミッションクリティカルシステム開発での適用実績で培ったノウハウを基に開発された(図2)。開発のきっかけは、ITの将来的な在り方を見越し、ホストで動いていたバッチをJavaで置き換えることにあった。
業務アプリケーション構築にJavaが利用されていない時代から積極的に取り組み、2004年にバージョン1.0を銀行システムに適用。以降、さまざまな機能が追加され、現在の統合アプリケーション構築基盤へと発展していった。Javaへは、2008年に「Java Enterprise Edition(JEE)5」、2016年にJEE7に対応している。
Justwareは、大きく「ランタイムライブラリ群」「開発支援ツール」「開発ガイドライン」「統合開発環境」で構成される。
ランタイムライブラリ群は、オンラインバッチ向けフレームワークと部品群から成り、JEE7で提供されるJSF、JPA、JAX-RS、jBatchなどの仕様に準拠し、ミッションクリティカルシステムに求められる性能や信頼性、拡張性を向上する豊富な部品群を提供する。
開発支援ツールは、プログラムの設計製造を支援するツール群。データ項目、画面インタフェース、帳票フォーマットなどのプログラムの設計情報を、Justwareが提供する統合リポジトリで一元管理し、ソースコードやテストコードの自動生成や、プログラム変更時の影響波及分析によるトレーサビリティーなどを提供する。
開発ガイドラインは、開発手法を標準化したもの。アプリケーション開発におけるコンポーネント分割の方法論や各種ナレッジコンテンツを提供する。開発支援ツールと開発ガイドラインを活用することで、品質のばらつきを抑え、大規模アプリケーション開発をコントロールできる。 統合開発環境は、OSSの開発ツールを組み合わせたアプリケーション統合開発環境。OpenStackベースのクラウド環境やOpenShiftのコンテナ技術に対応し、さまざまな環境間でのデプロイや迅速な起動を可能にする高いポータビリティ性を備える。また、カバレッジや静的解析の結果を自動収集して、開発管理に必要な管理指標をスムーズに確認できるようにする。この統合開発環境をクラウド(Azure)に対応させたものが、「Justware統合開発環境Azure版」になる。
Justwareは現在、アプリケーションサービス事業部が展開するさまざまなサービスで活用されている。同事業部が提供するサービスは大きく、大規模アプリケーション開発を中心とした「受託開発」、COBOLなどの既存資産を活用する「マイグレーション」、ALM(Application Lifecycle Management)などを実現していく「ライフサイクルマネジメント」、フレームワークやライブラリをパッケージとして提供する「統合開発環境」の4つがある(図3)。
Justwareは受託開発の実績をベースに開発、進化してきた経緯もあり、現在も金融機関などを中心にした数百人規模の開発現場で幅広く利用されている。広瀬氏は、現在の開発現場の課題として、既存システムに関する情報不足や、設計書とソースコードの乖離、品質のバラつき、環境の維持・構築コストの増大、テスト環境の不足などがあると指摘し、それを解決する手段として、Justwareが有用であると説明する。
「例えば、情報不足や設計書とソースコードの乖離、品質のバラつきなどの課題については、設計情報をソースコードから自動収集したり、テストコードの生成を自動化したりといったJustwareの機能が有効です。また、開発環境のコストやテスト環境の不足という課題についても、コンテナを活用して、チームごと、テストごと、バージョンごとに環境を構築することで柔軟な対応が可能になります」(広瀬氏)
この他、マイグレーションサービスやライフサイクルマネジメントのサービスでも、既存資産の棚卸しや情報収集、ドキュメント作成などについて、Justwareの開発支援ツールや開発ガイドラインを活用している。
そして、近年高まりつつあるクラウド開発における課題に対応するのが統合開発環境サービスであり、ここでJustware統合開発環境Azure版を活用することになる。広瀬氏はクラウド基盤として、Microsoft Azureを選択した背景を次のように話す。
「2015年11月に発表された、マイクロソフトとレッドハットのクラウド分野における包括的な提携が“追い風”となりました。Azure上でRed Hat Enterprise Linux(RHEL)が正式に稼働し、両社によるサポートサービスが提供されたことで、安心してクラウド環境でRHELを利用できるようになったのです。もともと、Java開発の現場ではWindows上でIDE(統合開発環境)を利用するケースがほとんどです。その意味では、クラウド開発とMicrosoft Azureは親和性が高いといえるかもしれません。また、Azureは東日本と西日本の2カ所にデータセンターがあり、国内で冗長性を確保できることや、日本の法令に準拠した運用であるといったセキュリティや可用性の高さも評価のポイントでした」(広瀬氏)
「Justware統合開発環境Azure版」は、大規模アプリケーション開発の現場にどのようなメリットをもたらすのか――。広瀬氏は、「個別の環境構築が不要ですぐに使用可能になること」「環境変化にスムーズに追随できるようになること」「ITリソースの有効活用が可能になること」がメリットだと強調する。
「個別の環境構築が不要ですぐに使用可能になること」は、クラウド環境でコンテナを利用することによるメリットだ。物理サーバや仮想サーバを調達して環境を構築するといった準備期間がなくなり、申請するだけですぐに利用できる。
「開発は必ずしも計画通りに進むわけではありません。さまざまな理由で計画が変更され、急に開発環境を増やさなければならないことも多々あります。開発環境をスピーディに構築できることは、プロジェクトのスピードやコストとして、お客さまのメリットにもつながります」(広瀬氏)
「環境変化にスムーズに追随できるようになること」は、一度環境を構築した後でも、フレキシブルに構成を変更できることを意味する。開発プロジェクトは、開発者の数や構築・テスト環境の数、利用するアプリケーションの数などに応じて、さまざまに変化する。また、進捗の差異や、不良、仕様変更を取り込むタイミングの差異などにより、チーム間で使用するライブラリのバージョンにも差異が生じる。
「こうした変化に対応するため従来は、仮想マシンを新たに割り当てるといった対策を行ってきました。しかし、対応速度や構築難易度などには、まだまだ改善の余地がありました。コンテナ技術を利用すると、例えばチームごとに必要なバージョンで構築されたテスト環境をコンテナとしてデプロイするなど、変化に対応しやすくなります」(広瀬氏)
「ITリソースの有効活用が可能になること」は、プロジェクトに必要な機能をコンテナベースで提供することで、開発プロセスの標準化や品質確保につながることを指す。Justwareでは、リポジトリに「GitHub Enterprise」、CI(継続的インテグレーション)ツールに「Jenkins」、ビルド管理ツールに「Maven」などを活用。こうしたOSSツール等を活用して、開発プロセスの標準化や自動化を進め、開発のフィードバックサイクルを効率よく回していくという。
「これまでの開発環境ではCI環境はJenkinsで構築していても、その前後のコード管理やデプロイなどの自動化については未整備な状態でした。コンテナとクラウドを活用することで、アプリケーションのライフサイクル全体での改善が進んでいくと考えています」(広瀬氏)
「Justware統合開発環境Azure版」の提供は、ユーザー企業の間で高まるクラウド開発のニーズに応えるもの。もっとも、広瀬氏によると、Justwareは現在のかたちが最終形ではないという。
「クラウドがビジネスで活用されるようになると、ビジネスニーズに応じて開発環境も変化していくことになります。Justwareもニーズに応じてかたちを変えていく必要があるでしょう。新しいオープンソースの技術を採用することや、Azureが提供するサービス群を利用することも考えていきます。例えば、Active Directory関連のAzureのサービスは、開発管理に向けて大きく役立つはずです」(広瀬氏)
さらに広瀬氏は、マイクロサービスやDevOpsといった新しいトレンドに関しても、マイクロソフトと協力しながら、大規模アプリケーション開発の現場に適用することを一緒に検討していきたいとも話す。
「開発環境だけでなく、プロダクション環境を含めてクラウドやコンテナが活用されるようになると、景色が大きく変わってきます」と広瀬氏。Justware統合開発環境Azure版は、そうした新たな将来像を見据えた新しい取り組みでもあるのだ。
クラウド、モバイル、IoTなど、今かつてない程ITの活用がビジネスそのものの競争優位性や、企業の成長や存在を左右するようになっています。クラウド上でより良いサービスを迅速に提供するために、新しい開発手法・アーキテクチャの採用が世界的に進むなか、エンタープライズアプリケーションの世界にも大きな変化の波が訪れようとしています。
本セミナーでは、クラウド環境で積極的に採用されている DevOps、マイクロサービスの考え方やメリット、考慮すべき内容をご紹介するとともに、エンタープライズJavaアプリケーション開発における最新アーキテクチャの動向や、クラウド環境(Azure)におけるコンテナプラットフォーム(Red Hat OpenShift Container Platform)の有効活用方法についてご紹介します。これを通じ、将来的な変化に対して柔軟に追随できる、エンタープライズアプリケーションの開発・運用方法のヒントが得られます。
Copyright © ITmedia, Inc. All Rights Reserved.
提供:日本マイクロソフト株式会社
アイティメディア営業企画/制作:@IT 編集部/掲載内容有効期限:2016年12月1日
日時:2016年12月2日 14:30〜(14:00〜 受付開始)
会場:レッドハット株式会社 5F セミナールーム(東京・恵比寿)
定員:65名
対象者:エンタープライズ向けシステムの開発者・運用者
参加費:無料