カテゴリー
Computer Development

サイボーズがMySQLを選択した理由

サイボーズは独自システムからオープンソースシステムを活用する方向に移行をするようですね。

Berkeley DBも候補に挙がっていた、とこの事ですからトランザクションが必要ないことは明らかですね。現時点で選定したらSQLiteという選択肢もあったのかも知れませんね。

決定した時点での状況、Windowsサポート等を考えるとMySQLと言う選択も株主としても納得できる選択と思います。

新しいフレームワークではアプリケーションをPHPで記述しています。これもMySQLの採用と同じくらい大きな選択で、この部分をJavaにするかでも悩みました。

この選択もDBの選択と同様に微妙ですが、コードの一部を公開してカスタマイズを可能にするにはPHPの方が有利だと思います。新しく作るならPHP5が良いかと思いますが、もう作ってあるようですね。

このブログ、サイボーズの方もご覧になっているようなので営業を一つ。
セキュリティの監査など必要でしたら是非どうぞ。
# 本当に引合がきたりして(笑

カテゴリー
Computer Development

PHPに足りないもの

よく「中規模以上のプロジェクトにPHPは向かない」と聞きますがJavaに比べると確かにその通りです。Beanなんて考え方は無いですし「JCPで作られた数々の標準に対応するような物がない」と言われても仕方ない状況です。言語仕様についても結構アバウトで微妙な仕様が突然変わったりします。
# 最近では5.0.3でコンストラクタをprivateで宣言できなくなった件があ
# ります。これは次の5.0.5で修正されますが。
# PHP4->PHP5ではオブジェクトを配列にキャストするとPHP5ではおかしな
# 動作をするなどがあります。

(特に現在は)PHPでJavaのような環境を前提としたしシステム開発には無理があります。Javaのようにいたれりつくせりの環境、アプリケーションサーバの付加分散等までフレームワークでやってしまえるような環境であるJavaと比べれば、明らかにPHPは中規模・大規模に向かないと言えます。

PHPでの開発は、どちらかと言うと、C言語での開発に近いのではと思います。いたれりつくせりの標準フレームワークは無い事、詳細は異なりますがアバウトなデータ型管理、などC言語での開発に似ている点はいくつかあると思います。C言語がJavaのような標準フレームワークを持っていないくても色々な分野で利用されています。最近ではC言語での大規模開発は相対的に少なくなって来ているとは思いますが、C言語で中規模以上の開発は向かない、と言う方はいないと思います。

ここでプロジェクトの規模について簡単に整理してみます。プロジェクトの規模には大きく分けて2種類あると考えています。1つは開発時の開発体制の規模、もう1つは運用時のシステムの規模です。

「開発体制規模が大きなシステム=運用時のシステム規模が大きなシステム」は成り立ちません。PHPが向かないと言われているシステムは「開発体制規模が大きなプロジェクト」であり、「運用時のシステム規模が大きなプロジェクト」ではありません。作るアプリケーションによりますがPHPで大規模システム(後者)を構築すると非常に開発効率が良い場合もあります。開発者が20名を超える中規模(会社によっては100名以下は小規模という会社もいくつもあると思いますが)システムの場合、プロジェクト管理により高度な技術的な知識が必要となり、プロジェクトを進行しづらい状況もあるとは思います。反対に安直にJavaで作ってしまい、スケーラビリティに欠けるWebシステムになってしまった、と言う話もよく聞きます。
# スケーラビリティに欠けるシステムはPHPでも簡単につくれますが、
# Javaのフレームワークを過信する間違いはよく聞きます。

PHPに足りない物は開発者の分業を可能とするフレームワークです。PHP5になって、PHP4との互換性を考えなければ、フレームワークを構築する開発者は随分やりやすくなってきています。PHP5になりフレームワークをルールに則り利用する事を強制する事も可能なりました。DIを実装しているMapleなどのフレームワークが充実してくるとこの状況も徐々に改善してくる事と思います。特に日本製フレームワーク、MapleEnthaに期待したいと思います。

カテゴリー
Computer Development

「OSSの性能・信頼性評価/障害解析ツール開発」の成果を公開

OSCでもこの手の発表が聞けると思えますが、聞けなくて残念。

開発基盤ワーキンググループに関するドキュメントで、一般公開可能なドキュメントをダウンロードすることができます。
他のワーキンググループや日本OSS推進フォーラム全体に関するドキュメントは、左のメニューから選択してダウンロードしてください。
ダウンロードは下記ドキュメントのタイトルをクリックしてください。

「OSSの性能・信頼性評価/障害解析ツール開発」の成果を公開しました

http://www.ipa.go.jp/software/open/forum/DevInfraWG.html

カテゴリー
Computer Development

AJAX – ダイナミックWebコンテンツ

JavaScript/DOMを使ったメニュー生成やフォーム選択状況に応じて適切なメッセージを表示するダイナミックコンテンツは多くありましたが、よりインタラクティブなHTMLコンテンツがどんどん増えそうです。

AJAX = Asynchronous JavaScript + XML

XMLHttpRequestを使った方法ですが、非常に新しいと言うことではないのですが最近急に注目されはじめました。

はやりgoogleのせい?

ここここが参考になります。

カテゴリー
Computer Development Linux

Cross Distcc

Daiさんの

cross-distcc

カテゴリー
Computer Development Misc

まるごとPostgreSQL! Vol. 1

「まるごとPHP! Vol.1」もエキスパートセクションのセキュリティ関連トピックで執筆させて頂きましたが同シリーズの「まるごとPostgreSQL! Vol.1」も執筆させて頂きました。私も編集者の方からのメールで今日知りましたが、以下の様な内容になるそうです。

■書名:まるごとPostgreSQL! Vol.1
 (売れたらVol.2を作りたい、という希望を込めてのVol.1です)
■ISBN:4-8443-2035-X
■価格:1800円+税
■体裁:232ページ、B5判、1色刷
■発売日:2004年12月8日
■目次:
特集1●PostgreSQLによる高可用性の実現
  pgpoolでPostgreSQLを大幅にパワーアップ!……石井 達夫
  PostgresForestのすべて……谷越 桂太
  ESM for PostgreSQL……安永 尚稔
  Slony-I first impressions!……谷田 豊盛
特集2●PostgreSQLとOracleによるデータベース相互移行マニュアル……奥畑 裕樹
特集3●PostgreSQLによる大規模運用……大垣 靖男
特集4●新バージョンPostgreSQL 8.0先行レビュー 〜使えるRDBMSをめざして
  PostgreSQLのあゆみ、そして8.0へと続く道……谷田 豊盛
  Point In Time Recoveryのしくみ……坂田 哲夫
特集5●PostgreSQLで.NET
  開発者が語るPgsqlの歴史と今後……Francisco Figueiredo Jr.
  Pgsqlのインストールとその機能……さいとう ひろし
  VB.NET+PostgreSQLでWebアプリを作ろう……白井 伸昌
  C#でPostgreSQLを操作しよう……林 重行
  5分でできる。Npgsqlを使ったExcelへのデータ取り込み……多度 純一
●一般記事
  PostgreSQLチューニング実践テクニック……石井 達夫
  PostgreSQL技術者認定制度(PostgreSQL CE)を受けに行こう!……稲葉 香里