Katsuyuki Ohashi Ohashi's Blog

月曜日 5 25, 2009

昨年あたりから少しずつ盛り上がりの兆しを見せていた Scalaですが、 「TwitterがRoRで実装した一部のサービスをScalaで書き換えているらしい」とか 「Google AppEngineでScalaを動かした」 というような具体的な事例が聞こえてくるようになると、 今後、更にScalaについて耳にする機会が増えてきそうですので、 どんなものかサラっとおさえておくことは悪くないと思います。

Wikipediaには

Scala (スカラ、Scalable Language) はオブジェクト指向言語と関数型言語の 特徴を統合したマルチパラダイムのプログラミング言語である。
と定義されています。 しかも、
ScalaはJavaプラットフォーム(Java仮想マシン)上で動作し、 既存のJavaのプログラムと容易に連携させることができる。 メインはJavaプラットフォームであるが、他も.NET Framework、 また携帯電話で使われている、 Java Platform, Micro Edition Connected Limited Device Configuration の実装もある。 Googleが中心になって開発が進められている携帯電話向けプラットフォーム・Androidでの動作も確認されている。
とのことでJavaとの親和性も高く、 Javaテクノロジー推進派の私たちとしてもとても興味深い技術です。 Scalaは静的型付けで、コンパイル時点でのエラー検出が可能なため開発生産性がとても高いと言われていますが、 型推論で自動的に型を補ってくれる機能があるため、Rubyのように簡潔なプログラム記述も可能です。これについては 「なぜScalaなのか?」というInfoQの記事に以下のように説明されています。
多くのプログラマがRubyを愛しており、好きで好きでたまりません。それはおそらくJavaが初めて登場して以来、最も激しく福音を説かれてきた言語のひとつです。彼らは大抵、柔軟で拡張性のある文法やクロージャ、そしてコードがどれほど簡潔で表現豊かかを引き合いに出します。

例えば、以下のようにシンプルなシンタックスでマップを作る事ができます。(Rubyでは”ハッシュ”と呼ぶ。ハッシュテーブルはマップを実装する唯一の手段です)
numberMap = {"one" => 1, "two" => 2, "three" => 3}

これをJavaで書くととても面倒です :
Map numberMap = new HashMap(); numberMap.put("one", 1); numberMap.put("two", 2); numberMap.put("three", 3);

では、Scalaだとどうでしょう?Scalaでのマップの例を見てみましょう。
var numberMap = Map("one" -> 1, "two" -> 2, "three" -> 3)

Ruby のコードと非常によく似ているのがお分かりでしょう。しかし、いくつか重要な違いがあります。具体的には、ScalaのコンパイラーはJavaのように、 numberMapがキーにはStringクラスを、値にはIntegerクラスを使うことを知っています。Javaとは違い、そうした指定を行う必要はありません。マップそれ自身が判断するのです!これは”型推論"と呼ばれています。

元々、Scalaは "Scalable Language" として開発されたこともあり、 Actorと呼ばれる軽量プロセスを使って、マルチコアCPUをおいしく使うことができるスケーラブルな プログラムを容易に作成することが可能ということも大きな魅力です。

他にも、ちょっと検索してみただけで、

Scalaを紹介するページがいくつか見つかりましたので、 お時間がある時にコーヒーでもすすりながら新たな刺激に浸るのはいかがでしょうか?

日曜日 5 24, 2009

Sun OpenDataアプライアンスのデータベースエンジンとして 使用されているGreenplumデータベースが、 5月27~28日に東京コンファレンスセンター(品川)で開催される Gartner社主催の ビジネス・インテリジェンス&情報活用サミット 2009でブース展示されます。 弊社の展示ではありませんが、 ぜひ会場でGreenplumデータベースのスゴさを体感していただければと思います。 ちなみに、Sun Microsystems Inc.は Greenplum社のInvestorsリストに名を連ねています。

