PC到着

ついに、新しいPCが届きました。パチパチ!!!
最初にする事は、VMWareのWorkstationのインストールです。
64ビットのOSですが、サクッと入りました。
後はFirefoxChrome・圧縮解答ツール・Teraterm・FileMozzila・秀丸をDLして
インストール環境。いつも思いますが、このあたりのツールを一発でサクッと
インストールできるものがあるといいですね、Xamppのように。


後はESXiなどをインストールしましたが、最初うまく行きませんでした。
64ビットの場合、出荷時ではハイパーバイザーは使用できないようになっており、
ここを変更しないといけないです、BIOSの画面で。
そして、初めてインストールが可能になります。


次にvsphereをインストールしましたが、クライアントのみでしたら、
すぐにうまくいきます。しかし、サーバーを入れるとなると、ドメイン
要求され、結構面倒です、おまけにプロセス監視などのリポジトリーに
SQLServerを使用するので、インストールにも時間がとられるし。。。
この製品ですが、60日間の評価版のことですが、ネットに接続しないと、
ずっと60日間のままになります、つまりネットにつながらない社内のLAN
環境でしたら、OKです。ネットにつないだ瞬間、12時になると、1日減ります。
いまどき、ネットにつなげないというのはありえない話に近いですが。。。

Seasar2

今日はSeasar2のカンファレンスがあり、法政大学に行きました。


しかーし、会場がせまいっす。。。まぁ、今までの状況を考えての話だと
思いますが、ひがさんの講演で、30人の部屋はちょっと。。。
足が疲れた、が第一声です。



・Escafeflow/Buri入門
前回、BPMのオフ会で色々と話を聞いて、今回は動くものが見られるという
事で参加しました。一番の目的ですね。
分岐の部分、SplitとJoinがいまいちよくわからなかったですが、
今回の説明で、なるほどと思いましたね。日本語で言われると、理解できます。



一番よかった部分は、EscafeFlowのEditorの使い方です。
どうやって使ったらよいのか、いまいちわからなかったですが、ダミーを
最初につくり、全体のフローを作成するという部分を理解できた点が大きいです。
これはある意味、作成した人ではない限り、わからない情報だと思います。
実際に動く部分ですが、私は作り方が大まかに理解できたので、よかったです。
ライブで実行する場合、大体タイムオーバーでできないケースのほうが多いです、
私もデモで実際に試そうとしましたが、ネットにつながらない、サーバーを止められた
とか色々な問題があり、ほぼうまくいかないので。



1.Mavenでプロジェクト作成
2.DBにスクリプト実行(これは別インスタンスではなく、トランザクション処理をする
テーブルと同様のインスタンスに入れる)
3.Editorを使い、フローを作成
気をつけることは、
自動(通過します)
手動(処理がとまる)
マニュアル(何もしない)
という3つの点に注意すること。
各タスクは、「〜済」とすること。
4.コーディングを実行
SimpleBuriProcess
StandardBuriProcess
AutoStandardBuriProcess
の使い方に注意。
ToNextStatus(”プロセス名”,Dao)
でプロセスを次に移動する。これを次々と実行する。
5.Diconファイル系を設定
6.テストアプリを実装し、テスト!
となるようです。



大まかな流れを実際に見ることができたので、後は実行でーす。
が、時間がないかも。。。久しぶりにコーディングしたいですが。



Mobylet入門

携帯向けのJavaアプリという事で、参加しました。
過去に携帯の開発はしたことがないですが、話を聞いていると、Javaの場合、
Docomo向けにまずは作成し、その後コンバートツールを使用し、Softbank
Auに対応する事が多いようですが、FWが単純にない為、このような対応を
せざるを得ないと思います。
このFWを使用すると、上記の問題が解決できるのか、という観点で。
一番ややこしい絵文字にかなり力を入れて、対応しているみたいです。



