WEBの誕生

WEB(ウェブ)は、World Wide Web(ワールドワイドウェブ)を省略した呼び方で、Webの仕組みの原型を開発したウェブの父であるティム・バーナーズ・リーがWorld Wide Webと名付けました。  英単語のWebは、蜘蛛の巣の意味で、リンクでたどれるハイパーテキストの仕組みをインターネット上に実現し、まさしく世界規模(World Wide)に張り巡らされた蜘蛛の巣(Web)というイメージに  ぴったりとあてはまりました。

ティム・バーナーズ・リーは、スイスのジュネーヴの欧州原子核研究機構(CERN)の エンジニアとして在籍していました。当時のCERNでは、6,500人の物理学者と2,500人のスタッフが働いていて、膨大な研究情報やドキュメントを、如何に環境の異なるコンピュータやOS、ソフトウエアを使っている関係者(研究者)で共有するかということが最優先の課題でした。

80年はじめに彼は、一般には公開されなかったENQUIRE(インクワイヤー)というシステム開発プロジェクトに関わります。 このシステムは、単純なハイパーテキストシステムでしたが、この実績はCERN内でも高く評価されました。そして、このシステムこそがWebを生み出すための下地となるのでした。

彼は、一旦CERNを離れたあと、84年に期間限定で戻ることになります。そして、彼自身が彼の作ったENQUIREを使い、ほとんどの時間を、最新な情報に更新するために費やされることに気付いたのでした。 ENQUIREの課題は、クローズドなシステムであったことと、双方向リンクであるために双方のドキュメントを更新する必要があることでした。それを改善したものがWorld Wide Webであり、最終的には1989年に完成しました。

World Wide Webは、インターネット上の通信で使われているTCP/IPというプロトコル上で、クライアントとサーバで通信をする分散システムとして開発されました。 そして、ドキュメント間のリンクは、一方向のリンクに変わったのでした。HTTP通信のサーバとクライアントの送受信を考え、送受信する際のフォーマットをHTMLとして定義し、 リンク先を特定するためのリソースの場所を表すURLを考えました。この3大要素である、HTTP、HTML、URLがWEBを支える基本技術といえます。

最初のころのHTTP 0.9の定義はA4サイズで1ページ程度の定義で、GETメソッドしかありませんでした。次のHTTP 1.0では、200ページ程度のボリュームに仕様が膨れ上がり、Webへの期待の大きさがわかります。 当時はまだHTMLでつくられたテキストドキュメントが相互にリンクできるようになっている程度の仕組みでした。

WEBアプリケーションシステム開発論

システム開発は、プログラムをつくる延長線上ではありません。プログラミングができるだけのレベルとシステム構築ができるかは別次元な話です。 プログラミングのノウハウはもちろん重要ですが、それだけではシステムを構築することはできません。

要求を実現するために、さまざまな知識と技術により実現するのがプログラミングであり、システム開発です。 システム、特にWEBアプリケーションシステムを構築する場合には、デザイナ、コーダー、プログラマ、ネットワーク技術者、インフラ設計者など さまざまな役割の技術者が関わります。 プログラマも言語や開発対象の業務などにより、適用範囲も変わります。  また、開発プロジェクト全体を仕切るためには、ディレクターやプロジェクトマネージャなどが必用になります。

システム開発を行う場合には、何を創るのかという要件を整理するところからはじまります。この要件を決めるという工程は非常に重要な位置づけであり、 この要件定義がプロジェクトの成功を左右するといっても過言ではありません。

機能要件の話だけに集中して、運用要件、性能要件、セキュリティ要件などについて考慮が足りずにあとで大問題に発展するプロジェクトもあります。

スケジュールを急ぐばかりに、機能実装優先、運用無視、ユーザ視点なしというシステム開発プロジェクト案件は非常に多くあります。 こういった中で、どのように開発をしていくのがベターなのかという選択肢はあります。

短納期や、低予算の場合には、特にそうなのですが、要件範囲を早急に決め、スモールスタート、早期結合、早期リリース、そして、小さい単位で 繰り返しながら開発者とお客様で一緒に築き上げていくという開発手法を採用すべきです。

私たちは、お客様の要望を、WEBアプリケーション開発を通じて実現することを支援致します。 シンプルに予算は抑えてスタートしたいという選択肢の1つとお考え下さい。

弊社ではプログラミング言語にPython(ぱいそん)、WEBアプリケーションフレームワークにDjango(じゃんご)を採用し、開発基盤を支えます。

 

アプリケーションを小さい単位で構築していく中で、お客様に必要なサービスに必要なデータモデルを導入していきます。これは実際にはデータベースの構築になります。 Djangoにおけるデータベースのマイグレーションのサポートにより、 出来る限りの拡張反映を影響範囲を限定したうえで実現可能です。

 

また、Pythonは誕生から歴史も長く、昨今のAIや機械学習などでのはやりもあり、 世界的にプログラマ人口は多く、その影響からライブラリと呼ばれる部品やフレームワークの数が圧倒的に多いというメリットが多数あります。

 

アイプラスワンでは、Python, DjangoにおけるWEBアプリケーション開発に関する有益な情報を定期的に発信していきます。