Co to jest Java? Java jest niezależna od platofrmy



Podobne dokumenty
Dariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki

Czym jest Java? Rozumiana jako środowisko do uruchamiania programów Platforma software owa

Java jako język programowania

Początki Javy. dr Anna Łazińska, WMiI UŁ Podstawy języka Java 1 / 8

Programowanie obiektowe zastosowanie języka Java SE

Krótka Historia. Co to jest NetBeans? Historia. NetBeans Platform NetBeans IDE NetBeans Mobility Pack Zintegrowane moduły. Paczki do NetBeans.

Programowanie w Javie cz. 1 Wstęp. Łódź, 24 luty 2014 r.

WPROWADZENIE DO JĘZYKA JAVA

Copyright by K. Trybicka-Francik 1

Dokumentacja aplikacji Szachy online

Programowanie dla początkujących w 24 godziny / Greg Perry, Dean Miller. Gliwice, cop Spis treści

INSTRUKCJA INSTALACJI SYSTEMU

Java i JavaScript. Krishna Tateneni Polskie tłumaczenie: Suse Polska Aktualny opiekun tłumaczenia: Marcin Kocur

Podyplomowe Studium Informatyki w Bizniesie Wydział Matematyki i Informatyki, Uniwersytet Łódzki specjalność: Tworzenie aplikacji w środowisku Oracle

SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE

Java: otwórz okienko. Programowanie w językach wysokiego poziomu. mgr inż. Anna Wawszczak

Programowanie obiektowe. Literatura: Autor: dr inŝ. Zofia Kruczkiewicz

Programowanie obiektowe

Typy przetwarzania. Przetwarzanie zcentralizowane. Przetwarzanie rozproszone

Java w 21 dni / Rogers Cadenhead. Gliwice, cop Spis treści. O autorze 11. Wprowadzenie 13 TYDZIEŃ I JĘZYK JAVA

Bezpieczeństwo systemów komputerowych. Java i JavaScript. Java i JavaScript. Java - historia

U M L. System operacyjny Linux zagnieżdżony w zewnętrznym systemie operacyjnym (Linux)

Emulacja maszyny. Program udaje zupełnie inną architekturę. Musi przetłumaczyć instrukcje emulowane na instrukcje platformy, na której działa

WPROWADZENIE DO JĘZYKA JAVA

Programowanie Komponentowe WebAPI

World Wide Web? rkijanka

Cechy systemu X Window: otwartość niezależność od producentów i od sprzętu, dostępny kod źródłowy; architektura klient-serwer;

Multimedia JAVA. Historia

XQTav - reprezentacja diagramów przepływu prac w formacie SCUFL przy pomocy XQuery

Flex 3. Piotr Strzelczyk Wydział EAIiE Katedra Automatyki. Kraków, 2008

SiR_13 Systemy SCADA: sterowanie nadrzędne; wizualizacja procesów. MES - Manufacturing Execution System System Realizacji Produkcji

Instrukcja pierwszego logowania do Serwisu BRe Brokers!

Programowanie obiektowe. Wprowadzenie

Java EE produkcja oprogramowania

JAVA. Java jest wszechstronnym językiem programowania, zorientowanym. apletów oraz samodzielnych aplikacji.

Wykład 1: Wprowadzenie do technologii Java

Programowanie obiektowe

PORADNIKI. Techniki WWW

Język JAVA podstawy. wykład 2, część 1. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna

Projektowanie, tworzenie aplikacji mobilnych na platformie Android

Serwery Aplikacji "CC" Grzegorz Blinowski. tel (22) ; faks (22)

Wyświetlanie publikacji w formacie DjVu. Wyświetlanie publikacji w Bałtyckiej Bibliotece Cyfrowej można realizować na 3 sposoby:

Język JAVA podstawy. wykład 2, część 2. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna

Język JAVA podstawy. wykład 1, część 2. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna

INFORMATYKA Pytania ogólne na egzamin dyplomowy

Programowanie Strukturalne i Obiektowe Słownik podstawowych pojęć 1 z 5 Opracował Jan T. Biernat

Sposoby zwiększania efektywności systemu Windows

Instalacja SQL Server Express. Logowanie na stronie Microsoftu

TECHNOLOGIE INFORMACYJNE

Wykład Ćwiczenia Laboratorium Projekt Seminarium