もう春も終わりですが、南を向いて夜空をずっと見上げていくと、 ちょっとのけぞって首が痛くなるあたりで北斗七星が見つかります。 その柄杓の柄のカーブをそのまま延長していった線が春の大曲線と呼ばれていて、 その線上に橙色に輝くうしかい座のアークトゥルスと、 白色に輝くおとめ座のスピカがあります。 この2つとしし座のデネボラの3つを結ぶと春の大三角形です。 去年も一昨年も、もっとずっと前も、この時期の夜空はこんな感じで、 来年も再来年も、もっとずっと先のこの時期もこんな感じなのかと思うと、 自分たちの周りで日々起こっている変化なんてちっぽけなものなんだろうなと感じます。 大切なものはずっと大切で、何も変わらないってことなんでしょうね。

いつも案件のデリバリにご協力いただいている協力会社のT社長のおススメで、 ヘレン・メリルのCDを買ってじっくり聴いて見ました。 こういう声質が好きみたいです。早速、車に常備しました。 どうもありがとうございました。

木曜日 5 21, 2009

これまでここで何度か紹介してきたサンのデータウェアハウス・アプライアンス Sun Data Warehouse (SunDW) がSun OpenDataアプライアンスと名称変更され、 本日からjp.sun.comのトップページを飾っています。

Sun OpenDataアプライアンスはオープンなテクノロジーを利用し、 プロプラエタリなDWH製品の10分の1のコストで同等の機能/性能を実現する データウェアハウス・アプライアンス製品です。 データベースエンジンにはPostgreSQLデータベースを並列実行可能に拡張した Greenplumデータベース、 DB処理を実行するノードには 東京工業大学様のTSUBAMEスーパーコンピュータで実績のあるX4500シリーズを使用して システムを構成し、お客様に手軽にシステム導入していただくことができるよう アプライアンス製品としてパッケージングされています。 導入後の運用面においても、サン・プロフェッショナル・サービスの リモートサポート・サービスをご利用いただくことで、 運用監視からリモートでのバックアップ実行等、 お客様の運用の負荷を最小限にとどめて手軽にSun OpenDataアプライアンスを ご利用いただけるよう様々なサービスを提供しています。 ニューヨーク証券取引所Euronext様での導入事例等、 数々の実績があり、私たちとしても注目の製品です。 詳しい内容は こちらのページでご確認いただけます。

日々増加し続けているデータをどう取り扱うかは企業にとって重要な問題です。 こうしたデータをビジネスの中でどう活かしていくことができるか、 いわゆるビジネスインテリジェンス(BI)の重要性も日々高まっています。 サン・プロフェッショナルサービス (Sun PS)では、 お客様のデータウェアハウスおよびBIアプリケーションの導入から運用までを支援します。

木曜日 4 23, 2009

サン・プロフェッショナル・サービス (Sun PS) のWebページが新しくなりました。 いくつかのキーワードから関連するサービス・メニューを見ることができるようになっています。 何かお困りの時、あるいは、何かこれから始めようという時、私たちSun PSの サービス・メニューをぜひご覧ください。

水曜日 3 18, 2009

今日は、OpenESB v3のコアコンポーネントとして開発が進められている Project Fujiに関してです。 私がFujiの開発ツールに期待していることは 以前に書きましたが、他にも期待していることがいくつかあります。 そのひとつがProxy Bindingです。正式にはDistributed OpenESB Additionsと呼ばれる ものなのですが、このProxy Bindingの登場によって、やっとESBのEの部分が Enterpriseだということを自信を持って言えるようになります。それぐらい意味の あるものだと私は思っています。

Proxy Bindingは簡単に言うとESBのインスタンス間を接続するモジュールです。 OpenESBが準拠するJBIはNormalized Messaging Router (NMR)と呼ばれる 共通バスに、ESBの外部との接続のための使われるBinding Component (BC)と、 要求された処理を実現するService Engine (SE)が刺さる形で構成されている のですが、Proxy BindingはNMR単位でJBIインスタンスをグループ化し、 トランスペアレントなNMR間の連携を実現します。 ただし、XAトランザクションはサポート外となっています。

