InfoQ ホームページ Architecture に関するすべてのコンテンツ
-
ドメインドリブンデザインはDIやAOPなしでも十分な実装可能か?
ドメインドリブンデザイン(DDD)はビジネスドメインコンセプトをソフトウェアにマッピングすることだ。これまでDDD実装法の中心はオブジェクト指向プログラミング(OOP)だった。OOPではオブジェクトがビジネスドメインの実体を表し、そのドメインオブジェクトをプレインなJavaクラスやインターフェイスでデザインすることで、継承・カプセル化・ポリモーフィズムといったOOPの考え方を利用できる。
-
継続インテグレーションとデータベースのバージョン管理
原則として、データベースに対する作業は必ずバージョン管理しなければならない、と強く主張した記事を投稿した後で、Scott Allen氏はデータベースのバージョン管理を最大限に利用する手法について詳しく述べている。彼は、ベースラインを作成し、スキーマのリビジョン管理に変更スクリプトを使い、データベースの(ビューやストアドプロシージャ、ファンクション、トリガ等の)プログラムされたオブジェクトを管理し、そしてブランチやマージ処理を利用する、包括的で実用的な手法を紹介している。
-
OLPC用アプリケーションを作る方法
2006年、TEDカンファレンスでNicholas Negroponte氏はMIT Media Lab所長を退任後One Laptop Per Child(OLPC)活動の指揮を取っていることを明らかにした。彼の動機は教育に関することだ。2007年11月、モンゴルにおいてG1G1プログラムの最初の配布計画に従って最初のXO世代マシンが量産を開始した。
-
データベースの仮想化に価値はあるか?
最近、仮想マシンのイメージ中にサーバアプリケーションを配備するのが流行っている。必要に応じて仮想サーバをあるマシンから別のマシンにすばやく移行できるため、IT 部門にとっては非常に便利である。しかし、この手法は SQL Server のような重量級のシステムにも適用できるのだろうか?Conor Cunningham 氏はこれに否定的な見解を述べている。
-
SaaSアーキテクチャ成熟度モデル
Software as a Service (SaaS)がますます主流となるにつれて、製品の裏側にあるアーキテクチャに関する議論が活発になっている。Dharmesh Shah氏がSaaSアーキテクチャ成熟度モデルの経済的意味について著した。
-
問題を抱えたプロジェクトの舵取り:まず酸素マスクを確保せよ
Fiona Charles氏によるStickyMindsでの最近の記事は、問題を抱えたプロジェクトの舵取りについて触れている。「前進のための融通の利かないプロセスのための時間ではない」と強調し、プロジェクトを好転させるのに役立つ貴重な洞察を提供している。
-
TDD/BDDは不完全なユニットテストを招くか?
Peter Ritchie氏は、TDDやBDDにこだわることで、良いユニットテストを書かなくなる傾向があるのではないか、という懸念を表明した。特に「インタラクションテスト(interaction testing)」というマントラは、不完全なユニットテスト、すなわち、どのような条件下で利用されても稼働するユニット(オブジェクト)である、という証明ができていないテストをもたらすと述べている。Peter氏の考えで最も興味深いのは、TDDとBDDのそもそもの意図に対する反対意見と受け取れるところだ。
-
Rhino on Rails をより深く知る
Dion Almaer氏はRhino on Railsの生みの親であるSteve Yegge氏とのインタビューをpodcastとして配布している。Yegge氏の初期のブログ投稿はソフトウェア開発者達のコミュニティから多くの支持を得ていた。Rhino on Railsは有名なRuby on RailsフレームワークのJavascriptへの移植である。今はまだGoogle内部でのみ使用されているが、Steve Yegge氏と彼のチームは今夏にはオープンソース化したいと考えている。
-
Review Board - コードレビューをオンラインで
コードレビューは品質を高め、情報共有とメンターシップの優れた方法となる。 残念なことにこれまではサポートツールの準備に手間がかかったりそもそも準備されなかったせいでコードレビューは後回しにされることが多かった。Review Boardはコードレビューのプロセスをサポートするアプリケーションによってこの状況を変えようとしている。このアプリケーションのいくつかの機能をあげよう。
-
eコマースにおけるOSS・SOA・Web2.0
この数ヶ月、マッシュアップ用フレームワークによってSOAとWeb2.0の間に橋渡しが始められ、IBMやWSO2といった企業の新製品は、RESTfulリソースやWebサービスとWeb 2.0なユーザーエクスペリエンスとを結びつけることに最も注力している。
-
XMPPはクラウドサービスの将来像か?
プッシュアーキテクチャ対プルアーキテクチャの議論が再び活発になってきている。この発端は、Jive SoftwareのCTOであるMatt Tucker氏が、次のように、XMPPのプッシュベースアプローチがクラウドサービスの将来像であると宣言したことだ。
-
Flex・Flash開発用のサードパーティ製ツール
Flex開発プラットフォームへの関心が高まる中、業界も各種ツールでサポートを始め、開発者はAdobe Flex Builder IDE以外の選択もできるようになりつつある。
-
Lively Kernel:Webプログラミングは最初からどのようになされるべきであったか?
Sun Microsystemsによって開始された試験的なプロジェクトであるLively Kernelは、JavaScriptによって記述された新たなWebプログラミング環境である。従来のデスクトップアプリケーションには当たり前であるインストールやアップグレードを必要とせず、豊富なグラフィックスや直接的な操作機能でデスクトップ型アプリケーションをサポートする。
-
Apache Wicket 1.3.1のリリースで透過性クラスタリングをサポート
WicketチームはWicket 1.3.1を発表した。Wicket 1.3の初めてのメンテナンスリリースである。1.3.1では、すぐに使用可能な透過性クラスタリングサポートが追加された。
-
Grails 1.0 リリース: ORM DSL、フィルタ、RESTおよびその他投稿者
Grails 1.0がリリースされたことが、プロジェクトのメーリングリストGraeme Rocher氏のブログおよびGrails.orgで発表されている。InfoQでは、Graeme Rocher氏に話を聞いた。Graeme Rocher氏は、Grailsプロジェクトのリードであり、G2Oneの創設者の一人かつCTOでもある。