70
作るツールから支えるツールMovable Typeと外部システムの連携事例 MTDDC Meetup TOKYO 2016 2016.11.12 SAT at コワーキングスペース MONO(Room C) insemble

作るツールから支えるツールへ - Movable Typeと外部システムの連携事例 -

Embed Size (px)

Citation preview

Page 1: 作るツールから支えるツールへ - Movable Typeと外部システムの連携事例 -

作るツールから支えるツールへ Movable Typeと外部システムの連携事例

MTDDC Meetup TOKYO 20162016.11.12 SAT at コワーキングスペース MONO(Room C)

insemble

Page 2: 作るツールから支えるツールへ - Movable Typeと外部システムの連携事例 -

自己紹介

Page 3: 作るツールから支えるツールへ - Movable Typeと外部システムの連携事例 -

西山 泰史 にしやま やすふみ

株式会社ジャクスタポジション 札幌市在住のウェブディレクター 創業13年目(法人4期目) 2004年頃よりMovable Type利用 好きなMTタグは、MTIf

Page 4: 作るツールから支えるツールへ - Movable Typeと外部システムの連携事例 -

西山 泰史 にしやま やすふみ

創業時よりMovable Typeを プラットフォームにウェブサイトを構築 2013年よりMT蝦夷を主宰

三度の飯より食べることが好き

Page 5: 作るツールから支えるツールへ - Movable Typeと外部システムの連携事例 -

ジャクスタと言えば

Page 6: 作るツールから支えるツールへ - Movable Typeと外部システムの連携事例 -

Webデザイナーのためのショッピングカート

SKELETON CART http://skeleton.juxtaposition.jp/

Movable Typeの画像アップロード機能補助プラグイン

ImageUploadUtility http://skeleton.juxtaposition.jp/image-upload-utility/

Movable Type用プレビュー機能強化プラグイン

DynamicPreview

http://skeleton.juxtaposition.jp/dynamic-preview/

Page 7: 作るツールから支えるツールへ - Movable Typeと外部システムの連携事例 -

ですが…

Page 8: 作るツールから支えるツールへ - Movable Typeと外部システムの連携事例 -

西山と言えば?

Page 9: 作るツールから支えるツールへ - Movable Typeと外部システムの連携事例 -

ラーメン!

Page 10: 作るツールから支えるツールへ - Movable Typeと外部システムの連携事例 -

ありがとうございます

Page 11: 作るツールから支えるツールへ - Movable Typeと外部システムの連携事例 -

ここで悲しいお知らせです

Page 12: 作るツールから支えるツールへ - Movable Typeと外部システムの連携事例 -

今年7月、

眼科医に

高血圧・動脈硬化の

疑いをかけられる。

※注:検査の結果、深刻な状況ではありませんでした。

Page 13: 作るツールから支えるツールへ - Movable Typeと外部システムの連携事例 -

先生の指示により血圧計を購入、 アプリも利用しています

Page 14: 作るツールから支えるツールへ - Movable Typeと外部システムの連携事例 -

西山泰史(43歳) 今日も元気です!

Page 15: 作るツールから支えるツールへ - Movable Typeと外部システムの連携事例 -

自己紹介(2人目)

Page 16: 作るツールから支えるツールへ - Movable Typeと外部システムの連携事例 -

濱内 勇一 はまうち ゆういち

株式会社インセンブル 代表取締役株式会社ジャクスタポジション 居候CTO

1982年札幌生まれ札幌育ち。 新卒で自動車ディーラーの営業。 25歳でIT業界に転職と同時に東京へ。 31歳のときにUターン。 2014年1月に独立。 2014年10月、株式会社インセンブル設立。 趣味はマラソン。 2017年の東京マラソンに当たっちゃいました。

Page 17: 作るツールから支えるツールへ - Movable Typeと外部システムの連携事例 -

濱内 勇一 はまうち ゆういち

株式会社インセンブル 代表取締役株式会社ジャクスタポジション 居候CTO

