RBI - Microsoft

ブロードバンド&モバイル時代に向けた
ActiveStoreの活動状況
(「.NET」がもたらす流通革命)
ActiveStore技術協議会
2002年3月
<目次>
1.流通マーケット状況
(1)流通業を取り巻く環境とIT動向
(2)「ブロードバンド&モバイル時代」のビジネスモデル
(3)「.NET」がもたらす世界
(4)なぜ「標準化」が必要か?
(「ACTIVE-STORE協議会」の重要性)
2.「ACTIVE-STORE協議会」活動状況
・協議会の位置付け、組織、活動内容
・デモ内容(株式会社
・標準化ドキュメント
ソリマチ技研
田村
貴夫氏)
1.流通マーケット状況
(1)流通業を取り巻く環境とIT動向
流通業を取り巻く環境
・厳しい経済情勢(倒産、M&A)
・外資の参入による環境の変化
・消費者の多様化
(消費の2極化:見えない消費者)
IT動向
・インターネット技術の高度化と普及
(ADSL、FTTH)
・モバイル機器の高性能化と普及
必要とされる情報と 利用
可能なIT基盤の融合
・より顧客に密着した顧客情報
・より詳細で正確な商品・在庫情報
・柔軟性/即時性に富むIT基盤
「Webサービス基盤」による企業戦略システム構築
(2)ブロードバンド&モバイル時代のビジネスモデル
在庫の適正化
ベンダー
情報一元化 (リア
ルタイム化)
顧客接点の強化
デマンド発想の マルチチャネル
対応のCRM
SCM
DCM
「ブロードバンド&モバイル時代」に求められる
「リアルタイム経営」(経営革新)
お客様
(3)「.NET」がもたらす世界
狙い:IT革新によるビジネスプロセス統合
期待:リアルタイムデータ活用・
ビジネスプロセス統合による企業競争力強化
ビデオ:SCM「MS電子のIT革新」
SCM
様々なビジネスプロセスの存在
MS(エムエス)電子販売
社内在庫の確認
 部品製造メーカーの
製造予定ロットを確保

取引先:
部品製造メーカー
引当数の確認
 運送会社へ
納品日の確
認

お客様:
デジタルカメラメーカー
急な増産による
部品の大量発注
人的要因により発生する非効率(時間ロス)
エムエス電子販売
 社内在庫の確認
担当者不在  部品製造メーカーの
在庫照会のために
による時間ロス製造予定ロットを確保
帰社する時間ロス
紙伝票ベースの
取引による時間ロス
取引先:
部品製造メーカー
お客様:
デジタルカメラメーカー
運送会社への確認
 引当数の確認
による時間ロス 急な増産による
部品の大量発注
 運送会社へ
納品日の確
ビジネスプロセスの統合前
エムエス電子販売
在庫管理システム
部品製造メーカー
生産管理システム
運送会社
配送システム
電話・伝票によるマニュアルオペレーション
担当営業
お客様:
デジタルカメラメーカー
ビジネスプロセスの統合後
部品販売会社
部品製造メーカー
在庫管理システム
自社内在庫照会
引当処理
生産管理システム
生産仮引当
生産本引当
運送会社
配送システム
配送情報
登録
.NETによるビジネスプロセス統合
顧客注文処理
発注処理
担当営業
XML
お客様:
デジタルカメラ
メーカー
.NETのコンセプト
顧客ニーズへの対応
メーカ非依存
資源衝突の回避
WindowsXP
安全な同居
.NET Framework
安全性
業務アプリケーションに特化
生産性向上
ブロードバンド&モバイル時代
OSに非依存なAPI
わかりやすい
(インターネット)
操作
RBI
がもたらす流通革命
容易な管理
標準化
セキュリティの集中管理
データモデルの標準化
XML&SOAP
資源管理の統一
XML【Extensible Markup Language】
障害原因の特定
Internet上で扱うデータを記述するためのデータフォーマット。
アプリケーションI/Fの標準化
Webへの親和性が高く、新世代の標準フォーマット。
業務処理専用GUIの標準化
SOAP【Simple Object Access Protocol 】
Webサービス同士を結びつけるXMLベースのプロトコル 。
.NET の構成:NET
サービスを
利用する
アプリケーション
アプリケーションと
Web サービス
内製のサービス
オーケストレーション
.NET
エンタープライズサーバー群
.NET
フレームワーク
管理
Visual
Studio .NET
プラットフォーム
Windows
CE, ME, 2000, .NET
エンドユーザー
のクライアント
インターネットプロトコル
SOAP、
HTTP、SMTP、XML
.NET 基本サービス
サードパーティの
サービス
(4)なぜ「標準化」が必要か?
「ACTIVE-STORE協議会」の重要性
 ActiveStoreゴール
流通サービス業の様々な場面で必要とされる
業務システムを、オープンなマルチベンダー
環境で構築することを目的に
アプリケーション共通フレームワーク
アプリケーション間標準インターフェース
を共同で策定する
インターネットの利用
新しい流通(流通革命)
流通システムへの適用
物流業、製造業、金融業など他業種との連携が重要なキーファクター
2.ActiveStoreとは?
ActiveStore活動体制
ActiveStore Initiative
グローバルコミュニティ
ActiveStore-SA
ActiveStore-J
Core members (13 companies)
NTTデータ、セイコーインスツルメンツ
ソリマチ技研、東芝テック、NECインフロンティア
日本IBM、日本NCR、日本電気
日立製作所、富士通、ヴィンキュラム ジャパン、
野村総合研究所、マイクロソフト
南アメリカコミュニティ
ActiveStore-E
ヨーロッパコミュニティ
協議会(組織構成)
総 会
運営
特別会員
幹事会
仕様検討
海外連携・情報交換
技術部会
国際部会
RBI 分科会
• 7 WGグループ
• アプリケーション間標準I/F
ActiveStore-J 幹事会

幹事会(13社)
代表幹事
技術部会長
技術部副会長
国際部会長
:マイクロソフト
:東芝テック
:日本NCR、富士通
:富士通
□NECインフロティア
□ NTTデータ
□セイコーインスツルメンツ □ ソリマチ技研
□日本アイ・ビー・エム
□野村総合研究所
□日立製作所
□ ヴィンキュラム

特別会員
財団法人
流通システム開発センター
ジャパン
一般会員73社・全会員87社
㈱アール・エス・アイ
㈱アイコンセプト
アイ・ティ・クリエイト㈱
㈱アイ・ティ・フロンティア
㈱アイネット
アスター精機㈱
㈲アドバンシステム
アフェクトコミュニケーションズ㈱
㈱アルト技研
㈱イシダ
㈱伊勢丹データ-センター
㈱ヴァル研究所
エクセル情報システム㈱
エスアイアイ・データサービス㈱
㈱エヌ・エス・アイ
㈱エプソンソフト開発センター
㈱エム・アイ・ティー
㈱大塚商会
沖電気工業㈱
㈱オフコ
オムロン㈱
オムロン直方㈱
㈱オリンパスシンボル
カテナ㈱
㈱ガルフネット コミュニケーション
㈲ケーオーシープロ
コマツソフト㈱
コモタ㈱
コンピュータシステムサービス㈱
㈱サイバーリンクス
㈱三協精機製作所
CSKネットワークシステムズ㈱
シャープ㈱
シャープシステムプロダクト㈱
㈱社会調査研究所
㈱情報技術コンソーシアム
㈲シンク情報システム
㈱新盛インダストリーズ
シンタジー・ジャパン㈱
㈱セゾン情報システムズ
㈱セラシステム
㈱知見
㈱ティー・アール・イー
㈱データコミュニケーションズ
㈱テクニカルブレインズ
テック技研㈱
テックマイコンシステムズ㈱
㈱寺岡精工
東洋通信機㈱
㈱富永製作所
日本コンピューター・システム㈱
㈱日本システムプロジェクト
㈱日本総合研究所
日本総合システム㈱
日本ユニシス㈱
㈱ネクスタイド
ネクストネット㈱
㈱ノバック
バブ日立東ソフトウェア㈱
PFUアクティブラボ㈱
㈱日立システムアンドサービス
日立ソフトウエアエンジニアリング㈱
ファルコン㈱
フューチャーシステムコンサルティング㈱
㈱プラネット
プログデザイン
松下通信工業㈱
㈱三菱総合研究所
三菱電機㈱
三菱電機システムウェア㈱
㈱リオスコーポレーション
㈱リテイルサイエンス
流通システム・エンジニアリング㈱
ActiveStore活動状況
内容
SFS
System
Framework
Service
トピックス
運用ミドルウエア
.NETへ移行
・タスク制御,リカバリー制御,
KB制御,セキュリテイ管理他
・.NETテクノロジーを利用したミドル
構築に方向転換
UI
操作画面統一
・現在、UIチームを編成し、
仕様書のドラフト作成中
User
Interface
・表示領域,ボタン貼りつけ,
画面配置,ボタンの部品化他
・.NETテクノロジーを利用
RBI
Retail
Business
Interface
業務AP間I/F
7WG:Transaction,Inventory,
Pricing,Payment,Financial,
Customer,Employee
・ActiveStoreと米国IXRetail
(ARTSのXMLによるデータ
フォーマット統一化団体)との
共同作業
・今後本格化に向けて作業中
RBIの目的(利用者)