例えば、HTTPリクエストを受信するHTTP BCで受信したリクエストを Proxy Bindingを経由して他のOpenESBインスタンス上のBPEL SEで 処理するようなことが簡単に実現できます。

さらに、BPEL SEが乗っているOpenESBを複数立てて負荷分散するなんて ことも可能になります。負荷分散はProxy Bindingによってトランスペアレントに 実現されます。

このようにProxy Bindingの登場によって、エンタープライズコンピューティングの ために必要なサービスレベルを実現するための柔軟なシステム構成を取ることが 可能になります。本当にOpenESB v3の登場が楽しみです。 今後もProxy Bindingの開発をウォッチしていこうと思います。 Proxy Bindingについてもっと知りたい方は、 こちらのページからリンクされているpresentationとaudioが参考になります。 なお、このエントリで使用した図はこのpresentationから抜粋したものです。 Project Fujiに関しては、 草地さんが 関連リンクやMilestone 3のインストール手順をまとめてくれていますので、 ぜひそちらもご覧ください。

月曜日 3 16, 2009

みなさんはJiniって覚えてますか? すごく大雑把に言うと、Jiniは分散コンピューティングの基盤を提供するテクノロジーで、 ルックアップによる動的なサービス検索、リースによるリソース管理、 分散イベント処理、トランザクション等の機能を提供しています。 かなり前の話ですが、私もJini関連の案件を担当したことがあり、 Jiniのルックアップサービスを異なるセグメント間で連携させるよう 拡張するという内容だったのですが、そのときにJiniについて勉強しました。 当時、リースの考え方をとても新鮮に感じたことを記憶しています。 リースはサーバ側のリソースを期間を決めてクライアントに貸し出し、 定められた期間内にクライアントからリースのリニューアルがなければ リソースを開放するというような考え方です。GCのようにこれ使ってますか?と クライアントに聞いてまわる必要は無いわけです。 現在、Jiniプロジェクトは Apache Riverプロジェクトとして受け継がれ、 こちらのWikiページで 最近のアクティビティをご覧いただくことができます。

そのJiniの上にスペースという概念を持ち込んで 更に利用しやすい分散オブジェクト基盤を提供しようと登場してきたのがJavaSpacesです。 JavaSpacesでは、JavaSpacesが提供するスペースにオブジェクトを置いたり、参照したり、 取り出したり、複数のノード間でオブジェクトを共有利用することが簡単にできます。 こう書くと単なる分散オブジェクトキャッシュのようですが、そうではなく、Jiniの分散イベント通知や トランザクションといった機能も使うことが可能です。 JavaSpacesとJiniをわかりやすく説明する良い資料が何かないかなと探してみたら 山口さんが書いた資料が見つかりました。こちらの TheServerSide.comの記事も読み物としてわかりやすいと思います。

このJavaSpacesを実装した商用製品として GigaSpacesがあります。 サンでも昨年秋に金融業界のお客様向けに開催したセミナでGigaSpacesをご紹介させて いただきましたが、大量のトランザクションを高速で処理することが必要な要件への 適用事例が増えており、今後、こうした要件を実現するためのSpace-based Architecture (SBA)に 基づいたシステム構築での利用に大きな期待をしています。 SBAはリニアなスケーラビリティを持つハイパフォーマンスなコンピューティング環境を 実現することが可能なアーキテクチャパターンです。 ぜひ、Space-based Architectureという言葉を覚えておいてください。 詳しくは Wikipediaの定義をご覧ください。 なお、前述したセミナの資料は こちらの ページからダウンロードできます。

