Webアプリ開発プロジェクト 01 Case Study of Open Source Software EUC/EUDの到達点! 一般ユーザーによる業務アプリ開発を実現する Webアプリ開発サービス「CELF」の可能性 SCSK OSS 導入事例 OSS 活用ポイント • 世の中の信用度や人気度、更新頻度を分析し、枯れた OSS を活用した短期開発(CELF) ・製品開発戦略によっては、果敢に新進の OSS を活用し積極的にノウハウを吸収(Appsnaut) ・WAF(Web アプリ・ファイアウォール)や負荷テスト、動画処理にも OSS を積極活用 CELF/Appsnaut の概要 OSS を異なる手法で駆使し開発した CELFと Appsnaut あなたの会社では、予算実績管理や見積・ ス ノ ー ト)を 開 発 し た。こ れ ら、CELF と 案件管 理、各種日報管 理などはどのように Appsnaut は、SCSK のプロフェッショナル 行われているだろうか。基幹システムに組み IT スペシャリストたちが OSS を異なる手法 込まれていない場合は、専用の個別アプリ で駆使し、開発したサービスであることにも を 開 発したり、Microsoft Office の Excel 注目いただきたいのです」と語るのは、流通 や Access などを利用して管理したりして、 システム第一事業本部 流通システム第一部 いわゆる Curl プロダクト課長で、これら 2 つの開発の 間アプリ をいくつも運用して 開発スタッフ SCSK 株式会社 流通システム第一事業本部 流通システム第一部 Curl プロダクト課長 岡田 一志 いるケースも多いだろう。 プロジェクトリーダーを務めた岡田一志だ。 個別アプリを SI 業者に依頼すれば高額な CELF は、現 場 の 業 務 で 利 用する Web アプ 開発費や 保 守費が発 生する上に、追 加開発 リケーションを、Excel を使える知識レベル のたびにさらなる投資が必要になる。また、 があればエンドユーザーでも簡単に作ること SCSK 株式会社 流通システム第一事業本部 流通システム第一部 Curl プロダクト課 プロフェッショナル IT スペシャリスト Excel などで管理する場合も、シートを変更 ができるサービス。プログラミングの知識も されたり想 定外の入 力や記入 漏れが発生し 不要で、マクロのような動きや共有データの 福田 祥貴 たりするほか、マクロ技 術 者の不足、ファイ 更新・表示処理も作ることができる。作るだ ルの散乱による内部統制上の課題や情報漏 けで は なく、利 用 者 やグル ープ を 限 定して えいのリスクなど課題を抱えることになる。 Webアプリケーションを公開したり活用した 「SCSK では、そうした 間アプリの課題を 解決するため、Web 業務アプリ開 発サービ りすることで、データを更 新・共 有・一元 管 理してリアルタイムに集計することも可能だ。 SCSK 株式会社 流通システム第一事業本部 流通システム第一部 Curl プロダクト課 プロフェッショナル IT スペシャリスト 菅原 洋介 ス『CELF』 (セルフ)と、アプリケーション・ コンテンツ配 信 基 盤『Appsnaut』 (アップ SCSK 株式会社 流通システム第一事業本部 流通システム第一部 Curl プロダクト課 プロフェッショナル IT スペシャリスト 田登 ■ 図1 CELF は Excel 感覚で誰でも簡単に Webアプリを作ることができるサービス Webアプリ開発プロジェクト 01 Case Study of Open Source Software 間アプ 形で App Store や iCloud、LINE のような コンテンツ、ドキュメント、メッセージなど リのようなシステムも CELF で Web アプリ 自社独自のマーケットプレイス(プッシュ型 をパブリックサービス経由で公開すること 化できるため、予算・実績管理や業績管理、 の配 信基 盤)を運 用することを可能にする なく、関係 者だけに安 全に配信することが 日報管 理、見 積・案件 管 理などで多く利 用 ため、社内で利用するアプリケーションや できる。 主流の基幹システムから外れた されている。岡田は「CELF を活用すること で、アプリ開 発 の 課 題 であった開 発・保 守 費用の無駄な投資や、特定の開発担当者の 属人化問題などを、EUC(エンドユーザー・ コンピューティング)/ EUD(エンドユー ザー開発)、あるいは一般のユーザーが自ら 業務に必要なアプリケーションを開発する 『シチズンデベロッパー』を推 進することで 解決できるツールといえます」と話す。 また、Appsnaut は、PC やスマートデバ イスにファイルを配 信するためのポータル サイトとその管理機能を提 供するエンター プライズ情報配信基盤だ。企業内に閉じた ■ 図 2 Appsnaut は企業内で利用するスマートデバイスに社内業務アプリケーションをインストールする際の、 ワイヤレス配信のポータルサイトとその管理機能を提供する企業内専用マーケットプレイスを実現する OSS 活用ポイント リスクのある開発技術にチャレンジするよりも枯れた技術で安全に進めるべき事情 CELF と Appsnaut は、SCSK の Curl 理)や『Spring Framework』 (Javaプラッ 「ApacheBench」も 活 用 し た。Apache (クロスプラットフォーム RIA 開発 環境)を トフォーム向け OSS フレームワーク)など Bench は1回のコマンド実行で単一かつ同 担 当してい る部 門が主 導して開 発され た。 を自然 と 選 択しました。また、チ ーム 開 発 一の URL に対するリクエストを指定した分 Curl の言語や CDE(開発環境)を作る上で のために『Redmine』 (プ ロジェクト管 理) だけ生 成するため、Web アプリケーション 必要となる部品やノウハウ、フレームワーク や『Git』 (分 散 型 バージョン 管 理)な どの のパフォーマンス評価に適していたという。 を有し、それらをベースに作られたため、生 OSS を 使うことが 開 発 メンバー の 中で 浸 「OSS の 選 定においては、それが世の中で 産性は高くスピーディな機能拡張も可能に 透していました」 どれくらいコミットされているか、誰が協賛 したという。 クラウドサービスとして CELF を提 供す しているか、どのようにコントリビュートさ るにあたり、マルチテナント的な形で 公 開 れているかなどを詳細に調べ、信用度や人 するた め の 要 素 技 術として「Hibernate」 気度、更新頻 度の分析を行ったほか、OSS 「市場には複 数の競 合製 品が 存 在していま したが、どれもある程度の Web アプリを作 ることができても Excel と同等の操作性を (Javaで O/R マッピングを実現するための の Apache や GPL な どの ライセンスに関 もったアプリをエンドユーザーには提 供で ツール)を 活 用した ほ か、Excel と 連 携し する取扱いについても慎重に調査・検討を きず、さらに機能を作り込む ためにはプロ デ ー タをイン ポートするために「Apache 重ねました」と福田は説明する。 グラミングが必 要な 製 品ばかり。CELF で POI」 (Office 形式のファイルを読み書きで はそのプログラミングも全て不 要にするこ きる Java ライブラリ)を用いて連携するな とで 他 社 製 品 よりも 実 質 的 な EUC/EUD どしている。 を可能にし、それが差別化となっています」 「開発期間も短く、2016 年1月から開発を と岡田は強 調する。クラウドサービスとオ 開始し、4 月に開発を完了するスケジュール ンプレミスの両方を用意しているのもポイ が立てられていたため、リスクのある開発 ントだという。 技術にチャレンジするよりも枯れた技術で CELF の開発に当たっては 30 種 類 以 上 安 全に進めたかったという事情もあったの の OSS を 活 用して い るが、いず れも 最 新 です」と福田は振り返る。 の OSS は使って おらず、比 較 的 歴 史 の 長 ま た、開 発 以 外で も CELF で は OSS を い、い わ ば 枯 れ た OSS を 選 択して い る。 活 用して い る。そ の1つ が、Apache の モ その理由として、流 通システム第一事 業 本 ジ ュー ル として 動 作 す る ホ スト 型 WAF 部 のプ ロフェッショナル IT スペシャリスト (Webアプリケーション・ファイアウォール) で、CELF の開発を主導した福田祥貴は次 の「ModSecurity」の 採 用 だ。リクエ スト のように 説 明 する。 「私 たち の 部 門 で はシ ヘッダや引数・表 示するコンテンツなどか ステム開 発を行う際、元々 資 産として保 有 ら攻撃や脆 弱 性を検出し、不正アクセスや してい る部 品やフレームワー クも OSS を ワームなどによる攻撃から Web アプリケー ベースとしているものが 多く、使い 慣 れた ションを守る。 『MySQL』 (リレーショナルデータベース管 さらに、CELF の 負荷 テストにお いては Webアプリ開発プロジェクト 01 Case Study of Open Source Software 果敢に新進の Node.js を活用し積極的にノウハウを吸収 一 方、Appsnaut 開 発 の き っ か け は、 術 者 が い なかった。そ の 時、話 題となり始 2013 年 頃 に 開 発した Curl 言 語 の みで モ めていたのが「Node.js」 (Chrome の V8 バイルアプリを 開 発 で きる「Caede」のオ JavaScript エンジンで動 作 するサーバサ プションでリリースするつもりだったサービ イド JavaScript 環 境。軽 量で効率的に動 スが元になっている。ユーザーニーズを盛り 作する非同期型のイベント駆動モデルを採 込 んで いくうちに情 報 配 信 ツールとなり、 用)だったという。 のファイル)内のマニフェストファイルの情報 を解 析し出 力するプ ログラム)、 「express」 (N o d e . j s の M V C ( M o d e l V i e w Controller)フレームワーク)、 「node-apn」 (Node.js の Apple プッ シュ 通 知 モ ジュー ル)、 「mongoose」 (node.js 向けに開発さ 「当時はまだ Node.js は日本での 採用事例 れ た MongoDB(NoSQL デ ー タ ベ ース) 「Appsnaut の場合は CELF とは対照的で、 が少なく、アメリカのウォルマートなどで採 オブジェクト用モデリングツール)など多種 枯 れて い な い OSS が 使 わ れて いま す」と 用され たという事例が出 始めた頃 でした。 多様だ。 述べるのは、流通システム第一事業本部の リスクを 認 識した 上で Node.js を 活 用し、 流通システム第一事業本部のプロフェッ プ ロフェッショナル IT スペシャリストで、 積極的にノウハウの吸収を行おうと考えた ショナル IT スペシャリストで、菅 原と同じ Appsnaut の開 発を主導した菅原 洋介だ。 のです」と菅原は打ち明ける。 当時、Caede の開発が終了した頃、手持ち Appsnaut で は 細 か い も の を 含 め る と 「Node.js を使ったことにより、たくさん の の JavaScript のスキル セットで 何と かし 100 近い OSS が活用されている。Node.js OSS モジュールが 容易に導入でき、それら 関 連 だ け を ピ ッ ク ア ッ プ し て み て も、 を活用することで Appsnaut の開発は、非 それが独立して Appsnaut となった。 たいと考えていたが、彼の部門は基 本的に Appsnaut の開 発 責任者を 務めた田 登は、 フロントエンドの技 術 者ばかりだったため 「node-apk-parser」 (node.jsで開発された 常に開発効率が高く、検証もしやすく、開発 Java や Ruby などサーバサイドに詳しい技 apk(Android 専用ソフトウェアパッケージ スピードも速くなりました」と感想を述べる。 ま た、Appsnaut で は、 「FFmpeg」 (動 ■ Appsnaut No 名称 ■ CELF 画・音声をさまざまな形に加工するマルチ No 名称 13 Commons DBCP 1 node-apk-parser 1 Hibernate 14 Commons IO 2 express 2 Eclipse Technology Aspect J 15 Curl Data Kit 3 node-apn 3 Javassist 16 Curl ORB for java 4 aws-sdk 4 AOP Alliance (Java/J2EE AOP standard) 17 DOM4J - Flexible XML Framework for Java 5 mongoose 5 Apache Commons BeanUtils 18 Gson 6 node-gcm 6 Apache Commons FileUpload 19 Jakarta Commons-Logging 7 plist.js 7 Apache Commons Lang 20 Java Annotation Indexer プラットフォームフリーウェア)も活用。動 画 を 処 理 するため のツール を 持 って い な かった ため、OSS の 中 でも 最 も 強 力 な も の のひとつとしてこれを採 用したと田はい う。 「多くの動画のフォーマットに対応して いるので、動画間のコンバートやストリーミ 8 Q 8 Apache Jakarta Commons Codec 21 JBoss Logging 3 9 eslint 9 Apache Jakarta HTTP Client 22 JBoss Logging I18n Annotations ングの処理なども全てこの FFmpegで行っ 10 istanbul 10 Apache Log4j 23 spring-framework 11 mocha 11 Apache-Jakarta Collections 24 Apache POI ています。ただし、動画の 権 利関係は別に 12 Apache-Jakarta Pool 設 定されているケースが多いため、その調 査と契約に時間がかかりました」 ■ 今後の展開 単なる Excelライク ではなく Excelよりも使いやすいWebアプリ をめざす 将 来 的には、CELF と Appsnaut を組み 「特に CELF は EUC/EUD の面をブラッシュ 合わせることにより、BaaS(Backend as アップし、 Excel ライク ではなく Excel よ a Service;Web アプリケーションに関す りも使いやすい Web アプリ に成熟させる るユーザー管理やデータ管理などのサーバ ことで、真 のシチズンデベロッパー のため サイド機能をクラウド上でまとめて提供する のツールをめざします」と岡田は意気込む。 サービス)を実現することも視 野に入れて 枯れた OSS を使うしたたかな戦略性と、 いる。例えば、CELF にバックエンド API を あえて未踏の OSS を使う果敢さ。どちらも 組 み 込 み Appsnaut で 配 信 することに よ SCSK ならではの企業文化が色濃く反映し り、BaaS の 利 用 者はバックエンドを 開 発 た OSS 開発事例だ。CELFと Appsnaut を SCSK株式会社 流通システム第一事業本部 流通システム第一部 Curl プロダクト課 CELF 担当 せずに Webアプリケーションを容易に構築 立ち上げた部隊が 次に狙う分 野はどこか。 TEL:03-5166-1715 できるようにしたり、ストリーミングでモバ 今後が大いに注目される。 URL: http://www.celf.biz/ イルにプッシュ通 知するエンジンとして活 用したりするアイデアもあるという。 <製品・サービスに関するお問い合わせ> E-mail:[email protected] (インタビュー実施時期:2016 年12 月) CELF の妖精「ひょ∼どる」くん。彼(?)は業務アプリ開発に悩んでいる人の PC 画面からたまにひょこっ と現れる。体の大きさは自由に変えることができ、こう見えても体重はきっちり 綿あめ 3 つ分 。性格は好 奇心旺盛でおっちょこちょい、人一倍世話好きだがひと言多いのが玉にきずなのだ。 〒135-8110 東京都江東区豊洲 3-2-20(豊洲フロント) TEL: 03-5166-2500
© Copyright 2024 ExpyDoc