serwer aplikacji Javowych

1

Witam!

Zostałem poproszony o postawienie serwera dla grupy, która chciałaby hobbystycznie podszkolić się z Javy o postawienie serwera do ich projektu (nic produkcyjnego, tak tylko dla nauki).
Jeśli chodzi o moją wiedzę z tej tematyki, to jakąś prostą aplikację w Javie napiszę, znam się conieco na systemach Linux-owych i parę serwerków już postawiłem, ale dla języków interpretowanych typu PHP, Ruby, Python.
Z tego co udało mi się już doczytać, to dobrze byłoby im skonfigurować jakiegoś GITa + serwer aplikacyjny Javy. Doczytałem też, że Glassfish, którego używali sobie do tej pory lokalnie w Eclipse nie jest już wspierany oficjalnie, więc skłaniałbym się w coś ale JBOSS albo Tomcat. Chcą się głównie nauczyć SPRINGa, ale nie wykluczone, że też JSF-a będą dziobać.

W przeciwieństwie do stawianych do tej pory serwerów, kod Javy trzeba po zsynchronizowaniu z GIT-em jeszcze skompilować. Czy są jakieś narzędzia/rozwiązania, które mogą to zautomatyzować?
Który z wymienionych serwerów aplikacyjnych byście polecili do zastosowania o którym piszę?

Z góry dzięki za wszelką pomoc w temacie i ewentualne wyprowadzenie z ślepej uliczki jeśli to co piszę jest bzdurą! :-)

2

Glassfish, którego używali sobie do tej pory lokalnie w Eclipse nie jest już wspierany oficjalnie

I gdzieś ty to niby wyczytał? o_O Glassfish to jest referencyjna implementacja platformy JEE i nadal nią będzie. Oracle po prostu nie chce mieć dwóch "komercyjnych" serwerów -> Glassfisha przejętego od Suna i swojego WebLogica, więc rezygnuje z komercyjnego wsparcia dla Glassfisha. Ale glassfish jako taki, w wersji open-source, nadal będzie rozwijany jako referencyjna implementacja. Więc jeśli nie planujesz stawiać aplikacji na miliony użytkowników rozproszonej na N serwerów w klastrze to nie masz sie co przejmować.

skłaniałbym się w coś ale JBOSS albo Tomcat

Tomcat to NIE JEST serwer aplikacyjny!

Chcą się głównie nauczyć SPRINGa, ale nie wykluczone, że też JSF-a będą dziobać.

To w takim razie serwer aplikacyjny nie jest ci potrzebny i starczy kontener serwletów -> tomcat czy jetty. JSFa też można na nim uruchomić. Problem byłby jakby jednak chcieli coś więcej ze stosu JEE jak np. CDI i EJB, bo wtedy może się po prostu zacząć opłacać postawić gotowy serwer :)

W przeciwieństwie do stawianych do tej pory serwerów, kod Javy trzeba po zsynchronizowaniu z GIT-em jeszcze skompilować. Czy są jakieś narzędzia/rozwiązania, które mogą to zautomatyzować?

Lekcja na dziś: serwery ciagłej integracji (Continuous Integration) jak na przykład Jenkins. W połączeniu z mavenowym projektem to będzie bułka z masłem.

Który z wymienionych serwerów aplikacyjnych byście polecili do zastosowania o którym piszę?

Jw., żaden, bo nie są ci potrzebne. A jesli sie okaże że koledzy jednak chcą dużo z JEE brać a nie ze Springa to Glassfish albo JBoss będą ok.

0

No o JEE też coś wspominali, więc wydaje mi się, że jak już coś stawiać, to tak żebym później nie musiał tego ponownie konfigurować.
Jeśli się nie mylę, to JBOSS jest darmowy (chyba, że chce się wsparcie) i zawsze mi się marzyło, żeby się go trochę poduczyć. Jeśli dobrze rozumiem, to obsłuży on i SPRINGa i JSF-a i JEE?
Dzięki za podpowiedź, już czytam na temat jak to zrobić aby się samo kompilowało.

Aha! I co masz na myśli z połączeniem tego z Mavenem projektowym? Ja nie jestem specjalistą od Javy, ale z tego co wiem, to Maven służy do prostego zaciągania bibliotek. Instaluje się go najczęściej w Eclipse i w zależności od specyfikacji pobierają się bibliotego automatycznie.
Jeśli użytkownik zsynchronizuje swoje pliki przez GIT-a z serwerem to powinien chyba też zsynchronizować pliki bibliotek na serwerze, prwda?

0
  1. JSF to część JEE... JBoss zawiera też kontener serwletów więc oczywiście obsłuży i Springa. Tylko że będzie "cięższy", bo ma wbudowane masę rzeczy których pewnie nie użyjesz
  2. Maven między innymi zapewnia ściąganie zależności, ale ma też rozbudowany system do budowania aplikacji. Generalnie można za pomocą jednej komendy zbudować nawet mocno skomplikowaną aplikację i polecam tak właśnie robić. Wtedy w konfiguracji Jenkinsa będziesz miał tylko podaną lokalizację repozytorium gita i jakieś "mvn package" do budowania i wszystko będzie śmigać. CI od tego są żeby synchronizować się z repozytorium kodu a potem budować aplikację ;)
0

To, że będzie cieższy (rozumiem, że więcej zasobów będzie potrzebował a nie będzie topornie chodził) to nie problem, bo mam na to osobny serwerek.
Co ozacza skrót CI?
Wydaje mi się, że już trochę się dowiedziałem i teraz muszę trochę doczytać i potestować, czy uda mi się to zrobić :D
Dam znać co udało mi się osiągnąć! :-)

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