アプリケーション再利用性の向上
インターフェースが標準化されたアプリケーションを利用する事により、
アプリケーションの差し替えが容易になります。
マルチベンダー環境でシステムを構築する場合、インターフェースの互換
性は非常に重要なファクターになります。

容易な組み合わせ
インタフェースの標準化による複数アプリケーションの統合を容易
にします。データアクセスの標準を規定することによって複数のア
プリケーション、組織、ベンダーの「ソフトウェア・プラグ
・アンド・プレイ」を行うことを可能とします。

カスタマイズの容易化
データとアプリケーションを分離することによって、アプリケーションの設
計、作成、配置を単純化します。
アプリケーションでは、ファイル、テーブル、ネットワークを意識することな
しに、データをデータそのものとして扱うことが出来ます。
RBIの目的(ベンダー)

開発コストの削減
業界固有メッセ-ジの標準化(XML)
ドキュメント、仕様書、言語

メンテナンスコストの削減
少ないコード、集中的なコード

移行コスト削減
疎結合(システム非依存)

位置透過アプリケーション
サーバー、POS、PCといった環境からの独立
RBIは、接着剤
従来のアプリケーション
×
データソース
ビジネスロジックA
アプリケーションA
データソース
ビジネスロジックB
アプリケーションB
RBIを利用したアプリケーション
RBI実装
データソース
ビジネスロジックA
アプリケーション
データソース
ビジネスロジックB
Business Applications
POS
Order
Customer
Payment
Receive
Item
T&A
Signage
Schedule
G/L
RBI(Retail Business Interface)
RBI(Retail Business Interface)は、XMLを使用して、
互換アプリケーション間のシームレスなデータの交換を可能にします
ActiveStore 共通仕様(RBI)
.NETフレ-ムワーク
Windowsプラットホーム
The Goal
C社業務アプリ
A社業務アプリ
ActiveStore 共通仕様(RBI)
ActiveStore 共通仕様(RBI)
.NETフレ-ムワーク
Internet/Intranet
XML Web service
Windowsプラットホーム
.NETフレ-ムワーク
Windowsプラットホーム
B社業務アプリ
ActiveStore 共通仕様(RBI)
.NETフレ-ムワーク
Windowsプラットホーム
RBI-グループ構成:7つのサブ分科会活動







グループ
ファシリテータ
参加メンバー数
8社
POSTransaction 技術部会
(取引ログ)
10社
POS to Payment
富士通
(電子支払)
NTTデータ
POS to Pricing
東芝テック、ヴィンキュラム ジャパン 6社
(売価管理)
日立製作所
7社
POS to Inventory 日本IBM
(在庫管理)
日本電気
8社
POS to Customer セイコーインスツルメンツ
(顧客管理)
日本NCR
4社
POS to Financials ソリマチ技研
(財務会計)
4社
POS to Employee NECインフロンティア
(従業員管理)
RBI標準化プロセス:RBIでターゲットとする機能














