投稿日:2004年04月14日 作成鷹の巣

No.15684 ASPとJSPの違いは?



ASPとJSPの違いは?

No.15684 投稿時間:2004年04月14日(Wed) 16:50 投稿者名:まやと URL:

ASPとJSPの違いは、
ASPがwindows限定で、
JSPがwindows以外でも構築可能っていうことですよね?
それ以外の機能はほぼ同じなんでしょうか?


多少違いがあります。

No.15685 投稿時間:2004年04月14日(Wed) 17:53 投稿者名:APACHE URL:http://kemuri-net.dip.jp/~server/worm.txt

> ASPとJSPの違いは、
> ASPがwindows限定で、
> JSPがwindows以外でも構築可能っていうことですよね?
ASPはLinux移植版があるようなのでWindows限定というわけでもないようです。
> それ以外の機能はほぼ同じなんでしょうか?
それぞれ機能に多少違いがありますから同じというわけではありません。


ASPを使ったサービスが多いように見受けられるのは?

No.15687 投稿時間:2004年04月14日(Wed) 22:19 投稿者名:まやと URL:

HPを検索してみると、ASPを使ったサービスが多いように見受けられるのは、
ASPの方が何かしらのメリットがあるということなのでしょうか?

構築のし易さ、速さ、編集のし易さなど・・・


一言で言えば、親近性では ASP、堅持性では JSP でしょうかね。

No.15690 投稿時間:2004年04月15日(Thu) 01:50 投稿者名:帯鯖 URL:

帯鯖@名古屋です。

横入りで。

ブラックボックス的(そとみ)は「サーバサイド」で同じように見えますが、
ホワイトボックス的(なかみ)には大きな差異があります。

ひとつひとつ挙げるとキリがないですが、一言で言えば、親近性では ASP、堅持性では JSP でしょうかね。

両方を経験してみると分かりますが、やはり ASP は、JSP に比べると、ある程度の "ゴマカシ" で通用してしまいます。
一方で JSP は、きちんと作らないときちんと動かないという難しさがあります。
VBS と Java の、それぞれの言語の記述規格の厳密性そのものと考えれば分かりやすいでしょう。
その点を納得してチョイスすればよいかと思います。


巷で JSP が少ない理由に、「Java エンジニアが少ない」「扱える人が少ない」などの技術難易度や浸透性の観点が挙げられます。
触れ易いのは ASP でしょうが、決して「ASP の方がメリットがある」とは言い切れません。


個人的な観点を元に、相対関係をだらだらと書いてみます。

