Monday, February 22, 2010

CRMとSCM

顧客先は全社システムとしてERPを導入済みで、部門レベルでCRMとSCM導入を検討している段階です。

部門ITとしてはスクラッチからの構築には骨が折れるうえに、システム完了をせっつかれるので、最近は手ごろなパッケージ導入の提案を専ら行うのがメインの作業になりつつあります。

全社システムでERPが既に在るのだから、そこにCRMとSCMを追加してはとの考えも無くは無いんですが、全社ITは人手不足と俊敏性の悪さで、部門のマネージャーからの評価は良くないうえに、ERP用のCRM,SCMモジュールは高額の為、それもネックで却下となる始末です。

マネージャーにCRM、SCMの切り分けを説明する時の資料として役に立つ、アーティクルを以下に

第3回:SMB市場におけるSCMの導入実態

第4回:中堅・中小企業におけるCRMの導入

特集 - CRMアプリケーション展望 PART1

特集 - CRMアプリケーション展望 PART2

未だに日本語の資料のほうが直感的に理解し易い為、偏ってしまうのですが、CRM関連の日本語資料を探すのは難しいですね。日本ではCRMは受け入れられにくいシステムなのでしょう。

VM on WHS が異常に遅い

VMへWHSインストール完了後、数十GB単位でクライアントからファイルをコピーするが、ファイル転送速度が異常に遅かった。

取り敢えず以下の処理を行った(2点) 参照

1.Primary のvmdxファイルをGrowableからPreallocatedに変更

これは間違いなくボトルネックになるなと、vmware-vdiskmanager.exeでの変更を試みる。
コマンドラインからだとパラメータ等、良く分かってない所も有るので有志が作成したコマンドラインラッパーGUIを使う。アプリ名はそのままVMware DiskManager GUIのDownload Setupからインストールファイルをダウンロードし実行。vmxファイルの変更しなくて済むように、既存のvmdxを適当な場所に移動した後、GUIアプリを実行。

1.Convertタブを選択
2.Virtual Disk に移動した元ファイルを選択
3.New Disk Name に元ファイルがあった場所を選択し、元ファイルと同じ名前を指定
4.Disk Type は Preallocated virtual disk, split into 2GB files を選択
5.Convert を押して後は完了まで待つ。



アンチウィルスのリアルタイムスキャンからWHS VM関連ファイルを除く

2.AVG 9.0とWindows Security Essentials からWHS VMの保存フォルダを対象から外す

AVG9.0

右下のResident Shield


赤丸のManage Exceptions


Residen Shield Directory Excludes を選択し、Add Path で保存先フォルダ(下記ではドライブ)を追加。

OKで終了。

Windows Security Essentials

左からExclude files & locations を選択し、Add...ボタン、対象のフォルダー(ドライブ)を追加。

Save Changesで終了。

実感としては、少しはマシになったかなと。

リンク集 - WHS

MS WHS公式ページ(日本) - 公式なんで一応。
MS WHS Official Site (本場) - 本場は流石に気合の入り方も違うようで、コンテンツも充実。
We Got Served - お約束、本場WHS関連サイト。更新頻度も良し。
薩摩藩中仙道蕨宿別邸 - WHS MVP の方のBlog。中身が濃い。

自作WHS機を HP MediaSmart Server化

日本でもAcerからAspire easyStore H340が去年3月に発売されたが、北米ではやはりPCと言えばHPが強く、2008年11月発売の初代EX470から、EX475、EX485、EX487、LX195、EX490、EX495と多彩なモデル展開中。以前からHPのWHS機には独自のAdd-Inが組み込まれているのは周知で、この機に自作機にもインストール可能なのかとGoogleと先人発見。

Installing the HP MediaSmart Server 2.5 Update on the EX47x

上のチュートリアルを参考に。以下のファイルもダウンロード
Sun Java JRE 1.6 Update 5
Apache Tomcat 6.0
ImageMagick 6.4.0-Q16
SanEncore Add-In 1.0.0.9

Twonky の箇所で 「"PVConnect Media Server for HP MediaSmart" Add-Inがインストールされている事」とあるが、純正HP機では無いのでインストールされている筈もなく、無視して次のステップへ進む。

上記Add-InはHP MediaSmart Server 1.3 Update に含まれているらしく、2.5 Updateをインストールする前に1.3 Updateをインストールすれば良かったのでは?と後で気付く。

最後の方の18迄はすべて順調。19でInstall押下後エラーメッセージを見るが突き進む。

PVConnect Add-Inが無いので22から25をスキップ。

無理やりに最後まで行って完了。
多大に疑いながら、xxx.homeserver.comを開くとMediaSmart用のリンクが追加されており、それでも疑いながらリンク先に行ってみると、ちゃんと動いてる。

Musicに保存されている音楽ファイルなどもメディアサーバーに登録され、MediaSmart用のiPhone App (HP MediaSmart server iStream)からでも視聴可能。

流石にHP純正機以外でのUpdateの使用はライセンス違反だろうと思うので、VMは試験後削除したが、次期WHS版のHP MediaSmart Serverが欲しくなった。

Sunday, February 21, 2010

