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アプリケーションの導入から運用までを支援します。

水曜日 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 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 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や、実システムの開発支援/開発受託の サービス提供が可能ですので、ぜひご利用ください。

木曜日 1 08, 2009

前のエントリで星座のことを書きましたが、 今年はガリレオが初めて望遠鏡で天体観測をしてから400年ということで 世界天文年になっているそうです。 7月には日本でも日食が見られるようですが、安心して見られるよう、 きちんと今年度の結果を残しておきたいものです。

最近はSun Data WarehouseやMySQLのことばかり書いているので データベース屋になってしまったと思われているかもしれませんが、 Sun Java CAPSのSOAソリューションもちゃんとやってます。 今年、私たちのチームで積極的にプロモーションしたいと思っているのは、 Sunのグローバルパートナーである Layer 7 Technologies社の SOAアプライアンスとSun Java CAPSを組み合わせたソリューションです。 SunとLayer 7 Technologiesの関係やアプライアンス製品に関しては こちらのページをご覧ください。 Layer 7 Technologies社が販売しているSOAアプライアンスがX4100上で 動いているということもあってお互いに良好な関係でビジネスをしており、 このSOAアプライアンスはワールドワイドでSunPS認定サードパーティ製品となっています。

私たちが展開を考えているアーキテクチャはCAPSでサービスを構築し、 CAPSの前段にLayer 7 TechnologiesのSOAアプライアンスをアドオンするというシンプルな構成です。 SOAアプライアンスを導入してSOAのガバナンスとセキュリティを外出しにする ことによってサービスの開発とデプロイメントを分離することが可能になります。 サービスレベル(QoS)の管理/監視や課金処理といったガバナンス機能や、 認証及びアクセスの制御と監査、XMLのバリデーションやウィルスチェック等の ペイロード正当性検査といったセキュリティ機能を外出しにしてサービスそのものから 切り離すことはとてもメリットがあることです。バックエンドにクラウドで 提供される汎用サービスを利用するケースをイメージしていただければ わかりやすいのではないかと思います。 特に認証とアクセスコントロールに関しては、SOAアプライアンスの後ろに アクセスマネージャ (OpenSSO)を置いてつなげることによって アイデンティティドリブンなSOA基盤を容易に実現することができます。

また、このSOAアプライアンスはサービスのゲートウェイとして機能する形になるため、 SOAアプライアンスでサービスを仮想化してサービスの高可用(HA)可や負荷分散を 実現することもできます。 さらにうれしいことに、このSOAアプライアンスはクリプト処理やXML処理のための ハードウェアアクセラレータを内臓しているので、コンテンツベースのルーティングや、 XSLTでコンテンツ変換したりする処理を実際のサービス実行環境に影響を与えることなく 高速で実行することが可能です。 このハードウェアアクセラレータの存在がアプリケーション層(=第7層)での スマートな処理を効率的に実現するためのポイントになっています。

ご興味をもたれた方、ぜひSunPSまでご連絡ください。

火曜日 12 30, 2008

最近、家の近所にドーナツ屋さんがオープンしました。少し前に話題になった店 のようなおしゃれな感じというよりも、どちらかといえば素朴な感じのお店で、 開店以来、連日の行列です。こんな景気の悪い状況でも売れるものはあるわけで、 特に、いわゆる生活防衛というジャンルでカテゴライズされる品物を扱っている 企業は業績を伸ばしているようです。こういった品物をうまく生活の中で活用して 不況を乗り切っていこうというのが世の中の消費の動向ということですね。

ITの世界も不況の波をモロに受けて、プロジェクトの大幅縮小や延期といった 話を耳にします。もうしばらくは新規開発案件というよりも コスト削減に的を絞った取り組みが中心になるのではないかと思いますが、 こういう時こそオープンソース・ソフトウェア(OSS)をオルタナティブとして うまく活用することを検討されてはいかがでしょうか? いきなり全てを置き換えるのではなく、あくまでも最初は代替品と位置づけて 適用可能な範囲で利用し、評価をしながら徐々に適用領域を広げていくというシナリオです。 ただし、適用するOSS製品と最初の適用領域の選択が大切で、 ここを誤ると導入がシナリオ通りに進まなくなってしまいます。

SunにはMySQLやGlassFishといったクオリティの高いOSS製品があります。 どちらも実績的には申し分なく、たくさんの利用事例が紹介されている上、 必要であればサポートも購入可能ということで、私たちとしても自信を持って おすすめできる製品です。しかしながら、利用するお客様側の立場になれば、 OSS製品を新規導入するということに対して様々な心配があるのは事実でしょう。 そこで私たちSunPSではお客様のMySQLやGlassFishの導入/移行を支援するために アセスメントやプロトタイプ検証、移行計画の作成、実際の導入/移行作業、 導入後の運用支援といったサービスを提供しています。 お客様のシステムのコスト削減を実現するために、Sunが提供するOSS製品と SunPSが提供するOSS導入支援のサービスをぜひご利用ください。

