Aplikacja sieciowa J2EE

0

Witam,
mam kilka pytań do doświadczonych programistów/projektantów J2EE :)

  1. Załóżmy, że mała firma potrzebuje aplikacji np. do zarządzania kadrami. Firma składa się z wielu wydziałów, które korzystają z określonych modułów aplikacji. Czyli potrzebna jest baza danych i jakaś prosta aplikacja kliencka (kilka formularzy), być może także serwerowa, ale: istnieje obawa, że łącze internetowe (deweloper) może być wąskim gardłem dostępności aplikacji. Czy opłaca się małej firmie inwestować we własny serwer? Czy jest to rozwiązanie bardziej bezpieczne niż korzystanie z zewnętrznego hostingu? Awarię wewnątrz firmy można szybciej zdiagnozować i naprawić, a jeśli coś się stanie z netem, to w zasadzie wiadomo tylko, że łącze padło, a firma stoi.

  2. Jeżeli warto zainwestować we własny serwer, to mam pytanie, czy istnieje jakiś framework z rodziny J2EE, który wspomaga budowę stacjonarnych aplikacji sieciowych (nie webowych, bo serwer jest dostępny w sieci lokalnej)? Z tego co się orientowałem, to Spring jest do tworzenia aplikacji stricte webowych, obsługiwanych przez przeglądarkę. Od czego zacząć szukać? Na pewno JDBC, ale co dalej? Może właśnie istnieje jakiś Javowy framework. Jakaś literatura?

Będę wdzięczny za odpowiedzi :)

0

Odpowiem tylko na 2.

Nie myl Springa ze Springiem MVC.
Zwykły Spring to mechanizm wstrzeliwania zależności i nie ma nic wspólnego z WWW.

Jak chcesz zrobić stacjonarną aplikację, to stwórz interfejs w Swingu. Żadnego specjalnego frameworka do tego chyba nie ma.

Aplikacja nie powinna łączyć się bezpośrednio z bazą. Po drodze musi być serwer aplikacji (np. glassfish, czy jboss).

Polecam zainteresowanie się tematyką EJB i session beanów.
Ewentualnie klient może łączyć się z serwerem przez web service.

Nie ma potrzeby ręcznego stosowanie JDBC. Serwer aplikacji może łączyć się z bazą przez JPA.

Przeczytaj rozdziały 4. i 5.
http://java.sun.com/javaee/5/docs/tutorial/doc/

0
  1. "Zwykły Spring to mechanizm wstrzeliwania zależności i nie ma nic wspólnego z WWW" - tu akurat mowisz o DI a spring jako taki jest calym frameworkiem, wspierajacym DI. Spring MVC jest jego kawałkiem po prostu... i zadnej kobyły w stylu JBossa a ym bardziej glassfisha uzywac nie trzeba wystarczy zwykły tomcat. ja proponuje zestaw:
    JSF - jako warstwa prezentacji,
    Spring - logika biznesowa ( ejb są za ciężkie i jesli nie robisz aplikacji rozproszonej, zupelnie niepotrzebne )

do komunikacji z bazą jakiegoś ORM'a jesli ma byc to proste to polecam http://butterfly.jenkov.com/persistence/download.html jesli cos wiekszego to rzeczywiscie jakąś implementację JPA ( tak na marginesie JPA jest jedynie standardem komunikacji z bazą danych a nie konkretna implementacją/bibliotekami/etc) ja polecam hibernate, bo jest zdecydowanie bardziej rozbudowany niz Toplink.

0

Dzięki za odpowiedzi. W Swingu robiłem jeden mały projekt i nie spodobał mi się, wolałbym coś wyklikać XML-em, tak jak w JSF. Chciałbym, żeby serwer aplikacji korzystał ze sprawdzonego Hibernate, natomiast nie widzę, dlaczego sam Tomcat miałby wystarczyć (przecież to tylko kontener WWW).

Inne pytanie - dlaczego zwykła aplikacja webowa miałaby nie działać w sieci lokalnej, skoro serwer jest dostępny w kilku skokach bez potrzeby wychodzenia żądania za bramę?

EDIT Znalazłem coś takiego: http://spring-rich-c.sourceforge.net/1.1.0/index.html

0

aplikacja oparta o JSF+Spring+Hibernate elegancko bangla na samym tomcacie, azeby uzywac ejb potzrbujesz czegos wiekszego jak jboss

0

Ogólnie aplikacja ma nie polegać na łączu internetowym, ponieważ serwer jest dostępny w sieci lokalnej.

Mam pytanie, co się stanie jak padnie Internet, a korzystam z aplikacji webowej przez przeglądarkę (JSP, JSF, Spring), ale serwer aplikacji jest dostępny w sieci lokalnej? Dalej będzie śmigać?

0

Wszystko co jest dostępne lokalnie będzie śmigać, jeżei padnie Ci serwer lub router wtedy będziesz miał problem z siecią lokalną.

Możesz spokojnie napisać sobie aplikację webową i uruchomić ją na lokalnym serwerze. Dostęp do niej będziesz miał z sieci lokalnej przez lokalny adres IP (dostęp do aplikacji z poziomu przeglądarki internetowej pod adresem na jakim została uruchomiona aplikacja/server)

0

Mark Richards i Scott Davies po raz pierwszy w Polsce na konferencji Java Developers' Day 2009!

Konferencja JDD organizowana jest zawsze w październiku w Krakowie od 2006 roku i zdążyła już na stałe wpisać się do kalendarza imprez IT w Polsce.  Co roku konferencja gromadzi 400 developerów Java oraz przedstawicieli kadry kierowniczej działów IT z czołowych firm w Polsce, a także studentów i pasjonatów programowania w Javie. 

W tym roku gościem honorowym JDD będzie Mark Richards, dobrze znany na całym świecie specjalista z zakresu  transaction management,  SOA i JMS. Mark jest autorem niedawno wydanej przez wydawnictwo O'Reiily ksiażki Java Message Service 2nd Edition, a także bardzo popularnej  Java Transaction Design Strategies. Mark krok po kroku, na przykładach konkretnego kodu pokaże jak budować bardziej efektywne aplikacje JMS oraz omówi błędy najczęściej popełniane przy ich projektowaniu i implementacji.

Scott Davies, doskonale znany w branży specjalista zajmujący się Groovi i Grails, będzie drugim keynotem na JDD09. Scott stworzył jedną z pierwszych publicznych aplikacji w Grails w 2006 i od tej pory intensywnie pracuje nad promocja tej technologii. Jest autorem książki Groovy Recipes: Greasing the Wheels of Java .

Nie znamy jeszcze dokładniej daty JDD09, ale będziemy Was informować na bieżąco. Tymczasem, zapraszamy do udziału w konkursie na najlepszy blog i serwis o Javie w Polsce. Zagłosuj w konkursie JDD Java Guide i daj znać, gdzie zawsze przeczytać najświeższe newsy i porady dotyczące programowania w Javie, recenzje nowych technologii i przykłady ich zastosowania. Głosuj teraz na: http://09.jdd.org.pl/javaguide/  

Więcej o JDD możesz przeczytać na stronie http://jdd.org.pl/ . Zapraszamy!

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