SHOEISHA iD

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

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

最新イベントはこちら!

Security Online Day 2025 春の陣(開催予定)

2025年3月18日(火)オンライン開催

Enterprise IT Women's Forum

2025年1月31日(金)17:00~20:30 ホテル雅叙園東京にて開催

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

お申し込み受付中!

EnterpriseZine(エンタープライズジン)

EnterpriseZine編集部が最旬ITトピックの深層に迫る。ここでしか読めない、エンタープライズITの最新トピックをお届けします。

『EnterpriseZine Press』

2024年秋号(EnterpriseZine Press 2024 Autumn)特集「生成AI時代に考える“真のDX人材育成”──『スキル策定』『実践』2つの観点で紐解く」

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
  • X
  • Pocket
  • note
JAX-RSで実践!JavaでRESTful Webサービス連載記事一覧

もっと読む

この記事の著者

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

UFJIS株式会社三菱UFJフィナンシャルグループ(MUFG)の100%出資子会社。銀行、信託、証券、カード・信販、リースなど幅広い金融サービス機能を有する総合金融グループであるMUFGグループ各社の総合金融サービスをIT面から支える金融ITのリーディングカンパニー。斉藤 賢哉UFJIS株式会社、オープンプラットフ...

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

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

この記事をシェア

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

Job Board

AD

おすすめ

アクセスランキング

アクセスランキング

イベント

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

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

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

メールバックナンバー

アクセスランキング

アクセスランキング