2010年4月アーカイブ

竹澤です。

日本時間の本日の早朝、Salesforce.comよりVMforceという新しいサービスが発表されましたね。今秋からDeveloper Previewが提供されるらしいのですが、公式サイトには早速 [Get Developer Preview] というボタンが置かれています。なんと気の早い。。。でも同じく気の早い私は早速クリックしました。

さて、昨年くらいからForce.comのSecondary Language Supportの噂はあり、また今月に入ってVMforceの名前を聞いた瞬間から ?> SpringSource ?> Java と連想し、心の準備はできていました。

で、本日の発表だったのですが、我々デベロッパーから見た観点でいうと

  • Java (=SpringSourceの各種フレームワーク) を使ってWebアプリが構築できる
  • アプリのデータストアとしてForce.comのオブジェクト(いわゆるRDBMSのテーブル)が使える

というのが骨子のようです。

一見、Force.comのログインなどの認証機能、サイト検索機能、レポート・ダッシュボード機能がJava系のアーキテクチャで作った画面上のコンポーネントとして表示できる、ように錯覚しましたが、(いまのところの理解でいうと)そうではなくて、どちらかというと従来あったForce.com SitesのJava版といった理解を私はしています。

つまり、こんな感じ。

  画面開発言語 ロジック開発言語 データストア
Force.com Sites Visualforce Apex Force.com オブジェクト
VMforce JavaServer Facesなど Java Force.com オブジェクト


VisualforceはJSFライクな言語仕様で、ApexもJavaをベースにしているので、一見大きな違いはないように思いますが、Force.comではアプリケーションを開発するためのフレームワークみたいなものがまだ成熟していないので、Springと連携できる(Strutsを含む)各種Javaのフレームワークを利用できそうな点は、複雑な画面フローを伴うアプリの開発生産性向上には寄与するかもしれません。

また、Visualforceは日本の携帯向けの画面開発は若干難しい部分があったので、VMforceによってそのあたりが解消されることは期待できますね。

あとは、SpringベースではないJavaのミドルウェアを動かす方法があるのか、とかそのあたりは良く分かりません。当社はデータ連携のミドルウェアがあるので、このあたりをVMforceに載せることができたら面白いのにと思います。
また、Amazon VPCのようにVMforce上のJavaアプリと社内LANがVPNみたいなものを通じて通信できる、ということが実現できると、データ連携などで面白いことができるかもというアイディアもありますね。

いずれにしてもしばらく目が離せない話題になりそうです。

DataSpiderのスクリプトの作り方が悪いとOutOfMemoryが発生することがある。
"大容量データ処理を行う"ようにすれば殆どの問題が解決出来るが、
どこでメモリを消費しているかを把握するために、Java SEに標準で付属している
『プロファイラ hprof』を使用した時のメモです。