Javaプログラミング/サーバサイド&ケータイJava

サーバサイドって、なに?(2ページ目)

「Javaはサーバサイドの開発に多用される」っていうけれど、サーバサイドって一体、何でしょうね?

執筆者:掌田 津耶乃

サーバサイドと普通の開発の違いは?


Javaでは、ウインドウやメニューを持った一般的なアプリケーションも作ることができます。こうした普通のアプリケーション類と、サーバサイドの開発では何がどう違うのでしょう。これもいくつか特徴を整理してみましょう。
サーバマシンは、サーバ・プログラムから必要に応じて他のプログラムを実行したり、スクリプトという簡易言語を実行したりして動いている。この「サーバ側で動くプログラム」を作るのがサーバサイドの開発だ。

●HTML/CSS/JavaScriptは必須!
JavaのプログラミングだからJavaだけわかればいい、なんていうことはサーバサイドでは通用しません。サーバサイドに携わる場合、プログラミング言語云々の前に「HTML」「CSS」はわかっているのが当たり前と考えられます。これに加え、「XML」や「JavaScript」も基本程度はわかっているのが前提と考えてよいでしょう。この他、テキストの処理を行うための「正規表現」、データベースアクセスのための「SQL」といったものの知識が必要になります。というより、これらがごく普通に使えないとサーバサイドの開発は不可能なのです。

●サーバサイドは非GUIの世界?
最大の違いは、これでしょう。サーバサイドは、サーバの中の見えないところで動くもの。ってことは、画面に表示して操作するようなGUI(ウインドウとかメニューなど)は一切持っていないのです。ということは? かなり地味~なプログラムであることは確かですね。

サーバサイドで行われる処理のうち、もっとも重要なのは「テキストの処理」と「データベースアクセス」でしょう。必要なデータをやり取りし、それらを元にウェブラウザに表示するHTMLのソースコードを生成して送り出す、というような作業です。これがサーバサイドのプログラムの大半を占めます。

●プログラミング以外の知識が必要
サーバサイド開発では、単にプログラミングができるというだけではいけません。ネットワークとサーバに関する知識が必要になります。また、最近ではこれに加え、XMLの知識も必要となることがあります。一般的なアプリケーション開発の場合、単純に「プログラミングの知識があればOK」なのですが、サーバサイドの開発ではそれ以外にも幅広い知識が求められるのですね。

●一般的なJavaをマスターしているのが大前提!
Javaを使った開発の場合、少なくとも「普通のJava」がわかっていないとダメ、と考えてください。普通のJavaとは、要するに普通のパソコンで動くJavaのプログラムのことです。一般に「J2SE(Java2 Standard Edition)」と呼ばれているものです。サーバサイドJavaは、この基本となるJavaの上にさまざまな機能を構築していますので、普通のJavaがわからないとサーバサイドJavaもわかりません。

時々、「サーバサイドJavaからJavaを始める」というような人もいますが、これはかなり特殊な例。日曜大工が高じて自分の家まで建ててしまう人はいますが、「これから日曜大工を始めようと思うので、まず自分の家から建ててみたい」なんて人はいませんよね? そりゃ、不可能じゃないでしょうが……。

ざっと見ればわかるように、サーバサイド開発は、プログラムを組むためのプログラミング言語の知識だけでなく、ネットワークに関する全般的な知識が必要な世界です。またJavaだけでなく、HTMLやJavaScriptといった言語も「使いこなせるのが当たり前」という世界でもあります。サーバサイドJavaを始めようと考えている人は、今のうちからHTMLなどの勉強を始めておくとよいでしょう。それらが無駄になることは決してないのですから。
【編集部おすすめの購入サイト】
楽天市場で Java 関連の書籍を見るAmazon で Java 関連の書籍を見る
  • 前のページへ
  • 1
  • 2
※記事内容は執筆時点のものです。最新の内容をご確認ください。
※OSやアプリ、ソフトのバージョンによっては画面表示、操作方法が異なる可能性があります。

あわせて読みたい

あなたにオススメ

    表示について

    カテゴリー一覧

    All Aboutサービス・メディア

    All About公式SNS
    日々の生活や仕事を楽しむための情報を毎日お届けします。
    公式SNS一覧
    © All About, Inc. All rights reserved. 掲載の記事・写真・イラストなど、すべてのコンテンツの無断複写・転載・公衆送信等を禁じます