[ブラックボックスハ

サーバ構築 ASP: IIS さえあれば。 JSP: 別インストールの必要あり。
開設までの早さ ASP: サーバ構築がない分、早い。 JSP: サーバ構築次第。
実行信頼性 ASP: 低い JSP: 高い
実行速度 ASP(Windows): 遅い JSP(UNIX): 速い


[ホワイトボックスハ

コード作成 ASP: マクロ気分で可。 JSP: Java の基礎知識を持っていないと辛い。。。
コード繁雑性 ASP: 規制は緩い JSP: 常に厳密
編集難易性 ASP: 簡単 JSP: 難解
機能面(自由度)ASP: あまり豊富でない JSP: 豊富
ミドルとの連携 ASP: 少ない JSP: 多い
障害対応 ASP: さほど難しくない JSP: 非常に難しい


などなど。「これは?」というのがあれば、知っている範囲で答えます。

> HPを検索してみると、ASPを使ったサービスが多いように見受けられるのは、
> ASPの方が何かしらのメリットがあるということなのでしょうか?
>
> 構築のし易さ、速さ、編集のし易さなど・・・


JSPが実行信頼性が高い、というのはどういう基準での判断なのでしょうか?

No.15692 投稿時間:2004年04月15日(Thu) 09:38 投稿者名:まやと URL:

JSPが実行信頼性が高い、というのはどういう基準での判断なのでしょうか?
恐らく、『コード繁雑性が常に厳密』なので、『障害対応は非常に難しい』ということなのだとおもいますが、
しっかり、プログラミングをしていれば、実行信頼性は同じ・・という意味ではないんですよね?



> [ブラックボックスハ
>
> サーバ構築 ASP: IIS さえあれば。 JSP: 別インストールの必要あり。
> 開設までの早さ ASP: サーバ構築がない分、早い。 JSP: サーバ構築次第。
> 実行信頼性 ASP: 低い JSP: 高い
> 実行速度 ASP(Windows): 遅い JSP(UNIX): 速い
>
>
> [ホワイトボックスハ
>
> コード作成 ASP: マクロ気分で可。 JSP: Java の基礎知識を持っていないと辛い。。。
> コード繁雑性 ASP: 規制は緩い JSP: 常に厳密
> 編集難易性 ASP: 簡単 JSP: 難解
> 機能面(自由度)ASP: あまり豊富でない JSP: 豊富
> ミドルとの連携 ASP: 少ない JSP: 多い
> 障害対応 ASP: さほど難しくない JSP: 非常に難しい
>
>


障害が発生時の対応はroot権限でないと出来ないのでしょうか?

No.15705 投稿時間:2004年04月16日(Fri) 15:07 投稿者名:まやと URL:

JSPやASPを構築していて、障害が発生したときに、
対応はroot権限でないと出来ないのでしょうか?


信頼性と権限概念について。

No.15709 投稿時間:2004年04月17日(Sat) 02:07 投稿者名:帯鯖 URL:

帯鯖@名古屋です。

まず1点め

> JSPが実行信頼性が高い、というのはどういう基準での判断なのでしょうか?
> 恐らく、『コード繁雑性が常に厳密』なので、『障害対応は非常に難しい』ということなのだとおもいますが、
> しっかり、プログラミングをしていれば、実行信頼性は同じ・・という意味ではないんですよね?

信頼性について。
言うまでもない OS(Windows と UNIX)の基本構造、HTTP ミドル(IIS や Apache など)のほかに、
ロジック思想も含まれるでしょうか。

例えば、厳密な型定義が必要な Java では、エンジンが、その宣言に応じたメモリ管理を
ビット単位で行ないます。Cに似ていますね。
一方、型の概念が曖昧な VBS では、その把握をエンジンが行なえないことから、
メモリ管理が定量的、定性的でないですし、あるいは、変数に予期せぬ値が入力された場合には
メモリを無秩序に食いつぶしてしまいます。

また、メソッドが正常な処理を行なえなかった場合、
try-catch 句の処理分岐で対応ができる Java に対し、VBS ではそのような思想が取り入れられておらず
もし予期せぬ値が入力された場合でも、そのまま処理を継続してしまいます。
その積み重ねから、最終結果に信頼性の違いが発生するのは明白です。

それぞれの言語において必要十分なロジックを構成しても、そもそもの思想の違いから必ず信頼性に差が出ます。
この点を意識したいのであれば、やはり Java を取り入れるべきでしょう。
# 事実、巷では ASP が主流ですが、お金が絡むシステムでは Java の割合が多いと思います。

2点め。

> JSPやASPを構築していて、障害が発生したときに、
> 対応はroot権限でないと出来ないのでしょうか?

Windows の権限概念については、さほど意識の必要はないでしょう。
UNIX(系)で構築する場合は必ず権限概念を伴いますが、例えコンテナプロセスが root 権限で立っていたとしても
コンパイル前の .jsp や .java ソースの所有者は、どのユーザでも構いません。root なら読み取れますからね。
root でコンテナを動かすとしたら、作成やメンテの際には、それぞれのソース所有者権限があれば十分です。

# root 以外のユーザでコンテナを動かす方法に関しては、こだわって調べたことはないです。
# やり方も知りません。


JSPと他の言語とを比較した参考URL。

No.15691 投稿時間:2004年04月15日(Thu) 03:38 投稿者名:APACHE URL:http://kemuri-net.dip.jp/~server/worm.txt

> HPを検索してみると、ASPを使ったサービスが多いように見受けられるのは、
> ASPの方が何かしらのメリットがあるということなのでしょうか?
>
> 構築のし易さ、速さ、編集のし易さなど・・・
ASPはJSPやPHP4と比べると遅いようです。

・サーブレット/JSPをほかの言語と比較する
http://www.atmarkit.co.jp/fjava/rensai2/jspservlet02/jspsevlet02_5.html
でいろいろ比較が行われているので一読してみると良いかもしれません。

まぁついでに
・PHPと他言語
http://jp.php.net/manual/ja/faq.languages.php


知識不足で恐縮ですが、

No.15725 投稿時間:2004年04月21日(Wed) 00:31 投稿者名:まやと URL:

知識不足で恐縮ですが、
ASPには無理で、JSPにはできることといえば、どんなことでしょうか?
JSPはASPより細かいことができるというのは分かるのですが、
具体的にどんなことができるのか教えてください。

よろしくお願いします。


回答不能です。

No.15746 投稿時間:2004年04月22日(Thu) 05:11 投稿者名:APACHE URL:http://kemuri-net.dip.jp/~server/worm.txt

> 知識不足で恐縮ですが、
> ASPには無理で、JSPにはできることといえば、どんなことでしょうか?
> JSPはASPより細かいことができるというのは分かるのですが、
> 具体的にどんなことができるのか教えてください。
>
> よろしくお願いします。
自分はPHP4がちょっと理解出来る程度なのでその辺については回答不能です。


回答が難しいですが。

No.15773 投稿時間:2004年04月24日(Sat) 22:14 投稿者名:帯鯖 URL:

帯鯖@名古屋です。

# 回答が遅れましてスミマセン。

「具体的に」と言われると難しいですが、少なくとも、日常的なシステムの範囲内では、
個人であれビジネスであれ、どちらを選択しても機能的には充足する範囲だと思います。(厳密性は除く)
言い換えれば、そこまでレアな機能を使う事例は、そうはないかと。

強いて言うならば、VBS では、プロトコルや通信ヘッダの定義の機能が未成熟ですね。
日常的には問題ありませんが、余分なヘッダや MIME 定義がデフォルトで書き込まれたり、
削ることができなかったりすることがあります。


> > 知識不足で恐縮ですが、
> > ASPには無理で、JSPにはできることといえば、どんなことでしょうか?
> > JSPはASPより細かいことができるというのは分かるのですが、
> > 具体的にどんなことができるのか教えてください。
> >
> > よろしくお願いします。
> 自分はPHP4がちょっと理解出来る程度なのでその辺については回答不能です。


実際の運行で、不具合が発生しにくいのがJSPっていうことでしょうか?

No.15739 投稿時間:2004年04月21日(Wed) 21:18 投稿者名:まやと URL:

>それぞれの言語において必要十分なロジックを構成しても、そもそもの思想の違いから必ず信頼性に差が出ます。
>この点を意識したいのであれば、やはり Java を取り入れるべきでしょう。

これは一度プログラムを開発して、バグも直して、チェック段階でエラーが出なかった場合、
実際の運行で、不具合が発生しにくいのがJSPっていうことでしょうか?
プログラムにも寄るとは思うのですが。。。


具体事例を挙げてみました。

No.15774 投稿時間:2004年04月24日(Sat) 22:53 投稿者名:帯鯖 URL:

帯鯖@名古屋です。

その通りですね。

テストを重ねても、実運用に入ると、どのようなパラメータが投入されるかは分かりませんよね。
少しでも早い段階でエラーを検知し、それにより処理を分岐させるのは非常に重要です。


こんな事例があります。

「前画面のテキストフィールドに入力された "金額" を受け取りたい」

これだけでも、少なくとも
「1. 空欄でないか?」「2. 数値か?」「3. 扱える桁の範囲内か?」のチェックがあると思います。

ASP の場合、

1. If value <> "" Then
2. If isNumeric(value) = false Then # だったかな…
3. If value > 0 Or value < 100000 # 例。型定義ができないので、自分で範囲を設定する必要がある

のように、「金額フォーマットでないとしたらどのような事例があるのか」を挙げて、
それぞれロジックを作成する必要があります。
観点もれがあると、検知できずに処理を進行してしまい、後の処理に影響を与えます。

一方で Java では、

try {
value = Integer.parseInt(request.getParameter("text"));
} catch(NumberFormatException e) {

}

のように、ひとつのメソッドで「条件を満たすかどうか」を確認することができます。


どちらが最終結果の信頼度が高いのか、明白ですね。


> >それぞれの言語において必要十分なロジックを構成しても、そもそもの思想の違いから必ず信頼性に差が出ます。
> >この点を意識したいのであれば、やはり Java を取り入れるべきでしょう。
>
> これは一度プログラムを開発して、バグも直して、チェック段階でエラーが出なかった場合、
> 実際の運行で、不具合が発生しにくいのがJSPっていうことでしょうか?
> プログラムにも寄るとは思うのですが。。。


なるほど。

No.15777 投稿時間:2004年04月24日(Sat) 23:13 投稿者名:まやと URL:

なるほど。
ソースを見れば一目瞭然ですね。

しかし、
> 事実、巷では ASP が主流ですが、お金が絡むシステムでは Java の割合が多いと思います。
ありますが、お金が絡むシステムであって、
検索エンジンなどはJSPを使っているみたいなのですが、
メルマガとかメール配信システムなどはASPを使っているところが多いように見受けられます。
大手であっても。

大手などはJSPを使用して、堅実性をアピールすると思いがちなので、
ASPを使用しているには何か訳がありそうなのですが、
その点(メルマガとかメール配信システム)で、
ASPが優れている点というのは何なのでしょうか?
JSPがまだ新しい、というわけではないですよね?


ASP が優れているというより、わざわざ Java である必要がないかと。

No.15779 投稿時間:2004年04月26日(Mon) 01:44 投稿者名:帯鯖 URL:

帯鯖@名古屋です。

「メルマガとかメール配信システムで、なぜ、よく ASP が使われる?」の内容でよいですか?

深く考えても結論が出てきそうにない(結局のところ人それぞれの意見があると思う)ので、
私の直感で答えます。

メール送受信を司るのは、クドいようですが "ミドルウェア" ですよね。
VBS, Java 自体は、それらに対するインターフェイスにすぎません。
(VBS や Java が、自らメール送受信を行なうわけではないということ。)

メール送受信ミドルへは文字列を投入するだけでよく、その値にはさほどの加工は必要ないはずです。
エラーチェックはもちろん必要ですが、異常観点数も少なく、発生確立も低いと思います。

ということは、コード作成やメンテの簡易さ、運用のしやすさの方に焦点が置かれているのではないでしょうか?


話は逸れますが。

メール関連のシステムを構築する場合、忘れがちな観点に、メールサーバの負荷問題があります。
一般のパソコンの場合、qmail などの MTA は、せいぜい1分辺り数十通しか処理できません。

極端な例として、1000 人に一斉にメールを送信する場合を考えます。

もしアプリ内で「1 人ずつ送信 × 1000 回」の繰返し処理を行なってしまうと、
アプリサーバからメールサーバへ 1000 回のデータ投入が発生しますね。
アプリからのデータ投入速度 >> MTA 処理速度 であることから、
負荷中の MTA に、アプリから外乱的な負荷をかけてしまうことになります。

一方で、1000 人分のアドレスを収めた、メーリングリストのような "1つ" の "集約アドレス" を作ると、
アプリからのデータ投入は、その集約アドレスへの1回のみで済みます。
こうすると、もし MTA でコケても、アプリへの影響は少ないほか、MTA 内でのロールバックでリトライが可能です。


ちょっと頭をひねってみると、結構いいアイデアが出てくるもんですよ。


> なるほど。
> ソースを見れば一目瞭然ですね。
>
> しかし、
> > 事実、巷では ASP が主流ですが、お金が絡むシステムでは Java の割合が多いと思います。
> ありますが、お金が絡むシステムであって、
> 検索エンジンなどはJSPを使っているみたいなのですが、
> メルマガとかメール配信システムなどはASPを使っているところが多いように見受けられます。
> 大手であっても。
>
> 大手などはJSPを使用して、堅実性をアピールすると思いがちなので、
> ASPを使用しているには何か訳がありそうなのですが、
> その点(メルマガとかメール配信システム)で、
> ASPが優れている点というのは何なのでしょうか?
> JSPがまだ新しい、というわけではないですよね?


ASPも使いようですね。

No.15781 投稿時間:2004年04月26日(Mon) 13:05 投稿者名:まやと URL:

>ちょっと頭をひねってみると、結構いいアイデアが出てくるもんですよ。

なるほどそうですね。ASPも使いようですね。

では逆の発想でお聞きしますが、ASPには不可能で、JSPには可能な機能・ソフトウェアといえば、
具体的には何があげられるのでしょうか?

コード作成がASPに軍配が上がるのはなんとなくわかるのですが、
メンテの簡易さ、運用のしやすさの点で言えば、どの様に運用しやすのでしょうか?
JSPの方が、技術者もすくない。とありましたように、
メンテ、運用の面から言えば、ASPの方がそれほどの知識をもたなくても管理が出来るということでしょうか?

実際、管理をしようと思えば、そのソースを作れるほどの人でないと管理は難しいでしょうか?


やりやすい方で。

No.15799 投稿時間:2004年04月29日(Thu) 23:32 投稿者名:帯鯖 URL:

帯鯖@名古屋です。

> では逆の発想でお聞きしますが、ASPには不可能で、JSPには可能な機能・ソフトウェアといえば、
> 具体的には何があげられるのでしょうか?

機能については、前述した通り、大きな差異はありません。

「ソフトウェア」とは、ミドルとの連携を担うパッケージのことを指しますか?

代表的なものに、データベースへ接続する ODBC(ASP向け), JDBC(Java向け)があります。
むろん、ODBC, JDBC は、それぞれの環境でしか使えませんが、
両者とも、接続先データベースの違いによる依存性を吸収できることから、
結局のところ、ミドル、中間パッケージの機能よる差異はあまりないです。

メールについても同様ですね。

>
> コード作成がASPに軍配が上がるのはなんとなくわかるのですが、
> メンテの簡易さ、運用のしやすさの点で言えば、どの様に運用しやすのでしょうか?
> JSPの方が、技術者もすくない。とありましたように、
> メンテ、運用の面から言えば、ASPの方がそれほどの知識をもたなくても管理が出来るということでしょうか?

ASP であれ Java であれ、メンテや運用を行なうには、それなりの知識が必要だと考えます。
ただ、一般的に VBS 理解者の方が多いことから、何か障害が発生した場合の改修に必要な時間は、
Java > VBS だと思います。特に、作成者と運用者が別であれば、なおさらでしょう。

技術的な観点で言うと、厳密化された構成であるほど、改修箇所がデグレを起こさないか
(全体的な整合性を維持し、他へ悪影響を及ぼさないか)の確認に時間が掛かります。
厳密化された構成に手を加えるとなると、当然、リスクは大きくなりますね。

>
> 実際、管理をしようと思えば、そのソースを作れるほどの人でないと管理は難しいでしょうか?

作成者と運用者は、同一である必要はないと思います。
ただ、上述した通り、改修能力を持つ人が運用すれば不具合に対する処置時間は短くて済むはずです。


毎度、抽象的な回答になっていますが、
より正確な処理を求めたい箇所には、リスク承知の上で Java を、
それ以外の箇所は、環境や運用のしやすさを考えて選択するとよいと思います。


DualCPU

No.15803 投稿時間:2004年05月01日(Sat) 00:05 投稿者名:まやと URL:

また、サーバにASPを配置して一度に10人くらい訪れて、ASPを使うサーバを構築する場合、
DualCPUにする必要があるのでしょうか?

お店に聞くと、『サーバといえば普通はdual』って言ってました。
本当なのでしょうか?

2GHz×2 vs 3.8GHzだと、やはり2GHz×2のほうが早いし、熱でないし、メリット大ですよね?


|目次|掲示板|過去ログ目次|▲頁先頭|