SlideShare ist ein Scribd-Unternehmen logo
1 von 32
Copyright ©2017 NS Solutions Corporation. All Rights Reserved.
hifiveで実現する
エンタープライズHTML5システム開発
技術本部 システム研究開発センター
イノベーティブアプリケーション研究部
hifive アーキテクト 三淵 喬
2017/12/06
HTML5 Enterprise Application Conference 2017
~ HTML5で実現する業務アプリケーションのモダン化&マルチデバイス化 ~
Copyright ©2017 NS Solutions Corporation. All Rights Reserved.
自己紹介
2
 三淵 喬(みつぶち たかし)
 新日鉄住金ソリューションズ株式会社
技術本部 システム研究開発センター 所属
 技術領域
 クライアントサイド:HTML5, CSS3, ES6
 サーバーサイド:JAVA, C++14
 CI:Jenkins, Karma, Gradle, Gulp
 hifive チーム アーキテクト
 hifive開発(データグリッド)、案件支援、教育対応
Copyright ©2017 NS Solutions Corporation. All Rights Reserved.
本日のゴール
3
 モダンなWeb技術を利用した業務システム開発
クライアントサイドの 3つ の課題
それらに対する解決策
Copyright ©2017 NS Solutions Corporation. All Rights Reserved.
モダンな業務Webシステム
4
業務システムへの期待
 見やすいUIで計画を確認
 UI上で直接編集
 システムが自動的に実行
作業効率
・迷わない、間違えない
学習コスト
・学習が簡単に
モダンな業務Webシステムでは
実際に期待に応えられるようになってきた
Copyright ©2017 NS Solutions Corporation. All Rights Reserved.
モダンな業務Webシステムの例(1)
5
 ネットワーク設定自動化システム HANAITA
Copyright ©2017 NS Solutions Corporation. All Rights Reserved.
モダンな業務Webシステムの例(1)
6
 ネットワーク設定自動化システム HANAITA
Copyright ©2017 NS Solutions Corporation. All Rights Reserved.
モダンな業務Webシステムの例(2)
7
 現場作業者の安全見守り支援
Copyright ©2017 NS Solutions Corporation. All Rights Reserved.
本日のゴール
8
 モダンなWeb技術を利用した業務システム開発
クライアントサイドの 3つ の課題
それらに対する解決策
Copyright ©2017 NS Solutions Corporation. All Rights Reserved.
表現力/パフォーマンスの向上~複雑性への対応
9
2008
2014
W3CからHTML5の初期草案発表(iPhone3G 日本発売の年)
HTML5が正式勧告
・グラデーション、角丸、影表現(CSS3)
・動画再生、図形描画(<video>, <canvas>, SVG)
・3D(WebGL)
・双方向通信(WebSocket, Server-Sent Events, WebRTC)
・位置情報(Geolocation)
・「Web Components」仕様群
・ES20xx、altJS
・Sass, Less
互換性向上、表現力・通信機能向上
モジュール化技術
アプリケーション
プラットフォームとしての
足回りの強化
個別機能の追加・強化
Copyright ©2017 NS Solutions Corporation. All Rights Reserved.
最新の Web 技術
10
Payment Request API
Service Worker
Progressive Web Apps
Web Bluetooth
WebUSB
WebVR API
WebGL
File API
Web Workers
Web MIDI API
WebRTC
Speech Recognition API
Speech Synthesis API
Copyright ©2017 NS Solutions Corporation. All Rights Reserved. 11
継続的・漸進的進化
Webの世界は
「継続的に、少しずつ変わる」
が常識に
「継続的な変化に対応し続けられる」
仕組みが必要
「ブラウザはIE8限定、画面サイズは1024x768固定」
「HTML5対応ブラウザに対応、
PC・タブレットを含むマルチデバイスに対応」
という時代から…
という時代へ
仕様も、実装も
Copyright ©2017 NS Solutions Corporation. All Rights Reserved.
業務システム開発の一般的特徴
12
 IT戦略全体の課題
 IT投資における「維持費用」の抑制⇒攻めの投資への転換
 “SMAC”や”IoT”など新興発展技術群への対応
 多数のシステムに対する開発~運用全般にわたる統制
– 情報漏えい他セキュリティリスクへの対応も
 開発
 多人数での役割分担(PM、SE、プログラマ、デザイナ)
 分散チーム開発(個々人のスキルも様々)
 外部システムとの接続
 スモールスタート、スパイラル・アジャイル的開発スタイル
も増えている
 運用・保守
 業務の変更に伴って改造されてゆく
 数年~10年以上使われる
– 開発(保守)に携わるメンバーが途中で変わっていくことも多い
Copyright ©2017 NS Solutions Corporation. All Rights Reserved.
クライアントのリッチ化に伴う課題
13
要件定義 設計 実装 テスト 運用・保守
実現可能性 互換性
開発環境
生産性向上
アジャイル
自動化アーキテクチャ
見積り
人材教育/調達
体制 実機動作検証
セキュリティ
Copyright ©2017 NS Solutions Corporation. All Rights Reserved.
クライアントサイドの 3つ の課題
14
① 多人数開発での役割分担
② 機能性とパフォーマンス
③ 長期にわたる運用保守
Copyright ©2017 NS Solutions Corporation. All Rights Reserved.
本日のゴール
15
 モダンなWeb技術を利用した業務システム開発
クライアントサイドの 3つ の課題
それらに対する解決策
Copyright ©2017 NS Solutions Corporation. All Rights Reserved.
「ハイファイブ」
16
企業Webシステムのための
開発プラットフォーム
Copyright ©2017 NS Solutions Corporation. All Rights Reserved.
hifiveとは
17
 次世代Web標準(HTML5/JavaScript/CSS)を活用した
企業Webシステム開発のためのプラットフォーム
 2012年4月にver.1.0を公開
 弊社初の自社開発オープンソース
 ライセンス:Apache License, Version 2.0
– 商用システムに適用可
 ターゲット:企業情報システム
 コンセプト