そして、このSpace-based Architectureのシステムの下位レイヤとしての利用をおすすめしたいのが Sun Compute Clusterです。 すごく簡単に言うとミニHPCアプライアンスで、 ギガビットイーサあるいはInfinibandでインターコネクトされた 多数のSun Fireサーバ/Sun Bladeサーバがラックマウントされたものです。 詳しくはこちらの データシートを ご覧ください。 HPCというと学校とか研究機関で特別なソフトウェアを動かすという感じもしますが、 これからは一般業務でも当たり前にHPCを利用する時代です。SBAによってそれが可能になるのです。 SBAのアプリケーションは数多くのサーバが高速インターコネクト接続された環境をおいしく 使いこなすことができるのです。 もちろん、Sun PSはHWおよびネットワークインフラからミドルウェア、アプリケーションレイヤまですべてのレイヤで お客様のシステム導入から運用までを支援します。

日付が変わって3/16になりました。11年前の今日、Sunに入社した時の気持ちを思い出し、 新たな気持ちで12年目のシーズンをスタートしたいなと思っています。

金曜日 3 13, 2009

以前に Layer7 technologies社のSOAアプライアンスのことを ここで紹介しましたが、もうひとつ面白い製品があります。 それはZeus Technology社 のZeus Extensible Traffic Manager (ZXTM)という ソフトウェアベースのインテリジェントかつ高性能なL7ロードバランサです。 ZXTMは既存HWロードバランサと同等以上の機能を標準機能として備え、 プライスパフォーマンスに優れた製品として仕上がっています。 さらにCMTとの相性が良く、内部のベンチマークではT5140サーバで 128CPUスレッドまで性能スケールアウトしたという報告もあがっており、 BIG-IP VIPRIONの1/3の価格で同等のHTTPスループットを実現することができます。

面白いなと思ったのは、ZXTMをMySQLのロードバランシングに利用する ソリューションです。通常はクライアント側でマスター/スレーブを 意識して呼び分ける必要があるのですが、 マスター/スレーブで構成したMySQLに対して、 ZXTMを利用して更新系の処理はマスターへ、参照系の処理はスレーブへ 自動的にルーティングするという使い方が可能になります。Zeus社の こちらのページ に詳しい説明がありますのでぜひご一読ください。

Zeus ZXTMは現在、サンのTry&Buyで特別提供されています。 こちらのページからご利用ください。Sun PSではZeus ZXTMの評価支援や環境構築の サービス提供が可能です。

水曜日 3 11, 2009

昨日の夜、Pacific Time 8:30 AMからのカンファレンスコールに出ようと、 いつものように1:30 AMに電話をかけたら既に終わってしまっていました。 この日曜から夏時間に切り替わっていたのを全く気づいていなかったのが原因でした。 夏時間の適用期間は3月の第2日曜から11月の第1日曜までということです。 いつも眠い目をこすりながらの参加なので、1時間でも早まるのはうれしいです。

私たちが所属しているプロフェッショナル・サービス(PS)チームは各国にあり、 USをベースとするGlobal PSという組織が各国/各地域のPSをワールドワイドに 束ねて全体の方向付けをしています。 昨夜、出損なったカンファレンスコールはGlobal PSの中でソフトウェアの パートを担当するチームのカンファレンスコールだったのですが、このチームでは サービスのレディネスやソリューション展開の話が活発に進められています。 日本のPSもグローバルPSコミュニティの一員としてGlobal PSの打ち出す方向に アラインした活動を進めていくために積極的にこの輪の中に参加しています。

海外のスタッフと一緒に活動すると、何かを解決しようとする時に、 問題分析して、解決のためのモデルを作り、モデルに沿ってインプリする ということを本当にきちっとやってくるなぁといつも感心させられます。 これまでにも感じていたことですが、 モデルから議論に入るので最終的に出てくる解が比較的シンプルでわかりやすいものに なるのに対して、私たちの場合はインプリから入りがちで、結果として 出てくるものが複雑でわかりにくいものになってしまうことが多々あります。 どちらのアプローチが良くてどちらが悪いという単純なことではないと思いますが、 グローバルのやり方をうまく受け入れ/取り入れて、必要に応じてやりすぎない程度に ローカライズしていくようなやり方でうまくバランスさせ、 「シンプルでわかりやすいPS」を実現していきたいです。

金曜日 3 06, 2009

