Java i .Net: komponenty

Wątki

Obie platformy zapewniają bardzo prosty mechanizm tworzenia i zarządzania wątkami. W .Net są gotowe klasy użytkowe, które pozwalają tworzyć blokady na współdzielonych zasobach i realizują standardowe "wzorce" podstawowych algorytmów wykorzystywanych przy programowaniu współbieżnym. W kilku liniach kodu można stworzyć pulę wątków.

Dla Javy powstało wiele gotowych schematów, które pokazują, jak określone elementy można samodzielnie zrealizować.

Dostęp do danych

W Javie dostęp do danych odbywa się za pośrednictwem interfejsu JDBC. To moduł w dużym stopniu przypominający standard ODBC. Pozwala znaleźć źródło danych (przy użyciu interfejsu JNDI) i otworzyć zbiór rekordów. Naturalnym sposobem pracy w JDBC jest zachowanie ciągłego połączenia z serwerem bazy danych, np. przy przeglądaniu rekordów czy ich aktualizowaniu.

W .Net natomiast jest dostępny mechanizm ADO.Net, w którym podstawową zasadą jest rozdzielenie źródła danych (serwera) i aplikacji. Aplikacja żąda wypełnienia obiektu DataSet (lub IDataReader), a następnie korzysta z niego bez zajmowania zasobów serwera. Gdy zachodzi potrzeba dokonania aktualizacji, specjalne mechanizmy na życzenie automatycznie wykrywają zmiany i przesyłają dane po ponownym połączeniu z serwerem. W ADO.Net nie można zablokować tablicy na czas aktualizacji po stronie klienta.

W ADO.Net bardzo łatwo przebiega transformowanie danych relacyjnych do postaci plików XML, i odwrotnie. W gruncie nieważne, czy operuje się na zbiorze relacyjnym czy pliku XML. W Javie brak analogicznego mechanizmu.

W Javie podstawowym elementem dostępu do bazy jest zbiór rekordów, który powstaje w wyniku zapytania do bazy danych. W przypadku ADO.Net można po stronie klienta odwzorować strukturę bazy, np. układ kilku tabel połączonych relacjami, czy nawet częściowo sprawdzać po stronie klienta poprawność relacji.

Dla większości serwerów bazodanowych są obecnie dostępne zarówno sterowniki JDBC, jak i sterowniki .Net (albo rodzime, albo bazujące na OLE DB).

Interfejs użytkownika

Jeżeli programista zamierza tworzyć bogaty interfejs użytkownika, to praktycznie nie ma alternatywy dla Windows. J2SE 1.4 wprawdzie zawiera wiele klas, które umożliwiają wyświetlanie ładnie wyglądających komponentów JSwing (część JFC), ale nawet na szybkich komputerach interfejs tego typu działa znacznie wolniej niż analogiczny zrealizowany w .Net.

W przypadku aplikacji Web programiści mają do wyboru technologię JSP/servlety i Mcrosoftu ASP.Net.

Servlet to zwykle mały program, uruchomiony w kontekście serwera WWW. W momencie otrzymania żądania od klienta tworzy on odpowiednią stronę i przesyła (zwykle przy użyciu protokołu HTTP) odpowiedź do klienta. Innymi słowy, jest to pewnego rodzaju mechanizm CGI, realizowany w Javie. Motor servletów jest zwykle silnie osadzony na danym serwerze WWW. Pozwala na dostęp do sesji, zmiennych serwera itp. Co istotne, trzeba najpierw napisać kod w Javie, który następnie wygeneruje pełną stronę HTML.

JSP bardzo przypomina strony ASP. To mechanizm, który pozwala łączyć kod Javy i fragmenty stron HTML. Serwer, przetwarzając stronę JSP, wykonuje kod Javy i wysyła klientowi gotową stronę. Dzięki temu przynajmniej część strony WWW nie musi być generowana z poziomu Javy. Programista może skorzystać ze specjalnych komponentów, które tworzą np. widok rozbudowanych kontrolek i przesyłają go klientowi.

W JSP nie ma łatwego mechanizmu do obsługi zdarzeń. Wszystko opiera się na formularzu i przycisku "wyślij". Kod HTML i kod rozwiązania w Javie są na stronie wymieszane, trudno więc jest wydzielić elementy, które odpowiadają za układ strony, od właściwego kodu rozwiązania.


TOP 200