Specyfikacja Wymagań Oprogramowania

Tworzenie oprogramowania

Wykład V. Rzut okiem na języki programowania. Studia Podyplomowe INFORMATYKA Podstawy Informatyki

INFORMATYKA, TECHNOLOGIA INFORMACYJNA ORAZ INFORMATYKA W LOGISTYCE

Expo Composer Garncarska Szczecin tel.: info@doittechnology.pl. Dokumentacja użytkownika

Re_Forms 21 Często zadawane pytania (FAQ)

OpenLaszlo. OpenLaszlo

Opis komunikacji na potrzeby integracji z systemem klienta (12 kwiecień, 2007)

Podstawy Techniki Komputerowej. Temat: BIOS

Tworzenie aplikacji Web Alicja Zwiewka. Page 1

Instalacja Czytnika Kart w systemie Windows 7

Struktury systemów operacyjnych

System zarządzający grami programistycznymi Meridius

Instalacja i konfiguracja IIS-a na potrzeby dostępu WEB do aplikacji Wonderware InTouch Machine Edition

Java - wprowadzenie. Programowanie Obiektowe Mateusz Cicheński

Informatyka I. Standard JDBC Programowanie aplikacji bazodanowych w języku Java

Dokumentacja projektu QUAIKE Architektura oprogramowania

uczyć się bez zagłębiania się w formalnym otoczeniu,

PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL IV TI 6 godziny tygodniowo (6x15 tygodni =90 godzin ),

Uniwersytet Łódzki Wydział Matematyki i Informatyki, Katedra Analizy Nieliniowej. Wstęp. Programowanie w Javie 2. mgr inż.

Programowanie w Javie 2. Płock, 26 luty 2014 r.

Piotr Dynia. PowerPivot. narzędzie do wielowymiarowej analizy danych

Przewodnik instalacji i rozpoczynania pracy. Dla DataPage+ 2013

JavaFX. Technologie Biznesu Elektronicznego. Wydział Informatyki i Zarządzania Politechnika Wrocławska

Przegląd i ewaluacja narzędzi do szybkiego tworzenia interfejsu użytkownika (RAD).

ActiveXperts SMS Messaging Server

Programowanie równoległe i rozproszone. Praca zbiorowa pod redakcją Andrzeja Karbowskiego i Ewy Niewiadomskiej-Szynkiewicz

Aplikacje Internetowe, Servlety, JSP i JDBC

INSTRUKCJA STANOWISKOWA

Zagadnienia egzaminacyjne INFORMATYKA. Stacjonarne. I-go stopnia. (INT) Inżynieria internetowa STOPIEŃ STUDIÓW TYP STUDIÓW SPECJALNOŚĆ

Komunikacja i wymiana danych

GE Security. Alliance. zaawansowany system zarządzania bezpieczeństwem

Język JAVA podstawy programowania

ZAPOZNANIE SIĘ Z TWORZENIEM

Programowanie w C. dr inż. Stanisław Wszelak

System Kancelaris. Zdalny dostęp do danych

Sposoby tworzenia projektu zawierającego aplet w środowisku NetBeans. Metody zabezpieczenia komputera użytkownika przed działaniem apletu.

System Zarządzania Dystrybucją

Android - wprowadzenie. Łukasz Przywarty

Zaawansowane programowanie w języku C++

CZĘŚĆ A PIERWSZE KROKI Z KOMPUTEREM

REFERAT PRACY DYPLOMOWEJ

Podstawa programowa Technik informatyk PODSTAWA PROGRAMOWA KSZTAŁCENIA W ZAWODZIE TECHNIK INFORMATYK SYMBOL CYFROWY 312[01]

Środowiska i platformy programistyczne

PyPy's Approach to Virtual Machine Construction

Pierwsze logowanie do systemu I-Bank

Programowanie Multimediów. Programowanie Multimediów JAVA. wprowadzenie do programowania (3/3) [1]

Wstęp Budowa Serwlety JSP Podsumowanie. Tomcat. Kotwasiński. 1 grudnia 2008

Zagadnienia egzaminacyjne AUTOMATYKA I ROBOTYKA. Stacjonarne I-go stopnia TYP STUDIÓW STOPIEŃ STUDIÓW SPECJALNOŚĆ

76.Struktura oprogramowania rozproszonego.

Transkrypt:

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ń