Events
Store
Customer
Employee (Human Resources)
Authorization
POS Transaction
Electronic Payment Systems
Loss Prevention
Commissions
Ticketing
Signage
Shipping Receiving
Product Planning
Store Planning














Labor Scheduling
Training
Time & Attendance
Deposits
Account Rcv/Pay
General Ledger(Financal)
Inventory
Ordering
Payroll
Taxation
Tender Control
Pricing Control
Stock Count
Host Data
白:最初の範囲
灰色:次以降の範囲
RBI標準化プロセス
賛同企業→
新規提案(Web等)
Steering Committee→
← 賛同企業が参加
分科会設立
分科会→
Scope, Work Plan
の定義
分科会→
Core Technical
Teamによる
レビュー
Draftの作成
分科会、CAB、賛同企業(Web)→
BizTalk.orgへのパブリケーション
Draftのレビュー
Steering Committee→
標準の承認
IXRetailとの関連
コラボレーション
RBI
グループ
UPOS
REDX
JAVAPOS
OPOS
IXRetail
NRF-ARTSのXML部会REDXとActiveStore
RBIグループの共同作業にて運営
今までのアプリケーション



単純なドキュメント(CSVファイル、帳票など)転送
価格Lookup要求などでのC/S型通信
Socket/RPC、 EDI、その他
データ
エンティティ
Socket, RPC
DCOM,
Fat Client
業務サーバ
Socket, RPC
HTML/XML
SQL
DCOM
DCOM
ローカルストア
データベース
結果/XML
HTTP,
Thin Client
Wireless
業務サーバ
データ、バッチ配布
HTML
データ、バッチ配布
データ資産
HQ Host application
Intranet/Extranet/ISP
XMLドキュメント交換


C/S型でwell-known XMLドキュメントをHTTP転送
プログラミングインターフェイスが統一可能
ソケット、受信スレッド処理を開発=>受信スケーラビリティ
本部
店舗サーバ
クライアント
マシン
XML
データ
クライアント
アプリ
XML
データ
売価変更リクエスト
XML
データ
サーバ
XMLデータ転送 アプリ
結果応答
売価変更
オブジェクト
商品
マスタ
売価予約
マスタ
XML
データ
XMLのスキーマとデータの転送により
サーバのビジネスロジックが起動
2002年2月5日
今回のデモ:実証事例(RTJ2002)
★東芝テック
ActiveStore
POS APL作成
★SAP
★Frameworx
ERP system連携 logistics system連携
RBI
POS
Application
Interface
class
ERP
Logistics
★ソリマチ技研
PDA APL作成
HT/PDA
RBI
Application
Webサービス
ASP.NET
Biztalk
Interface
class
VCI
eCRM
★NCR/MS
KIOSK APL作成
KIOSK
RBI
★Onyx
Application
Interface
class
CRM system連携
提携
メーカー
RTJ2000での実証
RBI Priceインターフェースを利用したESLへの売価変更
POSコントローラ
ESLコントローラ
売価
コントロール
モジュール
ESL
コントロール
モジュール
xml
SQL
SQL
クライアント
Httpプロトコル
ESL
サーバー
IIS(ASP)
DecisioNet TM
RTJ2001での実証
RBI Priceインターフェースを利用したPLU処理
売価
コントロール
モジュール
SOAP
I/F
PriceServer
SQL
Httpプロトコル
KIOSK
XMLdata
POS
TeamPad
RTJ2001での技術
XMLのメリット?
PriceServer
WebServer(IIS)
XML over HTTP
HTML over HTTP
KIOSK
POS
HandyTerminal
1.HTTPサーバ(IIS)& ASP、クライアント(IE)、VB
2.XMLパーサ(MSXML)によるエンコーディング
3.ブラウザー(IE)による表現力
ActiveStore .NET?
InventryServer
PriceServer
BizTalk
WebService
SOAP
WebApplication
HTML
1.ASP.NET
2.NET Frameworkによるオブジェクトモデルの統合
3.WebService/WebApplication
4.BizTalk Orchestration (Building Block)
インターフェースクラス




