I will be waiting for your knock ever after from today.


Visards, Inc.

Java Sticky Note

java
  ・JSTL
  ・Commons Net
  ・Apache
  ・Tomcat
  ・James
  ・Jetspeed
  ・POI
  ・Jexl
  ・Jelly
  ・Blojsom
  ・eclipse

link
  ・James

author
  ・profile

JSTL  
<< prev | Index | next >>
Jakarta Commonsによるネットワークプログラミング

mixiチェック

2. Jakarta Commons
今回は,Jakarta Commons を用いたネットワークプログラミングを取り上げます.サーブレット実行環 境のTomcat,ポータルサイト構築環境のJetspeedな ど,Jakartaプロジェクトの 多くは特定領域の技術にフォーカスしたプロジェクトですが,Jakarta Commons はそれとは異なり,再利用可能なコンポーネントの開 発にフォーカスしたプロジェクトです.
実際のところJakarta Commonsは,独立したプロ ジェクトにするほどの規模でない小規模なプロジェク トに活動の場を与えるといった意味もあり,ほかのプ ロジェクトで開発されていたコンポーネントの一部が, その再利用性の高さからJakarta Commonsに移され たり,あるいはここで成長したプロジェクトが,Jakarta Commonsから離れ,独立したプロジェクトに移行す る場合もあります.
もともとの目的がコンポーネントの再利用を目指し たものであるため,Jakarta Commonsでは,大規模 なフレームワークを提供するものではありませんが, 内容を把握しておけば,必ず利用できる場面があると 思います.実際,Jakartaのほかのプロジェクトの多 くが,Commonsのプロダクトを使用しています. 今回はCommonsを使ったネットワーククライアン トプログラミングに絞ってその使い方を説明します. Commonsには多くのサブプロジェクトがありますが, 今回取り上げるのは,さまざまなネットワークプロト コルのクライアント技術の実装であるNet(以下, Commons Netと記述します)と,HTTP(Hypertext Transfer Protocol)のクライアント技術の実装である HttpClientです.

2.1. Commons Net
Commons Netは, さまざまなネットワークプロト コルのクライアント技術を実装したJakarta Commons のサブプロジェクトです.もともとORO社により開 発されたライブラリでしたが,ORO社の解散により その開発がJakarta Commonsに移されました.この プロダクトは,各種ネットワークプロトコルに基づく 基本的なプログラミングを可能にすることを目的とし ており,プロトコルに近い比較的低レベルなAPIの集 合です.
Commons Netがクライアント技術を提供している 主なプロトコルを以下に示します.

    表1 Commons Net が対応するプロトコル
    Finger
    Whois
    TFTP
    Telnet
    POP3
    FTP
    NNTP
    SMTP
    Time
    Echo
    Rlogin
    Rexec
    Rdate

Whois,Telnet,POP3,FTPなどはWindowsユー ザにもおなじみのものです.Rlogin,Rexec,Rdate などRコマンドは当初BSD系のUNIXに実装されてい たネットワーク技術で,現在ではLinuxを含む多くの UNIXで使用できます.今回は,この中から比較的利 用されることが多いと思われるFTPとTelnetを取り上 げます.
FTPやTelnetプロトコルは,比較的単純なプロト コルであり,その機能を実装するライブラリを独自に 開発するのもそれほど大変なものではないと思われる かもしれません.しかし,これらのプロトコルであっ ても,プロトコル仕様を完全に理解しそれを満たす, 汎用的ライブラリとして開発するのは困難な作業です. 本稿では,Commons Netの提供するクラスライブラ リを通して,FTP,Telnetのプログラミング方法を見 ていきます.

2.2. HttpClient
HttpClientは,Jakarta Commonsのサブプロジェク トで,HTTP クライアントを実装する技術です. HttpClientは,もともとWebDAV機能を開発してい るJakarta Slideプロジェクトの中で開発されていまし たが,再利用可能なコンポーネントとしてJakarta Commonsに移動し,開発が継続されています. J2SEに含まれるjava.netパッケージにも,HTTPプ ロトコルを処理するためのクラス(HttpURLConnection 等)がありますが,これと比べて高レベルなAPIを提 供しています.Commons Netが提供しているクラス ライブラリが比較的プロトコルに近い低レベルなライ ブラリでしたが,HttpClientは高レベルな機能も提供 しています.
本稿では,Commons Netと併せてHttpClientを使 用したプログラミング方法も解説します.



 << prev  ↑index  next >>


このドキュメントに関するご意見、ご要望などはまで。


Copyright (C) 2003-2005 Visards, Inc. All Rights Reserved.