最初は歴史の説明。携帯に疎い私にとっては非常によい内容です。
PHPで開発する事を多く見ていましたので、JSPに書いて、Tomcatで動くものが
見えると、非常にうれしい感じがしました。
JavaScriptを呼び出せると、GoogleAPIを呼び出せるので、DBを呼び出したり
APIを呼び出したりと、PCと変わらない事が携帯でも実現が可能になります。
色々とバックサイドでは呼び出すので、後は設計=アーキテクチャーを
きれいに考えていきたいですね。



時間を見つけて、簡単なサンプルは作ってみたいです
(し、今でしたら、3機種全て、試す事ができる状態なので、今のうちに)。



<まとめ>
・限られたセッションしか出ませんでしたが、だらだらいつものように聞かず、
焦点を絞っていたので、かつ内容も非常によかったので、有意義な時間を
すごすことができたと思います。後は、自分でサンプルを作る、という
私自身の問題です、学んだことをしっかりできるかどうかについては。

Google Developer Days

今日はみなとみらいに行き、Google Developer Daysに参加しました。



まず、13時の講演に参加できるように行きましたが、一箇所に人が集中!!!
で、Androidをもらえたのはびっくりでしたが、始まっていましたね。。。
ちょっとこの受付は使えないなぁ、と思いました。



今回のメインはBigtableAPIAndroidの3つを理解する事です。



Bigtable
RDBとは考え方が異なり、1つの大きいEntityを作成し、ここにデータを入れていく。
もし入れたいデータがあるなら、プロパティーにEntityをList型にしていれていく。
しかし、このデータを意外と簡単なコードで抽出できるのがよい。
リレーショナルにすると、データがうまく取れたり、取れなかったり、とか
SQL文を書くケースが多いので、メンテナンスが面倒である、とか
私はマイナスのイメージが強かったので、Bigtableにはひじょーに期待している。

そもそも、私だけかもしれないですが、S2JDBC-Genを見てもわかるように、
テーブルを最初に作成する、というよりは、むしろEntityを最初に作る、という
流れが今後の主流だと思っているので、この流れの先にBigtableがあるんだ、
と考えています。

データは単純に保存できればよい、というのがコンセプト。
そして、単位はEntityになるので、非正規化をすること。
既存のRDBをEntity単位で入れる事はほぼ不可能である、Key Valueの概念を持ってRDBの設計をしていない為。



Google App Engine
新しい情報としては、
GAEに登録すると、3つのサーバー上で動くアプリが動くらしいです。
長時間のバッチ処理を実行すると、途中でTimeoutが発生する。
APIProxyを使用すると、AOP的なことができる。



API
7種類存在する。
MapAPI
ストリートビュー
EarthAPI
3Dで地球を参照
SearchAPI
自分でローカルPCを検索
FeedAPI
GoogleサーバーからJSONでダウンロード
LibrariesAPI
JavaScriptのライブラリーをホスティング
LanguageAPI
翻訳をJavaScriptで実行
VisualizationAPI
データは1箇所で、あとはどのように可視化(グラフ・テーブル)するのか、がポイント
Zohoと同様の考え
GoogleSpreadSheetを使い、CSVやTextのデータを取得(クエリー等を使用)
DateTableを使い、データを直接生成
Copy&PasteでURLを生成し、自分のHPに貼り付ければ、データを表示する事が可能
URLを生成し、貼り付けを行う事でノンコーディングでデータの表示が可能
このセッションが一番よいですし、説明がいちばんわかりやすい。



Android
会場に行ったら、すごい人がおり、あふれていましたね。
まぁ、パンを食べていたから、そうなったのかもしれない(笑)。
内容は既にAndroidの書籍を読んでいたので、すごい!という感覚はなく、
復習程度で聞いていました。むしろ、Androidを動かす方に集中していたかも。
Intent・Shared Preference・Content Provider・Networkの説明



