Upload
others
View
1
Download
0
Embed Size (px)
Citation preview
MAGIC-RIA事例紹介
基幹システム(PC RIA) から WEB受注(WEBマージ)倉庫管理(モバイル RIA) まで ALL MAGIC 開発事例
株式会社マイクロリンク 阿知波
アプリケーションサーバーdbMAGIC8 Enterprise Server
MRB
データベースサーバー
MetaFramedbMagic8 Client
dbMAGIC8 Client
企業内専用線
遠隔地営業所
1:MAGIC開発の過去 2000年“クラウド”という言葉がなかった時代・・・・・ ~ DBMAGICバージョン8の3階層開発はこうだった~
• S社(1)様にてMAGIC V4製基幹システムのリプレースをMAGIC V8+MAGICエンタープライズサーバーで構築。
⇒目的はバッチ処理の負荷分散だった。
時間がかかる処理はリクエストを投げてサーバー上で処理させる
東京・名古屋・大阪の支店単位でサーバーを保持
3階層ロジック
2階層ロジック
アプリケーションサーバーdbMAGIC v9plus Enterprise Server
MRB
データベースサーバー
MetaFramedbMagic v9plus Client
企業内専用線↓
IP-VPN↓
インターネットVPN
遠隔地営業所
遠隔地営業所
支店
2:MAGIC開発の過去 2005年PC・インフラの処理能力は次第に向上した ~遠隔地で非WEB業務システムを動かすにはコストがかかる~
• サーバーの処理能力向上により、分散されたサーバーを集約。ネットワークインフラも速度向上したが、遠隔地ではレスポンスよくシステムを使うためにMETAFRAMEは残された
全社サーバー統合
3階層ロジック
2階層ロジック
3:現代はクラウドベースのシステム提案&開発~サーバーメンテ不要。どこでも使える業務システム~
・ユーザーインターフェースはそのままに⇒⇒⇒RIA
・お金はかけたくない⇒⇒⇒脱METAFRAME/脱ターミナルサービス
X
INTERNET
4:VISUAL STUDIOでのRIA開発~WINDOWS COMMUNICATION FOUNDATION(WCF)~
・総合相談支援システム(社会福祉協議会・社会福祉法人様向け) WELFARE365
・ユーザーインターフェースはいつものWINDOWS フォーム。
裏ではクラウド上のIISでホストされるWCFサービスと通信を行っている。
・.NET FRAMEWORK上で動くためWINDOWS OSは必須
・クライアント側へのアプリの配布は、CLICKONCEを使用する。
5:VISUAL STUDIOのRIA開発~WINDOWS COMMUNICATION FOUNDATION(WCF)~
・プログラムは大きく2つに分かれる⇒サービス側(DB処理)とクライアント側(ユーザー画面)
・設定ファイル(サービス(サーバー)側:WEB.CONFIG クライアント側:APP.CONFIG)
データベースとの接続文字列など サービスの指定、プロキシーの有無、ClickOnceの.netFrameworkのバージョン指定など
Magic Xpa3.1ではWCFサービスにアクセス可能!
6:VISUAL STUDIOのRIA開発~WINDOWS COMMUNICATION FOUNDATION(WCF)~
【○】
・サーバー、クライアント共に、.NETFRAMEWORKが入っていれば動く
⇒ラインタイムソフトウエアが不要&ブラウザのバーションに依存しない
・クライアント側は通常のWINDOWSフォームアプリケーションなので開発は特に困ることない。
⇒情報が多い。デバッグはコール先のサービス側プログラムもステップインできる。
【△】
・設定類(SSL通信、プロキシー設定など)が難解。(APP.CONFIGで設定)
・アプリのリリース時、バージョン設定やサービス参照先の変更は手動で行ってビルド&リリースするので
ちょっと神経を使う。
・サービス側、クライアント側それぞれ開発するので、2階層アプリケーションより開発工数がかかる。
7:MAGIC XPA2.5のRIA開発~MAGIC RIA(WIT販売)~
・ソース公開型パッケージWIT販売をベースに開発
8:システム業務フロー(1)
本社事務所
倉庫
仕入先
得意先
DL発注入力
受注一覧画面
受注伝票入力
DL注文状況照会
詳細情報の編集(商品コードの変更等)またはDLを通さない受注の入力
発注伝票生成画面
DL発注入力された一覧を抽出。★在庫の有無を確認。・仮納期の入力。(在庫があれば正式納期の入力)在庫が無ければ、発注する。⇒発注チェックボックスにONする(発注入力画面に抽出される)
検品対象リスト発行
発注伝票入力 分割処理など伝票の修正
受注伝票の発注チェックボックスON明細を抽出。⇒メーカーを指定して抽出。※明細は受注No単位にはせずにまとめる。★外貨で入力
発注一覧画面
発注伝票の未輸送中状態の明細を抽出。⇒INVOICE番号と日付を入力する。★外貨で入力
正式納期を入力する※輸送中処理画面は受注とは紐づいていないので、正式納期の入力は受注一覧画面で行う
仕入伝票入力
生成された伝票の修正など。発注を通さない仕入。
在庫がある場合、発注せずにピッキングリストが発行対象となる。★優先順位は納期の早い順だが、最終ジャッジは高橋さん?(営業担当との連絡方法は?)
||||||||||||||||
・在庫の増・発注残の消込
invoice
DL注文状況照会
受注一覧画面
メーカーWEB画面やFAXで発注
注文 出荷開始 到着
発注伝票入力 生成された伝票の修正など。または在庫品の発注。
ハンディチェック仕入計上
スキャンできなかった商品はラベルを発行させてスキャンする。検品対象リストの全品がスキャン完了したら仕入計上可能。
9:システム業務フロー(2)
本社事務所
倉庫
仕入先
得意先
|||||||||||||||ピッキングリスト
ピッキングリスト発行選択画面
★棚番表示
ハンディチェック売上計上
HDTで登録された明細を抽出チェックボックスONで売上伝票生成する。
売上伝票入力生成された伝票の修正など。ピッキングを通さない売上。
・在庫の減・受注残の消込
納品書
送り状CSV
請求締め処理請求書発行
請求書
入金入力 支払入力
外貨と現時点レートの入力
納品
納品書 請求書 送金
送金
10:MAGIC XPA2.5のRIA開発
・DEMO ・・・・・・は後ほど
11:MAGIC XPA2.5のRIA開発~MAGIC RIA(WIT販売)~
・プログラムの作り方はいままで同様。ただし、VB.NETの開発と同じくサービス(サーバー)側とクライアント側の考えは同じなので、その辺りを意識して開発する必要あり。⇒基本は同じ。DB処理するのはサービス側!
12:MAGIC XPA2.5のRIA開発~MAGIC RIA(WIT販売)~
【○】
・MAGICの特徴ではあるが、改めてVBと比べると
開発工数は少くなくて済むと実感。
(特にデータベース(バッチ)処理、ファイル転送)
・SSLの設定がラクすぎる。チェックボックスONにするだけ。
・アプリのリリースはキャビネットファイルをつくりサーバー上にコピーするだけでOK(ただしMRB再起動必要)
・IOS、ANDROIDのランタイムがある。
【△】
・ランタイム(RIA SERVER)は有料です・・・・
・デバッガーが使いずらい(私が無知なだけ?) など
13:WIT販売~MAGIC RIA(WIT販売)~
【○】
・安い。ゼロから作るより工数減。
・RIA環境構築手順もわかりやすいマニュアルがあり、悩むことなくリリースできる。
【△】
・帳票類のほとんどはREPORTS MAGICで作られている。
・標準メニューは大きくて、画面上 裏で残っているので邪魔。(ユーザー意見)
--------------------------------------------------------------
細かいことを言えばキリがないですが、この値段でこのソースが手に入れば十分な価値はあると思います。
14:クラウドシステムにかかるライセンス~データベースSQLSERVERが高い!~
15:クラウドシステムにかかるライセンス~今後はMS-AZUREが独占状態になる?~
• 基本的に、月額使用料(下りの従量課金制)を支払っていれば、MSライセンス(SPLA)の縛りが
ない。
なので、OFFICE365(EXCEL等)もAZUREサーバー上であればインストール利用OK。
・今後気になるAZUREの「SQLデータベース」
⇒ MAGICからの接続DEMO
16:稼働中システム構成~上限料金があるクラウドエヌ+データベースは商用フリーのPOSTGRESQL~
仮想サーバー Windows2012R2
EnterpriseServer 2スレッド
データベース
INTERNET
X3台X17台
RIAServer 20user
数百社の得意先店舗
SSL
暗号化通信
ODBCゲートウエイ
17:POSTGRESQLってどうなの?~全然使えます~
• 本体:バージョンは9.4.4-3(WINDOWS-X64版)を使用
• ODBCドライバー:バージョンは09_03_0400を使用(32BIT版を使用)
• 管理ツール(SSMSのようなGUIツール):PGADMINーⅢを使用
18:POSTGRESQLってどうなの?~SQLSERVERとの比較~
• 日付0000/00/00は受け付けない(1950/01/01等にしないといけない)
• SQL文:カラム名は、ダブルクォーテーションでくくる。(SQLSERVERは [ ])
• SQLSERVERでいう照合順序がない⇒バイナリ形式と同じ。大文字小文字がはっきり区別される。
⇒LIKE文ではなく、ILIKE文を使う
言語設定⇒
・POSTGRESQLはインストールしただけでは、自ホストからしか接続できない(RIAの環境では問題ないのだが)
HTTP://WWW.PROJECTGROUP.INFO/DOCUMENTS/POSTGRESQL/POS_000007.HTML
X
19:POSTGRESQLってどうなの?~POSTGRESSQL.CONF~
・メモリ・パフォーマンスチューニング:SQLSERVERはある程度自動でやってくれるが、POSTGRESQLは設定ファイル(POSTGRESQL.CONF)で設定しないといけない。
参考までに今回の環境のPOSTGRESQL.CONFの設定は下記のとおり
----------------------------------------------------------------
• MAX_CONNECTIONS = 200
• DEADLOCK_TIMEOUT = 30S
=仮想サーバーのメモリ:16GBの設定=
• SHARED_BUFFERS = 3GB
• WORK_MEM = 32MB
• WAL_BUFFERS = 32MB
• CHECKPOINT_SEGMENTS = 16
• RANDOM_PAGE_COST = 3.0
• EFFECTIVE_CACHE_SIZE = 3GB
----------------------------------------------------------------
20:POSTGRESQLってどうなの?~MAGICのODBCゲートウエイで使う場合~
・DB SQLの書き方
X
21:IPOD TOUCHを使ったハンディターミナルの開発~お手軽ハンディターミナル~
・バーコードスキャナ: イメージャーKDC420I
BLUETOOTH接続(専用キーボードソフトウエア不要)
USB充電可能だが、IPOD-TOUCHからは
充電されない
マニュアルがすごくわかりにくい・・・
22:KDC420 BLUETOOTH接続
~読み取り~
動画DEMO
23:IPOD TOUCHを使ったハンディターミナルの開発~ここに注意。ハまります~
・キーボードは英語以外は消しておいたが、IOSをバージョンアップすると
勝手に日本語キーボードが増える。
・「ピリオドの簡易入力」はOFFにしておく
24:動画DEMO ~集荷指示⇒ピッキングリスト発行~
24:動画DEMO
~HDTピッキング入力画面~
24:動画DEMO ~売上計上⇒納品書発行~
25:ラベル発行はBROTHER ラベルプリンター添付ソフトで
~CSVを定義したフォルダにダウンロードさせるだけ~
INTERNET
ClientFileCopy()
P-touch Editor 5.1
26:MAGIC ENTERPRISE SERVERを使ったB TO C WEB受注画面
~デザイン面~・開発:マージ形式 ⇒ テンプレートは「BOOTSTRAP」を使用
レスポンシブWEBデザインに対応⇒スマートフォンやタブレットなど個別に対応するスタイルを作っていると大変手間がかかります。BOOTSTRAPはCSS3のメディアクエリを使用しているので、ブラウザの横幅サイズを判断基準として、レイアウトデザインを柔軟に調整することが可能です。
27:MAGIC ENTERPRISE SERVERを使ったB TO C WEB受注画面
~画面~
・DEMO(時間があれば)
28::クラウドを使ったベストなシステム提案とは~なにが一番喜ばれる?~
• WEBシステム(ブラウザベース)のシステムを使っていたお客様にRIA提案するときは注意!
• RIA:操作面は素晴らしいのだが、1画面しか開けないことが難点。(例:過去の商品売上情報画面を参照しながら、伝票入力したい・・・など)⇒ブラウザのようにタブで複数画面を開いて切り替えて開けない⇒ブラウザのように、画面内検索ができない(CTRL+F)
⇒ブラウザのように、画面まとめてコピーができない
• WIT販売のデモサイトでお客様にてRIAの動きを検証いただく必要あり
29:最後:クラウドを使ったベストなシステム提案とは~なにが一番喜ばれる?~
• 入力系⇒RIA(MAGIC RIA SERVER / WCF)
• 照会系⇒ブラウザ(MAGIC ENTERPRISE SERVER / ASP.NET MVC)
両方の技術を使う提案がベストかと思います。
END