アプリケーションインターフェースの作成
アプリケーションへのベンダー実装の隠蔽
RBIプログラミングインターフェース(仕様書)
クラス(DLL)の配布...調整中
RTJ2002での実装
アプリケーション
インターフェース
利用者
RBIクラス
RBI共通仕様
クラス(DLL)
Webサービス
ASP.NET
DBアクセス
SQL
ファイル転送
FTP・http
Other….
Other….
物理的実装
ベンダー固有の実装
Webサービスでの実装

RBIスキーマ(xsd)からクラスの生成
(xsd.exeを利用したC#クラスの生成)


ASP.NETにてWebMethodとして実装
WSDLを利用したインターフェースの配布
[WebMethod]
public PriceChangeRSType PriceChange( PriceChangeRQType priceChangeRQ )
PriceChangeリスポンススキーマから生成
PriceChangeリクエストスキーマから生成
今後の課題




.NETフレームワークの利用
SFSで実現した機能の継承
他の標準化団体との調整
スキーマ作成範囲の拡張
IXRetail(NRF-ARTS),UCC
インターフェースクラスの実装
アプリケーションと通信実装の分離
XMLを利用したトランザクション処理
SOAP、Webサービスの実装
BizTalkの利用(EAI)
RBI
ガイドライン
改訂版
ガイドライン
ユースケースの定義
問題点
の分析
シーケンス図の作成
調査
分析
現実的ユースケース
問題点の
解決策
概念モデルの定義
・開発サイクルは繰り返される
(反復的ライフサイクル)
・ユースケース主導の開発
設計
協調図の作成
設計クラス図の作成
製造
インターフェースの実装
実際の
コーディング
テスト
メソッドの実装
DBスキーマ実装
UMLの活用

スコープ(Scope Definition)

ユースケース(Use Case)

概念(オブジェクト)モデル

相互作用図(Interaction Diagrams)

設計クラス図

UML(Unified Modeling Language)
スコープ定義
インターフェース(またはデータ)を利用する範囲




エンティティ間の関連について定義
「誰が(またはどのアプリケーションが)この
インターフェース(またはデータ)を利用する
か?」に着目する
インターフェースの利用者と提供者の定義
ex.スキャナーとPOSの関連
ユースケースの作成
2つのエンティティ間の関連について記述した文
(何がor誰がー何をーどうする で表現)



利用者(アプリケーション)と提供者を明確に
スコープで定義した利用者が「何を」「どうする」
の形の文章であらわす
Use Casesは 複数のシナリオの集合
英語では名詞-動詞-名詞(日本語では名詞
-名詞-動詞)
ex.「Cashier Scan Item」
ex.「キャッシャーさんが商品をスキャンする」
ユースケースの内容




高水準ユースケース
プロセス全体を大まかに表現する文章
拡張ユースケース
シナリオによりプロセスを詳しく説明する
本質的ユースケース(分析)vs現実的ユースケース(設計)
アクタ
ユースケースに参加する イニシエターを明確に
イベントの典型的な順序
ユースケースをシナリオで説明
アクタの行動とシステムの応答を順序立てて記載
ユースケースの書式
ユースケース名:Buy Item
アクタ :お客(イニシエター)キャッシャー
目的
:販売を把握し、支払いを受ける
概要
:お客は購入したい商品をもってレジに来る
キャッシャーは購入商品を記録し金額を合計する.....
分類
:プライマリ 本質的
イベントの典型的順序:
アクタの行動
システムの応答
1.お客さまが商品を持って
レジまで来る
2.キャッシャーは個々の商品を
3.商品価格を判別し、価格を
記録する
表示し販売情報を追加する
4.商品入力が終了すると
5.販売金額の合計を計算し表示
キャッシャーはシステムに完了を
知らせる
6.などなど
7.などなど
概念モデルの作成
ソフトウェアコンポーネントではなく
現実世界の問題領域の概念の定義


ユースケースを基に概念(オブジェクト)モデルの作成
概念の定義(抽象的な概念図)
概念(オブジェクト)
関連付けと関連の名前
役割
多重度
属性(データ値)
概念モデルの例
概念(オブジェクト)
関連名
役割
Sales
LineItem
Quantity
1..*
1
Described-By
1..*
Contained-in
Product
Specification
Description
Price
UPC
1
関連
多重度
Sales
Date
Time
属性
相互作用図の作成
シーケンス図と協調図により、エンティティ間の
相互作用を視覚的に表現する
オブジェクト
シーケンス図の例
:キャッシャー
:スキャナー
Scan PLU
オブジェクト間で発生するイベントの順序に着目する!!
相互作用図の作成
協調図の例
オブジェクト
:POST
1: MakePayment(CashTenderd)
:Sale
1.1:Create(CashTendered)
線やネットワーク形式でオブジェクト
の相互作用を説明する!!
:Payment
ユースケース定義の名詞は、エンティティもしくはエンティティの属性となる。
動詞はエンティティ間のオペレーションとなる。
設計クラス図の作成
アプリケーションにおけるソフトウェアの
クラス及びインターフェースの仕様の定義


オブジェクトはどのように他のオブジェクトと接
続するか
クラスが持つ情報は何か?
・クラス定義、関連、属性
・操作と定数を持つインターフェース
・メソッド
・属性の型
・依存関係
設計クラス図の例
関連のあるクラス間には、線を定義する
Product
Specification
Sales
LineItem
1..*
Quantity:Integer
1
Describes
Description:text
Price:quantity
upc:UPC
Subtotal()
クラス
1..*
Contains
1
依存関係
Sales
属性
(メンバ)
date:Date
time:Time
makeLineItem()
SalesはmakeLineItem()のパラメータとして
ProductSpecificationを受け取る
型
メソッド
協調図から持ってくる
UMLからXMLへ
UMLのクラス定義を元にXMLのスキーマを作成
Sales
LineItem
Product
Specification
1..* 1 Description:text
Quantity:Integer
Subtotal()
Descr
ibes
1..*
Contains
1
Sales
date:Date
time:Time
makeLineItem()
Price:quantity
upc:UPC
スキーマサンプル
<?xml version="1.0" encoding="utf-8"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://tempuri.org/Price"
xmlns:Price="http://tempuri.org/Price">
<xsd:include schemaLocation="PriceBase.xsd"/>
<xsd:complexType name="PriceChangeRQType">
<xsd:sequence>
<xsd:element name="ChangeItem" type="Price:ChangeItemType" maxOccurs="unbounded"/>
</xsd:sequence>
<xsd:attribute name="Count" type="xsd:unsignedInt" use="required"/>
</xsd:complexType>
<xsd:complexType name="ChangeItemType">
<xsd:sequence>
<xsd:element ref="Price:ItemInfo"/>
<xsd:element ref="Price:PriceInfo"/>
<xsd:element ref="Price:TaxInfo"/>
</xsd:sequence>
<xsd:attribute name="RequestSequence" type="xsd:unsignedInt" use="required"/>
</xsd:complexType>
<xsd:element name="PriceChangeRQ" type="Price:PriceChangeRQType"/>
</xsd:schema>
インターフェースクラス




アプリケーションインターフェースの作成
アプリケーションへのベンダー実装の隠蔽
RBIプログラミングインターフェース(仕様書)
クラス(DLL)の配布...調整中
アプリケーション
インターフェース
利用者
RBIクラス
RBI共通仕様
クラス(DLL)
Webサービス
ASP.NET
DBアクセス
SQL
ファイル転送
FTP・http
Other….
Other….
物理的実装
ベンダー固有の実装
Webサービスでの実装

RBIスキーマ(xsd)からクラスの生成
(xsd.exeを利用したC#クラスの生成)


ASP.NETにてWebMethodとして実装
WSDLを利用したインターフェースの配布
[WebMethod]
public PriceChangeRSType PriceChange( PriceChangeRQType priceChangeRQ )
PriceChangeリスポンススキーマから生成
PriceChangeリクエストスキーマから生成