昨日の夜、チームの夜会をしました。早い話、飲み会です。 みんなで飲みに出かける機会はそれほど多くないのですが、 お酒好きな人が多いこともあって、 気がつけばけっこう飲んでしまっているという感じで、昨日も楽しい会でした。 チームの何人かはブログを書いていて、このページからもリンクを張っていますので、 彼らのエントリにもぜひ目を通してみてください。

チームのスタッフの一人、草地さん彼のエントリで GlassFish ESBのインストール手順を紹介していたので、 私も普段使っているラップトップ(Windows XP)上に OpenSolaris with VirtualBoxの環境を作り、 そこにGlassFish ESBをインストールしてみました。 OpenSolarisはデフォルト設定のままでネットワークがすぐに使えるのですが、 XP上のNetBeansからOpenSolaris上のGlassFish ESBにデプロイする形で 使いたかったので、VirtualBoxのネットワーク設定をデフォルトのNATから ホストインタフェースに変更してXPからOpenSolarisにアクセスできるようにしました。 環境作成は特に問題なかったのですが、 GlassFish ESBを起動した後で要求されるマスターパスワードを 私が勘違いしていたために何度か起動に失敗しました。 adminのパスワードはインストーラで設定させるのだから、 マスターパスワードもインストーラで設定させてくれればいいのに。。。 XP上で起動したNetBeansでWebサービスを作成して OpenSolaris上のGlassFish ESBにデプロイし、 XP上のfirefoxから動作確認するとことまで試してみました。

今回はDHCP環境下だったので、ちょっと面倒な部分もありましたが、 ネットワーク環境をちゃんと作ってあげれば、 このあたりの問題は解消できると思います。 この環境でもう少しあれこれ試しながら、開発環境という観点で仮想化技術を うまく使う方法を考えてみたいなと思っています。 材料はそろってきているので、あとはいかにうまく使いこなすかが重要ですよね。

火曜日 2 24, 2009

みなさん、Webサービスのセキュリティをどう実装されていますか? 最近はIDEで簡単にEJBベースのWebサービスが開発できるので、 そこで一緒にセキュリティポリシーも実装してしまっているケースが 多くあるのではないかと思います。 例えば、NetBeansではSession EJBとして開発したWebサービスの デザインビューでQuality of Services指定としてセキュリティの オプションを設定することができます。 確かにこのやり方ではとても簡単にWebサービスのセキュリティポリシーを 実装できるのですが、開発者がデプロイ時のセキュリティポリシーを 意識する必要がある上、 セキュリティポリシーに変更があった場合にはWebサービスをビルド しなおして再デプロイする必要があります。 また、デプロイされているWebサービスのセキュリティポリシーの内容を 確認するために開発環境まで戻ることが必要であり、監査等のガバナンス面でも 問題が出てきます。管理するWebサービスの数が少なければ、 developer-dependent なやり方でも問題ないのかもしれませんが、 エンタープライズ環境でWebサービスの数が増えてきた場合には対処が難しくなります。

そこでオススメなのがWebサービス・セキュリティゲートウェイのアーキテクチャです。 サービス開発者はセキュリティポリシーが実装されていないplainな Webサービスを開発します。デプロイされたplainなWebサービスとクライアントの間に Webサービス・セキュリティゲートウェイを配置し、 クライアントはWebサービス・セキュリティゲートウェイを介してWebサービスにアクセスします。 セキュリティポリシーはWebサービス・セキュリティゲートウェイに実装され、 Webサービス・セキュリティゲートウェイ上でアクセスの監査や認証、サービスの バージョニング、XML変換等、必要な処理を実行し、クライアントからのリクエストを バックエンドのplainなWebサービスに転送します。このようにWebサービスそのもの実装から セキュリティポリシーを切り離すことによって、前述した問題点を解決することが可能になります。

Webサービス・セキュリティゲートウェイについては、 Java CAPS Field Technical Tips "Java CAPS 6 - Providing Policy-driven Web Services Security support using a XML Security Gateway" で 紹介されている whitepaperで詳しく説明されています。 このwhitepaperではWebサービス・セキュリティゲートウェイの実装として、 先月ここにも書いた Layer 7 のSecureSpan XML Gateway を使用した例が詳しく紹介されています。

