2016-04-06 5 views
3

Ich habe EJB vorher nicht benutzt, aber gelesen. Ein bisschen Verwirrung zwischen den REST-Diensten und EJB-Stateless- und Stateful-Session-Beans.Was ist der Unterschied zwischen Rest Web Services vs ejb Session Beans?

Was ist der Unterschied zwischen Stateless Session Beans und REST-Service? Und mit Stateful.

+2

EJB steht für Enterprise Java Beans - container-verwaltete Java-Entities, die häufig zum Speichern Ihrer App-Geschäftslogik verwendet werden. Methoden in EJB-Beans sind transaktional, Container kümmert sich auch um Bean-Lebenszyklus und Multithreading und viele andere Dinge . REST-Service ist eine Art Web-Service, der mit Ressourcen arbeitet (hauptsächlich CRUD) und jede Ressource in REST hat eine Adresse, auf die zugegriffen werden kann. – john

+1

* "Ich habe EJB vorher nicht benutzt, aber gelesen. Also etwas verwirrt" * - dann ist das was du liest schrecklich. Lesen Sie bessere Informationsquellen. – Gimby

+1

Lesen Sie das Java EE-Lernprogramm zu [Erstellen von RESTful-Webdiensten mit JAX-RS] (http://docs.oracle.com/javaee/7/tutorial/jaxrs.htm#GIEPU) und [Enterprise Beans] (http: // docs.oracle.com/javaee/7/tutorial/partentbeans.htm#BNBLR). –

Antwort

4

Webdienste sind eine Systemintegrationstechnologie. Wenn Sie Daten und/oder Logik haben, die Sie anderen Anwendungen in Ihrem Unternehmen oder externen Anwendungen zur Verfügung stellen möchten, verwenden Sie Webdienste. Es gibt verschiedene Arten von Web-Service-Ansätzen und REST-Web-Services sind eine der beliebtesten Arten von Web-Services.

Also, Web-Services sind nur eine "Präsentations" -Schicht. Sie könnten bereits über eine vorhandene Anwendung verfügen, die Sie anderen Anwendungen für die Interaktion bereitstellen können, indem Sie eine Web-Service-Schicht erstellen.

Der Datenzugriff und die Geschäftslogik, die die eigentliche Arbeit hinter der Web-Services-Schicht ausführen, könnten in einfachem Java geschrieben sein oder sie könnten verschiedene Frameworks verwenden, die bei verschiedenen Aufgaben helfen können.

Wenn Sie möchten, dass Ihre Geschäftslogik Transaktionen, Zugriffssteuerung, Serververteilung für Lastenausgleich, Clustering für die gemeinsame Nutzung von Servern usw. unterstützt, könnten Sie Frameworks verwenden, um Sie bei diesen komplexen Aufgaben zu unterstützen.

EJB ist ein Ansatz zum Schreiben von Geschäftslogik, der die Anpassung an einige Standardschnittstellen beinhaltet, sodass Sie Supportdienste wie Transaktionsverwaltung, Authentifizierung und Autorisierung, Lastenausgleich, Clustering usw. mit relativ geringem Aufwand deklarativ hinzufügen können.