PORADNIKI Java Co to jest Java? Co to jest Java, w rzeczywistości? Cóż, po pierwsze można powiedzieć ,że jest to dobry obiektowy język programowania, gdzie najlepszy z innych języków jest poierany i umieszczany razem z własnymi dodatkami, na przykład model bezpieczeństwa , który jest ważny dla aplikacji internetowych. Java posiada bogatą bibliotekę standardową klas, dzięki czemu programowanie jest o wiele bardziej efektywne. Ma wsparcie dla komunikacji sieciowej, zarządzania oknami, zarządzania plikami, audio i wideo, bezpieczeństwa, dostępu do danych itp. Kiedy kod źródlowy w jezyku Java jest skompilowany, tworzony jest kod bajtowy Javy. Kod bajtowy jest językiem niskopoziomowym, składającym się z instrukcji maszynowych dla Java Virtual Machine. Kod bajtowy sprawia ,że Java jest niezależna od platformy. Java Virtual Machine jest abstrakcyjnym komputerem, na którym można wykonać kod bajtowy. JVM staje się średnim poziomem między kodem bajtowym a dowolnym systemem opercyjnym, więc, patrząc z punktu widzenia kodu bajtowego, zawsze jest uruchamiany na tym samym komputerze. Java jest niezależna od platofrmy Kod źródłowy napisany przez prgoramistę i kod bajtowy są takie same na każdej platformie. Kod źrófdłowy może być skompilowany na różnych platformach takich jak Pentium, PowerPC, SPARC itd., ale wynikiem jest zawsze ten sam kod bajtowy Javy. Kod bajtowy może być wykonywany na różnych JVM. Różnica między Javą a innymi językami programowania jest taka ,że kod źródłowy nie musi być przepisywany dla różnych systemów operacyjnych, ani dla nowych procesorów. Aplety mogą być rozprowadzane przez WWW Aplet jest kodem bajtowym Javy, który może być rozporowadzany poprzez WWW. Na serwerze znajduje się serwer sieciowy, który zdolnyj est do wysyłania stron HTML i przyległych plików. Komputer klienta ma sieciową przeglądarkę. Kiedy użytkownik klikne na link na stronie zawierającej odniesienie do apletu, przeglądarka będzie ściagała zarówno stronę jak i aplet. Pojawi się strona i uruchomi aplet. Aby się uruchomić , aplet potrzebuje JVM. Większosć nownoczesnych przeglądarek ma wbudowaną JVM a poneważ prawie każdy serfuje po Sieci ma przeglądarkę któa również ma JVM. Ponieważ użytkownik ściągnął aplet na swój komputer, ma nowe możliwości interaktywoności, bezpośrednio z klientem. Porównajmy to ze starą techniką CGI, gdzie interakcja będzie pożądał ruchu siewciowego między klientem a serwerem. Jest również możliwość posiadania więcej jak jednego apletu Javy na stronie WWW. Te aplety Javy mogą komunikować się między sobą. Aplety mogą również odczytywać parametry samej strony HTML; w tym przypadku jest możliwość wpływania na pewne ustawienia apletu przez stosowanie różnych stron HTML. Przykładem jest aplet dający różny rozkład tekstu na stronie HTML, tekst i ustawienia rozkładu mogą być oba parametrami strony HTML czytanej przez aplet. Aby utrzymać wysoki poziom bezpieczeństwa, w celu powstrzymania rozprzestrzeniania się wirusów, Metscape i Microsoft wybrały silniejesze ograniczenia co do możliwości działania apletu. Nie może na przykład komunikować się z innym komputerami niż ten, z którego został pobrany. Ponadto, nie może odczytywać ani zapisywa dowolnego pliku na komputerze klienta Język Java Java jest eleganckim językiem programowania, z prostą konstrukcją. James Gosling, twórca Javy w SUN, wybrał połączenie najlepszych części kilku różnych języków. Składnia Javy jest prawie taka sama jak C++, ale Java jest prostsza i bardziej zorientowana obiektowo. Mamy wsparcie dla apliakcji wielowątkowych w Javie, więc kilka zadań może być uruchamianych równolegle. Jedne wątek może zarządzać interfejsem użytkownika, w tym samym czasie inny wątek przeszukuje sieć. Java ma automatyczne zarządzanie pamięcią co zmniejsza złożoność programowania. Pamięć nie jest dostępna bezpośrednio, co prowadzi do mniejszej liczby wirusów i innych błędów w programach. Java jest bezpieczna Bezpieczny model Javy jest zazwyczaj nazywany "modelem sand-box" ponieważ programy Javy dostają się tylko do ograniczonej części komputera do wykonania wewnątrz. Z pomocą Menadżera Bezpieczeństwa , i samopisujących zasad bezpieczeństwa, to co Java może zrobić na poziomie aplikacji, są ograniczone. Z Menadżerem Bezpieczeństwa można określić czy Java może odczytywać lub zapisywać do pliku,jakie komputery są dopuszczone do kontaktu z nim, lub czy można wywołać program C. Brak bezpośredniego dostępu do pamięci koputera jest możliwy z czystego programu w języku Java, co oznacza ,że ryzyko usunięcia apletu lub zmiany plików z dysku twardego jest znacznie ograniczonego. Ponadto kod nie jest tylko kontrolowany, kiedy jest kompilowany, ale także kiedy jest ładowany do wykonania. Żaden nielegalny kod Javy nie może być uruchomiony na Java Virtual Machine. Java w czterech wersjach Java Company Sun, Javasoft, jest aktualnie twórcą czterech różnych wersji Javy. Język jest zawsze taki sam, ale różne są roziary biblioteki klas, które zawierają.Java Embedded jest minimalną częścią Javy przeznaczona dla zastosowania na małych platformach, np karty inteligentne, lub oprogramowanie kontrolujące elementy elektryczne, w których chcesz pobrać oprogramowanie z sieci i dynamicznie zmieniać. Java Personal jest przeznaczona dla produktów z jakimś rodzajem wyświetlacza, chociaż pozbawiona klawiatury. Produkty te faksy, kopiarki, odbiorniki TV, wideo lub inna elektornika domowa, w którym chcesz dynamicznie zmieniać oprogramowanie. Java Standard to oryginalna i najbardziej rozpowszechniona wersja środowiska Java, które ma potencjał aby stać się jednym z dużych środowisk rozwijających się w następnej dekadzie. Java Enterprise jest przeznaczona do stosowania w krytycznych aplikacjach biznesowych, z bardziej rozwiniętym modelem bezpieczeństwa i dołączany do systemów komercyjnych niż Java standardowa Bilioteka standardowa Javy Istnieje obszerna biblioteka standardowa dla Javy. Programiści mogą na nią liczyć, będąc na każdej standardowej platformie Javy. Poza tą biblioteką , jest wiele innych klas od Sun i innych dostawców narzędzi. Biblioteka Standardowa zawiera pakiet do zarządzania interfejsem użytkownika,AWT lub Abstract Window Toolkit. Jest to największy i najważniejszy pakiet standardowej Javy. Obejmuje klasy, które pozwalają manipulować oknami, oknami dialogowymi, grafiką, przyciskami itd. Program napisany w AWT będzie wyglądał nieco inaczej na różnych platformach, ze względu na fakt ,że JVM wykorzystuje elementy poszczególnych systemów operacyjnych wby wyświetlić komponenty AWT na ekranie. Innym częśto używanym pakietem jest pakiet Applet, który jest używany do budowania apletów. Pakiet Net jest używany do zarządzania komunikacją sieciową, wspierając również komunikację TCP/IP. Pakiet I/O jest używany do oczytu i zapisu plików, w tym dostępu do plików przez internet. W pakiecie SQL mamy wsparcie dla dostępu do bazy danych ODBC za pomocą standardowego języka SQL. Pakiet Security obsługuje szyfrowanie danych. Jest wsparcie dla podpisów cyfrowych i szyfrowania kluczem publicznym. Pakiet RMI, oznaczający Remote Method Invocation, wspiera budowę aplikacji rozpowszechnianych w sieci. Z RMI program jst w stanie komunikować się z prgoramami uruchomionymi na innych komputerach. W ten sposób można podzielić pracę między kilka komputerów. Biblioteka klas sprawia szybszy rozwój programu, poneważ programista jest w stanie wykorzystać to co już zostało napisane i dobrze funkcjonuje, bez konieczności robienia tego samemu. Inną zaletą jest to ,że tylko małe programy muszą być przenoszone za pośrednictwem sieci, ponieważ biblioteka klas już istnieje na platformie Javy. Obsługa zdarzeń w Javie Interfejs użytkownika w Javie jest kontrolowany przez zdarzenia. Kiedy użytkownik naciska klawisz lub porusza myszką, system operacyjny generuje zdarzenie. Zdarzenia te są przechwytywane przez środowisko Javy i tłumaczone na zdarzenia Javy. Mamy zdarzenia dla różnych klas, i różne części programu Javy mogą wybierać jakiego nasłuchiwać. Zdarzenia nie zawsze muszą pochodzić z systemu operacyjnego. Mogą być bezpośrednnio generowane przez prgogram Javy. W ten sposób, programista może uzyskać zwiększenie kontroli i symulować zdarzenia. Java Beans Java Beans jest standardem dla komponentów oprogramowania w Javie. Programista może zbudować aplikację szybciej ponieważ może łączyć mniejsze części w większe. Celem Java Beans jest to aby komponenty Beans były dostępne w sprzedaży u różnych dostawców tak aby programista nie musiał programować wszystkiego od podstaw. Java Bean jest komponentem oprogramowania , które może być graficznie obsługiwane przez różne narzędzia programowe. Pomysł jest taki aby programista mógł łączyć Java Bean graficznie, bez konieczności pisania kodu. Narzędzia geenrują kod automatycznie. Java Bean można porównać do ActiveX, przemysłowego standardu Microsoft dla komponentów oprogramowania. W tym kontekście ActiveX jest stare techniki na którym się opiera to OLE I DCOM. Oznacza to ,że istnieje już sporo komponentów ActiveX. W przeciwieństwie do ActiveX, komponenty Java Bean są napisane całkowicie wq Javie i dlatego stają się niezależne od platformy. Różne typy integracji Java jest systemem otwartym, co oznacza ,że Java może współpracować z systemami innych typów. Istnieją pewne narzędzia do innych modeli obiektów i języków, również za pośrednictwem sieci. Aby program Java został zintegrowany z innym programem Javy w sieci, stosuje się RMI (Remote Method Invocation), ponieważ zawiera narzędzia optymalizacji Javy. Może być również użyta architektura Java Bean na wyższym poziomie. Jeśli natomiast program zotał napisany w , powiedzmy C++ lub Smaltalk, CORBA mogą być stosowane, wpsierając Javę w integracji systemu. Wbudowana jest w Javie obsługa komunikacji z bazą danych ODBC. Są również połączenia z Apple i IBM OpenDoc. Jeśli nie istnieje konieczność użycia ActiveX, znajduje się most, więc Java Bean może łatwo być transformowany do komponentu ActiveX. Jest również wsparcie dla wywoływania metod C++ bezpośrednio z poziomu programu Javy Java Commerce API (Java Wallet) Java Commerce API jest rozszerzeniem biblioteki klasy Javy. W tym rozszerzeniu będzie wsparcie dla handlu w sieci. Łatwiej będzie akceptować zapłatę za program i wykorzystanie danych, a otwarta platforma będzie dostępna dla bankowych i finansowych aplikacji. W Java Commerce API będą metody szyfrowania wiadomości i kontrola uwierzytelniania. W Java Commerce API będą częściowo prefabrykowane programy do obsługi sprzedaży i wysoko poziomowe komponenty dla aplikacji finansowych. Java Telephony API Java Telephony API jest pakietem dla integracji komputerów i telefonów. Z tym API możliwa jest kontrola karty telefonicznej w komputerze. Istnieją znaczne możliwości sterowania telefonem, zwykłym lub komórkowym, poprzez program Javy. Jednym z przykładów jest uzyskanie interfejsu graficznego dla telefonu,w tym usługi jakie chcedz uzyskać. Alarm połączeń, Połączenia oczekujące i inne usługi mogą być pedagogiczne więc zamawianie stanie się łatwiejsze. Otwierają się nowe możliwości dla bardziej zaawansowanych funkcji. Alternatywa dla Javy Jak działa Java w porównaniu do innych technik w Internecie? Java wykazuje duże podobieństwo do C++. Java jest niezależną platformą , C++ nie, ale C++ jest bardziej dojrzały i działa lepiej. Technika CGI używana była dłuższy czas dla tworzenia form i aktywnych powierzchni na stronach HTML. Chociaż ta technika jest niezależna od platformy po stronie klienta, jej wydajność jest dużo niższa ze względu na stałą komunikację sieciową, która uzyskuje tylko mała część funkcjonalności Javy. ActiveX nie powinno być porównywane bezpośrednio z Javą ponieważ jest architekturą dla komponentów oprogramowania. W porównania z Java Beans, co jest odpowiednikiem ActiveX, różnica jest taka ,że ActiveX jest szybsze ale nie niezależne od platformy. Shockwave jest pluginem z rodziny Macromedia. Ma wysoki poziom interaktywności, ale wymaga instalacji po stronie klienta, podczas gdy Java nie. Podsumowując, biorąc pod uwagę niezależność od platformym bezpieczeństwo i możliwości rozszerzania, duże wsparcie ze strony przemysłu można powiedzieć ,że Java jest dobrą alternatywą dla wielu zastosowań