Jakie są walory Java=jsp+j2ee ?

0

Witam was mam pewien problem i mam nadzieje ze wy mi pomożecie w jego rozwiązaniu.
Jestem programista php [ i technologie pokrewne], i zastanawiam sie nad jedną rzeczą czy nie lepiej by było przejść z php na jsp +j2ee ?,programuje trochę w j2se i jakoś odpowiada mi ten język , ale też bym chciał sie dowiedzieć od was czy to ma jakiś sęs , jakie są zaletyi wady takiego przejścia z php na jave itd .Zapraszam do dyskusji na ten temat i bym prosił zęby nie było jakiś głupich odpowiedzi w stylu " a to już było , bo java jest fajna:P, bo java to pasja itd".
Czy może zostać przy php ?, mam nadzieje ze doświadczeni programiści doradzą. ;-P

0

jestem w tym nowy, wiec to co pisze nie musi byc 100% poprawne, ale...

glowna zaleto jest model MVC, czyli oddzielenie logiki, kontroli i samej strony, czyli nie musisz calego kodu wklejac do plikow strony tak jak w php, przez co mozna podzielic zadania tworzenia strony pomiedzy grafika a programiste latwiej, elastyczniej modyfikuje sie wyglad i nie jest tak zasmiecony.
Z drugiej strony w php tez mozna uzyc modelu MVC, piszac kod w klasach znajdujacych sie w innych plikach i tylko includowanych... wydaje mi sie, ze w java ta separacja jest wieksza, lepiej widoczna.

ponoc dziala to szybciej, bo jest kompilowane (do bytekodu, ale jednak), a nie interpretowane

tak wiec mozliwosci te same, bo wszystko o mielenie html/xmla sie opiera, ale troche inaczej ;)

0

Java EE ma przede wszystkim rozdzielone warstwy MVC. W przeciwieństwie do php gdzie poszczególne elementy są includowane tu masz fizycznie rozdzielone elementy które łączysz w deskryptorze rozmieszczenia serwera. Następnie to serwer / kontener zarządza przepływem sterowania.
JEE jest stosunkowo łatwiejsza w środowiskach o ograniczonych możliwościach. Świetnym przykładem może być np. zarządzanie pulą połączeń z bazą. W skrajnym przypadku wielu klientów może korzystać z jednego połączenia poprzez stworzenie obiektu dostępnego w całym kontekście aplikacji. No właśnie podstawową różnicą pomiędzy JEE i php jest sposób uruchamiania. W przypadku php każde żądanie powoduje na serwerze uruchomienie nowego procesu systemowego w celu obsłużenia go. W przypadku javy w systemie istnieją tylko dwa procesy pierwszy maszyny wirtualnej drugi serwera. Oznacza to iż na serwerze pracuje cały czas aplikacja i nie ma potrzeby tworzenia nowych procesów. Największą zaletą takiego rozwiązania jest niewątpliwie bardzo łatwe odpalanie wszelkiej maści schedulerów i wyzwalaczy czasowych. W przypadku php musisz to definiować na poziomie crona co przy np. przenoszeniu danych na inny serwer jest kłopotliwe (trzeba o tym pamiętać + co jeżeli zmieniamy system np z linuxa na windę). W javie masz to związane z aplikacją i tym samym nie trzeba kombinować przy np. zmianie systemu. Java jest szybsza jednak widać to dopiero przy większych aplikacjach. Małe systemy nie zyskują tak na wydajności ponieważ różnice w czasie wykonania skryptu i programu kompilowanego są dla użytkownika niezauważalne. W praktyce są pomijalnie małe w porównaniu z np. czasem podróży przez sieć.
Wadą javy niewątpliwie koszt. Istnieje wiele darmowych hostingów php w przypadku javy takich nie ma. Rozwiązaniem jest zakup własnego serwera. Oznacza to dodatkowe koszty, ale można rozłożyć je na kilku klientów. Kolejną wadą związana już z samą naturą "aplikacjyjności" javy jest konieczność restartu serwera w momencie gdy wprowadzasz zmiany w części kompilowanej.

Na zakończenie nie zgodzę się z Darckiem. Wbrew pozorom znaczna cześć aplikacji javowych ma w sobie elementy, które w php wymagały by bardzo skomplikowanych zabiegów np. włączenia komunikacji zdalnej. Inna sprawa to to iż html nie musi być warstwą widoku. Aplikacje JEE stosunkowo łatwo dostosować do np. komunikacji z Flashem i aplikacjami okienkowymi.

Słucham pytań.

0

Witam

W większośći się zgadzam jakkolwiek nie zawsze konieczne ejst restartowanie cąłego serwera przy ajkiejkowliek zmianie logiki, czasami zdarza mis ie pracowac z wynalazkiem atg.dynamo , które implementuje specyfikacjie J2ee i tam działa już prototypowy moduł ,kŧóry wczytuje po zmianie kodu w aplikacji jedynie zmieniony komponent wrac z powiązaniami ,ktore w jakiś tam sposób sobie okresla.Słysząłem ,że też coś podobnego ma wejść w JBosie, także pwenie gdzieś indziej tez podobną funkcjonalność zoabczymy.

pzdr

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