SCSK OSS 導入事例 EUC/EUDの到達点! 一般

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