1

私は、サーブレット API と REST API の 2 種類の API を提供する CRM システムを使用しています。どちらも HTTP 経由です。

以前は、REST URL を呼び出し、返された JSON または XML を操作することで、ASP.NET MVC Web アプリケーションから REST API と統合していました。しかし、サーブレット API の意味がわかりません。これらの API を ASP.NET MVC アプリケーションから Web 経由で呼び出すことができますか、またはこれらの API を Java アプリケーション内で呼び出す必要がありますか?

私の質問が誰かにとって些細なことであると思われる場合は申し訳ありません。

4

1 に答える 1

3

Java Servlet API は、サーバー側プログラムの実装に使用される一連のクラスを指します。主なプレーヤーはServletです:

サーブレットは、Web サーバー内で実行される小さな Java プログラムです。サーブレットは、通常は HTTP (HyperText Transfer Protocol) を介して、Web クライアントからの要求を受け取り、応答します。

非常に単純化したアナロジーが必要な場合、サーブレットはCGI (Common Gateway Interface) の Java バージョンです。

REST API は、Web のアーキテクチャを完全に使用してアプリケーションを構築する方法です。REST の詳細はすべて脇に置き、大幅に単純化すると、基本的には HTTP API になります。

HTTP API を構築する場合は、サーブレットを使用できます。したがって、サーブレットを使用して REST API を構築することもできますが、サーブレットは「低レベル」のコンポーネントであり、作成する必要があるすべてのボイラー プレート コードから保護するものは何もないため、それに代わるより良い方法 ( JAX-RSなど) があります。

もちろん、他のクライアント (ASP.NET MVC など) からサーブレット API の上に構築された Java アプリケーションを呼び出すこともできます。そのために作られました。このため、あなたの CRM システムがサーブレット API と (別の!?) REST API によって正確に何を意味するのか、私にはよくわかりません。

編集 : ManageEngine サービス デスクプラス API について読んだ内容に基づいて、これはプロバイダーが選んだ残念な名前だと思います。

コメントで述べたように、 REST APIと言うと、最初からすでにいくつかの情報を提供しています。ほとんどの人は、REST について説明を受けると、いくつかの抽象的なリソースがあること、これらのリソースが複数の表現 (JSON、XML など) を持つことができること、各リソースが URI によって識別されること/customers、つまり顧客リソースのリストを参照していることを理解しています。/customers/1は顧客であり、それ/customers/2は別の顧客でGET /customers/1あり、顧客に関する詳細を調べたりDELETE /customers/1、削除したりするために使用します。

REST は、アプリケーションと対話する 1 つの方法です。もう 1 つは、たとえばSOAPが行っているように、クライアントが呼び出すことができる操作を公開することです。REST が町の新しい子供になる前は、人々は SOAP を使っていました。リソースへのアクセスとは異なり、SOAP は操作へのアクセスに重点を置いています。ある人に SOAP について言及すると、SOAP は HTTP の POST を使用してメッセージを送信できるプロトコルであり、各メッセージには、呼び出す操作名と呼び出しに必要なパラメーターを含む XML ペイロードがあることなどを知っています。

しかし、SOAP と REST が広く知られるようになる前から、フォーム送信を使用して HTTP を介してRPC呼び出しを忍び込ませることができることに人々は気付きました。HTTP フォーム ベースの送信は、ManageEngine サービス デスクプラスの API のメソッドの 1 つです。しかし、フォームベースの送信方法には (私が知る限り) SOAP や REST のようなクールな名前はありません... サーブレット API にちなんで名付けられたのはそのためでしょうか?! (これは単なるサーバー実装であり、HTTP プロトコルのコンテキストでは重要ではないことをもう一度強調します)。

結論として、はい、ASP.NET から ManageEngine サービス デスクプラス サーブレット API を呼び出すことができます。Web ブラウザやあらゆる種類の HTTP 対応クライアントからでも呼び出すことができます。

于 2013-02-22T17:53:54.973 に答える