クライアントサーバからWebアプリケーションへ

以前の会社では生産管理システムの開発に失敗しましたが、いろいろな実験も行いました。

せっかくSQLServerで開発するのだからWebアプリケーションにも挑戦してみよう。

2001年にはまだそれほどのWebアプリケーションはなく、どのように開発するのかわかりませんでしたが、インターネットで検索するといろいろと出てきます。

  1. IIS(VBScript)
  2. Javaサーブレット
  3. PHP

3つの言語で同じものを簡単に開発してみましたが、いろいろなことが分かってきました。

IISではSQLServerに接続するとき、遅すぎてうまくいきませんでした。またエラー処理もBASIC並みに貧弱です。同じマイクロソフト製品なのに遅すぎます。

Javaは当時は日本語対応されておらず文字化けしまくりです。(現在はそんなことはなかった)

PHPは意外に簡単でCと似ていたため、すぐに開発できました。よってPHPで開発をするようになったのです。

Apache + PHP4で業務システムの開発はできないだろうか?無謀な挑戦だけど・・・。

当時はテキストボックスとボタンがあればどんな開発でもうまくいくと思っていましたが、10年経った今でも同じ思いです。

 

業務システムの選定

前の会社にいた頃、生産管理システムのリニューアルを行うプロジェクトがあり、そちらに参加していました。時期は2000年頃で2000年問題も落ち着き当時DOSで動いていたシステムをWindowsへ移行していました。

全体をリニューアルする時にいろいろな方向性が検討されました。

  1. パッケージソフトの導入
  2. 外部委託してプログラム開発を行う(開発言語・環境を指定)
  3. 独自開発

大体3つの案が出るのはどこの企業も同じだと思います。

案のメリット・デメリットを検証しました。

1.パッケージソフト

メリット

  • すでにある機能を使い、業務をソフトに合わせればすぐに運用ができる
  • 短納期で構築できる

デメリット

  • カスタマイズをすると高額になる
  • 最初に仕様を固めた後、変更ができない(できないわけではないが、業者は嫌がる)
  • 何らかの不具合があった場合、動作環境(パソコンやメットワーク)の影響があるといわれるケースが多い(動作環境に制限が多い)
  • 高い保守料金が掛かる

2.外部委託した場合

メリット

  • 委託したプログラムを後で自分たちでカスタマイズできる。但し保守契約次第ではできない(プログラムソースをもらった場合)
  • 何らかの不具合があった時にソースがあれば、解析して修正できる。
  • 開発言語や環境を指定できる
  • 実運用にあったシステムが開発できる

デメリット

  • 保守契約次第では、ソースの改変ができないケースがあり、直すにもお金がかかる。
  • 委託先が外注に出していた場合、修正などできないケースがある
  • 高い保守料金が掛かる
  • 業者選定が難しい(スキルやプログラミングにより、スピードなど考えないケースがある めちゃくちゃ遅いなど)

3.独自開発

メリット

  • 自分たちで開発する為、細かな仕様が設定でき、後で修正は容易である。
  • 開発言語や環境を指定できる
  • 実運用にあったシステムが開発できる

デメリット

  • 大きなシステムを作る場合、時間がかかる為、ほかの業務があると開発が遅れる
  • 開発業務に専念できる環境がない
  • 他の人のスキルを合わせて開発する必要がある。

当時私たちが行っていたのが、2.外部委託での開発でした。さまざまな意見がありましたが、仕様を固めて業者へ依頼すれば作ってくれるものと思いお願いしてみたのです。

開発環境はVB6 データベースはSQLServerです。

しかしそんなにうまくいくはずがなく、1年以上たってもプログラムは全然できませんでした。

何がいけなかったのでしょうか?仕様をすべて電子でやり取りして社内でも打合せを定期的に行ったのですが、仕様通りに作っているものとこちらは思っていたが、業者側はほとんど作らずそのまま放置していた。出来上がったソースを受け取り社内開発に切り替えて2か月で稼働させる有様です。ほとんど社内で開発したようなもの。でも契約ですのでお金は業者へ払いました。

反省する点として

  • 業者の選定をしっかり行う
  • 定期的に進捗を把握する。(今回のケースでは進捗は確認していましたが、ほとんど嘘の報告でした)
  • 実際にプログラムの動作を見て確認する(業者はVBでSQLServerに接続すらできなかった)

