Javaフレームワークを活用したWebシステム開発、CMSパッケージの開発のSTSD株式会社~東京都渋谷区恵比寿~
HOME 事業内容 Webシステム開発

Webシステム開発

自社開発のフレームワーク

 システムを開発する上で標準化というのは、作り出すまでのスピードと作業工数、完成した後の品質、運用フェーズでの保守工数にいたるまでシステム開発を行ううえで、コスト、品質、スケジュールすべてに大きな影響を与えます。

標準化を行い、ルールを策定することで開発に携わる担当者が変わっても、そのルールに沿って開発行うことで保守性の高い高品質なソフトウェアを作ることが実現できるようになります。


 つまり、システム開発を実施するうえで、標準化はコスト、品質、スケジュールを左右すると言っても過言ではありません。

 一般的にシステム開発における標準の範囲はネーミング・ルーグ、コーディング・ルールなどの基本的なものと「フレームワーク」と呼ばれる開発の土台となる共通基盤のことをさします。
 フレームワークには、アプリケーションを開発うえで、土台となるパターン、繰り返し利用される処理のモジュール化による再利用の促進、トランザクションなどクリティカルと呼ばれる部分の局所化など開発の標準化をより具体的に実現するために利用されるプログラムの土台です。

 フレームワークには、言語、アプリケーションの種類により、またオープンソースのものからベンダーが独自に開発をしたものさまざまなものが存在しています。
 オープンソースのフレームワークは、そのまま適用すれば、ビジネスロジックが標準化でき、省力化、品質の向上までが見込めるというものは少なく、そのフレームワーク上でビジネスロジック部分を作りこむ必要があるため、現実はオープンソースベースの上に個々にフレームワークを構築しているのと同じになるケースが多いようです。

 一方でベンダー、メーカーのようなビジネスアプリケーションを中心に開発している開発者が作成したフレームワークは、トランザクション、ログ出力などクリティカルな部分は実装されており、開発者はそれらを再度作りなおす必要はありませんが、フレームワーク自身が強固なルールの塊となり、たった一つの単純な処理を行うために複雑なフレームワークのルールに沿って書かないとならない、あるいはそのフレームワークだとそういうアプリケーションは作れない、ということもあります。
 

このようにさまざまな種類があるフレームワークですが、オープンソース、ベンダー開発のものでも一長一短あるのが現実です。

オープンソース・フレームワークの特徴 ベンダー提供のフレームワークの特徴
  • プログラム設計上のデザインパターンと呼ばれるものをある程度あつめたもの
  • トランザクション処理などクリティカルな部分は独自に実装する必要がある
  • 単体ではアプリケーション全体をカバーできず、複数のフレームワークを組み合わせる必要がある。
  • 膨大な種類があり、バージョン互換性も維持されないケースが多い
  • ドキュメントが多い

  • プロジェクト全体の一プロセスと考えられるので上流工程のドキュメントと深く関連付けられている場合がある
      (上流工程のドキュメントありきで作成されているため。ドキュメントがないと開発できない、というケースもある)
  • ミッションクリティカルな部分は実装済み
  • 各社の経験、思想に基づき構成され、均一のスキルで開発できるようになっていることが多いが手順が複雑になりすぎ、余分な工数がかかるというケースも多々ある
  • ドキュメントはベンダー依存

STSDでは「よいフレームワーク」は下記のように考えています。 
 

  • 利用者が書くべきことだけに注力ができるように設計されている。 
  • フレームワーク側で行えることはフレームワーク側で処理をし、人が作らなくてはならない作業を減らすことができる。
  • 分かりやすく簡潔である。 
  • 利用者(開発者)の視点に立ち設計、作られていること。


フレームワークはツールであり、それらを適用、開発することが目的ではありません。それを利用することで、無駄を省き、開発生産性、品質を向上できるもの、と言えるでしょう。

 STSDでは代表の鴻田がフリーエンジニアとして日本IBMの大規模プロジェクト用に開発、適用してきたフレームワークを使用し開発を行っています。

 このフレーワムークは誕生してから、数度の大改定を経ています。その過程では、開発者100人超規模のシステムなどにも適用され、延べ300人以上の開発者の経験により育くまれたものです。
 プロジェクトへの適用前には綿密な開発ルール、コーディングガイドなどを用意し、協業ベンダーの開発者からの要望、意見などを慎重に取り入れ、より使い易く、無駄のないフレームワークへと進化しました。フレームワークとしての根本的な部分は2004年に完成し、以降はバージョン互換性を維持しながら今でも多数のシステムに利用されておりまた、これをベースにしたフレームワークも開発者により作成されています。

 STSDでは、この多数の実績と多くの開発者により支えられたフレームワークを標準として利用することにより、大規模Webプロジェクトと同じ品質、開発生産性を維持したシステム開発を行っています。

お問い合わせはこちら