私たち日本のSunPSでも昨年の 「内閣府 沖縄ソフトウェア・オフショアセンター整備モデル実証事業」プロジェクトで 同様なアーキテクチャを採用しました。このときはCAPS上にガバナンスレイヤを自前で 実装し、Java EEアダプタを介してバックエンドのGlassFish APサーバ上のWebサービスにつなげる 構成でゲートウェイを実現しました。ガバナンスレイヤではプラグイン可能なアダプタ形式で ポリシーを実装可能とし、セキュリティポリシーに加えて、コンテンツベースのルーティング機能等も 実装しました。 このプロジェクトの公開説明会が3月に札幌、東京、那覇で開催されますので、ぜひご参加ください。
平成21年3月4日(水)14:00~16:30 TKP札幌ビジネスセンター ANNEX 会議室A
平成21年3月5日(木)14:00~16:30 霞ヶ関ビル CTCセミナールーム
平成21年3月6日(金)14:00~16:30 沖縄産業支援センター 会議室 302・303号室
参加申込等の詳細情報は (株)おきぎんエス・ピー・オー様のこちらのページをご覧ください。

月曜日 2 23, 2009

『チェーザレ・ボルジアあるいは優雅なる冷酷』。 今、読んでいる本です。 塩野七生さんの本は『ルネサンスとは何であったのか』、『マキアヴェッリ語録』 ときて3冊目なのですが、この本は "execution" が重要な状況にいる自分にとって いろいろと考えさせてくれます。 元々そんなに読書するタイプではなかったのですが、 出張やちょっとした移動時とかに電車の中でゆっくり読み進めています。 この年になってやっと読書の面白さが少しずつわかってきたような気がします。 先週、XX回目の誕生日を迎えました。 年齢の数字に見合うよう中身も充実させていきたいです。 メッセージをいただいたみなさん、どうもありがとうございました。

水曜日 2 18, 2009

先日、電動ドライバーを買いました。小型工作用にネットで評判がよかった こいつです。 さっそくIKEAで家具を買ってきて組み立ててみたのですが、 その楽さ加減にツールの重要性を改めて認識させられました。 本当に簡単、感動的です。もう手にマメを作ることもありません。 組み立て作業が楽しくなり、もっと組み立てたい!とさえ感じさせてくれます。 家中のネジをゆるめたり、締めたりしたくなっちゃいます。 家具の組み立てには電動ドライバー、Java開発にはNetBeans、本当にオススメです。

話は変わりますが、今日はうちのチームの 竹村さんがリードしてくれている SunPSのMySQL関連サービスについて紹介したいと思います。SunPSではどんなことができるの?という お問い合わせをいただくことも多いのですが、以下のようなメニューでサービス提供しています。
  • 導入アセスメントサービス
    MySQL導入のためのアセスメントサービスです。移行の場合は既存環境分析、 新規導入の場合はビジネス要件ヒアリング、導入可否判定、導入方向性提案などを行います。

  • PoC (Proof of Concept) 支援サービス
    MySQL導入に関する検証を実施するサービスです。検証計画策定、各種要件ヒアリング、 検証環境構築、検証実施、報告書作成を行います。

  • サイジング支援サービス
    お客様のビジネス要件に適合する最適なハードウェア/ソフトウェアの構成決定を支援する サービスです。非機能要件ヒアリング、ベンチマークテスト環境設計・構築、 テストデータ/ツール作成・準備、環境最適化、測定、サイジング報告書作成を行います。

  • 環境構築サービス
    MySQL稼働環境の構築を行うサービスです。インフラ設計、ソフトウェア構成設計、 構築、稼動テスト、各種設計書、導入手順書の作成を行います。 以下のオプションがあります。
    • HA(High Availability:高可用性)、負荷分散
      レプリケーション、クラスタ構成を含め、高可用性と負荷分散を特に重視した環境構築を行います
    • エンタープライズ監視
      稼働状況をリアルタイムに監視/通知するエンタープライズ監視の設計構築を行います
  • 運用設計支援サービス
    運用設計支援を行うサービスです。運用要件ヒアリング、運用方式設計、アドバイス、 運用設計書・手順書作成などを行います。

  • 予防的負荷テスト・最適化支援サービス
    システム構築後、想定される稼動条件にて現システムアーキテクチャ・構成が耐えうるか、 適切なパフォーマンスを出せるかを評価するサービスです。 定められた期間内、テストとテスト結果に基づくシステムの最適化を反復して行います。

  • パフォーマンスチューニング/トラブルシューティング(切り分け)サービス
    性能が劣化しているシステムもしくは障害が発生しているシステムについて、 アプリケーション・製品両面から調査を行い、その解決の方向性を検討・提示するサービスです。 可能な場合、製品側設定の最適化も行います。

  • マイグレーションサービス
    現在ご利用中のデータベースシステムからMySQL への移行を実施されるお客様に対して、 移行計画作成から移行設計、テスト移行、本番移行の4つのステップで安全に移行を実現するサービスです。

