specyfikacja a implementacja

0

Mieszają mi się pjęcia i chciałbym je wyjaśnić:
Java EE to zbiór specyfikacji czyli jak coś ma działać - np EJB
Servery np jboss zawierają implementację EJB i dzięki temu co napisze i zrobie deploy na server jbossa to dziala.

A np Jersy, RESTeasy, spring to frameworki, i one ulatiwaja pisanie pozniej jest to co zrobimy "przerabiane" do postaci java ee przez silnik np springa a pozniej to wszytko dziala na jbossie dzieki implementaci na serverze impelemntacji java ee.

Czy dobrz eto ujalem czy namieszalem?

0

Początek był ok, potem popłynąłeś. Spring to jest technologia konkurencyjna dla Javy EE, chociaż teraz część modułów Springa implementuje interfejsy javy ee (np. CDI) a nowe specyfikacje w przyszłych wersjach jee są bazowane na springu (np. MVC). W takim ujęciu można by potraktować pewnie moduły Springa jako kolejną implementacje JEE, nie zwiazaną z konkretnym serwerem aplikacyjnym.

0

Acha
ok, w moim rozumowaniu wrzucałem jersey, resteasy do jednego worka
A RESTeasy i jersey to implementacje javy EE
spring konkurencja - ale zeby dzialal musimy wrzucic na jakis server
ale wszytko to mozemy wrzucic na np jboss (nie licze wyjatki z tomcatem w spring boot)

0

spring konkurencja - ale zeby dzialal musimy wrzucic na jakis server bzdura. Spring może spokojnie działać bez żadnego "serwera". Oczywiście jak chcesz odpalić sobie Spring MVC to potrzebny będzie kontener webowy (choćby tomcat czy jetty) ale Spring IoC, AOP, Data i masa innych modułów może spokojnie działać i w aplikacjach desktopowych/konsolowych.
A odpalanie Springa na JBoss to dość dziwny pomysł bo pożytek niewielki a obciażenie serwera spore.

0

Oczywiście jak chcesz odpalić sobie Spring MVC to potrzebny będzie kontener webowy (choćby tomcat czy jetty) - to mialem na mysli mowiac o serverze - w glowie uscislilem springa do weba nie myslac o data ioc etc

0

Jersey i RESTeasy implementują specyfikację JAX-RS, czyli tą służącą do tworzenia web serwisów typu REST.

Tu jest np. tabelka która pokazuje który serwer aplikacyjny ma jaką implementację poszczególnych specyfikacji:
http://arjan-tijms.omnifaces.org/2014/05/implementation-components-used-by.html

Spring jest jak statyczne linkowanie- wszystkie zależności/biblioteki wrzucasz do aplikacji, i możesz uruchamiać na tomcacie. W JavaEE biblioteki masz w serwerze aplikacyjnym, więc serwer aplikacyjny jest cięższy a aplikacja lżejsza.

0

witam, odgrzebuje stary temat ponieważ miałem podobne pytanie tylko dodam:
czyli skoro np jBoss zawiera implementacje Java ee to walsnie o to chodzi ze jest kontenerem bo dzieki niemu nie dosc ze nasza palikacja jest wlaczona i dziala to jeszce zawiera implementacje javy Ee czy tak?

1 użytkowników online, w tym zalogowanych: 0, gości: 1