Webサーバとは何か?
インターネットが繋がり始めた当初は、情報共有が主目的。
HTMLで書いてWebサーバに上げとくと不特定の人がブラウザーで閲覧に来る。
文字主体からグラフィカルになった。これが巨大なビジネスを生み出したのですね。
静止画が扱えるようになり音楽や動画も可能になった。
誕生当初はWebサーバだけでよかった。ビジネス要素が増えてくると、アプリケーションサーバが必要になった。Webサーバは公共の市場みたいな物。売り場。
大量の荷物をさばける。
事業化するには企業独自のネタの仕込みが大切。加工は自社工場でってなる。
規模が小さければ市場に出さず自社の売り場だけで売ってもいい。
大量になるとWebサーバと処理を分担。
棲み分けは明確。
何もかも一緒だと資源を食い合って色々と面倒。コンピュータのハードは人件費に比べて安価なんだから分けちゃえ。応答性を追求するなら1台に集約。スケラビリティを追求するなら分散。
よくまとまった絵図がありました。ネットは便利ですね。コピペで済んじゃいます。
レンタルのWebサーバとか流行りましたね。今は無料なところもあります。
お試しも楽になりました。
Webサーバとアプリサーバ分離型。これに加えてDATABASEも別サーバ。
規模が大きくなるとエンジニアの責務が重くなります。
それで要素技術で分ける。ハード障害に耐性を持たせるためあえて分割。
処理量が増えてくると、Web、アプリサーバーは増量されN対Nのメッシュ構造に。
多量の同時アクセスにどうやってコスパ良く耐えるか。
アプリサーバは自社の他の部門や他の企業ともリアルタイム連携するので極めて重要。
サーバーで動くアプリケーション。
これまJAVAで開発されてきたWeb関連サービス。
皆さんなかなか苦労したようです。私は関われませんでしたけどね。
今はPythonでも具現化さてる時代。
数行書けばアプリケーションサーバが稼働します。魔法みたいです。
研究室のローカル環境とかテストとか趣味で使う分には十分でしょう。
リクエストを受けて”hellow”の応答を返す。
単純ですけど。機能はこれで十分です。
上のコードは初見車向けの分かりやすいコード。
抽象化を進めると使えるコードが見えてきます。
リクエストに応じて飛び先を制御する。これはGUIのイベント処理と重なります。
このプログラムには仕掛けがあって、GUI用に書かれたアプリをマルチスレッドで動かしています。同居の兄弟関係。GUIアプリからは共有メモリの読み書きできますから、
Webアプリのコントロールが可能。
Webアプリサーバであると同時にGUIアプリ。バックドア付きともいいます。
セキュリティが無いのでこういうのは趣味以外では作りません。
誰もその存在を知らない。それが一番のセキュリティ。
サーブレットもアプレットもpythonで書ける様に仕込んでいきたいね。
でもですね、パソコンにAIが搭載されて裏で色々学習して、
いろいろと支援してくれる。それってこの構造と同じですよ。
アプリのアップデートが勝手に行われる。
パソコンでどんなサービスが動いてるか誰も認識してないです。
pythonが最強なのはアプレットからコードを流し込めるところ。
サーブレットに届いたコードはロードされ稼働が可能です。
オブジェクト指向OSが現れて30年。やっと自由に使える時代になりました。
プログラミングマニアにとってはいい時代になりました。
ここまで長生きしてよかったわい。
若者よ。苦しめ。