エンジニアがコンピューターのシステムを開発する場合に、「オープン系」と「汎用系」の2種類の開発方法があります。
そのふたつの名前は時々出てくるけれど何が違うのか、あるいはそれぞれの特徴がよくわからないという人も多いのではないでしょうか。
しかしこのふたつの系統には、実は根本的な違いがあり、それによって新旧の交代が相当進んでいるのです。
この記事では、オープン系と汎用系の開発方法について、その違いやそれぞれの特徴をわかりやすく解説していきますので、これを機にITの基本情報としてしっかり理解しておいてください。
目次
汎用系とは汎用機を使う開発方法
開発の仕事で、あらゆる工程に欠かせないのがコンピューターです。
「汎用機」や「汎用コンピューター」と名付けられたホストコンピューターを使用して行うのが、汎用系の開発方法となります。
ハードウェアに特化した開発であり、それに従事するエンジニアに求められるのはホストコンピュータについての深い知識です。
ここでは汎用系の開発方法について解説していきましょう。
専用機から汎用機へ
コンピューターの歴史を遡れば、汎用機が登場するまで企業や官公庁、研究所などの組織で使われていたコンピューターとしては、科学技術計算や商用計算など、それぞれの目的に特化した「専用機」と呼ばれるものを使用していました。
つまり、従来は情報処理の目的ごとに、使用するコンピューター機器を使い分ける必要があったのです。
そこに登場したのが、汎用機のコンピューターでした。
汎用機は文字通り、汎用的に情報処理ができるコンピューターです。
一方、専用機は使用する分野にそれぞれ特化しているとはいえ、共通している部分があります。
その共通部分を軸として、後は分野に適したソフトウェアを導入することにより多目的に使えるようにしたのが汎用機です。
一躍開発方法の主流に
ソフトウェア部分を書き換えることにより、1台のコンピューターでさまざまな目的の情報処理作業に対応できるようになったことは、当時としては革命的な進歩でした。
従来の専用機と比べて演算処理能力もはるかに高く、開発に用いるコンピューターとしての主流になったのです。
汎用系とはこれを用いた開発方法であり、専用機を何台も導入する必要がなくなったので、大幅なコストダウンが可能になりました。
ただし、汎用機はすべての情報処理を1台でこなすため、情報の相互運用ということができません。
柔軟な応用力においては、後発のパーソナルコンピューター、いわゆるパソコンに比べるべくもないのです。
パソコンの目覚ましい普及と性能の向上により、近年のオフィスで使われるコンピューターは汎用機からパソコンに大幅にシフトしてきました。
システムを開発する方法においても、その傾向は例外ではなかったのです。
オープン系はパソコンベースによる開発
オフィスで使用されるコンピューターとしてパソコンが主流になっていくにつれ、汎用機の導入や管理、維持にかかわるコストの高さが指摘され始めました。
システムの開発においても、それまでの汎用機による開発をパソコンによるものに移行しようという動きが生まれたのです。この動きは「マイグレーション」と呼ばれています。
汎用系の開発は、1台のコンピューターで完結するクローズドといえるものでした。一方、パソコンを使った開発は公開されているパソコンの技術仕様を参照しながら「オープン」に開発します。
その背景によって、パソコンをベースとする開発方法がオープン系と名付けられたのです。
UNIXやWindowsをベースにしているパソコンは年々価格が低くなり、導入コストが抑えられるようになりました。その上、常にアップデートがおこなわれているので、能力低下の心配があまりありません。
オープン系と汎用系を徹底比較
オープン系と汎用系の違いを、コストやクオリティ、言語や人材の供給などで比較してみましょう。
開発コストの圧倒的な違い
オープン系も汎用系と共通するのは、何でもできるという面です。
一方、圧倒的に違うのはコストパフォーマンスの良し悪しといえるでしょう。
汎用機というのは非常に価格も高く維持費もかなりかかるため、時代の変化の中でコストパフォーマンスが悪い開発方法だと認識されるようになりました。
技術革新が進んで汎用機と同レベルの性能を持ったパソコンが汎用機よりもはるかに安価で登場したことにより、オープン系の開発方法が汎用系に取って代わる時代がやってきたのです。
前述のようにパソコンのOSは、絶えずアップデートが行われているため、能力が著しく低下していくということが起こりにくいのですが、それでいてかかるコストは、汎用機と比べて格段に低くなります。
つまり、性能面で差が見られないにもかかわらず、圧倒的にコンピューターの調達や管理・維持においてローコストである面こそ、オープン系の開発方法が急速に普及した大きな要因といえるでしょう。
プログラミング言語とそれを使えるエンジニアの人材不足の問題
オープン系と汎用系の違いは、コストの圧倒的な差だけではありません。実は使用する言語も違うのです。
汎用系は、基本的に使用する言語がCOBOLに限られてきます。最近では、COBOLというプログラミング言語を知らない人も多いことでしょう。
汎用系が減少している原因のひとつは、COBOLを使いこなせるエンジニアが不足しているというものです。
汎用系の開発方法でしか使用する機会がほとんどないに等しく、その汎用系の案件自体がどんどん減少している現在では、新たに学習する必要はないとされています。
COBOLを扱える人材が、益々減ってきたのは必然的なことです。
オープン系の開発で使用される言語は、数多くあります。
以前からよく知られているものとしてはJavaやC言語、あるいはJavaScript、PHPなどです。
オープン系はパソコンを基に開発するので、OSが使用できます。OSが使用できると、それだけ使える開発ツールも多いということです。その結果使用できるプログラミング言語も幅広くなります。
近年ではRubyやPythonなどのプログラミング言語が使用されることが多く、さらに新しい言語も増えつつあるのです。
オープン系と汎用系のエンジニアにおける仕事内容の違い
エンジニアの仕事の内容も、これらふたつの系統では異なります。系統ごとに見ていきましょう。
大手企業の基幹システムを作る汎用系エンジニア
汎用系エンジニアは、メインフレームと呼ばれる大型の汎用機に搭載するプログラムを開発する役割を担う職種です。メインフレームは、膨大な個人データを処理する場合に欠かせません。
主に銀行や保険会社などの金融関係における顧客のデータベースや製造業の製品や部品の管理、運輸会社の座席予約システム、流通企業のPOSや商品データ管理などの情報処理の現場で用いられました。
つまり大企業の基幹システムに適していたといえるでしょう。
これは個々のクライアントのニーズに合わせて、個別に開発しなければならず、求められるのは優れた処理速度です。
そして、汎用系でのソフトウェア開発において高速処理が可能であるのは、マシン語に近い言語にコンパイルされるからといえるでしょう。
担当するエンジニアは、プログラミング言語の卓越したスキルが要求されます。
開発というものの草創期から存在する職種ですが、オープン系に移行する企業が増えるにつれて人材ニーズも減少傾向が強まっているのも事実です。
では、次にオープン系エンジニアの仕事内容に目を向けてみましょう。
あらゆる規模の企業の業務効率化システムを作るオープン系エンジニア
一方、オープン系のエンジニアにおいては汎用系エンジニアとは大きく異なり、大企業向けのハードウェアに特化した開発は手掛けません。企業の規模は問わず、主として業務効率化を促すアプリケーションを開発するのが仕事です。
現代のビジネスの現場では、パソコンおよびインターネット環境を最大限に利用して、業務の効率化を目指す傾向が顕著になっています。
そのうえオープン系の開発では汎用系よりも価格優位性があって、中小企業が導入しやすくもあり、多くの企業に自社システム導入の門戸を開いた感があるのです。
近年では売上や在庫、経理などの管理業務はエクセルのような管理ソフトで行うこともできます。
しかし、その効率をさらに大幅に推しすすめてシステム上で行えるような開発を、オープン系エンジニアが行なっているのです。
そういったオープン系エンジニアの担う業務システム開発の仕事によって、自社システムを導入する動きが産業界で活発になったといっても過言ではありません。
そのため、汎用系エンジニアと比較して需要ははるかに多く、安定して働きたい人にとっても、オープン系エンジニアの仕事は向いているといえるでしょう。
オープン系と汎用系の今後の見通し
ここまで見てきたように、汎用系の開発に関して時代遅れの感は否めません。
とはいえ、すべての開発がオープン系であるというわけではないのです。
企業によっては、現在でも汎用機を使用している場合もあります。
しかしながら、コストは高い、柔軟性に欠ける、専用のプログラミング言語を扱えるエンジニアが不足しているなどを考え合わせると、今後は需要が先細りすると考えて差し支えないでしょう。
オープン系の開発は、今後さらに普及していくのは間違いありません。
前述のようにプログラミング言語は増加しつつあり、さらに業種ごとの開発プロセスがパッケージされたものも出てきています。
新たにオープン系の開発を開始するための導入コストは、さらに抑えられるようになるでしょう。
まとめ
オープン系と汎用系の根本的な違いや、それぞれの系統の特徴を解説しました。
汎用系からオープン系への世代交代が進んできたのは、そのままコンピューターの進化の歴史とリンクしているのです。
汎用系の需要はゼロになることはないかもしれませんが、今後ITの世界で仕事を始める人たちにとっては、学ぶ必要性が極めて希薄になっています。
これからエンジニアへの転職を考えているみなさんは、汎用系に関しては知識として理解した上で、オープン系の開発ノウハウを身につけていってください。