Java EE a we/wy

0

Prawdopodobnie to jest głupie pytanie, za co przepraszam.

Czy w aplikacjach Java EE wykorzystuje się IO, NIO? Z książek wywnioskowałem, że we/wy w tych aplikacjach to: bazy danych, pliki XML i interfejs użytkowania klienta.

0

To zależy od aplikacji jak nie trudno sie domyślić. Jeśli aplikacja musi czytać jakieś dane z serwera to można korzystać ze zwykłego I/O.

0

yyy a jak chcesz zapisać jakiś plik w temp'ie to co ? albo user ci chce obrazek wrzucić na stronę to co ?

0

Ja pytam tak jak zazwyczaj jest, nie pytam o jakieś tam ekstremalne przypadki.
Wydaje mi się, że w aplikacjach biznesowych użytkownicy nie wczytują obrazków na strony aplikacji.

0

Hmm może swoich sweet fotek nie, ale raporty PDF ? masz konto w banku ? możesz ściągnąć wyciągi online ? to się nie bierze z nieba. Może jakiś sales będzie chciał wysłać exela przez wewnętrzny system. To nie corner case - to standard.

0

NIO2 jest wykorzystywane do implementacji serwerów aplikacyjnych. Ma to w szczególności związek z obsługą nieblokującego wejścia - wyjścia wykorzystywanego np. w JAX-RS 2.0 oraz asynchronicznych servletach.

Poczytaj o serwerze Grizzly (używany w GlassFishu):
https://grizzly.java.net/

0

Jak chcę zajmować się programowaniem aplikacji Java EE, to czy opłaca się tracić czas na naukę IO, NIO?

0

Nawet typowe aplikacje mają potrzebę wysyłać pliki do użytkownika. W takiej sytuacji bez sensu jest pakować całe te pliki do pamięci tylko trzeba je sensownie 'wystrumieniować' do klienta. Dla tego mimo wszystko warto poznać chociaż podstawy NIO

1

Jeszcze inną możliwością poza NIO jest strumieniowanie z bazy danych NoSQL jaką jest MongoDB (mam na myśli GridFS):
http://api.mongodb.org/java/current/com/mongodb/gridfs/GridFS.html
Poszedłbym w to gdybym musiał obsługiwać duże pliki np. filmy.

Fajną rzeczą jest podział danych na chunks, co umożliwia tworzenie aplikacji np. typu youtube: streamujemy plik od pewnego momentu.

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