技術文書一覧
1 - 1105 件のうちの 100 件 | 次へ 概要の表示 | 概要の非表示 検索結果に登録(RSS)
|
タイトル
|
種類
|
日付
|
|---|---|---|
| JSF 2 で RichFaces を使用する
JavaServer Faces (JSF) で使用するために設計された他のリッチ/Ajax コンポーネント・フレームワークと同じく、RichFaces も JSF 2 での大幅な変更に対応するように大々的に変更されました。この記事の著者である Joe Sam Shirah は、以前の記事「An introduction to RichFaces」で RichFaces バージョン 3.1 の機能を紹介しましたが、今回はそれと同じ機能を提供する、新しく変更された RichFaces 4.1 のコンポーネントについて説明します。また、JSF で RichFaces を使用するためのセットアップ要件に関する情報も更新します。
|
記事 | 2012/2/10 |
| Clojure でのツリー・ビジター
一般に Visitor パターンは Java およびその他のオブジェクト指向プログラムでツリー・データをトラバースしたり、操作したりするために使用されます。この記事では、Allex Miller が Clojure の関数型 zipper を使用してパターンを作成し直した結果、どのようなことが起こるのかを見てみましょう。
|
記事 | 2012/2/10 |
| XADisk を使用してファイルシステムにトランザクションを活用する
部分的なデータをファイルに格納する Java アプリケーションでは、トランザクションを使用してファイルシステムにアクセスできると大きなメリットがあります。オープンソースの XADisk を活用し、トランザクションによってファイルにアクセスする方法を学びましょう。
|
記事 | 2012/2/03 |
| 関数型の考え方: Groovy に隠された関数型の機能、第 2 回
Groovy でメタプログラミングと関数型プログラミングを組み合わせると、強力な組み合わせになります。この記事では、Groovy に組み込まれている関数型の機能を利用するメソッドを、メタプログラミングによって Integer データ型に追加する方法を説明します。さらにメタプログラミングを使用して、Functional Java フレームワークに用意された豊富な関数型の機能をシームレスな方法で Groovy に組み込む方法も説明します。
|
記事 | 2012/2/03 |
| Java 開発 2.0: Redis を実際に使用する
Redis には memcached と多くの共通点がありますが、機能の数という点では Redis のほうが充実しています。今月の連載「Java 開発 2.0」では、Andrew がは自作の位置情報ベースのモバイル・アプリケーションに、試しに Redis を追加して (Java ベースの Redis クライアント Jedis で) 使用してみます。Redis が単純なデータ・ストアとして機能する仕組みを学んだ後、今度は Redis を超高速の軽量キャッシュとして使用してみます。
|
記事 | 2012/1/27 |
| Java 開発者のための Node.js
Node.js は、これまでの Java による並行処理の問題に対するソリューションに代わる画期的な手段です。Node.js について学ぶ上で必要なのはオープンなマインドとほんの少しの JavaScript です。
|
記事 | 2012/1/13 |
| 関数型の考え方: Groovy に隠された関数型の機能、第 1 回
時代とともに、プログラミング言語やランタイムが私たちに代わって処理してくれる雑事は次第に多くなってきています。こうした傾向を示す典型的な例が関数型言語ですが、最近の動的言語にも、開発者の作業を楽にする関数型の機能が数多く取り込まれるようになってきました。今回の記事では、Groovy に隠されている関数型の機能について調べ、再帰によって状態が隠される仕組みと、遅延リストを作成する方法について説明します。
|
記事 | 2012/1/06 |
| Java 開発 2.0: Heroku の PaaS を使用してアプリケーションを Git にコミットする
Heroku について学びましょう。Heroku はクラウドでの Java アプリケーションの開発とデプロイメントに、使いやすさと構成の柔軟さという強力な組み合わせをもたらす Ruby ベースの PaaS ソリューションです。
|
記事 | 2012/1/06 |
| Bigtable、Blobstore、あるいは Google Storage を使用した GAE ストレージ
Google App Engine ではリレーショナル・データベースの使用を控え、非リレーショナルデータストアを採用しています。具体的には、Bigtable、Blobstore、そして最も新しい非リレーショナル・データストアである Google Storage for Developers です。この記事では著者の John Wheeler が、それぞれのデータストアのセットアップ方法と使用方法に慣れ親しむためのアプリケーション・シナリオを説明するなかで、この GAE のビッグ・データ・ストレージの 3 つの選択肢の利点と欠点を詳しく探ります。
|
記事 | 2012/1/06 |
| Spring Roo 入門: 第 4 回 Spring Roo と Cloud Foundry による、クラウドでの迅速なアプリケーション開発
今回は、Roo での迅速な開発をさらに一歩進めて、クラウド内で実行されるアプリケーションを作成します。そのために使用するのは、VMWare によって作成された初のオープンソースの PaaS (Platform as a Service) プロジェクトである Cloud Foundry です。この環境の詳細を説明した後、Roo シェルを使ってアプリケーションを Cloud Foundry にデプロイします。
|
記事 | 2012/1/06 |
| Apache Mahout: 万人のためのスケーラブルな機械学習
Apache Mahout のコミッターである Grant Ingersoll が、Mahout 機械学習ライブラリーの最新バージョンについて説明し、よく使われている Mahout のアルゴリズムをデプロイし、スケーリングする方法の一例を紹介します。
|
記事 | 2011/12/16 |
| 言語設計者のノート: 新機能と、それに付随する新機能
ある重要な新機能が言語に追加される場合、それに付随して (その良し悪しによらず) 他の新機能の追加が必要になることや推奨されることが非常によくあります。今回の「言語設計者のノート」では、言語に機能を追加するのに伴い、他の機能も必要になる状況について、著者の Brian Goetz が説明します。
|
記事 | 2011/11/25 |
| クラウド仮想マシンの開発および管理を自動化する
最近の傾向として、クラウド・アプリケーションおよびサービスの開発と運用との間には強力な連携が築かれるようになっています。具体的には、この傾向はアプリケーション・ライフサイクル・マネジメント (ALM) ツールとクラウド・コンピューティングをより緊密かつ効率的に統合する方向へと向かっています。この記事では、オープンソースの Apache Maven ビルド管理ツールを使用して、IBM SmartCloud Enterprise でのプロジェクトのビルドとデプロイメントを自動化する方法を紹介します。また、ビルドおよびデプロイメントのライフサイクルにクラウド上の仮想マシンの管理を統合する方法として、クラウドで J2EE アプリケーション・サーバーを実行する仮想マシンを検索し、見つからない場合には作成する Apache Maven プラグインを開発します。さらに、クラウドでの開発およびデプロイメントのベスト・プラクティスを紹介し、これらのベスト・プラクティスを IBM Cloud API と Maven を使用して実装する方法を説明します。
|
記事 | 2011/11/25 |
| 関数型の考え方: 連結と合成、第 2 回
オブジェクト指向を構成する概念 (継承やポリモーフィズムなど) を使い慣れているプログラマーは、その欠点も、代わりとなる手段も目に入らなくなってしまいがちです。関数型プログラミングでは再利用を可能にするために、より汎用的な概念 (リスト変換や移植可能なコードなど) をベースにさまざまな構成概念を用います。連載「関数型の考え方」の今回の記事では、コードを再利用するメカニズムとして、継承による連結と合成とを比較し、命令型プログラミングと関数型プログラミングの重要な違いの 1 つを指摘します。
|
記事 | 2011/11/04 |
| JavaScript のユニット・テストを効率よく行う
アプリケーションのユーザーは、アプリケーションに「XXX ブラウザー用に最適化されています」といった記載があるのを見たくはありません。ユーザーの望みは、アプリケーションが動くことです。この記事を読んで、JavaScript のユニット・テストを効率的に行うことによって、いかに多くのブラウザーを容易にサポートできるようになるかを学んでください。
|
記事 | 2011/10/28 |
| 関数型の考え方: 連結と合成、第 1 回
毎日、特定の抽象化 (オブジェクト指向など) を扱っていると、その抽象化によって導かれているソリューションが最善の策ではないことに気付きにくいものです。この記事から 2 回にわたり、オブジェクト指向の考え方がコードの再利用に与える影響を詳しく探り、その影響と合成などの関数型の手段がコードの再利用に与える影響とを比較します。
|
記事 | 2011/10/07 |
| Eclipse プラグイン開発のベスト・プラクティス
このチュートリアルでは、マーカーを使用してリソースに対して情報をマーキングする際のベスト・プラクティスに焦点を当て、ワークベンチ内でマーカーを強調表示するために使用するアノテーションおよびデコレーターについて紹介します。拡張ポイントを継承することにより、Eclipse の組み込み関数を再利用したり、適応させたりすること、そしてテキストを編集するときにテキスト・マーカーを移動させるといった高度なリソース・マーキングを実行することが可能になります。このチュートリアルで説明するのは、プラグイン・モデルを利用した手法です。この手法によって、効率性とパフォーマンスに優れ、統合されたルック・アンド・フィールのプラグインを実現することができます。
|
記事 | 2011/9/30 |
| Java 開発 2.0: Gretty を使った超軽量の Java Web サービス
Gretty は、Web サービスを構築するために作られた新しいタイプの超軽量フレームワークの 1 つです。超高速の Java NIO API をベースにした Gretty は、Web エンドポイントのドメイン特化言語として Groovy を使用し、Grape を使用して Maven スタイルの依存性管理を行います。この記事を読んで、Gretty を使用して Java Web サービス・アプリケーションを構築してデプロイする方法を学んでください。
|
記事 | 2011/9/16 |
| 関数型の考え方: 不変性
不変性は、関数型プログラミングの基本要素の 1 つです。連載「関数型の考え方」の今回の記事では、Java 言語における不変性のさまざまな側面を取り上げ、Java の不変クラスを作成する昔ながらの方法と新しい方法を説明します。さらに、Java 実装に伴う厄介な作業を大幅に取り除ける方法として、Groovy で不変クラスを作成する 2 つの方法を紹介します。そして最後に、この抽象化がどのような場合に適しているかを説明します。
|
記事 | 2011/9/02 |
| Mashups4JSF を使用してマッシュアップ・フィードを作成し、利用する
Mashups4JFS は、JSF でマッシュアップ・プログラムを容易に作成する上で役に立つツールです。この記事では、皆さんのアプリケーション用に RSS フィードを作成する方法についての探究を続けます。
|
記事 | 2011/9/02 |
| Java 開発 2.0: Amazon RDS で Play フレームワークを使用する
拡大し続ける Amazon の PaaS ファミリーの 1 つ、Amazon RDS では、数回クリックするだけでアプリケーションのリレーショナル・データ・ストレージの容量を増やすことができます。
|
記事 | 2011/8/26 |
| 言語設計者のノート: 何よりもまず害をなさないこと
提案されている言語機能のなかには、問題を探すためのソリューションでしかないものもありますが、ほとんどの言語機能は、既存の機能ではプログラマーは望んでいるほどの容易さ、明確さ、簡潔さ、そして安全性を持って表現することができないという現実の状況に端を発して提案されています。「この機能のおかげで、作成できるようにしたいと望んでいたコードを作成できるようになる」という状況を念頭に置くことは素晴らしいことですが、言語設計者はその言語機能によって可能になる不適切なコードについても考慮した上で、その言語機能を評価する必要があります。
|
記事 | 2011/8/26 |
| ヒント: ファイナライザーによる脆弱性からコードを保護する
皆さんの Java コードはファイナライズ処理を悪用した攻撃に対して脆弱な可能性があります。ファイナライズ処理を悪用した攻撃の仕組み、またそうした攻撃を受けないようにコードを変更する方法について学びましょう。
|
記事 | 2011/8/05 |
| 関数型の考え方: 関数型の観点で考える、第 3 回
連載「関数型の考え方」の今回の記事では、著者の Neal Ford が引き続き関数型プログラミングの構成体とパラダイムについて説明します。まずは Scala で作成した数値分類子のコードを検討し、関数型の世界でのユニット・テストに簡単に触れた後、コードの再利用を容易にする関数型の 2 つの手法、部分適用とカリー化について説明します。そして最後に、再帰が関数型の考え方にいかに適合しているかを明らかにします。
|
記事 | 2011/7/29 |
| ソーシャル・ネットワークを BPM に統合する: 第 2 回 Twitter のデータを CRM に追加する
この 2 回の連載記事では、ソーシャル・ネットワーキング・サイトからデータを収集し、表示し、使用するビジネス・プロセス・マネジメント (BPM) アプリケーションを構築する方法を紹介しています。第 1 回では、Twitter Web サービスに接続してユーザーがキーワード検索によって関連データ (ツイート) を検出できるようにアプリケーションを構成する方法を説明しました。第 2 回ではアプリケーションの構成を完成させて、アプリケーションが顧客関係管理 (CRM) システムとインターフェースを取って検索データを実際のビジネスで活用できるようにします。
|
記事 | 2011/7/15 |
| Lotus Notesの価値を高めるLotus Symphony
この記事ではLotus Notesとの連携という観点からLotus Symphonyのアーキテクチャや機能を紹介するとともに、Lotus Notesアプリケーションと連携するための様々な開発方法についてご紹介します。
|
記事 | 2011/7/15 |
| 関数型の考え方: 関数型の観点で考える、第 1 回
バグが少ない上に生産性が高いという特徴を引っ提げた関数型プログラミングへの関心が、最近、爆発的に高まっています。けれども多くの開発者が、ある種のジョブに対して関数型言語のどこが魅力的であるのか理解しようとして、理解できずに終わっています。新しい言語の構文を学ぶのは簡単ですが、今までとは違う考え方を学ぶのは大変です。連載「関数型の考え方」の第 1 回目では、著者の Neal Ford が、関数型プログラミングの特徴的な概念をいくつか紹介し、これらの概念を Java と Groovy の両方で使用する方法を説明します。
|
記事 | 2011/7/01 |
| 関数型の考え方: 関数型の観点で考える、第 2 回
関数型の言語およびフレームワークでは、繰り返し処理や、並行処理、状態管理などの一般的なコーディングの詳細はランタイムに制御させます。だからと言って、必要なときに制御を取り戻すことができないわけではありません。関数型の観点で考えるときに重要となる側面の 1 つは、どれだけの制御をどのような場合に引き渡すべきかを知ることです。
|
記事 | 2011/7/01 |
| ソーシャル・ネットワークを BPM に統合する: 第 1 回 Twitter のデータを収集する
ビジネス・プロセス・マネジメント (BPM) ツールの柔軟性のおかげで、最小限のコードを作成するだけで、ソーシャル・ネットワークを企業のビジネス・プロセスに統合することができます。この 2 回の連載記事では、オープンソースの BPM ツール、Bonita Open Solution を使用して構築したアプリケーションが、ソーシャル・ネットワーキング・サイトからデータを収集し、表示し、使用する方法を紹介します。第 1 回で説明するのは、Twitter Web サービスに接続してユーザーがキーワード検索によって関連データを検出できるようにアプリケーションを構成する方法です。第 2 回では、このアプリケーションが顧客関係管理 (CRM) システムとインターフェースを取る方法を説明します。
|
記事 | 2011/6/10 |
| クラウドの特徴を備えるように Java EE コンテナーを拡張する
この記事では、クラウド・アプリケーションおよび Java Enterprise Edition アプリケーションの基本的な特徴を概説し、それらを比較対照して類似点と相違点を明らかにします。そして、並列性、弾力性、マルチテナンシー、そしてセキュリティーといったクラウドが持つ特徴を備えるように Java EE コンテナーおよびアプリケーションを拡張するための一連のストラテジーを定義し、またそのためのパターンを紹介します。
|
記事 | 2011/6/10 |
| Java 開発 2.0: Java 開発者のための JavaScript
かねてから Java 開発者は JavaScript のことを、実際のプログラミングには軽量すぎるだけでなく、スクリプトを記述する代替手段として使うにも魅力のない、おもちゃのような言語であると見なしてきました。それにもかかわらず、JavaScript は未だ健在であり、しかも GWT や Node.js などの画期的な Web 技術の基礎として使われています。連載「Java 開発 2.0」の今回の記事では、Andrew Glover が現在の Java 開発者にとって JavaScript が重要なツールである理由を説明します。その後、JavaScript の変数、型、関数、クラスを含め、最近の Web で極上のアプリケーションを構築するために必要となる構文について手ほどきします。
|
記事 | 2011/6/03 |
| Java Web サービス: WS-SecurityPolicy をモデル化して検証する
WS-SecurityPolicy では、WSDL (Web Service Description Language) サービス記述の一部としてセキュリティー構成を定義できるようになっています。WS-SecurityPolicy は強力なツールですが、WS-SecurityPolicy 文書を処理するのは骨の折れる作業になりがちです。というのも WS-SecurityPolicy では、アサーションは正しく構造化されていなければ有効にならず、バージョンの名前空間は一貫していなければならないためです。この記事を読んで、WS-SecurityPolicy 文書を作成するときに犯しがちな間違いを知り、WS-Policy と WS-SecurityPolicy を検証および変換できるように Java でモデル化する方法を学んでください。
|
記事 | 2011/4/19 |
| WebSphere Application Server 7.0 XML Feature Pack Technology Preview の概要
IBM WebSphere Application Server 7.0 Feature Pack for XML 1.0.0.9 Technology Preview には、XQuery モジュールのサポート、組み込み拡張機能関数、ランタイム・エラー発生時のソースの場所の情報提供など、重要な新しいフィーチャーが含まれています。これらのフィーチャーは、開発者がクエリーやスタイルシートを管理および操作するのを支援し、開発の効率を高め、保守コストを削減します。
|
記事 | 2011/4/12 |
| Java PaaS の比較
この記事では Java 開発者向けの 3 つの主要な PaaS (Platform as a Service) オファリングである Google App Engine for Java、Amazon Elastic Beanstalk、そして CloudBees RUN@Cloud を比較し、それぞれのサービスに特有の技術的な手法、長所、短所を分析するとともに、一般的な次善策について検討します。Java PaaS の基礎となる基本概念を学び、開発のニーズに最適なサービスを選択する方法を理解してください。
|
記事 | 2011/4/05 |
| Java 開発 2.0: Amazon SQS によるクラウド・ベースのメッセージング
Amazon SQS (Simple Queue Service) はメッセージ指向ミドルウェア (MOM: Message-Oriented Middleware) から必要な概念を採り入れていますが、ある特定の実装言語またはフレームワークしか使用できないわけではありません。メッセージ・キューイング・システムをインストールして保守する負担を軽減するとともに、AWS の従量課金によるスケーラビリティーを活用するために Amazon SQS を利用する方法を学びましょう。
|
記事 | 2011/3/22 |
| ダンプからデバッグする
Memory Analyzer は、Java プロセスのダンプからメモリー・リークやメモリー・フットプリントの問題を診断する強力なツールです。しかも、診断用のコードを組み込まなくても Java コードの実態を詳細に入手できるため、たった 1 つのダンプから難解な問題のデバッグをすることができます。この記事では、ダンプを生成する方法、そして生成したダンプを使ってアプリケーションの状態を調べる方法を学びます。
|
記事 | 2011/3/15 |
| Project Lombok によるカスタム AST 変換
Alex Ruiz が Project Lombok について紹介するこの記事では、まず、Lombok を独特なものにしているプログラミングの簡略化手法のいくつかを取り上げます。そこでは、アノテーション駆動のコード生成方法や、その簡潔で短く、読みやすいコードについて説明します。次に、より実用的な Lombok の使い方の 1 つに目を向けます。それは、Lombok をカスタム AST (Abstract Syntax Tree: 抽象構文木) 変換で拡張することです。Lombok を拡張することで、独自のプロジェクトやドメインに固有のボイラープレート・コードを生成できるようになりますが、それにはかなりの作業が必要となります。Alex は記事の締めくくりとして、この Lombok を拡張するプロセスの重要なステージを楽に行うためのヒントと併せ、自由に使用できる JavaBeans のカスタム拡張について説明します。
|
記事 | 2011/3/01 |
| Java 開発 2.0: Elastic Beanstalk という伸縮自在な豆の木に登る
自分が使っている環境をより自由に制御したい一方、PaaS のプラグ・アンド・プレイ的なスケーラビリティーも気に入っている人々にとって、Beanstalk は Google App Engine に代わる絶好の手段となるはずです。Andrew Glover が案内するこの Beanstalk のツアーでは、位置情報を利用したモバイル・アプリケーションを Play フレームワークと MongoDB を使って構築するところから始め、このアプリケーションを Beanstalk 環境に移植する手順を具体的に説明します。Beanstalk を構成するのは、簡単かつ実りのある作業です。著者が言うように、Beanstalk には、GAE が提供する以上の選択肢と柔軟性があるからです。
|
記事 | 2011/2/22 |
| Clojure によって CouchDB を使用する
この記事では、JVM のための動的言語である Clojure を使用して CouchDB API にアクセスする方法を紹介します。記事に記載する例では、Clutch API ライブラリーと clj-http ライブラリーを並行して使用して、上位レベルの CouchDB API 呼び出しと、下位レベルの REST ベースの呼び出しについて説明します。CouchDB を使いたいと思っている新米 Clojure 開発者、そして CouchDB の基礎となっている REST API に興味を持つ誰にとっても、この記事は参考になるはずです。
|
記事 | 2011/2/22 |
| JAXB を使用して IBM Cloud イメージのパラメーターを Java に変換する
IBM Cloud (IBM Smart Business Development and Test on the IBM Cloud) イメージのイメージ・パラメーターを取得するには、イメージの記述に含まれているマニフェストと呼ばれる URL を使用します。この URL からは、XML レスポンスが返されます。この記事では、POJO (Plain Old Java Object) を作成して JAXB の unmarshal メソッドを呼び出すことで、この返された XML レスポンスを Java で扱うのに適した形に変換する方法を説明します。この方法では、一旦このレスポンスが得られると、パラメーターを必要とするイメージをベースに新しいインスタンスを作成するためのリクエストを Java クラスから容易に送信できるようになります。
|
記事 | 2011/2/14 |
| Java Web サービス: WSDL 1.1 を理解してモデル化する
WSDL (Web Services Description Language) 2.0 が W3C (World Wide Web Consortium) 標準として承認されてから数年経った今でも、Web サービスの記述形式として最も広く使用されているのは、WSDL 1.1 です。けれどもその人気の反面、WSDL 1.1 はいくつかの問題を抱えています。例えば、多種多様なスキーマが使用されていること、Web サービス・スタックによって WSDL 文書の処理方法が異なることなどです。この記事では、WSDL 1.1 のサービス記述がどのように構造化されているかを説明し、WSDL 文書を検証して「ベスト・プラクティス」に沿った形に変換する Java ツールの基本構造を紹介します。
|
記事 | 2011/2/08 |
| Spring Roo 入門: 第 2 回 Spring Roo を使ってアプリケーションを開発する
連載の第 1 回では、Roo を使ってほんの数分で CRUD ベースのアプリケーションを構築しました。この第 2 回の記事では、第 1 回で作成したアプリケーションに Spring セキュリティー、E メール・サポートを始めとする多数の機能を追加して、本格的なエンタープライズ・アプリケーションに拡張します。
|
記事 | 2011/2/01 |
| JEST: OpenJPA での REST
JEST は REST (Representational State Transfer) と JPA (Java Persistence API (JPA) という 2 つのアーキテクチャー・スタイルを統合し、任意のプログラミング言語で作成されたリモート・クライアントが REST の原則に従って JPA ベースのアプリケーションを操作することを可能にします。JEST はオブジェクト・グラフの循環参照に対処するために、管理対象エンティティーからなるカスタマイズ可能な永続クロージャーを REST リソースとしてモデル化し、XML または拡張 JSON (JavaScript Object Notation) フォーマットで表現します。この記事では JEST の概念を説明し、さらにその具体的な実装を紹介します。その実装とは、サーバーと通信してドメインにとらわれない方法で永続オブジェクトにクエリーを実行し、永続ドメイン・モデルをブラウズする汎用 Web クライアントです。
|
記事 | 2011/2/01 |
| Morphia と MongoDB によるドメイン・モデルの永続化
Morphia は、オープンソースのドキュメント指向データベースである MongoDB のためのタイプ・セーフなオブジェクト・マッピング・ライブラリーです。この記事ではまず、ドキュメントとオブジェクトとの間でマッピングをすることによってもたらされるメリットを説明し、Morphia を使用してマッピングを行う方法を示します。その後、MongoDB にマッピングされた Java ドメイン・モデルを永続化、ロード、削除する方法、そしてこのモデルに対してクエリーを実行する方法をサンプル・コードで具体的に説明します。
|
記事 | 2011/1/25 |
| Spring Roo 入門: 第 1 回 ソースからビルドする
Spring Roo は、Spring ベースのアプリケーションを短時間で簡単に開発できるようにして、Java 技術の生産性を上げるための軽量のツールです。Spring Roo を使って作成するアプリケーションは、Spring のベスト・プラクティスに従い、JPA、Bean Validation (JSR-303)、Dependency Injection (JSR-330) などの標準に基づきます。Roo では使いやすく、コンテキストを認識したタグ補完シェルを使用してアプリケーションを構築することができます。さらに Spring Roo は拡張することも可能で、アドオンによってその機能を強化することができます。この記事では Spring Roo について紹介し、Windows および *nix システムで Spring Roo ソースをビルドする方法を手順に沿って説明します。
|
記事 | 2011/1/25 |
| Java 開発 2.0: Hadoop MapReduce によるビッグ・データ分析
Apache Hadoop は現在、分散されたデータの分析に最も良く使われているツールです。Hadoop は、ほとんどの Java 2.0 技術と同じく、スケーラブルに作られています。この記事では、Hadoop の MapReduce プログラミング・モデルについて説明した後、大企業と中小企業両方の情報ニーズに対応するために、この MapReduce プログラミング・モデルを使用してデータを分析する方法を説明します。
|
記事 | 2011/1/18 |
| JSF 2 の魅力: 複合コンポーネントのベスト・プラクティス
連載「JSF 2 の魅力」の今回の記事では、JavaServer Faces の複合コンポーネントを実装する際の 5 つのベスト・プラクティスについて学びます。開発者はこれらのガイドラインに従うことで、ページ作成者でも簡単に拡張できるようなカスタム・コンポーネントを実装することができます。
|
記事 | 2011/1/11 |
| マルチコア・システムでの Java 並行性バグのパターン
並行性に関するバグのパターンを調べることで、並行プログラミングに対する全般的な認識が深まると同時に、機能しない、あるいは機能しない可能性のあるコーディング・イディオムを学ぶことができます。この記事では、Zhi Da Luo、Yarden Nir-Buchbinder、Raja Das の 3 人の著者が、マルチコア・システム上で実行される Java アプリケーションのスレッド・セーフティーやパフォーマンスを脅かす、あまり知られていない 6 つの並行性に関するバグを明らかにします。
|
記事 | 2010/12/21 |
| REST サービスに Dojo の JsonRestStore を使う
Dojo の JsonRestStore は Dojo のデータ API (dojo.data) に REST サービスを接続するためのより高度な方法の 1 つです。サービスのデータ構造が JsonRestStore で想定されるデータ構造に一致していない場合、JsonRestStore と REST サービスとの接続が難しくなります。この記事では、標準的ではない REST サービスを JsonRestStore に接続するための、単純で汎用的なサービスを実装する方法について説明します。いくつかの例をとおして、この実装を皆さん独自のサービスに対して使用する方法と拡張する方法を学びましょう。
|
記事 | 2010/12/14 |
| Java 開発 2.0: Objectify-Appengine による Twitter のマイニング、第 2 回
Google App Engine (GAE) はアプリケーションをスケーリングするだけではありません。お気に入りのツールを使って、かなりの短期間でアプリケーションを構築するのにも役立ちます。今回は、Andrew Glover が索引付けとキャッシングのための仕掛けを追加して、この連載でサンプルとして作成している Twitter マイニング・アプリケーションのドメイン・モデルを完成させます。そして完成したドメイン・モデルに Twitter の OAuth 認可メカニズムと GAE のキューを追加し、さらに誰もがお気に入りの JavaScript ライブラリーである jQuery によって JSON と Ajax を少し追加して、サンプル・アプリケーションを仕上げます。
|
記事 | 2010/12/14 |
| Web アプリケーションをマルチテナント型 SaaS ソリューションに変換する
シングル・テナント型の Web 対応アプリケーションをすでに構築してあるとしても、そのアプリケーションをクラウド環境に対応させて、クラウドのなかで有効に機能させなければなりません。この場合、アプリケーションを本格的なマルチテナント型のクラウド対応 SaaS アプリケーションに変換するために必要な手順をご存知でしょうか?この記事では、サンプル Web アプリケーションを例に、クラウド対応のアプリケーションへの変換を成功させるために必要な考慮事項と変更内容を具体的に説明し、この目標を達成するための手順を概説します。最後におまけとして、著者の会社がマルチテナンシーへの「プラグイン的な」手法となるように設計したソフトウェアを紹介します。
|
記事 | 2010/12/14 |
| Java Web サービス: Web サービス・セキュリティーの現状
WS-Security およびそれに関連する標準では、Web サービス・セキュリティーに対してさまざまなオプションを規定しています。この広範なオプションのうち、Web サービス・スタックでテストするのは限られた数のセキュリティー構成だけです。相互運用性のテストに至っては、さらに少ない構成を独自にテストしているに過ぎません。この記事では、Web サービス・スタック間の相互運用性を促進するために業界がこれまで行ってきた取り組みを説明し、3 つの主要なオープンソースの Java スタックがセキュリティーの問題にどの程度まで取り組んでいるのかを比較して要約します。
|
記事 | 2010/12/07 |
| Java環境からXQueryを使用する
XMLのデータ・フォーマットは検索が非常に困難なことがありますが、つい最近XQuery APIが導入された結果、XMLの検索は柔軟かつ容易に実行できるようになりました。SAX、DOM、JDOM、JAXPなどを使用してXML文書で作業するJavaプログラマーにとって、XQuery API for Javaがプログラマーのツールキットに加わったのは歓迎すべきことです。Javaプログラマーは、XQueryの能力を活用するのにシステム呼び出しや扱いにくいAPI に頼る必要はありません。Sun標準化パッケージには、すべてが含まれています。
|
記事 | 2010/12/03 |
| JSF 2 の魅力: HTML5 複合コンポーネント: 第 2 回
連載「JSF 2 の魅力」の今回の記事では、著者の David Geary が前回に引き続き、JSF (JavaServer Faces) 2 技術と HTML5 を組み合わせることによってもたらされる威力を紹介します。今回は、HTML5 のドラッグ・アンド・ドロップをカプセル化した JSF 複合コンポーネントを実装する方法を説明します。
|
記事 | 2010/11/23 |
| 今まで知らなかった 5 つの事項: マルチスレッド・プログラミング
マルチスレッド・プログラミングで簡単なものはありません。しかし JVM がコードの構成体の微妙な違いをどのように処理するかを理解していると、マルチスレッド・プログラミングにも役立ちます。この記事では、著者の Steven Haines が、同期メソッド、volatile 変数、アトミック・クラスを扱う場合に、十分理解した上で判断するのに役立つ 5 つのヒントを説明します。
|
記事 | 2010/11/09 |
| Java 開発 2.0: Objectify-Appengine による Twitter のマイニング、第 1 回
NoSQL の利便性をさらに広げる、新たなクラスのツールが登場してきています。そのうちの 1 つ、Objectify-Appengine は、アプリケーションと GAE データストアの間に Hibernate スタイルのマッピング層を提供します。今月の記事で紹介するのは、Objectify の JPA に対応した (ただし、これに依存してはいない) 便利な API です。Andrew Glover が Twitter のリツイートを Bigtable にマッピングする方法を手順に沿って説明し、Google App Engine にデプロイする準備を整えます。
|
記事 | 2010/11/09 |
| Java Web サービス: WS-Policy について理解する
WS-Policy は、Web サービスに適用する機能とオプションを構成するための汎用構造を提供します。皆さんは、この連載の WS-Security 構成で使用されている例の他、WS-ReliableMessaging などの他の拡張技術でも WS-Policy を目にしたことがあるでしょう。今回の記事では、WS-Policy 文書の構造、そして WSDL (Web Service Description Language) でポリシーをサービスに関連付ける方法を説明し、サンプルのセキュリティー構成を Apache Axis2、Metro、Apache CXF のそれぞれで試します。
|
記事 | 2010/11/02 |
| ビジネス・プロセス・マネジメントのための Bonita: 第 2 回 フォームと変数を構成する
Java をベースとしたオープンソースのビジネス・プロセス・マネジメント (BPM) ツールの 1 つ、Bonita Open Solution では、Java コードを 1 行も作成することなく、ビジネス・ワークフローをモデル化、構成、実行することができます。この記事は、ホテルの宿泊予約ワークフローを Bonita を使用して設計する手順を説明する 2 回連載の第 2 回です。今回は第 1 回での作業を引き継ぎ、ワークフローに必要な変数を構成します。そしてユーザーとの対話用フォームを設計し、そのフォームをデータベースとレポート作成エンジンに接続します。すべての構成作業が完了したら、最後にこの宿泊予約プロセスの実際の動作をテストします。
|
記事 | 2010/11/02 |
| IBM と Oracle によってゲームの様相が変化: OpenJDK に関する衝撃のアライアンス
OpenJDK に関する Oracle と IBM のアライアンスは Java 業界全体に波紋を投げかけており、Java エコシステムの健全性にとってこのアライアンスが持つ意味について、コメンテーターの意見は分かれています。この記事では、このアライアンスの概要の説明、また多様なコメントの総括として、JavaWorld の編集者であった Athen O'Shea が問題の核心に迫り、このアライアンスが Project Harmony や JCP に与える意味、またJava プラットフォームにおけるオープン・スタンダード・ベースのオープンソース開発の将来に与える意味について解説します。
|
記事 | 2010/10/28 |
| 今まで知らなかった 5 つの事項: Swing を強化する
Swing は古いツールキットです。素晴らしいユーザー・インターフェースが登場する、はるか以前に開発されたため、Swing にはリッチな UI の作成に必要なコンポーネントの一部が欠けています。幸いなことに、Substance、SwingX、Java Look-and-Feel Graphics Repository などのオープンソース・プロジェクトにより、そのギャップを埋めることができます。この記事では著者の Steven Haines が、ツリー・テーブルや、構文の強調表示、その他の機能を苦労せずに Swing の UI に追加する方法について説明します。
|
記事 | 2010/10/19 |
| jQuery、ZK、Java コードを融合させ、Ajax 開発を強化する
jQuery を使用すると、サーバー・サイドの Java アプリケーションと容易に通信をすることができます。しかしエンタープライズ Web アプリケーションを作成する場合には、コードが複雑になり、また jQuery を使用してサーバーとクライアントとの間でセキュアに通信しようとすると、非常に時間がかかり、エラーも発生しがちになります。アプリケーション全体を Pure Java コードで実装することができれば、その方がはるかに容易です。ビジネス・ロジックを制御したり、クライアント・サイドを制御することでもたらされるあらゆるメリットを活用したりすることができたらよいと思いませんか?この記事では、ZK ツールと Java EE 技術を使用し、クライアント・サイドの機能を犠牲にせずに Ajax (Asynchronous JavaScript + XML) アプリケーション開発を強化する方法について学びます。
|
記事 | 2010/10/19 |
| アプリケーション・セントリックなクラウド・マネジメントを可能にする
この記事では、アプリケーション・セントリック・マネジメントとこの管理手法を実現するための 3 つの重要なステップ、さらには 2 層からなる J2EE アプリケーションを自動的に IBM Cloud にデプロイする方法を学びます。また、アクションを作成する方法、アクションをイベントに関連付ける方法、イベントを処理の方法についても学びます。
|
記事 | 2010/10/13 |
| JSF 2 の魅力: HTML5 複合コンポーネント: 第 1 回
HTML5 は、ブラウザー・ベースのアプリケーションに、デスクトップ・ソフトウェアの機能に匹敵するリッチな機能を提供します。連載「JSF 2 の魅力」では今回、JSF (JavaServer Faces) 2 を使ってHTML5 複合コンポーネントを実装し、Java と HTML5 両方の利点を生かす方法を紹介します。
|
記事 | 2010/10/12 |
| ビジネス・プロセス・マネジメントのための Bonita: 第 1 回 単純なワークフローを構成する
ビジネス・プロセス・マネジメント (BPM) のための、オープンソースの Java ベースのツールがその真価を発揮しつつあります。この2 回の連載では、Bilal Siddiqui が BPM の概念を紹介し、BPMN (Business Process Modeling Notation) 標準を実装した BMP エンジンである Bonita オープン・ソリューションの機能を披露します。第 1 回となる今回は、さまざまな BPMN の要素が機能する仕組みを説明し、実際に Bonita を使ってビジネス・プロセス・ワークフローを構成する手順に取り掛かります。第 2 回では、残りの構成作業を完了してワークフローを実装します。
|
記事 | 2010/10/12 |
| JavaFX を使って迅速にアプリケーションを作成する
Eclipse IDE を使用して JavaFX ベースの Rich Internet Application を作成する方法を学びましょう。この記事では JavaFX について紹介するとともに、Eclipse 用の JavaFX プラグインと JavaFX とを組み合わせて迅速に GUI アプリケーションを作成する方法について説明します。デスクトップ・エミュレーターとモバイル・エミュレーターの両方に対応したサンプル・アプリケーションを作成しながら、JavaFX の機能を学びましょう。またこの記事では、基本的なアニメーションの作成方法についても学びます。
|
記事 | 2010/10/12 |
| 今まで知らなかった 5 つの事項: Apache Maven
皆さんはプロファイルについて十分理解しているかもしれませんが、Maven でプロファイルを使用すると、さまざまな環境で特定の動作を実行できることをご存じでしょうか。今回の「今まで知らなかった 5 つの事項」では Maven のビルド機能以外の機能について説明します。そのなかには、プロジェクトのライフサイクルを管理するための基本ツールについての説明も含まれています。この記事で紹介する 5 つのヒントを参考にすれば、生産性を高めることや、Maven で容易にアプリケーションを管理することが可能になります。
|
記事 | 2010/10/05 |
| プロジェクトのビルド・ステータスをツイートで知らせる
長年使用されてきて、その能力を実証済みのツールである Apache Ant と、流行のサービスである Twitter とを組み合わせ、Ant の mail タスクを使わないビルド通知システムを作成しましょう。Ant での自動ビルド完了後に Twitter でステータスの更新を受信できると、プロジェクトの開発者やテスターは新しいビルドが利用できるようになったことを即座に知ることができます。また開発者やテスターは、その通知を受け取ることも受け取らないことも自由に決めることができます。
|
記事 | 2010/10/05 |
| Java 開発 2.0: MongoDB: (適切なすべての) RDBMS の動作をする NoSQL データ・ストア
NoSQL データベースの世界を探っているとしたら、NoSQL RDBMS とも称される MongoDB を調査の対象に含める価値はあります。この記事では MongoDB がサポートしているカスタム API、対話型シェル、RDBMS 方式の動的クエリー、素早く簡単な MapReduce による計算について説明します。さらに、MongoDB のネイティブ Java 言語のドライバーと便利な Groovy ラッパーである GMongo を使ってデータを作成、検索、操作する方法も紹介します。
|
記事 | 2010/9/28 |
| 進化するアーキテクチャーと新方式の設計: JRuby で DSL を作成する
Ruby は現在、内部ドメイン特化言語 (DSL) を作成する最先端の言語として使用されています。Ruby 実装のなかでも最も優れているのは、JVM で動作する JRuby です。シリーズ「進化するアーキテクチャーと新方式の設計」の今回の記事では、既存の (そして今後作成される) Java コードのメリットを保ちつつ、Ruby の表現力を活用する方法を説明します。イディオムのようなドメイン・パターンを抽出する 1 つの手段として、Ruby で内部 DSL を作成する方法を学んでください。
|
記事 | 2010/9/28 |
| NIO.2 入門: 第 1 回 非同期チャネル API
More New I/O APIs for the Java Platform (NIO.2) は、Java 7 の新しい主要な機能分野の 1 つとして、非同期チャネル機能と新たなファイルシステム API を Java 言語に加えます。これにより、開発者にはプラットフォームに依存しないファイル操作、非同期処理、そしてマルチキャスト・ソケット・チャネルのサポートがもたらされることになります。この 2 回連載記事の第 1 回目では、NIO.2 の非同期チャネル API に焦点を当て、第 2 回目で新しいファイルシステムの機能を取り上げます。
|
記事 | 2010/9/21 |
| NIO.2 入門: 第 2 回 ファイルシステム API
More New I/O APIs for the Java Platform (NIO.2) を紹介する 2 回連載の後半となるこの記事では、新しい java.nio.file パッケージとそのサブパッケージに含まれる最も有用なクラスを取り上げます。NIO.2 の非同期チャネル API について説明した第 1 回と同様、この記事でもさまざまなサンプル・コードを用いて関連する概念を具体的に説明します。
|
記事 | 2010/9/21 |
| 今まで知らなかった 5 つの事項: 日常的な Java ツール
Java ツールの中には、うまくカテゴリーに分類することができず、「役に立つ機能」といった注釈の下にまとめられがちなものがあります。今回の「今まで知らなかった 5 つの事項」では、(結局どこかにしまい込んでしまうことになっても) あると便利な一連のツールについて説明します。
|
記事 | 2010/9/14 |
| Clojure と並行性
最近、Clojure プログラミング言語に大きな注目が集まっています。しかし、この言語が注目されているのは、これが新しい Lisp の方言であること、あるいは Java 仮想マシン上で実行されることなどといったあからさまな理由からではありません。多くの人々を引き付けている Clojure の魅力は、その並行処理機能です。Clojure はソフトウェア・トランザクション・メモリー (STM: Software Transactional Memory) モデルをネイティブにサポートする言語として最もよく知られていますが、あらゆる並行性の問題にとって常に STM が最適なソリューションとなるわけではないことから、Clojure には agent と atom という形で STM 以外のパラダイムのサポートも組み込まれています。この記事では、Clojure が提供する 4 つの並行処理手法について詳しく調べ、それぞれの手法が最適なソリューションとなる場合を探ります。
|
記事 | 2010/9/14 |
| よくある並行性の問題を GPars で解決する
Alex Miller がよくある並行性の問題を解決するために、GPars の Groovy ベースの DSL を使用する方法を説明します。
|
記事 | 2010/9/07 |
| Java 開発 2.0: Hibernate Shards によるシャーディング
シャーディングはすべての人にとって有効な手段というわけではありませんが、リレーショナル・システムでサイズの大きいデータを扱う必要がある場合に有効な手段の 1 つです。場合によってはシャーディングを実行するということは、すなわちデータのスケーラビリティーやシステムのパフォーマンスを犠牲にすることなく、信頼性の高い RDBMS を維持できることを意味します。連載「Java 開発 2.0」の今回の記事では、シャーディングが有効な場合とそうでない場合を説明し、シャーディングを実際に利用してテラバイト規模のデータを処理できる単純なサンプル・アプリケーションを作成します。
|
記事 | 2010/8/31 |
| 今まで知らなかった 5 つの事項: JVM のためのコマンドライン・フラグ
Java 仮想マシンには何百というコマンドライン・オプションが用意されています。経験豊富な Java 開発者であれば、これらのオプションを使って Java ランタイムを調整することができます。コンパイラーのパフォーマンスをモニタリングしてログに記録する方法、明示的なガーベッジ・コレクション (System.gc();) を無効にする方法、JRE を拡張する方法などを学びましょう。
|
記事 | 2010/8/24 |
| Java 言語による Unicode サロゲート・プログラミング
Java 言語ではバージョン 1.5 以降、16 ビットの char データ型単独では表現できない Unicode 補助文字に対応するための API を提供しています。この記事ではこれらの API の機能を取り上げ、正しい使用方法を説明するとともに、それぞれの API を使用して処理を行った場合のパフォーマンスを評価します。
|
記事 | 2010/8/24 |
| Slice による OpenJPA アプリケーションの拡張
Slice は、OpenJPA に含まれる分散永続化のためのモジュールです。Slice を使用することで、単一のデータベースを対象に開発したアプリケーションを、水平パーティショニングされた (場合によっては異種混合の) 分散データベース環境に適応させることができます。しかも、オリジナルのアプリケーション・コードやデータベース・スキーマを変更する必要はありません。Slice ならではの柔軟性を (クラウドや Software-as-a-Service 用のアプリケーションをはじめとする) 皆さん独自のアプリケーションで活かす方法を学んでください。
|
記事 | 2010/8/24 |
| 進化するアーキテクチャーと新方式の設計: Groovy で DSL を作成する
内部ドメイン特化言語 (DSL) を Java 言語で作成することは可能ですが、Java 言語の構文は制限されているため、かなり面倒です。内部 DSL を作成するには、JVM をベースにした他の言語のほうが適しています。「進化するアーキテクチャーと新方式の設計」の今回の記事では、Groovy を使って内部 DSL を作成するときに活用できる機能、そして直面すると思われる問題について説明します。
|
記事 | 2010/8/17 |
| 今まで知らなかった 5 つの事項: Java Database Connectivity
JDBC、つまり Java Database Connectivity は、JDK 全体の中で最も頻繁に使われるパッケージの 1 つでありながら、JDBC の機能をフルに利用している Java 開発者や JDBC の最新機能を利用している Java 開発者はごく稀です。この記事では Ted Neward が JDBC の新機能を紹介します。具体的には、自動的にスクロールし、オンザフライで更新できる ResultSet、データベース接続が開いているか否かによらず動作する Rowset、ネットワークを 1 度素早く往復するだけで複数の SQL 文を実行できるバッチ更新、などについて説明します。
|
記事 | 2010/8/10 |
| Java 開発 2.0: Amazon の SimpleDB によるクラウド・ストレージ、第 2 回
どのようなタイプのアプリケーションでも、大抵は Grails などのリレーショナル・フレームワークを使えば、ドメイン・オブジェクトをモデル化するのはわけないことです。では、SimpleDB の場合はどうでしょうか。SimpleDB について 2 回にわたって紹介する連載の後半では、Andrew Glover が前回使用した Amazon SDK の代わりに SimpleJPA を使って SimpleDB のクラウド・ストレージにオブジェクトを永続化する方法を紹介します。SimpleJPA では、(JPA のように) ドメイン・モデリングに POJO (Plain Old Java Object) を使用できるだけでなく、プリミティブ・データ型を Amazon で使用できるストリングに自動変換してくれます。まさに、これ以上単純なクラウド・ストレージ手法はありません。
|
記事 | 2010/8/03 |
| Java Web サービス: クライアント証明書を使用しない WS-Security
クライアントとサーバーの間でクライアント証明書を使わなくてもセキュアなメッセージ交換を行えるようにする WS-Security の対称暗号化は、Web サービス構成を単純化すると同時に、パフォーマンスにもメリットをもたらします。この暗号化手法はそのまま使用することも、WS-SecureConversation メッセージ交換のブートストラップで使用することもできます。この記事では、Axis2、Metro、CXF という代表的な 3 つのオープンソースの Java Web サービス・スタックを例に、対称暗号化を構成して使用する方法を説明します。さらに、基本的な WS-Security 対称暗号化のパフォーマンスを WS-SecureConversation のパフォーマンスと比較します。
|
記事 | 2010/8/03 |
| 今まで知らなかった 5 つの事項: Java スクリプト API
Java 言語はプロジェクトによっては必要以上のものを提供しますが、スクリプト言語はパフォーマンスがあまり高くないことで有名です。Java スクリプト API (javax.script) を利用すると、Java プログラムからスクリプトを呼び出すことも、スクリプトから Java プログラムを呼び出すこともでき、Java 言語とスクリプト言語の両方の最高の部分を活用できることを学びましょう。
|
記事 | 2010/7/27 |
| クラウドで MapReduce を使用してロード・バランシングを行う
クラウド環境で Hadoop の MapReduce フレームワークを実装する方法と、仮想的なロード・バランシングを使って単一ノード・システムと複数ノード・システム両方のパフォーマンスを改善する方法を学びましょう。
|
記事 | 2010/7/19 |
| Android アプリケーションのためのクールな Java 技術
Java 言語は Android 開発者に最適のツールです。Android ランタイムは Dalvik という独自の仮想マシンを使用していますが、Dalvik は大部分の Java 開発者が使い慣れた通常の Java 仮想マシンと同じではありません。Dalvik は Java プログラミング言語の機能の大部分をサポートしていますが、すべてをサポートしているわけではありません。この記事では、Android の高度な Java 機能と、それらの機能が Android でどのように実装されているかを学びます。そうした機能には、並行処理、ネットワーキング、データベース・アクセスなどがあります。
|
記事 | 2010/7/15 |
| Hadoop による分散データ処理: 第 3 回 アプリケーション開発
xHadoop を単一ノードのアーキテクチャーと複数ノードのアーキテクチャーの両方で構成、インストール、そして使用する方法を習得できていれば、早速、Hadoop インフラストラクチャー内のアプリケーションを開発する作業に取り掛かれます。この連載の最後の記事では、Hadoop の API とデータ・フローについて詳しく探り、その使い方について、マッパー (mapper) とリデューサー (reducer) からなる単純なアプリケーションを例に説明します。
|
記事 | 2010/7/14 |
| JAX-RS、JPA、Dojo を使ってデータ中心のリッチな Web アプリケーションを作成する
大量のデータを操作するリッチ・アプリケーションの開発は、これまでデスクトップ・アプリケーションの独占領域でした。けれども今では Web アプリケーションでも開発できるようになり、JavaScript の第一人者でなくても、リッチ・アプリケーションを開発することができます。この記事を読んで、Dojo ツールキットを使って目を見張るようなデータ中心の Web アプリケーションを作成し、JAX-RS や JPA などの JavaEE 標準をベースとしたバックエンドに接続する方法を学んでください。これらの技術を使用することで、「Convention over Configuration (設定より規約)」の原則を利用して、複数の複雑なアプリケーションをあっという間に 1 つに組み立てることができます。
|
記事 | 2010/7/13 |
| 今まで知らなかった 5 つの事項: Java のパフォーマンス・モニタリング、第 2 回
JDK に JConsole というフル機能のプロファイラーが付属していることを今まで知らなかった人であれば、この記事で紹介するスタンドアロンの 5 つのプロファイリング・ユーティリティーについて知ると、さらに驚くことでしょう。スレッド不足、デッドロック、オブジェクトのリークといったパフォーマンスのボトルネックを解決する上で、Java プロセスのモニタリングや分析のための軽量な (そして場合によると実験的な) ツールがどれほど役立つかを学びましょう。
|
記事 | 2010/7/13 |
| 進化するアーキテクチャーと新方式の設計: 流れるようなインターフェース
シリーズ「進化するアーキテクチャーと新方式の設計」の今回の記事では、新方式の設計でイディオムのようなパターンを抽出する手法を前回に続いて説明します。再利用可能なパターンを識別すれば、コードの残りの部分とは別に、そのパターンを抽出できるはずです。ドメイン特化言語 (DSL) は、簡潔にデータと機能を抽出する数多くの手法を提供します。今月の記事で Neal Ford が紹介するのは、イディオムのようなドメイン・パターンを抽出する内部 DSL を作成する 3 つの方法です。
|
記事 | 2010/7/13 |
| JSF 2 の魅力: JSF ウィザード
連載「JSF 2 の魅力」の今回の記事では、JSF 2 と CDI (Contexts and Dependency Injection) を組み合わせて Ajax 化したウィザードを実装する方法を説明します。JSF のテンプレート機能と Ajax の実際の動作、そして CDI の依存性注入と対話スコープの使い方を学んでください。
|
記事 | 2010/7/06 |
| 今まで知らなかった 5 つの事項: Java のパフォーマンス・モニタリング、第 1 回
質の悪いコード (または質の悪いコード作成者) を非難しても、パフォーマンスのボトルネックを見つけたり Java アプリケーションの処理速度を改善したりするためには役立ちません。同様に、推測も役に立ちません。この記事では Ted Neward によって、皆さんの注意が Java のパフォーマンス・モニタリング用のツールに向くようにします。そして Java 5 に組み込みのプロファイラーである JConsole を使ってパフォーマンス・データの収集や分析を行う方法について説明します。
|
記事 | 2010/6/29 |
| Java Web サービス: WS-SecureConversation のパフォーマンス
WS-SecureConversation によって、進行中の Web サービス・メッセージ交換を単純な WS-Security よりも少ない処理オーバーヘッドでセキュアにすることができます。この記事では、Apache Axis2、Metro、Apache CXF という代表的な 3 つのオープンソースの Java Web サービス・スタックで WS-SecureConversation を構成して使用する方法を説明します。さらに、この 3 つのスタックで WS-SecureConversation を使用した場合のパフォーマンスの違いを調べます。
|
記事 | 2010/6/22 |
| Java 開発 2.0: Amazon の SimpleDB によるクラウド・ストレージ、第 1 回
Amazon の SimpleDB を利用してデータを保管する方法やデータに対してクエリーを実行する方法を実際に経験して学んでください。このクラウド・ベースのキー・バリュー型のデータ・ストアには、Amazon Web サービスのインフラストラクチャーの魅力が詰まっています。
|
記事 | 2010/6/15 |
| 今まで知らなかった 5 つの事項: JAR
多くの Java 開発者は JAR に関して基本事項以上のことは考えもせず、単にクラスをバンドルして本番サーバーに送るために JAR を使用しているにすぎません。しかし JAR は単に ZIP ファイルをリネームしたもの以上の機能を備えています。この記事では、Spring の依存関係や構成ファイルを JAR に含めるためのヒントを始めとし、Java Archive ファイルの機能を最大限に利用する方法について学びましょう。
|
記事 | 2010/6/15 |
| 医療サービスの統合: 第 2 回 Apache ServiceMix を医療サービス・バスとして使用する
HSB (Healthcare Service Bus) により、多様な医療アプリケーションが相互に接続し、相互運用して効率的にサービスを提供できるようになります。この 2 部構成の記事の第 1 回では、JBI (Java Business Integration) アーキテクチャーを使用した医療サービスの集約について説明しました。最終回となるこの記事では、オープンソースの JBI 実装、Apache ServiceMix を HSB として適用する方法を説明します。ServiceMix でホストされる内部サービスとしてアプリケーションを構成し、複数の JBI 環境を相互接続する方法、そして医療業界での相互運用性のための標準を ServiceMix に統合する方法を学んでください。
|
記事 | 2010/6/08 |
| 進化するアーキテクチャーと新方式の設計: DSL の使用
シリーズ「進化するアーキテクチャーと新方式の設計」では、これまで主に技術的なパターンを対象とした新方式の設計に焦点を当ててきました。今回の記事では、ドメイン特化言語 (DSL) の技術を使用して、特定の領域でイディオムのようなパターンを抽出する方法を取り上げます。このシリーズの著者、Neal Ford が、DSL を使用した手法を具体的な例で説明し、この抽象化方式を使ってイディオムのようなパターンを抽出するメリットを明らかにします。
|
記事 | 2010/6/08 |
| Hadoop による分散データ処理: 第 2 回 拡張編
この連載の第 1 回では、単一ノードのクラスターで Hadoop を使用する方法を説明しました。今回の記事で説明するのは、それよりも高度な、複数のノードを使って並列処理を行うためのセットアップです。この記事ではマルチノード・クラスターに必要な各種のノード・タイプについて説明した後、並列環境での MapReduce 機能について詳しく説明します。また、Hadoop の管理についても、コマンドラインによる管理と Web ベースの管理の両面で調べます。
|
記事 | 2010/6/03 |
| JSF 2 の魅力: 後から追加する Ajax 複合コンポーネント
JSF (JavaServer Faces) 2 Expert Group のメンバー、David Geary が、JSF 2 技術の詳細を紹介する連載を続けます。今回の記事では、実装済みの複合コンポーネントにページ作成者が Ajax を追加できるようにする方法を説明し、強力ながらもまったくドキュメントがない JSF 2.0 のタグについても詳しく見ていきます。さまざまな目的で再利用できる Ajax 対応の icon コンポーネントを、25 行にも満たない XML で実装する方法を学んでください。
|
記事 | 2010/6/01 |
| 今まで知らなかった 5 つの事項: java.util.concurrent 第 2 回
java.util.concurrent には並行処理に有効なコレクションの他にも、マルチスレッド・アプリケーションでのスレッドの制御や実行に役立つ作成済みのコンポーネントが導入されています。この記事では、Ted Neward が java.util.concurrent パッケージの中で Java プログラミングに必ず必要な事項をさらに 5 つ紹介します。
|
記事 | 2010/6/01 |
| Java Web サービス: WS-Trust と WS-SecureConversation
WS-Security は、SOAP メッセージ交換にエンタープライズ・レベルのセキュリティー機能を追加しますが、同時にパフォーマンス面でかなりの犠牲を伴います。WS-Trust は、WS-Security をベースとしてセキュリティー・トークンを交換するための手段です。そして WS-SecureConversation は WS-Security と WS-Trust をベースに、進行中のメッセージ交換のパフォーマンスを改善します。今回の連載「Java Web サービス」では、Dennis Sosnoski が WS-Trust と WS-SecureConversation を紹介します。
|
記事 | 2010/5/25 |
1 - 1105 件のうちの 100 件 | 次へ 概要の表示 | 概要の非表示 検索結果に登録(RSS)