仕様は立派なものを作っても、動かなければただの紙屑です。

SoftEther VPN 1.0の導入

SoftEther VPN  ソフトウェアVPNで簡単にVPNを構築する事が可能です。

http://ja.softether.org/

サーバはLinux OpenSUSEで構築しています。Windowsであれば簡単にできるのですが、外部にWindowsを出すのは難しいのでLinuxにしました。

管理ソフトはWindowsで行います。その為、サーバの構築でいくつか難関はありますが、それが過ぎれば設定はそれほど難しくありません。

グローバルIPアドレスが固定ならそれほど難しくありませんが、そのような環境がない場合、「VPN Azure クラウド型 VPNサービス」を利用することで、社内にサーバを設けるだけで外部との通信が可能です。

どの程度クライアントが接続できるのかわかりませんが、現在10台ほど接続しています。スピード・接続の問題はありません。今後増やしていくつもりです。

すべて無料ですのでお勧めです。

かねやんMySQLAdmin公式サイトを移動しました


長年放置しておりました「かねやんMySQLAdmin」公式サイト(http://www.mmdb.net/m_kaneko/)をこのサイトへ移動しました。

新しい公式サイトはhttp://www.zzz.0t0.jp/?page_id=111になりますので、よろしくお願いします。

今までサイトを置かせていただきました長野大学の前田准教授様ありがとうございます。

ZABBIXの導入

情報システムでは常にネットワークの状態を把握したい方がいらっしゃると思います。しかしPingを常に打ち続けるのは嫌だし、トラブル時に「あそこのIPアドレスなんだっけ?」という事が多々あります。こんな時に自動監視システムです。

ネットワーク自動監視にはいくつか存在します。

  • ZABBIX
  • Hinemos
  • Nagios
  • Hobbit

今回ZABBIXを導入してみた。理由は簡単に導入できそうだったからである。

http://www.zabbix.com/jp/download.php

しかしそれほど簡単ではなかった・・・。環境に大きく左右されるようで、LinuxもCentOSを推薦していたが、Debianで行った。それが間違いだったようで、何かうまくいかなかった。特に日本語がうまく入力できないようであった。

もっと初期に帰り、一番簡単な方法を取った。アプライアンスを使ったほうが簡単です。

https://www.zabbix.com/documentation/jp/1.8/manual/installation/appliance

いろいろなイメージが登録されているので、これを使えば、すぐに試すことができる。しかしダウンロード先ではこのように記載されている「アプライアンスはZabbixの評価目的でも利用できます。現時点では、本番環境で利用することを想定していません。」 折角なのであえてどうなのか試してみます。

今回はHyper-Vで構築し、イメージを入れて立ち上げた。特に問題もなく機能した。

Vyattaの導入(高機能ルータ)

Vyatta  Linuxベースの高機能ルータシステム

http://www.vyatta.org/ Vyattaコミュニティ

Vyattaは低スペックパソコンを再利用する時にルータにする時に有効です。(XPパソコンをルータにする)またはVPNを組みたい時には利用できそうです。しかしコマンドベースでGUIはないのが難点です。WebGUI機能が今後対応するらしいですが、見たことはありません。

このVyattaで驚いたことは安定感です。一度も停止したことはない、非常に安定しています。但し、技術が必要ですので、それなりの覚悟が必要です。

企業で運用する場合、余っているXPパソコンを再利用する時に2台用意して同じ設定を行い、運用することをおすすめします。

 

FreeNAS 8.3.1導入

FreeNAS 8.3.1 FreeBSDベースのファイル共有に特化したシステム http://www.freenas.org/

Windows Server 2003のサポートが近づきファイルサーバをWindows Server 2012へ移行する企業は多いと思います。しかし「ファイル共有だけで100万円を払うのはちょっと・・・」という担当者も多いはずです。

実は以前(8年前)Linux+SMBでファイル共有サーバを作成したことがあります。しかし散々な目にあいました。「ファイルが消えない」などWindowsのファイル操作が時々できなくなったことがあります。またExcelなどのOffice関係を使うと、異常な現象が発生し、実用的ではないようです。

それから月日が流れ再挑戦する意味で、FreeNASへ挑戦してみました。

さてどうなったでしょうか?今後経過を報告致します。