– 使い始めるための敷居を低く
– Webの標準的な仕組みから逸脱しない
– 開発のサイクルをトータルにサポート
Copyright ©2017 NS Solutions Corporation. All Rights Reserved.
hifiveのスコープ
18
DBサーバ
ブラウザ
(クライアント)
http://www.htmlhifive.com/quiz/
にアクセス
データ取得
データ返却表示するページを返却
アプリケーションの中心を司り、
必要な情報の処理、DBからデータ
の取得、ブラウザへ画面の返却など
を行う
言語:Java, C#, C++, Perl etc.
データを格納する
画面の表示、レイアウト、
ユーザからの処理の受付などを行う
言語:HTML, CSS, JavaScript
ブラウザ上で動作するクライアントプログラムの開発をサポート
Copyright ©2017 NS Solutions Corporation. All Rights Reserved.
開発プラットフォームとしての整備
19
コアフレームワーク
支援ツール
ガイド/ドキュメント業務向け
ライブラリ
(ブラウザ) HTML(DOM) JavaScript CSS
Copyright ©2017 NS Solutions Corporation. All Rights Reserved. 20
サ
ー
バ
ー
(
デ
ー
タ
と
業
務
ロ
ジ
ッ
ク
)
「3つの軸」で問題を分割
クライアント
データ層
① 多人数開発での役割分担
コンポーネント軸
画面スタック軸
データ軸
Copyright ©2017 NS Solutions Corporation. All Rights Reserved. 21
コンポーネント分割の例
※ 背景を公開用に差し替えております
ドラッグ
拡縮
分割
スクロール
土台となる
機能を準備
① 多人数開発での役割分担
1F 2F
Copyright ©2017 NS Solutions Corporation. All Rights Reserved. 22
グラフ構造
データグリッド
業務システムでよく使われる
大量データの可視化部品など
実装難度の高いUI部品を提供
※一部コンポーネントは開発中
ドローイング
チャート
② 機能性とパフォーマンス
Copyright ©2017 NS Solutions Corporation. All Rights Reserved.
高パフォーマンスの秘密
23
実際に見えている範囲
(ここだけを描画)
本来描画すべき
領域全体
描画すべきオブジェクトの
位置計算等をJavaScript
エンジンの中に閉じて行う
画面に実際に表示される
範囲のみを描画する
(スクロールして
可視範囲外に外れた
オブジェクトは外す)
データ数
描
画
時
間
現実的に一度に”表示”
すべき量は上限がある
ので論理データ数が
多くなっても扱える
(高速化イメージ)
② 機能性とパフォーマンス
Copyright ©2017 NS Solutions Corporation. All Rights Reserved.
マルチデバイス/ブラウザ対応
Webアプリテスト自動化支援ツール
24
• Seleniumベース
• スクリーンショット比較で
“見た目”のテストを自動化
• オープンソースとして提供
③ 長期にわたる運用保守
Copyright ©2017 NS Solutions Corporation. All Rights Reserved.
UIテストが必要
25
目視確認だと
細かい表示内容の変化を見落とし
がち
だけど…
③ 長期にわたる運用保守
Copyright ©2017 NS Solutions Corporation. All Rights Reserved.
全ての対応ブラウザで必要
26
Internet Explorer 11 mobile SafariGoogle Chrome
同じ内容のテストを
ブラウザ・デバイスの数繰り返す
のは大変
スマデバの
テストは特に
負担大
しかし…
③ 長期にわたる運用保守
Copyright ©2017 NS Solutions Corporation. All Rights Reserved.
テスト自動化を阻む課題
27
 自動化環境やスクリプトの作成・保守コスト大
 「ブラウザ間の差異」に対応するために、同じテストに対して
ブラウザ毎に個別のスクリプトを書く場合も
 UIテストは自動化しづらい
 「画面が正しく表示されること」をどう定義・記述するか?
 レイアウトの確認は目視で行う?→ボトルネック化
