Java - remigiuszkurczab.pl

advertisement
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ń
Download