VM に Windows Home Server をインストール

自作のWHS機がHDDの物理障害でオシャカになった為、かれこれ2週間ほどはシステムの復旧作業。
馬鹿な事に、システム・データのバックアップを取っていなかったので、こつこつ貯めていたダウンロードファイルなどがパア。
幸いに、自宅と会社の複数のPCにデータのコピー(写真やリップした音楽など)が有ったので、全滅は免れることが出来た訳ですが、此れ教訓に、冗長性のあるシステムを作らなければと考えつつも、自宅にある3台のPCの内、2台は嫁用とリビング用で決定。残りの一台を自分用にWin7。WHSの入る余地無しでは困るので、自分用のPCにVMゲストとして共存させようと決意。

VMも個人で使うレベルでは数種類のソフトがあり、ESXi、Server、Workstation、Playerから
ESXiはWin7とWHSの共存はできても同時使用が出来ないので却下。
Playerは小さく軽量だが、何かと機能も少ないので却下。
ServerとWorkstationの比較をした結果、機能の充実度からWorkstationに決定。

先人の例を探しにGoogleとスナップショット付きのチュートリアル発見。

How do I install Windows Home Server in VMware Workstation?
How do I install Windows Home Server in VMware Workstation Part II?

以下のSCSIアダプターから、LSI Logicを使用。
BusLogic (ドライバーと使用方法
LSI Logic (ドライバーと使用方法1
LSI Logic SCSI (未確認)

その後は問題なくインストール終了。

Titanium Mobile で iPhone App 開発

@IT - HTML+JavaScriptでiPhone/Androidアプリを作れる Titanium Mobileとは

将来、簡単なアプリを作りたいと思った時に便利そうな開発ツール。

Thursday, February 11, 2010

備忘録 - エスケープシークエンス in SSIS

ダブルクオート、フォワードスラッシュ(円マーク)をSSISの式の中で使う時はフォワードスラッシュ(円マーク)を被せて使う。コマンドライン引数を指定する時には必須のテクニック。

備忘録 - 日次ファイルの日付順取り込み

大量の日次レポートをテーブルに取り込む時のSSISテクニック。

http://social.msdn.microsoft.com/Forums/en-US/sqlintegrationservices/thread/b9aa32be-bb02-4c4e-a2c7-ec089ba6814e

SSISの For Each Loop には取込み順を設定出来るようなオプションは無い為、上のコメントでは次の様なステップをオススメしている。

For Each Loop で逐次列挙されたファイルの内容からソートキーとファイルパスを取り出し、テンプテーブルに保存。
データフローコントロールを追加し上のFor Each Loopと繋ぐ。
上で追加したコントロールの中でテンプテーブルをデータソースに指定し、Sort コントロールに繋げ、Sortキーを指定する。
ADO Destination sourceを追加してSort コントロールから繋げる。これでADO Destination source で指定した変数には、希望通りに並べ変えられたファイルパスが格納されている筈。
後は再度、For Each Loopを使い変数の中から順にパスを取り出し後続の処理を行う。

備忘録 - Oracle Discoverer Export Format

全社ERPデータを Discoverer レポート越しに吐き出し、部門のSQL Serverへ取り込む時のエクスポートファイルのフォーマットはCSVがベスト。
テキストファイルの場合
Discovere上での表示内容そのままに吐き出すため、小数点以下などは切り捨てられる。
Excelの場合
SSIS上Excel Sourceからファイル内容が参照できない。DiscovererはExcel v5 フォーマットの為。
CSVの場合
小さな問題があるが上記のフォーマットと比べると対応可能。レポートの表示書式が変更されている場合など、例えば%表示している場合などは事前に解除しておかないと、SSISで取り込みエラーを起こす原因となる。

備忘録 - Lookup Data Flow Item in SSIS

外部データソース(Excelなど)から新規レコードのみをテーブルに追加したい時などにLookupアイテムを使って既存レコードの存在を調べる訳ですが、既存レコードの比較対照フィールドがSmallDateTimeの場合はヒットしない。

既存レコードの検査方法は以下のリンクから。
SQL SSIS, insert only new rows.

検証方法としては、
1.SmallDateTimeフィールドを使っている新規テーブルを作成。物理主キーをGUIDなどにしておく。というのも、論理主キーを物理主キーとしてしまうと、以下の8を重複キーエラーで失敗するため。
2.Excelで日時データを使ったサンプルデータを作る。
3.Control Flow に Data Flow を追加
4.Excel Source と OLE DB Destination を Data Flow に追加。
5.上記2つの間に Lookup Data Flow Transformation を挟み込む。
6.Lookup の Reference Table を OLE DB Destination の Table と合わせておく。勿論、論理主キーのマッピングも同時に行う。
7.初回Runでは参照テーブルがEmptyなので全件テーブルに追加される。問題無し。
8.2回目以降はLookupが効きエラーを吐き出すはずが、スルーされて再度全件テーブルに追加される。これが問題。

まとめ
テーブルデザインの時点で、SmallDateTimeタイプを使わないようにしておく。DateTimeが4バイトでSmallDateTimeは2バイト。無理してSmallDateTimeを使う必要も無しかと。