上記メニュー以外でもサービス内容はカスタマイズ可能ですので、 MySQLの技術支援が必要な場合にはお気軽にお問い合わせください。 SunPSのMySQLサービスをよろしくお願いします。

火曜日 2 17, 2009

GlassFish Web Space Server 10 がリリースされました。 サンの製品ラインナップ的にはポータルサーバの系列で、 Sun Java Portal Server 7.x の後継製品ということになるのですが、 GlassFish Web Space Server 10 は オープンソースのポータルプロジェクトとして定評のある Liferay Portal を ベースに開発された全く新しい製品です。 これまでWebSynergy というプロジェクト名で開発が行われてきました。 GlassFish という名前が頭についている通り、 GlassFish プロジェクトの サブプロジェクトとして位置づけられています。 社内のWebinar での情報によれば、「全く新しい!」という意気込みが バージョンナンバーが7から10にジャンプアップしたところにあらわれているとのことです。

製品のアーキテクチャ的にはGlassFish V2/V3、MySQL、OpenSSO の インフラ上にGlassFish Web Space Server が乗る形になり、そこにポータルとしての基本機能と Portletコンテナ、WSRP Producer/Consumer 機能、PHP/Ruby/Jmaki 等のアプリケーション 実行のためのプラットフォームアダプタ、その他に様々な汎用的なコンテンツやPortlet が 実装されています。

機能的には通常のポータルサーバが標準的な機能として持つコンテンツ管理やアクセスコントロールの 機能に加え、Wiki/Blog/ForumといったコラボレーションツールやSNSのアプリが 最初から入っていたり、Google Gadget がそのまま使えたり、様々なWidgetやGadgetを ConsumerとしてインテグレーションしたものをProducerとして配信したりできるのが 特長です。WebSynergy時代のビデオですが、 こちらのビデオで より詳しい情報をご覧いただくことができます。

製品の個々の機能の詳しい紹介は製品担当のSEの方々にお任せしますが、 私たちPSのアーキテクトとしては GlassFish Web Space Server 10 には エンタープライズ・アプリケーションプラットフォームにおける ユーザとのインタラクション部分を構成するサーバソフトウェアとして大きな期待をしています。 全体の構成として、一番前にこいつ (Web Space Server) がいて、 その後にサービスのガバナンスとオーケストレーション (GlassFish ESB + Layer 7)、 さらにその後に個々のサービス実装 (GlassFish APサーバ + MySQL) というようなイメージで、 GlassFish/MySQLという大きな傘の下に全体が構成されるシナリオです。