職種 • ITコンサルタント • システムエンジニア • プログラマ • インフラもやるよ • テストもやるよ • フルスタック(ry(死語

Page 18: 作るツールから支えるツールへ - Movable Typeと外部システムの連携事例 -

濱内 勇一 はまうち ゆういち

株式会社インセンブル 代表取締役株式会社ジャクスタポジション 居候CTO

プログラマ属性 • PHP ←得意 • JavaScript ←ぼちぼち • Java ←ちょっとだけ • C# ←かじった程度 • Perl ←これから • 汎用機(IBM-HLASM/COBOL/JCL)↑過去の話

Page 19: 作るツールから支えるツールへ - Movable Typeと外部システムの連携事例 -

会社紹介

株式会社インセンブル• 中小企業専門のIT専門家

• ソフトウェアの受託開発

主な実績

• 中小企業向け業務システム開発 • EC(Amazon/楽天/Yahoo)の在庫・受注データ同期システム • CMS構築(MovableType/WordPress/Drupal) • Webのフロントエンドプログラミング • PCセッティング

Page 20: 作るツールから支えるツールへ - Movable Typeと外部システムの連携事例 -

Cybozu Days 2016 に登壇しました• 『1時間で作れる!kintoneプラグインハンズオン』

• 札幌在住kintoneエバンジェリスト斎藤栄氏と登壇。

• kintoneとMTもCONNECTIVE!!

kintoneプラグイン 《Movable Type 連携》 http://radical-bridge.com/product/kintone-mt-plugin.html

 ※斎藤栄氏の制作。

Page 21: 作るツールから支えるツールへ - Movable Typeと外部システムの連携事例 -

実は私も…

ラーメン大好きです! 今年食べたラーメンの数:110杯 (2016/11/6現在)

#ラーメン王子←はじめました

Page 22: 作るツールから支えるツールへ - Movable Typeと外部システムの連携事例 -

本日のアジェンダ

Page 23: 作るツールから支えるツールへ - Movable Typeと外部システムの連携事例 -

Movable Type ✕ ECサイト・ECを取り巻く状況・オウンドメディアとEC・ECサイト構築事例

Movable Type ✕ 業務システム・解決すべき課題・MTを選んだわけ・予想と現実

Page 24: 作るツールから支えるツールへ - Movable Typeと外部システムの連携事例 -

Movable Type ✕ ECサイト

Page 25: 作るツールから支えるツールへ - Movable Typeと外部システムの連携事例 -

2014.11.29 MTDDC Meetup TOKYO 2014

Page 26: 作るツールから支えるツールへ - Movable Typeと外部システムの連携事例 -

ECサイトは数え切れないほど増加 唯一無二の商品を取り扱うか、

同じ商品・サービスなら どこよりも安い価格じゃないと売れない

今や「消費者」ではなく「生活者」 そう簡単には売れない時代

Page 27: 作るツールから支えるツールへ - Movable Typeと外部システムの連携事例 -

EC市場規模

13.8兆円 (前年比7.6%増)

EC化率

4.75% (対前年0.38ポイント増)

経済産業省「電子商取引に関する市場調査(2015年版)」

0

3.5

7

10.5

14

0

1.2

2.4

3.6

4.8

2010年 2011年 2012年 2013年 2014年 2015年

EC化率(%) 市場規模(兆円)

13.812.811.29.58.57.8

4.75

4.37

3.85

3.43.17

2.842.843.17

3.4

3.85

4.37

4.75

Page 28: 作るツールから支えるツールへ - Movable Typeと外部システムの連携事例 -

ただでさえ売れにくい時代なのに

競争相手は増加

Page 29: 作るツールから支えるツールへ - Movable Typeと外部システムの連携事例 -

商品力や価格といった魅力に負けない お客さんとの関係性と愛着心を育てること

そんな今だからこそ ECサイトが今から取り組むべき

たった1つのこと

Page 30: 作るツールから支えるツールへ - Movable Typeと外部システムの連携事例 -

それを実現できる環境なら揃っている

ペイド メディア

オウンド メディア

ソーシャル メディア

認知バイラル

(クチコミ)

優良なコンテンツの醸成

エンゲージメント(愛着心)を向上

オウンドメディアがその「核」になりうる =ECサイトのオウンドメディア活用

Page 31: 作るツールから支えるツールへ - Movable Typeと外部システムの連携事例 -

?ECサイトで オウンドメディアを 活用するには?

ECサイトとは別に自社ブログを運営 →潜在顧客の具体的な送客方法が難しい →異なるドメインでの運営

ECサイトにブログ機能を搭載して運営 →機能面で不足する場合がある →学習コストが高い場合がある

Page 32: 作るツールから支えるツールへ - Movable Typeと外部システムの連携事例 -

?Movable Typeに EC機能を追加する

ECをメディア化する=メディアをEC化する 品物を買うためだけに訪れるのではなく

そのウェブサイトが好きで訪れているうちに 商品を購入したくなるような仕組みづくり

ECサイトで オウンドメディアを 活用するには?

Page 33: 作るツールから支えるツールへ - Movable Typeと外部システムの連携事例 -
Page 34: 作るツールから支えるツールへ - Movable Typeと外部システムの連携事例 -

SKELETON CARTとは

Page 35: 作るツールから支えるツールへ - Movable Typeと外部システムの連携事例 -

1. PHPで作られたショッピングカートMovable Type用プラグインではない

2. データベース不要(商品情報はCSV) 3. PHPとHTMLが分離

HTMLテンプレートでデザインが自由 4. 買取インストール型(25,000円+税) 5. クレジット記載不要(OEM的利用が可能) 6. その名の通り「骨格だけ」のカート 7. 設置から動作確認まで5分

Page 36: 作るツールから支えるツールへ - Movable Typeと外部システムの連携事例 -

できること/できないこと

できる 基本的なことはだいたいできる  スマートフォンへの対応もOK 便利な機能をプラグインで追加できる

できない 商品ページ作成機能がない リアルタイムな在庫数表示ができない 会員登録/管理機能がない

Page 37: 作るツールから支えるツールへ - Movable Typeと外部システムの連携事例 -

できないことをMTプラグインで可能に Movable Typeとの連携を実現

Movable Type 用プラグイン(商品ページ作成時補助)

SkeletonCartConnectorSKELETON CART 用プラグイン(DB連携)

MTDBConnector

Page 38: 作るツールから支えるツールへ - Movable Typeと外部システムの連携事例 -

MT ✕ SKELETON CARTのフローイメージ

商品ページ(HTML)

SkeletonCartConnector

②ブログ記事で  商品ページを作成

③商品ページを  パブリッシュ

SKELETON CART

④商品を  カートに入れる

MTDBConnector

⑤商品が売れた⑥MTのDB内で  在庫調整

⑦最新の在庫数を  動的表示⑦最新の

 在庫数を表示

Webサイト運営者①管理画面サインイン

Page 39: 作るツールから支えるツールへ - Movable Typeと外部システムの連携事例 -

MT ✕ SKELETON CART ECサイト構築事例

Page 40: 作るツールから支えるツールへ - Movable Typeと外部システムの連携事例 -

羅臼海産株式会社 https://www.rausu-kaisan.jp/

Page 41: 作るツールから支えるツールへ - Movable Typeと外部システムの連携事例 -

ウェブサイト

ブログ

商品情報

Database

Movable Typeで構築 顧客・売上管理画面

Data API

プラグイン連携

SKELETON CARTで構築

ウェブサイトの構成イメージ

Page 42: 作るツールから支えるツールへ - Movable Typeと外部システムの連携事例 -

500g(250g✕2)

500g

1kg

商品ページに カテゴリアーカイブを利用

公開URL /item/karashi-mentaiko/

ブログ記事は 商品名や価格など、 商品のデータのみを格納

記事アーカイブは 存在しない

Page 43: 作るツールから支えるツールへ - Movable Typeと外部システムの連携事例 -

実際の管理画面をご覧ください

Page 44: 作るツールから支えるツールへ - Movable Typeと外部システムの連携事例 -

Movable TypeとSKELETON CARTを 連携させたことで得られたメリット

1. ウェブサイト/ブログとECを同じドメインで運営

2. 管理画面を1つにできた

3. Movable Typeの構築スキルをそのまま利用できた

4. デザイン変更などが自由自在(デザインフレンドリー)

5. 運営・開発コストをダウンできた

6. オウンドメディアのEC化を実現

Page 45: 作るツールから支えるツールへ - Movable Typeと外部システムの連携事例 -

Movable Type ✕ 業務システム ウェブサイト/システム構築事例

Page 46: 作るツールから支えるツールへ - Movable Typeと外部システムの連携事例 -

•運営会社株式会社ナカムラ・コーポレーション(本社:兵庫県芦屋市)

•建築関係者向けBtoBサイト(施主の方も購入できます)

•商材無垢フローリングとその関連商品(框、羽目板、遮音マット、ボンド等)

ウェブサイトご紹介

http://www.muku-flooring.com/

Page 47: 作るツールから支えるツールへ - Movable Typeと外部システムの連携事例 -

これまでのウェブ制作事情

Page 48: 作るツールから支えるツールへ - Movable Typeと外部システムの連携事例 -

2016

2014

2015

2013

2012

HTML等リソースはすべて人力で作成 • 価格変更もすべて手打ち • 当然ミスが発生する

簡易HTML更新ツールでウェブサイトを作成 • HTMLテンプレートをページ単位で作成 • 価格等の詳細情報をタグ化 • 新商品が出たときはテンプレートを追加・修正

2011

これまでのウェブ制作事情

Page 49: 作るツールから支えるツールへ - Movable Typeと外部システムの連携事例 -

一方で業務システムの構築が進む

Page 50: 作るツールから支えるツールへ - Movable Typeと外部システムの連携事例 -

営業管理

配送管理

在庫管理

顧客管理

見積受注

フォロー状況

コンタクト履歴CTI

要フォロー可視化

出荷指示の作成配送スケジュール作成

配送状況管理

在庫状況管理在庫の予約

倉庫ごとの棚卸

輸入明細・原価計算商品マスタ

売掛請求管理予算管理

経営指標レポート

クレーム管理

加工・塗装依頼発注管理

構築した(現在も進行中)業務システム

Page 51: 作るツールから支えるツールへ - Movable Typeと外部システムの連携事例 -

業務システムによる一元管理の必要性

Page 52: 作るツールから支えるツールへ - Movable Typeと外部システムの連携事例 -

必要性を感じる例

商品情報

社内

業務システム ウェブシステム

個別管理

個別管理 個別管理

1. 個別管理

2. 手動でデータ移行→データの不整合

→忘れる、間違える等 <オペレーションミス>

Page 53: 作るツールから支えるツールへ - Movable Typeと外部システムの連携事例 -

商品情報

社内

業務システム ウェブシステム

一元管理することの本質

商品情報は唯一である

一元管理

Page 54: 作るツールから支えるツールへ - Movable Typeと外部システムの連携事例 -

Movable Typeを選んだわけ

Page 55: 作るツールから支えるツールへ - Movable Typeと外部システムの連携事例 -

静的か動的か

どのCMSを選択するか

表示速度

システムダウンのリスクを下げる

Staticの実績

Connectable

MTML

静的ファイルから動的にする理由

Webサーバ vs Webサーバ×DBサーバ

たしかな実績

APIがある

社内のデザイナーも触れられる

技術的選択

AWS S3も 視野に入れて

MovableTypeを選択

Page 56: 作るツールから支えるツールへ - Movable Typeと外部システムの連携事例 -

業務システム Webシステム

DataAPI

サーバー構成図

さくらのクラウドAmazon Web Services

PHP

Connect!!

Page 57: 作るツールから支えるツールへ - Movable Typeと外部システムの連携事例 -

実際の画面でお見せします

Movable Typeでこう作った!

Page 58: 作るツールから支えるツールへ - Movable Typeと外部システムの連携事例 -

• 使用したAPI • [POST] /authentication • [POST] /sites/:site_id/entries • [POST] /sites/:site_id/entries/:entry_id • [DELETE] /sites/:site_id/entries/:entry_id • [GET] /sites/:site_id/categories • [POST] /sites/:side_id/categories

Data APIによる連携

Page 59: 作るツールから支えるツールへ - Movable Typeと外部システムの連携事例 -

• PHPでの実装

藤本さんの『Movable Type Data API Library for PHP』を

使わせていただきました

Data APIによる連携

Page 60: 作るツールから支えるツールへ - Movable Typeと外部システムの連携事例 -

残念ながら、予想と違った点

Page 61: 作るツールから支えるツールへ - Movable Typeと外部システムの連携事例 -

お、重い…、とにかく重い(汗)

• サーバー負荷の問題?

• DBの問題?

• Apacheだから?

予想と違った点①

Page 62: 作るツールから支えるツールへ - Movable Typeと外部システムの連携事例 -

DBクエリを調査してみる

カテゴリが多いと一覧を開く動作が重くなるようだ

ログインしてからカテゴリの一覧を開くまで… DBに7,000回アクセスしている…!!

予想と違った点①

Page 63: 作るツールから支えるツールへ - Movable Typeと外部システムの連携事例 -

非常に高度なテンプレートになってしまった

• 要件/仕様が整理できていなかった • PowerCMSのグループ機能の理解不足

高度なテンプレートが完成社内デザイナーが編集できることをねらったが これは難しいかな…💦💦

予想と違った点②

Page 64: 作るツールから支えるツールへ - Movable Typeと外部システムの連携事例 -

ただ、予想と違ったかもしれないが…

Page 65: 作るツールから支えるツールへ - Movable Typeと外部システムの連携事例 -

�������

���������

�����������

���������� �����������������

�����������������

����������������������

���������������������

����������

���������������

����������

����������

���������

���

��

��

���

��������s��������

���������

���������

�������

bs

��������

����

�����

������������������

���

��

公開時のフロー

Page 66: 作るツールから支えるツールへ - Movable Typeと外部システムの連携事例 -

• CMS化の範囲を拡張 • 現状は施工事例など他のコンテンツなども手作り。こちらもCMS化を進める

• 全体的なCMS化を実現することで、運用上の負担軽減を目指す

• 売上に直結するサイトなので、継続的なUX向上が今後の大きな課題

• システム的な観点 • カテゴリの階層を減らすこと=軽量化に繋がる、その検討。 • サイトの持続可能性の向上→オブジェクトストレージやCDNの活用

今後の展開

Page 67: 作るツールから支えるツールへ - Movable Typeと外部システムの連携事例 -

情シスとWeb制作者も Connectするのは必然

ウェブ制作会社における意味

社内

業務システム ウェブシステム

業務システムと WebシステムがConnect

Page 68: 作るツールから支えるツールへ - Movable Typeと外部システムの連携事例 -

本日のまとめ

Page 69: 作るツールから支えるツールへ - Movable Typeと外部システムの連携事例 -

MTML デザインとロジックを分離

Data API Movable Typeと世の中を融合

Page 70: 作るツールから支えるツールへ - Movable Typeと外部システムの連携事例 -

さぁ、MTがある世界へ旅立とう

作るツールから支えるツールへ Movable Typeと外部システムの連携事例

MTDDC Meetup TOKYO 20162016.11.12 SAT at コワーキングスペース MONO(Room C)

insemble