Google Wave
Flexを使うとできるような感じでしかなかった、同期の処理は。
HTMLで実現できている点はすごいと思うが、この同期処理だけはFlexで実現すれば十分かなぁ、と。
後はGoogleIOについて、詳しくまだみていないので、上記以外はその後に。
GoogleIOは今の私の課題です+GoogleWaveも。



<全体>
行って、よかったです。去年は定員切れでNGでしたが、学ぶべきことがたくさんあり、
今後に役立つ情報、今回はAPIの色々な情報を取得することができました。
さらに、今回はAndroidをもらい、いち早く色々なアプリを実機で試す事ができそうです。

新しいPC

昨日、新しいPCを注文しました。
ずっとノートPCを使用していますが、調子がいまいちですので、
かつ最近、パソコンの値段も落ちているので、
かつ翻訳の仕事を行い、お金が入ったので、
購入することにしました。


ここ


複数のOSを立ち上げるので、やはりクワットではないとキツイです。
しかし、このPCが届く3週間後から、色々な事を試していきたいです、特にVMWare関係は。

VMWare

先月、VMWareのvsphereのイベントに行きました。
しかーし、ものすごい人でした。実はこのイベント、定員オーバーでサイトから申し込みは
NGでしたが、営業さんからのプッシュで、無理やり席を空けてもらい、参加しました(笑)。
こんな話をしていたら、よこせよこせ!と色々な人に言われましたね。。。


さて、内容ですが、どういう仕組みでクラウドOSと言っているのか、ここが一番知りたかったです。
恐らく今、クラウドOSというと、3TeraのAppLogicしか商用ではないのかなぁ、と思います。
しかし、これはクラウドOSではなく、グリッドOSですね、よくよく見てみると
(引っ掛け問題ではありませんが)。グリッドで大きな1つの塊をつくり、この塊の中から
自分が必要な部分を抜き出して、自分が必要な構成を作る、さらにハードが死んでも、
グリッドなので、物理サーバーを入れ替えればよく、使っている人からすると、
ハードが死ぬという点は意識する必要がないです。しかし、グリッドですとの、
ある程度、距離は近いところにハードは置いている必要があり、全てハードが死ぬと
全滅になります。ある部分は別のセンターに、みたいなことができると、この製品も
クラウドOSと言っても、よいかもしれないですね。


上記の点から考えて、クラウドOSには恐らく場所的な部分も考慮し、別々のデータセンターで
動かして、かつハードが死んでも、ユーザーが意識することなく、使用する事ができる製品が
クラウドOSの定義になると思っています。その点、VMWareのvsphereは上記の点を全て網羅して
いますので、クラウドOSと言ってもよいと私は思います。


VMotion、FT(フォールトトレランス)とか、詳細は書きませんが、FTはかなり驚きです。
というのも、ハードが死んだ場合、そっくり別の場所に入れ替えることができるという点が
すごいと思いましたね。かつ、復活に時間がかかりますよ、という話ではなく、すぐに。
ただし、サーバースペックとしては恐らく3台は何をするにしても必要だと思います。
まぁ、データセンター全体をと考えているので、最低ラインを言うのはナンセンスかも。


仮想サーバーを導入する流れがさらに強くなりますし、恐らく各社ともにこの製品を
ベースに使って、オンプレミスの環境を作るという事を大手は言ってくるでしょう、
とも感じています。遅れととらないためにも、かなりいけると感じているので、vsphere
ベースのオンプレミス構成の提案書を作らないと、と。