GlassFish Web Space Server 10 ではヒューマンワークフローのアプリケーションを 作成して配備することができます。個人的にはここで使用されている Simple API for Workflow (SAW) がとても興味深いです。 以下の絵がわかりやすいと思うのですが、SAW で個々のワークフローエンジンの実装を抽象化して、 ワークフローのアプリケーションがワークフローエンジンの実装に依存しないようにしようというものです。 ワークフローの部分はどうしてもプロプライエタリなものが入ってしまうことが多く、 アプリ開発者側から見ると、ワークフローアプリケーションのポータビリティを高めるための こうした取り組みはとてもありがたいです。 今後、SAW がサポートするワークフローエンジンがもっと増えていったらいいなと思います。



GlassFish Web Space Server 10 は こちらのページから ダウンロード可能です。 SunPS では実システムへの適用へ向けたPoCや、実システムの開発支援/開発受託の サービス提供が可能ですので、ぜひご利用ください。

月曜日 2 16, 2009

この週末は気持ち悪いぐらいに暖かかったですね。暖かくなるのはうれしいですが、 今年も花粉に悩まされる季節がやって来たという感じです。 金曜の夜に薬を飲み忘れたせいで、土曜日の朝は目覚めた瞬間からくしゃみ連発でした。 今年も多いみたいですね。。。 同士のみなさん、今年も戦いましょう!

時々、ここに Sun Data Warehouse (SunDW) のことを書いていますが、 最近、おかげさまで順調に引き合いが増えてきています。 世の中がこんな状況の時にありがたいことです。 こんな状況だからこそ、本当にプライスパフォーマンスに優れた製品に 注目が集まるのは自然な流れだと思います。

私たちSunPSとしても、お客様にSunDWを手軽に導入していただくために
  • 環境構築および設置のインフラレイヤのサービスと
  • BIツール導入や既存データウェアハウスからのマイグレーション等の アプリケーションレイヤのサービス
の導入時サービスと、導入後も手軽にご利用いただくための運用時サービスとして
  • 24x7対応可能なSunDWサポートサービス
のメニューを準備してお待ちしております。 特にSunDWサポートサービスではコールの受けだけでなく、 運用監視やバックアップ等のリモート運用支援をアドオンすることも可能です。 詳しくはSunPSまでお問い合わせください。

日曜日 2 08, 2009

今週、社内のSun VDIトレーニングに参加してきました。 セールス向けの製品説明ではなく、 ハンズオン形式で実際に環境を構築していくテクニカルなトレーニングです。 私のチームでは主にJavaとGlassfishやMySQL、Sun Java CAPS等の アプリケーションインフラを構成するソフトウェア周辺の コンサルティングやシステム構築を担当しているのですが、 サンらしいソリューションを考える上でSun RayやSun VDIは重要な要素であり、 もう少し詳しく中身を知りたいなぁと前々から思っていたのでとても良い機会でした。

トレーニングはSun Ray Server softwareのインストールから始まり、 Sun Ray Connector for Windows、Secure Global Desktop、 Virtual Desktop Connectorという順でインストール&設定していきます。 多少のつまずきはあったものの、最後は無事に環境を構築することができ、 作業を進めながら全体の構成を理解することができました。 自分のSun Rayカードを挿入してWindowsのデスクトップが表示されるように なった時はおーっという感じでした。 講師を務めてくださった 大串さんと いろいろ準備をしていただいたみなさんに大感謝です。 全体の構成はこんな感じです。
                                        Virtualized Data Center
                                                  ↑
                                                  ↓
                                        Virtual Desktop Connector
                                         ↑                   ↑
Windows                                  ↓                   ↓
Terminal ←→ Sun Ray Connector ←→ Sun Ray Server    Secure Global Desktop
Services      For Windows                ↑                   ↑
                                         ↓                   ↓
                                     Sun Ray Client    Windows/Linux/Mac/Solaris Client
今回は社内のトレーニングでしたが、外部向けのトレーニングの準備も進められているようですので、 ご興味のある方はもうしばらくお待ちください。 トレーニングを終えて家に帰るとMacが届いてました。 周囲でMacユーザが続々と増殖しているので私もMacを買ってみたのですが、 やっぱりいいですね。とりあえずiPhotoの顔認識で遊んでます。