SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

EnterpriseZine(エンタープライズジン)編集部では、情報システム担当、セキュリティ担当の方々向けに、EnterpriseZine Day、Security Online Day、DataTechという、3つのイベントを開催しております。それぞれ編集部独自の切り口で、業界トレンドや最新事例を網羅。最新の動向を知ることができる場として、好評を得ています。

直近開催のイベントはこちら!

Security Online Day 2022

2022年9月16日(金)10:00~17:10

EnterpriseZine(エンタープライズジン)編集部では、情報システム担当、セキュリティ担当の方々向けの講座「EnterpriseZine Academy」や、すべてのITパーソンに向けた「新エバンジェリスト養成講座」などの講座を企画しています。EnterpriseZine編集部ならではの切り口・企画・講師セレクトで、明日を担うIT人材の育成をミッションに展開しております。

お申し込み受付中!

JAX-RSで実践!JavaでRESTful Webサービス

RESTful Webサービスの特徴


本連載では、「RESTful Webサービス」によるアプリケーション連携の特徴と、JavaでRESTful Webサービスを実現するためのAPIである「JAX-RS」の使用方法を解説します。 まず連載1回目の今回は、様々なアプリケーション連携のアーキテクチャを考察し、本連載のテーマである「RESTful Webサービス」の特徴的な点を解説します。  

アプリケーション連携アーキテクチャ

 エンタープライズシステムでは、複数のアプリケーション同士が連携して、一つの業務取引を成立させるケースが多いでしょう。連携を行う相手のアプリケーションは、同じ企業内における他部門のアプリケーションかもしれませんし、他の企業のアプリケーションかもしれません。いずれにしても、アプリケーション連携を行うためには、何らかの通信プロトコルによって相手のアプリケーションと接続し、お互いのアプリケーションにとって都合の良いメッセージフォーマットで、データの送受信を行う必要があります。

 本節では、アプリケーション連携のための様々なアーキテクチャを紹介します。なお、本連載では、アプリケーション連携において、呼び出し元となるアプリケーションを「リクエスタ」、呼び出し先となるアプリケーションを「プロバイダ」、プロバイダが提供する機能を「サービス」、リクエスタが送信するメッセージを「要求メッセージ」、プロバイダが返送するメッセージを「応答メッセージ」という呼称で統一します(図1)。

図1:本連載で使用する名称
図1:本連載で使用する名称

 さて、Javaでアプリケーション連携を行うための方法を、通信プロトコルとメッセージフォーマットに着目して分類すると、以下のようになります。

  1. Java-RMI
  2. EJBリモート呼び出し
  3. HTTP連携
  4. SOAP Webサービス
  5. RESTful Webサービス
  6. JMS

分散オブジェクト技術

 上記の1.~6.のうち、Java-RMI(1.)とEJBリモート呼び出し(2.)は、「分散オブジェクト技術」と呼ばれています。後述するSOAP Webサービス(4.)も、広義の分散オブジェクトと位置付けることができます。

 分散オブジェクト技術では、プロバイダが提供するサービスのインタフェースを、何らかの記述言語によって表現します。そしてリクエスタでは、そのインタフェースを取り込み、ツールによってプロキシ(スタブと呼ばれることもあります)を自動生成します。リクエスタでは、自動生成されたプロキシに対してプログラミングを行うことで、通信プロトコルやメッセージフォーマットをまったく意識することなく、物理的に離れた位置にあるアプリケーション(=プロバイダ)のサービスメソッドを呼び出すことが可能になります。

RPC

 このように、プロキシを利用することによって、物理的に離れた位置にあるアプリケーションのメソッド(リモートメソッド)を、ローカルメソッドと全く同じように呼び出す手法は、古くからRPC(Remote Procedure Call)と呼ばれてきました。

 Java-RMIやEJBリモート呼び出しを利用すると、リクエスタは容易にプロバイダにアクセスできますが、これらの技術の適用は、あくまでもリクエスタ・プロバイダ双方がJavaであることが条件です。また、通信プロトコルはRMIになるため、インターネット越しのサービス呼び出しは難しいでしょう。

次のページ
HTTP連携

この記事は参考になりましたか?

  • Facebook
  • Twitter
  • Pocket
  • note
JAX-RSで実践!JavaでRESTful Webサービス連載記事一覧

もっと読む

この記事の著者

UFJIS 斉藤賢哉(ユーエフジェーアイエスサイトウケンヤ)

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

EnterpriseZine(エンタープライズジン)
https://enterprisezine.jp/article/detail/712 2008/10/23 14:28

Job Board

PR

おすすめ

アクセスランキング

アクセスランキング

イベント

EnterpriseZine(エンタープライズジン)編集部では、情報システム担当、セキュリティ担当の方々向けに、EnterpriseZine Day、Security Online Day、DataTechという、3つのイベントを開催しております。それぞれ編集部独自の切り口で、業界トレンドや最新事例を網羅。最新の動向を知ることができる場として、好評を得ています。

2022年9月16日(金)10:00~17:10

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング