• このページを含むはてなブックマーク
  • このページをはてなブックマークへ追加

1. イースリーメソッドの概要

概要

Webアプリケーション開発の現場においては、技術の変化が激しく、また、クライアント様のご要望も変化に富んできています。そうした変化に富んだ市場の中で、システム不具合に関するニュースが報道されることが増え、企業の発注担当者様におかれましては安心してシステム開発の依頼ができないという状況が続いております。

イースリーでは、成功させることが難しいといわれているWebアプリケーション開発の現場で、品質の良さを追求することに調査・研究の時間をかけて参りました。またコストの削減を実現する様々な体制を築き、変化に富んだ業界への対応のための新技術を積極的に採用し、これらの取り組みを融合することで、クライアント様へ最高の成果物を提供することができるようになりました。

イースリーメソッド概念図

2. 徹底した品質維持 & コスト削減の努力

フレームワーク

どのようなWebアプリケーション開発にも必要なロジックというものがございます。データベースへの接続やセッションの管理などがその例です。これらの処理をフレームワークとして用意しておくことで、どの担当者でも同じ処理で実装することができるようになっております。そのため、ソースコードの可読性が高く担当者に依存せず、メンテナンスもしやすいソースコードとなります。

※イースリーの独自開発フレームワークです。
※PHP5からはZendFramework を採用しています。

コーディング規約

コーディング規約を遵守することで、担当者のレベルに依存した開発から脱却し、どの担当者でも一定の水準以上のソースコードを記述することができるようになっております。

また、規約があることで、お互いのソースコードが読みやすくメンテナンスもしやすいソースコードとなります。

PHPUnit

PHPUnitという単体テストツールを導入することでテストの一部を自動化しております。単体テストツールの導入により、開発の初期段階でのバグを最小限に抑えることができます。また、最終テストフェーズにおいてプログラムを修正した際にもテストが自動的に行われるため、新たなバグの混入(デグレード)の発生も最小限に抑えることができます。

Mantis

テストフェーズの進捗は細かく管理する必要があるため、Mantisというオープンソースのバグトラッキングツールを導入しております。このツールで開発者間でバグの共有がスムーズに行えるようになっております。クライアント様のご要望に応じて、このツールを使ってバグの状況及び修正の進捗を公開することで、クライアント様と開発担当者の間で情報を共有することも可能です。

Subversion

中規模以上の開発においては、Subversionというバージョン管理ツールを導入しております。複数のメンバーで同じソースコードに手を入れる場合でも、先祖帰りすることがないため、お互いの作業に縛られることなく、自分自身の作業に集中することができます。また、いつ作業したバージョンにも戻ることができるため、過去に動作していたところから複数のカスタマイズに分かれた場合でも、すっきりとしたソース管理を行えます。

※先祖帰り
お互いの作業でソースコードを上書きしてしまい、自分やった作業が無駄になってしまうこと。

セキュリティガイドライン

Webアプリケーション開発で基本となるセキュリティポリシーに関してまとめております。例えクライアント様からの明示的な機能要求がなくとも、高いセキュリティを維持した品質を提供できます。
詳細はセキュリティガイドラインのページをご覧ください。

3. 新技術への挑戦

XML/Webサービス

最近増加しつつあるAPIの公開に合わせて、それらのサービスを利用したり、既存サービスと連携させることで新しいサービスを作り上げることを行っております。
詳細はイースリーラボをご覧ください。

Yaholet!
Yahoo!APIとJavaScriptを組み合わせ、ブラウザ内の選択したキーワードをお気に入りからYahoo!検索できるツール
Milckr
FlickrAPI(写真共有サービス)とAjaxを組み合わせ、自分のお気に入りの写真を取り出せる、写真収集ツール
大会に天気予報を!
livedoor天気予報を利用して、フットサルの大会情報サイトに、現地の天気予報を表示するようにしました。
リスティング広告
Amazon Webサービスを利用して、フットサルのECサイトに、フットサルに関連する書籍及びDVDの売れ筋商品を動的に表示するようにしました。

Ajax

googleMaps での採用を機に、にわかに注目を浴びている技術。
JavaScriptとXMLを使うことで、サーバサイドのアプリケーションとシームレスに連携させることが出来るようになり、今までにない使いやすいユーザーインターフェースを提供する技術。

ビジネスサイトにおいてもいち早く対応できるように、調査研究を進めています。

Perl-Framework

PHPに関しては自社フレームワーク(* PHP5 からはZend Frameworkを採用しています)を構築しての開発を進めておりますが、Perlに関しては市場に良いフレームワークが存在しておりますので、それらの採用に対して積極的に取り組んでおります。弊社の開発スタイルに一番フィットするフレームワークで効率の良い開発を推進いたします。

リファクタリング

リファクタリングとは、既存の機能をまったく変更せずに、ソースコードを読みやすくまた柔軟性を向上させるために行う作業です。既存のシステムのソースコードを読み解き、再設計し、新しい機能を追加しやすく、また他の担当者へ引継ぎやすく再構築を行います。

comnit
ベースとなっていたSNSのエンジン機能を見直し、多岐にわたるクライアント様の要望に応えられるべく、リファクタリングを行い、comnitという新しいエンジンとして生まれ変わりました。

大規模サイト構築に向けて

トラフィックの大きい大規模サイトの構築にはスケーらビリティを確保したインフラが必要ですが、Webアプリケーションの仕組みの面からも考えなくてはならないてんがたくさんあります。高トラフィックに耐えられるよう、以下の研究を行っております。

mod_perl
PerlをCGIとして動作させるのではなく、Webサーバ(Apache)のモジュールの一部として動作させることで、高いパフォーマンスを得る技術です。
Apacheの拡張
Apacheのモジュールの拡張で、PHPやPerlでの処理ではなくWebサーバ自身で処理をさせることで、高速化をはかることができます。そのほかにもmod_proxyなどのApacheのモジュールも最大限に活用し高速化、負荷の低減を実現します。

IT業界への貢献と、技術への探求

  • OpenSourceProject (SourceForge への参加)
  • CPAN への参加 (Perlモジュールポータル)
  • PEAR への参加 (PHPモジュールポータル)