技術情報

弊社では、お客様によりよいサービスを提供するために日々、新しい技術に興味を持つよう心がけております。
Google Map で地図を作成しているのも、その一環です。
その技術の一部を簡単ながら紹介していきたいと思います。
よろしければ、ご参考にしてください。
Silverlight
公式サイト:
http://www.microsoft.com/japan/silverlight/
Silverlightについて
次世代のRIA(Rich Interactive Application:表現力/操作性に優れたアプリケーション)技術として脚光を浴びているもので、Adobe社のFlashに対抗してMicrosoft社が開発したものです。
そのため、Flashと同様に、インストールが必要になります。
1.0はすでに正式にリリースされており、XAMLとHTMLとJavaScriptで作成できます。
1.1になると、CLR対応 → C#, VB, Ruby1.1になると、CLR対応 → C#, VB.net, Ruby, Pythonで開発可能になるようです。
@ITに、Silverlightと株価ビジュアライゼーション(
http://www.atmarkit.co.jp/fwcr/rensai/flashwatch02/01.html)
という記事もあるように様々な場所での開発が見込まれそうです。
Silverlightのメリット
- コンパイルする必要がないため、ソースコードが簡単に閲覧可能
- 高度なアニメーションや高解像度の動画が簡単に作成できる
- 実行速度が速い
サンプルページ
サンプル ダウンロード
ダウンロード用 サンプル(
sample.lzh)
IronPython
公式サイト:
http://blogs.msdn.com/ironpython/
IronPython について
IronPythonとは、.NET FrameworkおよびMono上で動作するPythonの実装です。
現在は、バージョン1.1が正式リリースされており、2.0はBeta2のようです。
IronPython のメリット
ビルドしなおすことなく、処理自体を変更することが可能
IronPytho の簡易実装
1. IronPython.dll をプロジェクトに参照設定します。
2. using IronPython.Hosting;
using IronPython.Modules;
を設定します。
3. PythonEngine pythonEngine = new PythonEngine();
で、実行エンジンのインスタンスを生成します。
4. pythonEngine.Globals.Add(this.Name, this);
名前とオブジェクトを設定。
スクリプト実行時に、名前を用いて、設定した値を参照できるようになります。
5. pythonEngine.ExecuteFile("Hoge.py");
指定したスクリプトを実行します。
6. string ret = pythonEngine.EvaluateAs<string>("retval");
実行後、指定の値を取得できます。
サンプル ダウンロード
ダウンロード用 サンプルプロジェクト(
IronPythonTestApp.lzh)
Seasar2
Seasarプロジェクト公式サイト:
http://www.seasar.org/
Seasar2 について
DI (Dependency Injection : 依存性の注入) と、AOP (Aspect Oriented Programming : アスペクト指向プログラミング) をサポートする軽量コンテナです。
特定非営利活動法人Seasarファウンデーションによって、オープンソースとして開発・提供されています。
Seasar2は国内の優秀なエンジニアが集まって作成されたフレームワークで、日本語の情報が多いことなどから国内での利用が進んでおり、金融系の大規模システムに導入された実績もあります。また、JavaのフレームワSeasar2は国内の優秀なエンジニアが集まって作成されたフレームワークで、日本語の情報が多いことなどから国内での利用が進んでおり、金融系の大規模システムに導入された実績もあります。
また、JavaのフレームワークとしてスタートしたSeasar2ですが、現在では、.Net系、PHP系などにも移植が進められています。
Seasar2を利用するメリット"

依存性解決をDIコンテナへ任せることで、コンポーネントがシンプルになります。
Seasar2を利用すればプログラムをより適切に分割し、個々のプログラムをよりシンプルに保つことができるため、プログラムの以下の効果を向上させることが可能です。
また、以下の様な特長を享受できるため、従来開発で問題となる点を自然に解決できることも大きなメリットです。
- ルールが簡素である
- 実行環境が限定されない
- テストを容易に行える
UC(Unified Communication : ユニファイド コミュニケーション)
Microsoft公式サイト:
http://www.microsoft.com/japan/business/solutions/uc/
UC について
様々な通信手段やコミュニケーション手段を統合する試みのことです。
ソフト、ハードの両方の情報化技術の発達により通信・コミュニケーションを行うための手段として、音声通話やFAX、電子メール、インスタントメッセンジャー(IM)、VoIPなどが発達しており、それぞれ手段や目的に応じて各個人の管理の下に使い分けられてきました。
一見、自由になり、効率があがったように見えてこれら多くのコミュニケーション手段に関する情報管理に苦労されたことはありませんか?
これら様々な通信手段やコミュニケーション手段を、各手段の長所を活かしつつ統合することにより、これまでにないコミュニケーションの方法を実現しようとする試みのことを言います。
これによって、効率化、生産性の工場、コスト削減などを実現することが可能となります。
たとえば、ユニファイド コミュニケーション専用のサーバを用意することなどがあげられます。
弊社で試したところ、以下の製品を用いることにより、より容易にユニファイド コミュニケーション環境を構築することができました。
ネットワークを使って音声データを送受信する技術VoIPを用いた製品
AudioCodes社のMediant1000
電子メール・予定表・連絡先などの共有と携帯機器やウェブからの情報アクセスサポート、さらにデータ格納サポートが可能なグループウェア製品
Microsoft社のMicrosoft Exchange Server 2007
絡相手の在席状況の確認、インスタントメッセージや電子メール、内線電話から外出先の携帯電話への転送、簡単なテレビ会議の開催の機能を持つUC支援製品
Microsoft社のOffice Communication Server 2007
実現例としては以下のような項があります。
- 公衆網からの電話をボイスメールにて保存
- 受信したFAXを電子ファイル化しメールに添付
- ビデオ会議で、音声や動画と同時にその他ファイルも共有
B2BUA (Back-to-Back User Agent)
B2BUA について
B2BUAとは、論理的なエンティティ(ITアーキテクチャの構成要素)です。概念的なものになります。

B2BUAは、ユーザエージェントサーバ(User Agent Server)としてリクエストを受ける機能を保持するとともに、ユーザエージェントクライアント(User Agent Client)としてレスポンスを返す機能を保持しています。
さらに、対話状態を維持し、確立された対話で送られたリクエストのすべてに関与する必要があります。
この概念を実現化するために、VoIPデザイナーは、SIPを用います。 B2BUAがSIPベースのVoIPアーキテクチャーに提供する重要な特徴は5つあります。
集中型の通話管理
プリペイド方式の場合などに用いられる自動切断、コールセンターのような場所で必要な接続先の自動振り分け、不在時などに有効な電話の転送などの管理を行います。
他のネットワークとの相互作用
現在主流であるH.323というシグナリングとSIPとの間での相互作用を提供します。これは、SIPとH.323のエンティティ両方を現在サポートしなければならない次世代ネットワークのサービスプロバイダーに、この特徴は重要です。
LANとWAN間のSIPベースVoIPの相互作用
VoIP開発者にとって悩みの種であるファイアウォールとNAT(Network Address Translation)が問題となるLANとWAN間相互作用を提供します。
通話状態の監視と管理
支払いシステムなどのあるアプリケーションは、通話状態や通話履歴を監視する必要があります。その環境をコールステートフルプロキシとB2BUAを用いて提供します。
エンドポイントのクローキング(端末の探索)
すべてのシグナリングがB2BUAによって送られ、処理されるので、開発者は現在、ダイナミックにエンドポイントの識別をクロークするアプリケーションとプラットホームを提供することができます。
VoIP(Voice Over IP)
VoIP(Voice Over IP)について
VoIPは、インターネット上で音声のやりとりを行うための技術です。最近普及の進んでいるIP電話は、従来の電話に相当するものを、VoIPとシグナリングを組み合わせてインターネット上で実現したものです。
シグナリングとは、電話で言うならば、呼制御のことで、発信者と着信者間の公衆電話交換網(電話交換機のネットワーク)上で、通信路の確保や切断等の処理を指します。
SIP(Session Initiated Protocol)
SIP(Session Initiated Protocol)について
SIPは、プロトコルの一つです。
IETF(Internet Engineering Task Force)で標準化が行われ、1999年に初版が登場し、2002年に発行されたRFC3261において、スタンダードトラックとして規定されました。SIPにおけるメッセージは、テキストで記述され、また、HTTPやSMTPを例に設計されたため、シンプルで拡張性が高く、インターネットと親和性が高いと言われています。
SIPは、端末(User Agent:UA)間でセッションの生成、変更、切断を行うのみのプロトコルで、セッション上で交換されるデータそのものについては定めていません。従って、アプリケーションが、SIPによって制御されたセッション上で、音声のやりとりを行えばIP電話、音声と映像ならばテレビ電話、テキストメッセージならばインスタントメッセンジャーというように幅広い応用が可能となります。
ここ最近、注目され、活躍が期待されています。