Intalio Business Edition QA

 結局、結論をかいていませんでしたね、プレゼンの。
 私の持ち時間は45分でしたが、大激論的な感じになり、倍近く時間がかかり、70分以上は議論でした。
 時間がかかった原因は、昨日記述した通り、プラットフォームやバックグラウンドの違いによる議論だった為です。

 

 その中でのQ&A的な事は以下の通りです。
 

 Q:無料でつかえますか?
 A:はい、3ユーザーまでの制限がありますが、可能です。期間は明確には言われていないですが、1年間のはずです。

 

 Q:ユーザー登録にフリーメールは可能ですか?
 A:はい、可能です。特に制限はありません。

 

 Q:フローの中にタスクがあり、タスクのリンク先に制限はありますか?
 A:いいえ、ありません。サンプルとして、GAEForJavaで作成したプログラムを呼び出しましたが、問題ありません。

 

 Q:フローの中のタスクにフォームを設定する事ができますか?
 A:はい、xFormのみ可能です。xFormは日本語のサイトではあまりありませんが、英語のサイトには多くあります。

 

 Q:メールのテンプレートは自分で設定が可能ですか?
 A:可能です。テンプレートを使用しても、自ら作成しても、どちらでも対応可能です。

 

 Q:各タスクに対しても権限を設定ができますが、もしフローに関係ない人を定義した場合、何の意味がありますか?
 A:エスカレーション先、つまりフローを担当する人がいなく、誰かが動かさないとフローが進まない時等のケースを
 担当する人を定義するという意味になります。

 

 Q:メールを受信した後の処理は?
 A:メールにはURLが記述されているので、URLを選択すると、Business Editionのフローを確認する事ができます。
 メールは、Outlook、Lotus、共に対応しています。

 このような感じです。随時、追加していきます。

Intalio製品のプレゼンを通して

 本日、とある人のご紹介で、最近翻訳をしたIntalio社のBusiness Editionというツールのデモをしてきました。
 最近何度かプレゼンをしますが、私の話の時、いっつも突込みがすごいんですよね。。。
 

 何故なんだろう?と考えた時、私なりの答えは、

 

 動くものを見せるから
 

 です。
 当然、製品について説明する人がおり、説明はしますが、聞いている人の立場ですと、もやもやカード の状態です。
 そこに、ではこんな風に動きますね、といいますので、あれ?イメージと違う?私はこう考える?等のもやもやカードの風船が割れた状態になります。

 指摘をして頂ける事に対して、おいおい!という考えはなく、なるほど、と思う事も多いです。
 その中で気がついた事は、ワークフローという言葉が人によって、定義が違いすぎている、という事です。

 まずはフローを書きます!といった時、

 

 ・全体の流れを記述
 ・全体の流れを書き、各タスクに画面を設定
 ・全体の流れを書き、各タスクを実行するコードを技術
 

 大体、このいずれかに分類できると思います。

 

 ・全体の流れを記述

 この分野に多いのは、コードのかけないおじさんたちで、大きい会社に所属している人たちが多いです。
 結論は、フローは俺が書く(Excelで)、でも後はよろしく!!!
 よって、フローはできているが、動かない!となります。

 

 ・全体の流れを書き、各タスクに画面を設定

 製品名をあげると、クエステトラさんの製品です。
 フローを書きます、画面を設定します、条件を設定します、しかもすべてノンコーディングで。
 まだ見た事がないですが、スターロジックさんのBurixもここに入るでしょうね?
 つまり、プログラミングの知識がそれほどなくとも、作成したフローが動くものができる、という事です。
 フローはできていて、動くものもある、となります。

 

 ・全体の流れを書き、各タスクを実行するコードを技術

 一番わかりやすい例でいうと、Buriです。
 つまり、フローを書きます、しかし、フローの各タスクの制御はJavaでコーディングします。
 コーディングをしますので、プログラミングの知識は必要になりますが、
 結論は、フローはできていて、動くものもある、となります。

 

 まずは、フローを書くと言っても、動くものが含まれているのかいないのか、ここを見極める必要があります。
 そして、プログラムの知識がいるのかいらないのか、を次に見極める必要があります。

 ゲームの話をする時、PSP、DS、PS3XBoxとあるように、ビジネスフローもプラットフォームを合わせないと
 変な議論が進んでしまうと感じました。