タグ

ブックマーク / thinkit.co.jp (25)

  • [ThinkIT] 第1回:Tomcatによるクラスタリングの実現 (1/4)

    現在、エンタープライズ環境で動作するアプリケーションサーバには様々なものがありますが、どれもデフォルトでクラスタリングの機能を搭載しているものがほとんどです。 クラスタリングを行う目的としては主に2つあげられます。1つはパフォーマンスの向上で、もう1つは可用性の向上です。まずは、これらの機能について解説していきます。 開発したアプリケーションに対して非常に多数のアクセスがあった場合、1台のサーバでは処理がまかないきれなくなります。 そういった場合には、前段にロードバランサを配置することで複数台に処理を振り分ければよいのですが、ECサイトなどでログインユーザのセッション情報などを保持しているアプリケーションが動作している場合、最初にログインしたサーバとは違うサーバに処理が移った場合セッション情報が共有されていないと継続して処理を行うことができなくなってしまいます。 こういった場合でもクラスタ

  • [ThinkIT] Javaアプリケーションサーバのクラスタリング機能比較 第2回:Tomcatのクラスタ設定

    現在(2005年10月)のバージョンのTomcatで使用されている"all-to-all"のセッションレプリケーションでは、クラスタグループ内にあるすべてのTomcatが同じセッション情報を共有します。"all-to-all"のセッションレプリケーションの方式はわかりやすい形ではありますが、クラスタグループ内のサーバの台数が多いとセッション間で情報のやり取りが多くなるため、ネットワークのトラフィックが増大してしまいます。 そのため、少ない台数のTomcatで同じセッション情報を共有する"primary-secondary"のセッションレプリケーションが望まれています。"primary-secondary"であれば、セッションレプリケーションされる情報は「プライマリサーバ」と「セカンダリサーバ」の2台の間でのみやり取りされるため、ネットワークにかかる負荷はそれほど大きくなりません(図2)。

  • [Think IT] 第1回:JSONってなにもの? (1/3)

    JSONとは何か? JSONとはJavaScript Object Notationの略で、XMLなどと同様のテキストベースのデータフォーマットです。 その名前の由来の通りJSONはJavaScriptのオブジェクト表記構文のサブセットとなっており、XMLと比べると簡潔に構造化されたデータを記述することができるため、記述が容易で人間が理解しやすいデータフォーマットと言えます。 なお、JSONは2006年に「RFC 4627(http://www.rfc-editor.org/rfc/rfc4627.txt)」として公開されています。 例としてXMLとJSONで同じデータを記述したものをリスト1とリスト2に示します(図1)。 リスト1のXMLではすべての情報をタグで囲んだテキストノードとして記述していますが、XMLでデータを表現する場合、データの記述方法として属性とテキストノードの使い分けが

  • [ThinkIT] 第8回:Cookieとセッション情報 (1/3)

    サーバ/クライアント間の通信を担当するHTTPは、ステートレス(状態を管理しない)なプロトコルです。このように表現してしまうと難しく聞こえるかもしれませんが、要するに「複数のページ間で情報を保持することができない」ということです。 例えば、ページXとページZという2つのページがあったとします。ページXを処理したあとにページZを呼び出したとしても、ページZはページXで入力された内容や処理結果、さらにページXのあとに呼び出されたということも知ることはできません。 HTTPにおいては、リクエスト/レスポンスの一往復が完結された処理と見なされるので、次に発生したリクエストはまったく別物と認識されるからです。 しかし、JSP&サーブレットアプリケーションを構築する場合、複数のページ間で情報の保持が必要になるケースは少なくありません。例えば、認証を必要とするアプリケーションを想定してみてください。トッ

  • [ThinkIT] 第3回:YUIライブラリと外部JSの呼び出し手法 (1/2)

    「第2回:jQueryライブラリの内部とonloadイベント記法」で解説したPrototypeとjQueryはどちらも個人がリリースするライブラリでしたが、今度は、より規模の大きなライブラリの事例をご紹介します。Yahoo! UIライブラリ(YUI)は、米国Yahoo!がBSDライセンスで提供するJavaScriptライブラリです(図3、注5)。 個人だけでなく、YUIのように大手企業もライブラリを公開する事例が増えてきています。YUIでは、Ajaxやイベント管理といった基機能に加えて、アニメーションやドラッグ&ドロップ処理のユーティリティ、さらにカレンダー/ツールチップ/ダイアログ/タブ表示/ツリー表示といった豊富なウィジェットが提供されているのが特徴です。 YUIは、表3に示す14のモジュールで構成されています。 モジュール名 主な用途

  • ドキュメント指向データベースと列指向データベース

    ドキュメント指向データベースの概要 リレーショナルデータベースでは、データを表形式で保存します。そのため、表にしやすいデータであれば、効率よく管理することができます。 しかし、世の中全てのデータを表にできるかと言えば、そうではありません。そのようなデータをリレーショナルデータベースで管理しようとすると、どうしても無理が生じてしまいます。その結果、プログラムを組むのが難しくなったり、処理に時間がかかるようになったりしてしまいます。 このような中で、柔軟な構造でデータを扱えるようなデータベースとして、「ドキュメント指向データベース」と呼ばれるデータベースが出てきました。 ドキュメント指向データベースでは、1件分のデータを「ドキュメント」と呼びます。また、個々のドキュメントのデータ構造は自由で、データを追加する都度変えることができます(図1)。リレーショナルデータベースとは違って、事前にテーブル

  • [Think IT] 第1回:Javadoc、どのくらい活用していますか? (1/3)

    Javaで開発を行っていると、ライブラリのリファレンスとしてJavadocを参照することが多いはずです。ただ参照するだけでなく、場合によっては携わっているプロジェクトなどの開発規約でドキュメンテーション規約としてJavadocを記述することが定められているケースもあると思います。 筆者はオープンソースのライブラリを使用するときよりも、内製のライブラリや同じプロジェクトで他の人が作ったクラスを利用するときのJavadocの質の悪さに閉口した経験があります。皆さんも例えばこんな経験はないでしょうか? 書いてある通りに使っただけなのに、いきなり例外が飛んできた Javadocが書いてあったりなかったりで、使い方がわからない 関連したクラス間で、矛盾したことが書いてある Javadocが書いてあるけど、有用な情報がない。クラス名やメソッド名、引き数名もピンと来ないし……ソースを見るか Javado

  • Gaucheでプログラミング!

    Copyright © 2004-2024 Impress Corporation. An Impress Group Company. All rights reserved.

  • 仮想化サーバー統合への道

    仮想化は難しい? 仮想化という言葉がずいぶんと浸透してきました。書籍やWebでも仮想化に関するものが多く見られます。ところが、実際に仮想化を利用してサーバー統合を実施したいと考えた際に、「1台のサーバーにどのぐらい仮想サーバーを立てることができるのか」、「既存のサーバーは仮想化環境でも動作するのか」などと悩む管理者も多いのではないでしょうか。 対象となるサーバーを把握することが、仮想化によるサーバー統合計画を遂行するうえで重要です。この一方、全社規模でサーバー統合を実施する場合、各部門に導入されているサーバーの情報を収集するのは非常に大変です。 また、どういった情報を収集するべきかも、悩ましい問題です。実装されているデバイスやインストールされているアプリケーション、さらには各種パフォーマンス情報など、あらゆる情報を収集すれば間違いないかもしれませんが、これらの調査が完了するまでに膨大な時間

  • CA AppLogicによる新しいクラウドのかたち

    過去2回にわたって、仮想化関連の製品/サービスを紹介してきました。第3回となる今回は、仮想化の延長線上にあるクラウドの、1つのかたちを紹介します。 現在では、ハードウエアをサービスとして提供する「IaaS」、OSなども含めてサーバー機能を提供する「PaaS」、アプリケーションも含めて提供する「SaaS」などと、さまざまなサービスの形態が、クラウドという名のもとにユーザーに提供されています。 今回紹介する「CA AppLogic」(開発会社の米3Teraは、2010年2月に米CA(現在のCA Technologies)が買収した)は、この分類で言うとPaaSを提供するためのソフトウエアです。 PaaSを提供する製品/ソリューションは、マーケットにたくさんの選択枝があります。例えば、VMWare ESX、XenServer、Microsoft Hyper-Vなどのサーバー仮想化ソフト製品群がP

  • コネクションプールで接続負荷を軽減!

    コネクションプールとは 「第1回:pgpool-IIのインストール方法(http://www.thinkit.co.jp/article/98/1/)」では、pgpool-IIとWebベースの管理ツールであるpgpoolAdminのインストール方法について解説しました。今回は、pgpool-IIの「コネクションプール」機能について解説します。 コネクションプールとは、クライアントからpgpool-IIへの接続が切断した時、pgpool-IIからPostgreSQL間の接続を保持し、後で新たにクライアントからの接続要求を受けた時に再利用することで、接続によるオーバーヘッドを軽減する機能です。 特にWebアプリケーションのようにデータベースに対する接続、切断を頻繁に繰り返すシステムにおいて、全体的にスループットを向上させることができます。 pgpool-IIのコネクションプールの特徴 コネクシ

  • Gaucheをはじめてみませんか?

    Gaucheとは 連載では、今注目のプログラミング言語「Gauche」について解説しながら、簡単なWebアプリを作っていきます。Gaucheとは、ハワイ在住の日ハッカー「川合 史朗」さんが作ったLispの一種である、Schemeの処理系です。オープンソースで開発されています。 Gaucheの特徴は、Perlのように気軽に使える軽い処理系でありながら、正規表現、CommonLisp風オブジェクトシステムなど、Scheme標準にはない拡張機能や豊富なライブラリを持ち、実用的なプログラミングが行える点です。 最近「Gauche」に関するも出版され、「第4回:都内大手3書店の3月ベスト3発表!(http://www.thinkit.co.jp/article/49/4/2.html)」でも紹介されているように売れ行きも好評です。それは、なぜでしょうか? 筆者はLisp、特にSchemeの持

  • [ThinkIT] 第1回:MySQLストレージエンジンの概要 (1/3)

    連載で取り上げるMySQLは、非常に人気の高いオープンソースのRDBMSです。このMySQLの大きな特長は、ストレージエンジンを選択できるところにあります。そこで連載では、MySQLのストレージエンジンに焦点をあて、様々なストレージエンジンの特長や構造を解説していきます。最後まで、お付き合いください。 MySQLの概要についてはご存知の方も多いと思いますが、復習の意味も込めて簡単に紹介します。 MySQLは、MySQL社を中心として開発が進められているRDBMSで、オープンソースの標準的なプラットフォームを意味する「LAMP」という言葉(Linux/Apache/MySQLPHP)に採用されるほど有名なオープンソースです。ライセンスとしては、GPLと商用ライセンスのデュアルライセンス形態で提供されています。バージョン5.0よりストアードプロシージャやトリガなどをサポートし、他のRDB

  • タスクとコードをつなげるMylyn

    用途に合わせたEclipse 3.3のパッケージ こんにちは。チェンジビジョンの近藤です。Eclipse 3.3(コード名:Europa)がリリースされてはや2ヶ月が経ちました。普段Eclipseをお使いの方はEclipse 3.3へ乗り換えられたでしょうか。 今回リリースされたEclipse 3.3では用途に合わせて5つのパッケージが用意されています。 これまで通りの構成で作成されたEclipse Classic 一般的なJava開発エンジニア用のEclipse IDE for Java Developers JEE開発エンジニア用のEclipse IDE for JEE Developers C/C++言語開発者用のEclipse IDE for C/C++ Developers RCP/Plugin開発者用のEclipse for RCP/Plug-in Developers

  • 今から始める携帯サイト制作

    携帯販売業務のアルバイトを経て、現在はベンチャー企業のWebサービスで主にマークアップを担当。PCおよび携帯サイト制作のほか、デコメ、SEO、LPO、モバイルアフィリエイトなどWeb全般の業務に携わる。HTML/CSSリファレンスサイト、携帯サイト制作支援ブログなどを運営。 HTMLタグボード:http://www.dspt.net/ 携帯ホームページを作ろう! -ちょっと詳しいモバイルサイトの作り方-:http://dspt.blog59.fc2.com/

  • 複合並列コンピューティングの必要性とFermiの登場

    ムーアの法則の限界について、最近いろいろな議論がなされ始めています。 NVIDIAの主席研究員ビル・ダリー(前スタンフォード大学コンピュータ・サイエンス学部長)も"forbes.com"で述べているように、ムーア(Gordon Moore)は、45年前に書いた論文の中で 「半導体集積回路上のトランジスタ数は18カ月ごとに2倍になる」と予測しています。 また、この予測が次の予測「トランジスタ数が2倍になることにより、CPUの処理能力も18カ月ごとに2倍になる」の基になっています。 確かに、1980年代から90年代にかけて、この予測は真実でした。製造業の技術革新から、サービス業やメディア産業の発展、さらには電子商取引、社会全体のネットワーク化とモバイル機器の発達といった新規ビジネスにいたるまで、経済全般にわたって、ムーアの法則は生産性の向上に寄与してきました。 実は、CPU処理能力の向上は、ム

  • [Think IT] 第1回:今勉強したい関数型言語「Haskell」 (1/3)

    【新・言語進化論】次にくる!新登場言語 第1回:今勉強したい関数型言語「Haskell」 著者:シンクイット編集部 公開日:2007/11/5(月) 今勉強しておきたい新言語 一般的に「プログラミング言語特集」といった場合、今ビジネスで広く利用されているCやJavaPHPが取り上げられるケースが多い。しかし、9月の特集「魅惑のRuby」で取り上げたRubyのように、新たに世に送り出され、急速にその利用範囲を広げているプログラム言語もある。 そこで連載「次にくる!新登場言語」では、Rubyのように次世代の主要言語の座を狙う新登場言語を取り上げ、個々の言語の歴史やメリット、情報源、開発環境の導入、さらに既存言語との比較などを紹介していく。日頃使っている以外の言語に触れることで、新しい知識が得られるだけでなく、従来の言語のメリットの再確認にもつながるだろう。 第1回となる今回は純粋関数型言語

  • [ThinkIT] 第6回:RailsとGrailsの比較(前編) (1/3)

    前回までで、一通りJavaフレームワークとRailsの比較をしてきました。連載の最後の比較は、少し趣向を変えてGroovy上に作成されたRailsライクなフレームワークGrailsRailsの比較をしていきます。 GrailsはGroovy(Java公式仕様として策定が進められている、JavaVM上で動作するスクリプト言語)上で動作するRailsライクなフレームワークです。当初、Groovy on Railsという名称で作成が進められていたことからもわかるように、Railsに強く影響を受けていることが公言されています(後にRails作者の要請により改名)。 Groovyは豊富なJavaライブラリの利用が可能な上、言語設計自体もRubyの影響を受けているためRailsライクなフレームワークと相性がよいと考えられます。 Grailsに関する情報源には次のサイトがあります。

  • EJBのすべてを知る

    Java EEとEJB ご存知のとおりJava EEは企業向けの仕様であり、その仕様の中核を担ってきたコンポーネントがEJB(Enterprise Java Beans)であることは誰しも疑わないことでしょう。JBossもEJBoss(Enterprise JavaBeans Open Source Software)として1999年に産声を上げています(その後、商標の関係によりJBossに変更しています)。 Java EEアーキテクチャダイアグラムは図1のようになっています。このようにサーバサイドには2つのコンテナが協調動作をしてエンタープライズレディとなるように設計されています。 図1:Java EEアーキテクチャダイアグラム 出典:Java Platform, Enterprise Edition(Java EE)Specification, v5 (画像をクリックすると別ウィンドウ

  • [ThinkIT] 実践!OpenLDAP活用術 | 第1回:LDAPとは何をするもの? (1/3)

    はじめに 皆さんはLDAP(Lightweight Directory Access Protocol)という言葉をご存知でしょうか。 ここ数年で、LDAPを実装したサーバソフトウェアの知名度は上がってきていますので、ご存知の方も多いかもしれません。 例えば、Microsoft社のActive DirectoryやSun Microsystems社のSunONE Directory Server、Red Hat社のRed Hat Directory Server、そして連載で取り扱うOpenLDAPなどが代表的なLDAPを実装したソフトウェアです。しかし、これらのソフトウェア名を知っていても、実際にどんなことができるのか、というところまでご存知の方はまだまだ少ないのではないでしょうか。 連載では、LDAPの概要からOpenLDAPのインストール、設定、アプリケーションとの連携などを通し