ハードウェアはLinuxかWindows Serverに大きく分けられ。データベースはOracle、SQLServer、MySQLが候補にあがるだろう。
Linuxは幾つかのディストリビューションに分かれる。
システム構築は、開発グループと基盤グループに分かれる。開発グループは、システム構築にあたるシステムエンジニアやプログラマー。基盤グループは、その名の通りインフラを構築するインフラエンジニアってことになる。
当業界を希望する人の多くは、IT業界=プログラム開発と思うようだが、このインフラエンジニアは目立たないが非常に重要だ。ネットワークエンジニアと記載すれば分かると思うが、SEに負けず劣らず業界で活躍できる。このあたりの詳細は別に記載する。
これまでのシステムがレガシーマシンであれば、複数あるディストリビューションのいづれかのLinux、もしくはWindowsかWindows Serverと考えれば良いと思う。
既にハードウェアが Linux、Unix、Windowsで動作しているのであれば、ハードウェアを最新にバージョンアップするってことになる。
「既にJavaで稼働しているけど、システムが古くなったので一新したい。次の言語は何が良いの?」と問われたら、Javaで構築しているなら 今はやはりJavaだろう。Javaそのものを最新にバージョンアップし、最適なフレームワークを導入して再構築する。ーーーが個人的な答えになる。
これまでレガシーシステムで動いていたシステムを、そのままJavaを使ったオープン系で作ろうとすると、そもそも設計思想が異なるため大抵失敗する。
COBOL技術者はCOBOLの思想、Java技術者はJavaの思想で考える。それぞれのシステムロジックは異なる。ファイル概念さえも異なる、COBOLソースをそのままJavaに置き換えれば済むと思うなら大間違いだ。話はそんな単純ではないのだ。