パーソナルツール
現在位置: ホーム サービスのご案内 ソフトウェア開発 使用技術

使用技術

 弊社ではフリーソフトウェア、オープンソースソフトウェアを積極的に活用したソフトウェア開発を行っています。とはいえ、プロプライエタリなソフトウェアを排除するわけではなく、総合的に判断した上で使用しています。

 なお、以下ではとくに断りがない場合はフリーソフトウェアやオープンソースソフトウェアを指します。

実装(Webアプリケーション)

 実装言語としては、PythonJavaPHPPerlを採用しています。とくに指定や制約がない場合は、PythonかJavaのいずれかを状況に応じて選択しています。

 Pythonであれば、フレームワークとしてDjangoを、WebサーバとしてApache+mod_wsgiの組み合わせを採用しています。

 Javaの場合は主にSpring FrameworkHibernateStruts2といったフレームワークの組み合わせを使用しています。アプリケーションサーバとしては主にTomcatを採用しています。

実装(その他)

 トータルなシステムとしては、OSとアプリ間の調整役や、運用サポートなどの目的でこまごまとしたツールが必要になりますが、そういったものは基本的にPythonか、必要に応じてJavaで実装しています。

 サーバアプリケーションについては、速度やメモリ効率などがきわめて重要な場合にはCにより実装しています。そうでもない場合はPythonかJavaで実装しています。

 GUIアプリケーションについては、PythonかJavaを使用してマルチプラットフォーム環境として実現します。PythonであればwxPythonを用いています。Javaではケータイのiアプリの実装も可能です。

OS

 基本的にLinux/UNIXを使用しています。LinuxディストリビューションはDebian GNU/Linuxを採用していますが、Linux/UNIXとしての基本はおさえているため、他のディストリビューションでも対応可能です。UNIXではSolarisの構築経験があります。

 Windowsは開発環境としてのみ利用しています。しかしながら、PythonやJavaによる実装であれば、多くの場合そのままWindowsでも動作します。実行環境まで含めたトータルなシステムとしてはWindowsには対応していません。

データベース

 RDBMSとしてはPostgreSQLMySQLSQLiteのいずれかを用途や制約に応じて使用しています。業務システムであればPostgreSQLを使うことが多いです。また、プロプライエタリなものとしてはOracleを採用しています。

 最近ではそうでもないのですが、10年以上前ですとクリティカルな用途ではやはりOracleを採用していたため、Oracleの経験がもっとも豊富です。PL/SQLによる開発や、RACマルチマスタなど、エンタープライズ環境での構築経験があります。

モデリングツール

 要求分析からモデリング、スキーマ設計などにおけるUMLモデリングツールとしては、Enterprise Architectを採用しています。プロプライエタリな有償のソフトウェアではありますが、低価格ながらも使いやすいUMLモデリングツールです。無料のビューアもあります。

 その他の図、たとえばネットワーク図などはMicrosoft Office Visio(2003)によって作図しています。これもプロプライエタリです。

その他

 バージョン管理システムとしては、MercurialSubversionCVSを使用しています。とくに指定がなければMercurialを利用しています。

 イシュートラッカー(バグ追跡ツール)としては、Tracを利用しています。

 ドキュメントはWikiにより開発中のメンバー間で共有しています。WikiシステムとしてはMoinMoinを利用していますが、TracのWiki機能も利用しています。

ドキュメントアクション