MySQLやGlassFishの最初の導入を成功させて適用範囲を広げていくことが できれば、MySQLとGlassFishのUnlimitedという面白いオプションを利用 することも可能です。MySQLのUnlimitedについては こちらのページに詳細がありますが、
MySQL Enterprise Unlimited は、データベースソフトウェアの展開・維持に かかる費用を大幅に削減することで、オープンソースのイニシアチブを加速させ、 ソフトウェアの予算管理をしやすくするユニークな製品です。 MySQL Enterprise なら、Oracle Enterprise EditionのCPU 1個の値段で ($40,000/ CPU)、 無制限のサーバー台数をご利用いただけますし、24時間サポートもついています。 さらに、MySQL Enterprise Monitor に 24 時間いつでも自由にアクセス可能です。
とのことで、コスト削減のためにご検討いただくのに十分価値のある オプションだと思います。

もう今年も残すところ今日、明日の2日となってしまいました。私にとって 今年は様々な意味で試練の年でしたが、周りの方々にも助けられ、なんとか 乗り切ることができました。お世話になったみなさま、本当にどうもありがとう ございました。 来年も前向き&外向きな気持ちで新しいことにチャレンジしていきたいと 思っておりますので、また来年もよろしくお願いします。 では、良いお年をお迎えください。

金曜日 11 28, 2008

先日、プロジェクトFujiの マイルストーン3について書きましたが、 マイルストーン3にはWebベースの開発ツールがついてきます。 GUIはこんな感じで、ブラウザ上でコンポジットアプリケーションの 開発ができます。



Verifyの処理にJRubyのアイコンがついています。この処理の中で 他のWebサービスを呼んで値のチェックをしているのですが、 ここをBPELではなくてJRubyで書けるのです。全体の処理は 先日のエントリで紹介したデモアプリのフローと同じです。 ぜひ、一度、プロジェクトFujiの マイルストーン3のスクリーンキャストをごらんください。

月曜日 11 24, 2008

うちのチームの輪島さんがCECで ゲットしてきたプロジェクトFujiの Tシャツをいただきました。 CECに関しては 守屋さんのエントリ を見ていただければと思いますが、背中に大きく「日本一」とプリントされた 気合の入ったデザインで、プロジェクトFujiのやる気を感じさせてくれます。 間に挟む処理をJRubyで書けるということで、プロジェクトとして日本を強く意識 ということでしょうか? 子供の頃から富士山を見て育った私としてはFujiという名前が世界に広まることは うれしいことです。



現在、プロジェクトは Milestone 3 がリリースされたところで、 こんな流れのデモができるところまで来ているようです。



このデモアプリの設定/実行に関しては こちら が参考になると思います。 プロジェクトのスケジュールによれば、来年のJavaOneに合わせて Technology Previewがリリースされるようですので今後が楽しみです。

土曜日 10 25, 2008

今週、沖縄へ出張してきました。10月も終わりに近いというのに、まだまだ沖縄は暑かったです。 沖縄ではSun Rayをご利用いただいているお客様が多く、 Sun RayのWebページでも 浦添市役所様沖縄ペプシビバレッジ様沖縄クリスチャンスクール・インターナショナル様 の3つの事例が紹介されています。 こうした沖縄でのSun Ray導入を積極的に進めていただいているのが、 Sun Ray ソリューションパートナーである おきぎんエス・ピー・オー(OSPO)社です。

OSPO社とは昨年の夏から今年の春にかけて実施した 「沖縄ソフトウェア・オフショアセンター整備モデル実証事業」プロジェクトでも ご一緒させていただき、プロジェクトの核となるトラステッドネットワークと ガバメントフレームワークの部分の設計/開発をSunPSがお手伝いしました。 特に私たちのチームではガバメントフレームワークの部分を担当し、 サービス指向アーキテクチャ(SOA)ベースのコンポジット・アプリケーション開発基盤と、 開発したアプリケーションによって提供されるサービスのガバナンスのための 基盤の開発および実装を行いました。 サービスをWebサービス化してエクスポートするだけではなく、 セキュリティの担保やアクセスコントロール、コンテンツベースのルーティング、 サービスのリポジトリ等、サービスの管理を行うための機能が重要なわけです。 このプロジェクトは内閣府の実証実験で成果物が公開されており、 OSPO社のページからも ダウンロードできるようになっています。プロジェクトの全体像は こちらの資料がわかりやすと思いますので、ご興味のある方はぜひご一読ください。

出張中、OSPO社のみなさまにはたいへんお世話になりました。この場を借りてお礼申し上げます。