スクリプト作成・
保守コスト大
ブラウザ個別の
スクリプトが必要
レイアウトの
確認は目視
driver.get(baseUrl +
"/myVideoRental/FrontController");
driver.findElement(By.name("shop_id
")).clear();
driver.findElement(By.name("shop_id
")).sendKeys("01");
driver.findElement(By.id("DisplayMen
uLogic")).click();
assertEquals("貸出・返却メ
ニュー画面", driver.getTitle());
実施 結果確認準備
driver.get(bas
eUrl +
"/myVideoRen
tal/FrontContr
driver.get(bas
eUrl +
"/myVideoRen
tal/FrontContr
③ 長期にわたる運用保守
Copyright ©2017 NS Solutions Corporation. All Rights Reserved.
記述を簡略化
Pitaliumによる解決策
実施 結果確認
スクリプト作成・
保守コスト大
ブラウザ個別の
スクリプトが必要
レイアウトの
確認は目視
準備
driver.get(baseUrl +
"/myVideoRental/FrontController");
driver.findElement(By.name("shop_id
")).clear();
driver.findElement(By.name("shop_id
")).sendKeys("01");
driver.findElement(By.id("DisplayMen
uLogic")).click();
assertEquals("貸出・返却メ
ニュー画面", driver.getTitle());
ワンソース 自動判定
28
driver.get(bas
eUrl +
"/myVideoRen
tal/FrontContr
driver.get(bas
eUrl +
"/myVideoRen
tal/FrontContr
③ 長期にわたる運用保守
Copyright ©2017 NS Solutions Corporation. All Rights Reserved.
Pitalium のデモ
29
③ 長期にわたる運用保守
 Pitalium 動作デモ動画
 https://youtu.be/02c8kLBP-Vs
Copyright ©2017 NS Solutions Corporation. All Rights Reserved.
まとめ
30
多人数開発での
役割分担
長期にわたる
運用保守
機能性と
パフォーマンス
3つの軸で分割
業務向け
ライブラリ
UI自動テスト
サ
ー
バ
ー
(
デ
ー
タ
と
業
務
ロ
ジ
ッ
ク
)
クライアント
データ層
コンポーネント軸
画面スタック軸
データ軸
Copyright ©2017 NS Solutions Corporation. All Rights Reserved. 31
www.htmlhifive.com
Twitter: https://twitter.com/htmlhifive
Facebook: https://www.facebook.com/htmlhifive
Copyright ©2017 NS Solutions Corporation. All Rights Reserved.
商標について
32
 NS Solutions、NS(ロゴ)、NSSOLは、
新日鉄住金ソリューションズ株式会社の登録商標です。
 hifive、hifive(ロゴ)、Pitalium、Pitalium(ロゴ)は、
新日鉄住金ソリューションズ株式会社の登録商標です。
 HANAITA、HANAITA(ロゴ)は
新日鉄住金ソリューションズ株式会社の登録商標です。
 Windows、Internet Explorerは、米国 Microsoft Corporation の
米国およびその他の国における登録商標です。
 JAVAは、米国ORACLE Corp.の登録商標です。
 HTML5 Logo by W3C.
 その他本文記載の会社名及び製品名は、
それぞれ各社の商標又は登録商標です。

Weitere ähnliche Inhalte

Was ist angesagt?

OSC京都 2015 LT 「テスト自動化の闇と向き合う」
OSC京都 2015 LT 「テスト自動化の闇と向き合う」OSC京都 2015 LT 「テスト自動化の闇と向き合う」
OSC京都 2015 LT 「テスト自動化の闇と向き合う」Osamu Shimoda
 
そろそろ(おまえらの)DevOpsについて一言いっておくか
そろそろ(おまえらの)DevOpsについて一言いっておくかそろそろ(おまえらの)DevOpsについて一言いっておくか
そろそろ(おまえらの)DevOpsについて一言いっておくかTakashi Takebayashi
 
【17-D-1】今どきのアーキテクチャを現場の立場で斬る
【17-D-1】今どきのアーキテクチャを現場の立場で斬る【17-D-1】今どきのアーキテクチャを現場の立場で斬る
【17-D-1】今どきのアーキテクチャを現場の立場で斬るDevelopers Summit
 
Selenium WebDriver + python で E2Eテスト自動化
Selenium WebDriver + python で E2Eテスト自動化Selenium WebDriver + python で E2Eテスト自動化
Selenium WebDriver + python で E2Eテスト自動化JustSystems Corporation
 
JISAAwards2013講演会資料(hifive)
JISAAwards2013講演会資料(hifive)JISAAwards2013講演会資料(hifive)
JISAAwards2013講演会資料(hifive)Osamu Shimoda
 
SeleniumConf16 UK参加報告
SeleniumConf16 UK参加報告SeleniumConf16 UK参加報告
SeleniumConf16 UK参加報告Osamu Shimoda
 
『従来のウォーターフォールのやり方にアジャイルのやり方を適用しようとしたら猛反対されたけど、適用するためにやったこと』
『従来のウォーターフォールのやり方にアジャイルのやり方を適用しようとしたら猛反対されたけど、適用するためにやったこと』『従来のウォーターフォールのやり方にアジャイルのやり方を適用しようとしたら猛反対されたけど、適用するためにやったこと』
『従来のウォーターフォールのやり方にアジャイルのやり方を適用しようとしたら猛反対されたけど、適用するためにやったこと』Takashi Takebayashi
 
Agile japan2016 a 2 ricksoft
Agile japan2016 a 2 ricksoftAgile japan2016 a 2 ricksoft
Agile japan2016 a 2 ricksoftHiroshi Ohnuki
 
Visual Studio Team Services 新機能使い倒し
Visual Studio Team Services 新機能使い倒しVisual Studio Team Services 新機能使い倒し
Visual Studio Team Services 新機能使い倒しTakashi Takebayashi
 
新入社員が多い中で効果的なレビューを行うための方法 レビューの準備からフィードバックまでの工夫
新入社員が多い中で効果的なレビューを行うための方法 レビューの準備からフィードバックまでの工夫新入社員が多い中で効果的なレビューを行うための方法 レビューの準備からフィードバックまでの工夫
新入社員が多い中で効果的なレビューを行うための方法 レビューの準備からフィードバックまでの工夫Works Applications
 
6製品1サービスの開発にPortfolio for JIRAを使ってみた
6製品1サービスの開発にPortfolio for JIRAを使ってみた6製品1サービスの開発にPortfolio for JIRAを使ってみた
6製品1サービスの開発にPortfolio for JIRAを使ってみたHiroshi Ohnuki
 
Visual Studio Onlineで実践するDevOps手法
Visual Studio Onlineで実践するDevOps手法Visual Studio Onlineで実践するDevOps手法
Visual Studio Onlineで実践するDevOps手法Takashi Takebayashi
 
少ないコストでプロジェクトマネジメントをうまくやるやり方
少ないコストでプロジェクトマネジメントをうまくやるやり方少ないコストでプロジェクトマネジメントをうまくやるやり方
少ないコストでプロジェクトマネジメントをうまくやるやり方Takashi Takebayashi
 
エンタープライズへのアジャイル開発の導入事例
エンタープライズへのアジャイル開発の導入事例エンタープライズへのアジャイル開発の導入事例
エンタープライズへのアジャイル開発の導入事例Shozaburo Yoshihara
 
開発プロジェクトの価値をあげるだけのアジャイルでいいの?(DevLove関西 2017/11/25 )
開発プロジェクトの価値をあげるだけのアジャイルでいいの?(DevLove関西 2017/11/25 )開発プロジェクトの価値をあげるだけのアジャイルでいいの?(DevLove関西 2017/11/25 )
開発プロジェクトの価値をあげるだけのアジャイルでいいの?(DevLove関西 2017/11/25 )Naoya Maekawa
 
Bitbucketを活用したコードレビュー改善事例
Bitbucketを活用したコードレビュー改善事例Bitbucketを活用したコードレビュー改善事例
Bitbucketを活用したコードレビュー改善事例Kosuke Ito
 
事例からわかる!テスト自動化導入パターン
事例からわかる!テスト自動化導入パターン事例からわかる!テスト自動化導入パターン
事例からわかる!テスト自動化導入パターン友隆 浅黄
 
【16E2】New Relic を使ったDevOps 時代のパフォーマンス監視と障害分析入門
【16E2】New Relic を使ったDevOps 時代のパフォーマンス監視と障害分析入門【16E2】New Relic を使ったDevOps 時代のパフォーマンス監視と障害分析入門
【16E2】New Relic を使ったDevOps 時代のパフォーマンス監視と障害分析入門Developers Summit
 

Was ist angesagt? (20)

OSC京都 2015 LT 「テスト自動化の闇と向き合う」
OSC京都 2015 LT 「テスト自動化の闇と向き合う」OSC京都 2015 LT 「テスト自動化の闇と向き合う」
OSC京都 2015 LT 「テスト自動化の闇と向き合う」
 
そろそろ(おまえらの)DevOpsについて一言いっておくか
そろそろ(おまえらの)DevOpsについて一言いっておくかそろそろ(おまえらの)DevOpsについて一言いっておくか
そろそろ(おまえらの)DevOpsについて一言いっておくか
 
【17-D-1】今どきのアーキテクチャを現場の立場で斬る
【17-D-1】今どきのアーキテクチャを現場の立場で斬る【17-D-1】今どきのアーキテクチャを現場の立場で斬る
【17-D-1】今どきのアーキテクチャを現場の立場で斬る
 
Selenium WebDriver + python で E2Eテスト自動化
Selenium WebDriver + python で E2Eテスト自動化Selenium WebDriver + python で E2Eテスト自動化
Selenium WebDriver + python で E2Eテスト自動化
 
JISAAwards2013講演会資料(hifive)
JISAAwards2013講演会資料(hifive)JISAAwards2013講演会資料(hifive)
JISAAwards2013講演会資料(hifive)
 
SeleniumConf16 UK参加報告
SeleniumConf16 UK参加報告SeleniumConf16 UK参加報告
SeleniumConf16 UK参加報告
 
『従来のウォーターフォールのやり方にアジャイルのやり方を適用しようとしたら猛反対されたけど、適用するためにやったこと』
『従来のウォーターフォールのやり方にアジャイルのやり方を適用しようとしたら猛反対されたけど、適用するためにやったこと』『従来のウォーターフォールのやり方にアジャイルのやり方を適用しようとしたら猛反対されたけど、適用するためにやったこと』
『従来のウォーターフォールのやり方にアジャイルのやり方を適用しようとしたら猛反対されたけど、適用するためにやったこと』
 
Agile japan2016 a 2 ricksoft
Agile japan2016 a 2 ricksoftAgile japan2016 a 2 ricksoft
Agile japan2016 a 2 ricksoft
 
Visual Studio Team Services 新機能使い倒し
Visual Studio Team Services 新機能使い倒しVisual Studio Team Services 新機能使い倒し
Visual Studio Team Services 新機能使い倒し
 
新入社員が多い中で効果的なレビューを行うための方法 レビューの準備からフィードバックまでの工夫
新入社員が多い中で効果的なレビューを行うための方法 レビューの準備からフィードバックまでの工夫新入社員が多い中で効果的なレビューを行うための方法 レビューの準備からフィードバックまでの工夫
新入社員が多い中で効果的なレビューを行うための方法 レビューの準備からフィードバックまでの工夫
 
6製品1サービスの開発にPortfolio for JIRAを使ってみた
6製品1サービスの開発にPortfolio for JIRAを使ってみた6製品1サービスの開発にPortfolio for JIRAを使ってみた
6製品1サービスの開発にPortfolio for JIRAを使ってみた
 
Visual Studio Onlineで実践するDevOps手法
Visual Studio Onlineで実践するDevOps手法Visual Studio Onlineで実践するDevOps手法
Visual Studio Onlineで実践するDevOps手法
 
少ないコストでプロジェクトマネジメントをうまくやるやり方
少ないコストでプロジェクトマネジメントをうまくやるやり方少ないコストでプロジェクトマネジメントをうまくやるやり方
少ないコストでプロジェクトマネジメントをうまくやるやり方
 
エンタープライズへのアジャイル開発の導入事例
エンタープライズへのアジャイル開発の導入事例エンタープライズへのアジャイル開発の導入事例
エンタープライズへのアジャイル開発の導入事例
 
開発プロジェクトの価値をあげるだけのアジャイルでいいの?(DevLove関西 2017/11/25 )
開発プロジェクトの価値をあげるだけのアジャイルでいいの?(DevLove関西 2017/11/25 )開発プロジェクトの価値をあげるだけのアジャイルでいいの?(DevLove関西 2017/11/25 )
開発プロジェクトの価値をあげるだけのアジャイルでいいの?(DevLove関西 2017/11/25 )
 
Bambooによる継続的デリバリー
Bambooによる継続的デリバリーBambooによる継続的デリバリー
Bambooによる継続的デリバリー
 
Bitbucketを活用したコードレビュー改善事例
Bitbucketを活用したコードレビュー改善事例Bitbucketを活用したコードレビュー改善事例
Bitbucketを活用したコードレビュー改善事例
 
事例からわかる!テスト自動化導入パターン
事例からわかる!テスト自動化導入パターン事例からわかる!テスト自動化導入パターン
事例からわかる!テスト自動化導入パターン
 
【16E2】New Relic を使ったDevOps 時代のパフォーマンス監視と障害分析入門
【16E2】New Relic を使ったDevOps 時代のパフォーマンス監視と障害分析入門【16E2】New Relic を使ったDevOps 時代のパフォーマンス監視と障害分析入門
【16E2】New Relic を使ったDevOps 時代のパフォーマンス監視と障害分析入門
 
Atlassian Summit US 2017 #augj
Atlassian Summit US 2017 #augjAtlassian Summit US 2017 #augj
Atlassian Summit US 2017 #augj
 

Ähnlich wie hifiveで実現するエンタープライズHTML5システム開発

Hinemos ver.6.0 エンタープライズ対応ソリューション紹介 ~ SAP、Oracle Exadata、IBMzSystems ~
Hinemos ver.6.0 エンタープライズ対応ソリューション紹介 ~ SAP、Oracle Exadata、IBMzSystems ~Hinemos ver.6.0 エンタープライズ対応ソリューション紹介 ~ SAP、Oracle Exadata、IBMzSystems ~
Hinemos ver.6.0 エンタープライズ対応ソリューション紹介 ~ SAP、Oracle Exadata、IBMzSystems ~Hinemos
 
モダンWeb開発ワークショップ
モダンWeb開発ワークショップモダンWeb開発ワークショップ
モダンWeb開発ワークショップStaffnet_Inc
 
[ML15]Class Cat佐々木さん「いち早く人工知能テクノロジーを取り入れた製品・サービスを市場に展開するには?」
[ML15]Class Cat佐々木さん「いち早く人工知能テクノロジーを取り入れた製品・サービスを市場に展開するには?」[ML15]Class Cat佐々木さん「いち早く人工知能テクノロジーを取り入れた製品・サービスを市場に展開するには?」
[ML15]Class Cat佐々木さん「いち早く人工知能テクノロジーを取り入れた製品・サービスを市場に展開するには?」AINOW
 
(2017.6.2) Azure HDInsightで実現するスケーラブル分析環境
(2017.6.2) Azure HDInsightで実現するスケーラブル分析環境(2017.6.2) Azure HDInsightで実現するスケーラブル分析環境
(2017.6.2) Azure HDInsightで実現するスケーラブル分析環境Mitsutoshi Kiuchi
 
アイデアを形にする ③3時間でアプリ公開!ゼロからのプログラミング講座
アイデアを形にする  ③3時間でアプリ公開!ゼロからのプログラミング講座アイデアを形にする  ③3時間でアプリ公開!ゼロからのプログラミング講座
アイデアを形にする ③3時間でアプリ公開!ゼロからのプログラミング講座DIVE INTO CODE Corp.
 
【IVS CTO Night & Day】AWS re:Invent 2017 振り返り
【IVS CTO Night & Day】AWS re:Invent 2017 振り返り【IVS CTO Night & Day】AWS re:Invent 2017 振り返り
【IVS CTO Night & Day】AWS re:Invent 2017 振り返りAmazon Web Services Japan
 
エンジニア以外の方が自らSQLを使ってセグメント分析を行うカルチャーをどのように作っていったか
エンジニア以外の方が自らSQLを使ってセグメント分析を行うカルチャーをどのように作っていったかエンジニア以外の方が自らSQLを使ってセグメント分析を行うカルチャーをどのように作っていったか
エンジニア以外の方が自らSQLを使ってセグメント分析を行うカルチャーをどのように作っていったかgree_tech
 
Apache Hadoopを利用したビッグデータ分析基盤
Apache Hadoopを利用したビッグデータ分析基盤Apache Hadoopを利用したビッグデータ分析基盤
Apache Hadoopを利用したビッグデータ分析基盤Hortonworks Japan
 
CODT2020 ビジネスプラットフォームを支えるCI/CDパイプライン ~エンタープライズのDevOpsを加速させる運用改善Tips~
CODT2020 ビジネスプラットフォームを支えるCI/CDパイプライン ~エンタープライズのDevOpsを加速させる運用改善Tips~CODT2020 ビジネスプラットフォームを支えるCI/CDパイプライン ~エンタープライズのDevOpsを加速させる運用改善Tips~
CODT2020 ビジネスプラットフォームを支えるCI/CDパイプライン ~エンタープライズのDevOpsを加速させる運用改善Tips~Yuki Ando
 
【17-E-4】GitHub Enterpriseユーザ企業登壇!企業文化にイノベーションを起こすモダンなソフトウェア開発環境とは?
【17-E-4】GitHub Enterpriseユーザ企業登壇!企業文化にイノベーションを起こすモダンなソフトウェア開発環境とは?【17-E-4】GitHub Enterpriseユーザ企業登壇!企業文化にイノベーションを起こすモダンなソフトウェア開発環境とは?
【17-E-4】GitHub Enterpriseユーザ企業登壇!企業文化にイノベーションを起こすモダンなソフトウェア開発環境とは?Developers Summit
 
Ossを使ったazureでのdev ops
Ossを使ったazureでのdev opsOssを使ったazureでのdev ops
Ossを使ったazureでのdev ops裕貴 荒井
 
自チームのLychee redmine活用例
自チームのLychee redmine活用例自チームのLychee redmine活用例
自チームのLychee redmine活用例agileware_jp
 
Yahoo!プロモーション広告のビックデータ基盤を支える技術と今後の展望
Yahoo!プロモーション広告のビックデータ基盤を支える技術と今後の展望Yahoo!プロモーション広告のビックデータ基盤を支える技術と今後の展望
Yahoo!プロモーション広告のビックデータ基盤を支える技術と今後の展望Yahoo!デベロッパーネットワーク
 
ニフティクラウドC4SA_ご紹介資料ver.1.1
ニフティクラウドC4SA_ご紹介資料ver.1.1ニフティクラウドC4SA_ご紹介資料ver.1.1
ニフティクラウドC4SA_ご紹介資料ver.1.1Satoshi Ueno
 
20170922_5_スポーツマンの夢を実現するスタートアップ、株式会社スプライザの活動紹介
20170922_5_スポーツマンの夢を実現するスタートアップ、株式会社スプライザの活動紹介20170922_5_スポーツマンの夢を実現するスタートアップ、株式会社スプライザの活動紹介
20170922_5_スポーツマンの夢を実現するスタートアップ、株式会社スプライザの活動紹介IoTビジネス共創ラボ
 
Red Hat Forum 2014 IBM session
Red Hat Forum 2014 IBM sessionRed Hat Forum 2014 IBM session
Red Hat Forum 2014 IBM sessionShinichiro Arai
 
[db tech showcase OSS 2017] A14: IoT時代のデータストア--躍進するNoSQL、拡張するRDB by OSSコンソーシア...
[db tech showcase OSS 2017] A14: IoT時代のデータストア--躍進するNoSQL、拡張するRDB by OSSコンソーシア...[db tech showcase OSS 2017] A14: IoT時代のデータストア--躍進するNoSQL、拡張するRDB by OSSコンソーシア...
[db tech showcase OSS 2017] A14: IoT時代のデータストア--躍進するNoSQL、拡張するRDB by OSSコンソーシア...Insight Technology, Inc.
 
Cloud Foundry Summit 2017 Recap
Cloud Foundry Summit 2017 RecapCloud Foundry Summit 2017 Recap
Cloud Foundry Summit 2017 RecapShinya Sasaki
 

Ähnlich wie hifiveで実現するエンタープライズHTML5システム開発 (20)

Hinemos ver.6.0 エンタープライズ対応ソリューション紹介 ~ SAP、Oracle Exadata、IBMzSystems ~
Hinemos ver.6.0 エンタープライズ対応ソリューション紹介 ~ SAP、Oracle Exadata、IBMzSystems ~Hinemos ver.6.0 エンタープライズ対応ソリューション紹介 ~ SAP、Oracle Exadata、IBMzSystems ~
Hinemos ver.6.0 エンタープライズ対応ソリューション紹介 ~ SAP、Oracle Exadata、IBMzSystems ~
 
モダンWeb開発ワークショップ
モダンWeb開発ワークショップモダンWeb開発ワークショップ
モダンWeb開発ワークショップ
 
[ML15]Class Cat佐々木さん「いち早く人工知能テクノロジーを取り入れた製品・サービスを市場に展開するには?」
[ML15]Class Cat佐々木さん「いち早く人工知能テクノロジーを取り入れた製品・サービスを市場に展開するには?」[ML15]Class Cat佐々木さん「いち早く人工知能テクノロジーを取り入れた製品・サービスを市場に展開するには?」
[ML15]Class Cat佐々木さん「いち早く人工知能テクノロジーを取り入れた製品・サービスを市場に展開するには?」
 
(2017.6.2) Azure HDInsightで実現するスケーラブル分析環境
(2017.6.2) Azure HDInsightで実現するスケーラブル分析環境(2017.6.2) Azure HDInsightで実現するスケーラブル分析環境
(2017.6.2) Azure HDInsightで実現するスケーラブル分析環境
 
アイデアを形にする ③3時間でアプリ公開!ゼロからのプログラミング講座
アイデアを形にする  ③3時間でアプリ公開!ゼロからのプログラミング講座アイデアを形にする  ③3時間でアプリ公開!ゼロからのプログラミング講座
アイデアを形にする ③3時間でアプリ公開!ゼロからのプログラミング講座
 
【IVS CTO Night & Day】AWS re:Invent 2017 振り返り
【IVS CTO Night & Day】AWS re:Invent 2017 振り返り【IVS CTO Night & Day】AWS re:Invent 2017 振り返り
【IVS CTO Night & Day】AWS re:Invent 2017 振り返り
 
エンジニア以外の方が自らSQLを使ってセグメント分析を行うカルチャーをどのように作っていったか
エンジニア以外の方が自らSQLを使ってセグメント分析を行うカルチャーをどのように作っていったかエンジニア以外の方が自らSQLを使ってセグメント分析を行うカルチャーをどのように作っていったか
エンジニア以外の方が自らSQLを使ってセグメント分析を行うカルチャーをどのように作っていったか
 
Apache Hadoopを利用したビッグデータ分析基盤
Apache Hadoopを利用したビッグデータ分析基盤Apache Hadoopを利用したビッグデータ分析基盤
Apache Hadoopを利用したビッグデータ分析基盤
 
CODT2020 ビジネスプラットフォームを支えるCI/CDパイプライン ~エンタープライズのDevOpsを加速させる運用改善Tips~
CODT2020 ビジネスプラットフォームを支えるCI/CDパイプライン ~エンタープライズのDevOpsを加速させる運用改善Tips~CODT2020 ビジネスプラットフォームを支えるCI/CDパイプライン ~エンタープライズのDevOpsを加速させる運用改善Tips~
CODT2020 ビジネスプラットフォームを支えるCI/CDパイプライン ~エンタープライズのDevOpsを加速させる運用改善Tips~
 
(2017.9.7) Neo4jご紹介
(2017.9.7) Neo4jご紹介(2017.9.7) Neo4jご紹介
(2017.9.7) Neo4jご紹介
 
AWSでの金融系システム構築・運用勘所
AWSでの金融系システム構築・運用勘所AWSでの金融系システム構築・運用勘所
AWSでの金融系システム構築・運用勘所
 
【17-E-4】GitHub Enterpriseユーザ企業登壇!企業文化にイノベーションを起こすモダンなソフトウェア開発環境とは?
【17-E-4】GitHub Enterpriseユーザ企業登壇!企業文化にイノベーションを起こすモダンなソフトウェア開発環境とは?【17-E-4】GitHub Enterpriseユーザ企業登壇!企業文化にイノベーションを起こすモダンなソフトウェア開発環境とは?
【17-E-4】GitHub Enterpriseユーザ企業登壇!企業文化にイノベーションを起こすモダンなソフトウェア開発環境とは?
 
Ossを使ったazureでのdev ops
Ossを使ったazureでのdev opsOssを使ったazureでのdev ops
Ossを使ったazureでのdev ops
 
自チームのLychee redmine活用例
自チームのLychee redmine活用例自チームのLychee redmine活用例
自チームのLychee redmine活用例
 
Yahoo!プロモーション広告のビックデータ基盤を支える技術と今後の展望
Yahoo!プロモーション広告のビックデータ基盤を支える技術と今後の展望Yahoo!プロモーション広告のビックデータ基盤を支える技術と今後の展望
Yahoo!プロモーション広告のビックデータ基盤を支える技術と今後の展望
 
ニフティクラウドC4SA_ご紹介資料ver.1.1
ニフティクラウドC4SA_ご紹介資料ver.1.1ニフティクラウドC4SA_ご紹介資料ver.1.1
ニフティクラウドC4SA_ご紹介資料ver.1.1
 
20170922_5_スポーツマンの夢を実現するスタートアップ、株式会社スプライザの活動紹介
20170922_5_スポーツマンの夢を実現するスタートアップ、株式会社スプライザの活動紹介20170922_5_スポーツマンの夢を実現するスタートアップ、株式会社スプライザの活動紹介
20170922_5_スポーツマンの夢を実現するスタートアップ、株式会社スプライザの活動紹介
 
Red Hat Forum 2014 IBM session
Red Hat Forum 2014 IBM sessionRed Hat Forum 2014 IBM session
Red Hat Forum 2014 IBM session
 
[db tech showcase OSS 2017] A14: IoT時代のデータストア--躍進するNoSQL、拡張するRDB by OSSコンソーシア...
[db tech showcase OSS 2017] A14: IoT時代のデータストア--躍進するNoSQL、拡張するRDB by OSSコンソーシア...[db tech showcase OSS 2017] A14: IoT時代のデータストア--躍進するNoSQL、拡張するRDB by OSSコンソーシア...
[db tech showcase OSS 2017] A14: IoT時代のデータストア--躍進するNoSQL、拡張するRDB by OSSコンソーシア...
 
Cloud Foundry Summit 2017 Recap
Cloud Foundry Summit 2017 RecapCloud Foundry Summit 2017 Recap
Cloud Foundry Summit 2017 Recap
 

Kürzlich hochgeladen

論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...Toru Tamaki
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略Ryo Sasaki
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものですiPride Co., Ltd.
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNetToru Tamaki
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Yuma Ohgami
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Danieldanielhu54
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A surveyToru Tamaki
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdftaisei2219
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムsugiuralab
 

Kürzlich hochgeladen (9)

論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
 

hifiveで実現するエンタープライズHTML5システム開発

  • 1. Copyright ©2017 NS Solutions Corporation. All Rights Reserved. hifiveで実現する エンタープライズHTML5システム開発 技術本部 システム研究開発センター イノベーティブアプリケーション研究部 hifive アーキテクト 三淵 喬 2017/12/06 HTML5 Enterprise Application Conference 2017 ~ HTML5で実現する業務アプリケーションのモダン化&マルチデバイス化 ~
  • 2. Copyright ©2017 NS Solutions Corporation. All Rights Reserved. 自己紹介 2  三淵 喬(みつぶち たかし)  新日鉄住金ソリューションズ株式会社 技術本部 システム研究開発センター 所属  技術領域  クライアントサイド:HTML5, CSS3, ES6  サーバーサイド:JAVA, C++14  CI:Jenkins, Karma, Gradle, Gulp  hifive チーム アーキテクト  hifive開発(データグリッド)、案件支援、教育対応
  • 3. Copyright ©2017 NS Solutions Corporation. All Rights Reserved. 本日のゴール 3  モダンなWeb技術を利用した業務システム開発 クライアントサイドの 3つ の課題 それらに対する解決策
  • 4. Copyright ©2017 NS Solutions Corporation. All Rights Reserved. モダンな業務Webシステム 4 業務システムへの期待  見やすいUIで計画を確認  UI上で直接編集  システムが自動的に実行 作業効率 ・迷わない、間違えない 学習コスト ・学習が簡単に モダンな業務Webシステムでは 実際に期待に応えられるようになってきた
  • 5. Copyright ©2017 NS Solutions Corporation. All Rights Reserved. モダンな業務Webシステムの例(1) 5  ネットワーク設定自動化システム HANAITA
  • 6. Copyright ©2017 NS Solutions Corporation. All Rights Reserved. モダンな業務Webシステムの例(1) 6  ネットワーク設定自動化システム HANAITA
  • 7. Copyright ©2017 NS Solutions Corporation. All Rights Reserved. モダンな業務Webシステムの例(2) 7  現場作業者の安全見守り支援
  • 8. Copyright ©2017 NS Solutions Corporation. All Rights Reserved. 本日のゴール 8  モダンなWeb技術を利用した業務システム開発 クライアントサイドの 3つ の課題 それらに対する解決策
  • 9. Copyright ©2017 NS Solutions Corporation. All Rights Reserved. 表現力/パフォーマンスの向上~複雑性への対応 9 2008 2014 W3CからHTML5の初期草案発表(iPhone3G 日本発売の年) HTML5が正式勧告 ・グラデーション、角丸、影表現(CSS3) ・動画再生、図形描画(<video>, <canvas>, SVG) ・3D(WebGL) ・双方向通信(WebSocket, Server-Sent Events, WebRTC) ・位置情報(Geolocation) ・「Web Components」仕様群 ・ES20xx、altJS ・Sass, Less 互換性向上、表現力・通信機能向上 モジュール化技術 アプリケーション プラットフォームとしての 足回りの強化 個別機能の追加・強化
  • 10. Copyright ©2017 NS Solutions Corporation. All Rights Reserved. 最新の Web 技術 10 Payment Request API Service Worker Progressive Web Apps Web Bluetooth WebUSB WebVR API WebGL File API Web Workers Web MIDI API WebRTC Speech Recognition API Speech Synthesis API
  • 11. Copyright ©2017 NS Solutions Corporation. All Rights Reserved. 11 継続的・漸進的進化 Webの世界は 「継続的に、少しずつ変わる」 が常識に 「継続的な変化に対応し続けられる」 仕組みが必要 「ブラウザはIE8限定、画面サイズは1024x768固定」 「HTML5対応ブラウザに対応、 PC・タブレットを含むマルチデバイスに対応」 という時代から… という時代へ 仕様も、実装も
  • 12. Copyright ©2017 NS Solutions Corporation. All Rights Reserved. 業務システム開発の一般的特徴 12  IT戦略全体の課題  IT投資における「維持費用」の抑制⇒攻めの投資への転換  “SMAC”や”IoT”など新興発展技術群への対応  多数のシステムに対する開発~運用全般にわたる統制 – 情報漏えい他セキュリティリスクへの対応も  開発  多人数での役割分担(PM、SE、プログラマ、デザイナ)  分散チーム開発(個々人のスキルも様々)  外部システムとの接続  スモールスタート、スパイラル・アジャイル的開発スタイル も増えている  運用・保守  業務の変更に伴って改造されてゆく  数年~10年以上使われる – 開発(保守)に携わるメンバーが途中で変わっていくことも多い
  • 13. Copyright ©2017 NS Solutions Corporation. All Rights Reserved. クライアントのリッチ化に伴う課題 13 要件定義 設計 実装 テスト 運用・保守 実現可能性 互換性 開発環境 生産性向上 アジャイル 自動化アーキテクチャ 見積り 人材教育/調達 体制 実機動作検証 セキュリティ
  • 14. Copyright ©2017 NS Solutions Corporation. All Rights Reserved. クライアントサイドの 3つ の課題 14 ① 多人数開発での役割分担 ② 機能性とパフォーマンス ③ 長期にわたる運用保守
  • 15. Copyright ©2017 NS Solutions Corporation. All Rights Reserved. 本日のゴール 15  モダンなWeb技術を利用した業務システム開発 クライアントサイドの 3つ の課題 それらに対する解決策
  • 16. Copyright ©2017 NS Solutions Corporation. All Rights Reserved. 「ハイファイブ」 16 企業Webシステムのための 開発プラットフォーム
  • 17. Copyright ©2017 NS Solutions Corporation. All Rights Reserved. hifiveとは 17  次世代Web標準(HTML5/JavaScript/CSS)を活用した 企業Webシステム開発のためのプラットフォーム  2012年4月にver.1.0を公開  弊社初の自社開発オープンソース  ライセンス:Apache License, Version 2.0 – 商用システムに適用可  ターゲット:企業情報システム  コンセプト – 使い始めるための敷居を低く – Webの標準的な仕組みから逸脱しない – 開発のサイクルをトータルにサポート
  • 18. Copyright ©2017 NS Solutions Corporation. All Rights Reserved. hifiveのスコープ 18 DBサーバ ブラウザ (クライアント) http://www.htmlhifive.com/quiz/ にアクセス データ取得 データ返却表示するページを返却 アプリケーションの中心を司り、 必要な情報の処理、DBからデータ の取得、ブラウザへ画面の返却など を行う 言語:Java, C#, C++, Perl etc. データを格納する 画面の表示、レイアウト、 ユーザからの処理の受付などを行う 言語:HTML, CSS, JavaScript ブラウザ上で動作するクライアントプログラムの開発をサポート
  • 19. Copyright ©2017 NS Solutions Corporation. All Rights Reserved. 開発プラットフォームとしての整備 19 コアフレームワーク 支援ツール ガイド/ドキュメント業務向け ライブラリ (ブラウザ) HTML(DOM) JavaScript CSS
  • 20. Copyright ©2017 NS Solutions Corporation. All Rights Reserved. 20 サ ー バ ー ( デ ー タ と 業 務 ロ ジ ッ ク ) 「3つの軸」で問題を分割 クライアント データ層 ① 多人数開発での役割分担 コンポーネント軸 画面スタック軸 データ軸
  • 21. Copyright ©2017 NS Solutions Corporation. All Rights Reserved. 21 コンポーネント分割の例 ※ 背景を公開用に差し替えております ドラッグ 拡縮 分割 スクロール 土台となる 機能を準備 ① 多人数開発での役割分担 1F 2F
  • 22. Copyright ©2017 NS Solutions Corporation. All Rights Reserved. 22 グラフ構造 データグリッド 業務システムでよく使われる 大量データの可視化部品など 実装難度の高いUI部品を提供 ※一部コンポーネントは開発中 ドローイング チャート ② 機能性とパフォーマンス
  • 23. Copyright ©2017 NS Solutions Corporation. All Rights Reserved. 高パフォーマンスの秘密 23 実際に見えている範囲 (ここだけを描画) 本来描画すべき 領域全体 描画すべきオブジェクトの 位置計算等をJavaScript エンジンの中に閉じて行う 画面に実際に表示される 範囲のみを描画する (スクロールして 可視範囲外に外れた オブジェクトは外す) データ数 描 画 時 間 現実的に一度に”表示” すべき量は上限がある ので論理データ数が 多くなっても扱える (高速化イメージ) ② 機能性とパフォーマンス
  • 24. Copyright ©2017 NS Solutions Corporation. All Rights Reserved. マルチデバイス/ブラウザ対応 Webアプリテスト自動化支援ツール 24 • Seleniumベース • スクリーンショット比較で “見た目”のテストを自動化 • オープンソースとして提供 ③ 長期にわたる運用保守
  • 25. Copyright ©2017 NS Solutions Corporation. All Rights Reserved. UIテストが必要 25 目視確認だと 細かい表示内容の変化を見落とし がち だけど… ③ 長期にわたる運用保守
  • 26. Copyright ©2017 NS Solutions Corporation. All Rights Reserved. 全ての対応ブラウザで必要 26 Internet Explorer 11 mobile SafariGoogle Chrome 同じ内容のテストを ブラウザ・デバイスの数繰り返す のは大変 スマデバの テストは特に 負担大 しかし… ③ 長期にわたる運用保守
  • 27. Copyright ©2017 NS Solutions Corporation. All Rights Reserved. テスト自動化を阻む課題 27  自動化環境やスクリプトの作成・保守コスト大  「ブラウザ間の差異」に対応するために、同じテストに対して ブラウザ毎に個別のスクリプトを書く場合も  UIテストは自動化しづらい  「画面が正しく表示されること」をどう定義・記述するか?  レイアウトの確認は目視で行う?→ボトルネック化 スクリプト作成・ 保守コスト大 ブラウザ個別の スクリプトが必要 レイアウトの 確認は目視 driver.get(baseUrl + "/myVideoRental/FrontController"); driver.findElement(By.name("shop_id ")).clear(); driver.findElement(By.name("shop_id ")).sendKeys("01"); driver.findElement(By.id("DisplayMen uLogic")).click(); assertEquals("貸出・返却メ ニュー画面", driver.getTitle()); 実施 結果確認準備 driver.get(bas eUrl + "/myVideoRen tal/FrontContr driver.get(bas eUrl + "/myVideoRen tal/FrontContr ③ 長期にわたる運用保守
  • 28. Copyright ©2017 NS Solutions Corporation. All Rights Reserved. 記述を簡略化 Pitaliumによる解決策 実施 結果確認 スクリプト作成・ 保守コスト大 ブラウザ個別の スクリプトが必要 レイアウトの 確認は目視 準備 driver.get(baseUrl + "/myVideoRental/FrontController"); driver.findElement(By.name("shop_id ")).clear(); driver.findElement(By.name("shop_id ")).sendKeys("01"); driver.findElement(By.id("DisplayMen uLogic")).click(); assertEquals("貸出・返却メ ニュー画面", driver.getTitle()); ワンソース 自動判定 28 driver.get(bas eUrl + "/myVideoRen tal/FrontContr driver.get(bas eUrl + "/myVideoRen tal/FrontContr ③ 長期にわたる運用保守
  • 29. Copyright ©2017 NS Solutions Corporation. All Rights Reserved. Pitalium のデモ 29 ③ 長期にわたる運用保守  Pitalium 動作デモ動画  https://youtu.be/02c8kLBP-Vs
  • 30. Copyright ©2017 NS Solutions Corporation. All Rights Reserved. まとめ 30 多人数開発での 役割分担 長期にわたる 運用保守 機能性と パフォーマンス 3つの軸で分割 業務向け ライブラリ UI自動テスト サ ー バ ー ( デ ー タ と 業 務 ロ ジ ッ ク ) クライアント データ層 コンポーネント軸 画面スタック軸 データ軸
  • 31. Copyright ©2017 NS Solutions Corporation. All Rights Reserved. 31 www.htmlhifive.com Twitter: https://twitter.com/htmlhifive Facebook: https://www.facebook.com/htmlhifive
  • 32. Copyright ©2017 NS Solutions Corporation. All Rights Reserved. 商標について 32  NS Solutions、NS(ロゴ)、NSSOLは、 新日鉄住金ソリューションズ株式会社の登録商標です。  hifive、hifive(ロゴ)、Pitalium、Pitalium(ロゴ)は、 新日鉄住金ソリューションズ株式会社の登録商標です。  HANAITA、HANAITA(ロゴ)は 新日鉄住金ソリューションズ株式会社の登録商標です。  Windows、Internet Explorerは、米国 Microsoft Corporation の 米国およびその他の国における登録商標です。  JAVAは、米国ORACLE Corp.の登録商標です。  HTML5 Logo by W3C.  その他本文記載の会社名及び製品名は、 それぞれ各社の商標又は登録商標です。