SunSoft Java WorkShop FCS 1.0 for Windows 95/NT ======================================= Clico Centrum Oprogramowania Sp. z o.o. Al. 3-go Maja 7, 30-063 Kraków tel: 12 343422 w. 146, 192 faks: 12 323698 e-mail: support@clico.krakow.pl ftp: ftp.clico.krakow.pl http://www.clico.krakow.pl ======================================= Co to jest Java? ================ Na temat obiektowo zorientowanego języka programowania Java napisano już tyle ile dziennie wypija się w USA kubków popularnej kawy (java - "dżawa"), skąd pochodzi ta "geograficznie" brzmiąca nazwa. W pewnym sensie jest to swego rodzaju fenomen, bowiem o Javie było głośno na długo przed powstaniem pierwszych komercyjnych zastosowań lub choćby tylko projektów tychże zastosowań. Niekiedy mówi się, że Java to język programowania Internetu. Jest to bardzo bliskie prawdy, bowiem programy napisane w Javie są najczęściej wykonywane poprzez ich włączenie w zasoby serwera publikacyjnego Web, a wszelkie granice użytkowania i projektowania stron WWW zostają w ten sposób poszerzone w niewyobrażalny jeszcze sposób. Ostatnio pojawił się nawet nowy termin - javitalizacja stron Web - oznaczający wykorzystanie Javy w budowie naszego serwera WWW. Właśnie od ograniczeń stojących przed standardem projektowania stron HTML wywodzi się pomysł Javy. Mimo zdefiniowania i wdrożenia szeregu rozszerzeń - wersje 2.0 i 3.0 opracowane głównie przez Netscape Communication - do bazowego standardu HTML, publikowane strony Web pozostawały nadal statyczne. Mieliśmy tabele, kolorowe tła, ciekawą interpretację tekstu i grafiki, ale brakowało nam szeregu nawet bardzo prostych mechanizmów, które dostępne są w każdym języku programowania. Lukę tą wypełnił język Java zaprojektowany w SUN Microsystems. Idea pracy systemu z Java jest bardzo prosta. W języku Java tworzone są programy nazywane apletami (applets), które następnie przetwarzane są przez specjalny kompilator do binarnej, skondensowanej, niezależnej od platformy postaci, określanej mianem: kod-bajtowy (bytecode) lub klasa (class). Rozmiar wygenerowanych plików jest w przeważającej części przypadków stosunkowo mały (kilka KB), co pozwala na realizację szybkiej transmisji nawet w wolnych sieciach. Klasy mogą być interpretowane przez wirtualną maszynę wbudowaną np. w przeglądarkę WWW lub przez niezależny program (tzw. AppletViewer). Aplety (klasy) włączane są do stron Web za pomocą prostego mechanizmu, stanowiącego kolejne rozszerzenie języka HTML. Oprócz wywołania określonego apletu na danej stronie możemy także przekazać dowolną ilość parametrów (argumentów), definiujących sposób pracy apletu. Oznacza to zatem, że mamy możliwość tworzenia uniwersalnych apletów i parametryzowania ich wykonania. Niezwykle istotnym jest także to, że do wykorzystania Javy nie potrzebujemy specjalnego serwera WWW, bowiem cały ciężar obsługi kodów bajtowych spoczywa na naszej, pracującej lokalnie maszynie wirtualnej (przeglądarce Web). Maszyna ta, czyli interpreter kodu Javy, pracuje w określonym środowisku, zawierającym szereg wykonywalnych apletów tworzących w pewnym sensie bibliotekę klas Javy typu run-time. Dzięki temu nawet skomplikowane operacje mogą być wykonywane za pomocą kilku-linijkowego apletu. Wirtualna maszyna - motor Javy - nie musi być koniecznie programem. SUN Microelectronics opracował trzy nowe procesory: picoJava, microJava i ultraJava, które obsługują bezpośrednio zestaw instrukcji kodu bajtowego Java. Są to zatem procesory, dla których skompilowany program w Javie jest bezpośrednio wykonywalnym kodem maszynowym. Proces interpretacji takiego kodu jest pomijany, a aplety czy też programy napisane w Javie są wykonywane dużo szybciej. SUN planuje udzielenie licencji na wytwarzanie tych procesorów innym firmom oraz rozpoczęcie produkcji małych, sprzętowych terminali Java, przeznaczonych do bezpośredniego "wpięcia" w Internet. Słabą stroną procesorów Java jest to, że nie mogą one robić nic więcej poza obsługą kodu Java. Aktualnie najbardziej sensownym wykorzystaniem tych procesorów wydaje się być zatem konstrukcja koprocesora Java. Gra jest warta zachodu, bowiem interpretacyjna technika programowej maszyny Java nie należy do najszybszych rozwiązań Sukces Javy wydaje być się bezsporny. Pod koniec ubiegłego roku SUN powołał osobną firmę JavaSoft, której zasoby zostały zadedykowane tylko do pracy nad językiem i środowiskiem Java. Rozpoczęto także sprzedaż licencji systemu Java. Początkowo sprzedawano prawa do wykorzystania systemu Java w niezależnych produktach programowych. Licencje takie kupiły np. Netscape, Microsoft i Silicon Graphics. W aktualnym modelu licencjonowania sprzedaży podlega technologia bazowa - Java Virtual Machine i biblioteki Java Class, które umożliwiają włączenie Javy bezpośrednio w system operacyjny. Swoje zainteresowanie takim schematem zadeklarowały: Apple, Hewlett-Packard, IBM, Microsoft, Novell, Silicon Graphics, SunSoft, SCO, NetManage i Tandem Computers. Javą zainteresowani są także wszyscy producenci systemów baz danych (Informix, Oracle, itp.), ze względu na nowe możliwości jakie otwiera ta idea przed wykorzystaniem baz danych w sieciach Internet i Intranet. Już prowadzone są rozległe prace nad bazodanowymi apletami Java. Wielu producentów przeglądarek WWW deklaruje rychłe udostępnienie wersji z interpreterem Java, a firma Netscape począwszy od wersji 2.01 już obsługuje Javę w swojej bardzo popularnej przeglądarce Navigator. Wygląda na to, że mamy do czynienia z nowym zjawiskiem - Javomania. Patrząc na aktualny stan problemów związanych z Javą zauważyć można brak zintegrowanego środowiska programistycznego, dedykowanego do budowy apletów Java. Odpowiedzią na tą sytuację jest nowy produkt firmy SunSoft Java WorkShop, który pozwala szybko tworzyć, testować i analizować aplikacje i aplety Java przy użyciu narzędzia bazującego na idei przeglądarki Web. Oznacza to tyle, że jeżeli ktoś umie posługiwać się przeglądarką WWW to wie jak obsługiwać Java WorkShop. Produkt ten to także dowód możliwości Javy, bowiem został napisany w całości właśnie w tym języku. Ekran Java WorkShop ma układ podobny do klasycznej przeglądarki WWW. W jego górnej części znajduje się listwa narzędziowa z szeregiem ikon, pozwalająca szybko uaktywnić określone narzędzia środowiska. Proste naciśnięcie ikony powoduje uruchomienie zadania w odniesieniu do aktualnego projektu. Przechodzenie pomiędzy poszczególnymi narzędziami jest tak proste jak obsługa przeglądarki (strzałka w przód/w tył). Dodatkowo, szereg stron zostało zaprojektowane w formie tabelarycznego interfejsu z polami dialogowymi, co pozwala łatwo ustalić określone parametry. W każdym momencie do dyspozycji mamy wrażliwy na kontekst bogaty system pomocy. Najważniejszą zaletą pakietu jest integracja wszystkich jego elementów z pełną wymianą informacji, co maksymalizuje efektywność z jednoczesną minimalizacją czasu realizacji danego projektu. Project Manager =============== Podstawowym elementem na którym operuje JavaWorkShop jest projekt. Nowe zadania zaczynamy zatem od definicji projektu, czyli logicznego powiązania ze sobą wszystkich elementów, związanych z edycją, "kompilacją" i wykonaniemdanego "programu". Mamy możliwość utworzenia następujących typów projektów: Applet - program napisany w języku Java,który będzie wykonywany pod kontrolą przeglądarki obsługującej aplety Java (np.HotJava, Netscape). Java WorkShop umożliwia kreację/edycję, przeglądanie źródeł i ich powiązań, analizę błędów wykonania i wykonanie projektów tego typu. Standalone Program - podobnie jak Applet napisany jest w języku Java, ale przetworzony nie do klas tylko do postaci wykonywalnej w środowisku danego systemu operacyjnego. Java WorkShop umożliwia kreację/edycję, przeglądanie źródeł i ich powiązań, analizę błędów wykonania i wykonanie projektów tego typu. Java Package - jest to grupa klas (apletów) związana jedną nazwą (biblioteka procedur). Java WorkShop umożliwia kreację/edycję oraz przeglądanie źródeł i ich powiązań w projektach tego typu. Image - jest to projekt w zasadzie nie mający nic wspólnego z językiem Java. Dotyczy on umieszczania elementów graficznych (z reguły plików GIF) na stronach WWW (komenda ). Wytworzone tą metodą strony mogą być następnie włączone w inne miejsca za pomocą prostego mechanizmu ("point-and-click"). Remote Applet - aplet rezydujący w dowolnym miejscu Internet, który może być wykorzystany lokalnie w Java WorkShop. Projekty grupowane są w foldery (portfele), a właśnie utworzony projekt staje się projektem aktywnym przetwarzanym przez pozostałe moduły Java WorkShop. Projekty mogą być elementami innych projektów. Tego typu zagnieżdżanie jest użyteczne przy tworzeniu samodzielnych programów pisanych w Javie. W przypadku apletów definiujemy także parametry ich wykonania (patrz rysunek). Możemy określić argumenty przekazywane do apletu, pozycję i rozmiary apletu na stronie WWW oraz alternatywny tekst dla przeglądarek nie obsługujących Javy. Nie musimy znać składni rozszerzenia języka HTML (), ponieważ parametry te umieszcza się w odpowiednich polach dialogowych. Przetestowane otoczenie pracy apletu może zostać następnie włączone do docelowej strony WWW za pomocą prostego mechanizmu kopiuj/wklej. Build Manager ============= Po definicji projektu główną rolę w procesie wdrożenia i budowy określonego zadania przejmuje Build Manager. Używając analogii pochodzącej z systemu UNIX, Project Manager odpowiada utworzeniu pliku Makefile, natomiast Build Manager to uruchomienie komendy make(1). Podstawowa różnica polega na tym, że oprócz sterowania procesem kompilacji Build Manager tworzy także testowe strony HTML, pozwalające uruchomić opracowywany aplet. Dodatkowo, w przypadku napotkania błędów kompilacji generowany jest odpowiedni raport z zaznaczonymi linkami do kodu źródłowego. Naciśnięcie takiej linii powoduje uruchomienie edytora (Source Editor) i jego ustawienie w linii będącej przyczyną błędu. W tym trybie pracy edytor "otrzymuje" dodatkowe ikony, pozwalające łatwo przechodzić od błędu do błędu. Build Manager jest zatem w pełni zintegrowany z pozostałymi modułami. W pakiecie Java WorkShop (wersja pre-release Dev 4) zawarto pakiet JDK (Java Developer's Kit), który jest jego czysto znakowym - opartym o język komend - poprzednikiem. Jako kompilator używany jest - pochodzący z tego pakietu - program javac, przetwarzający programy w Javie do binarnej, przenaszalnej postaci ("bytecode", klasa). W środowisku Windows95 uruchomienie Build Managera powoduje zatem uaktywnienie "javac" w okienku MS-DOS. W ramach definicji projektu mamy możliwość określenia dodatkowych opcji kompilacji, takich jak: -g generacja dodatkowych informacji dla programu analizującego wykonanie (debugger-a) -verbose generacja dodatkowych komunikatów informacyjnych i raportu z kompilacji -nowarn wyłączenie komunikatów o ostrzeżeniach Oczywiście użytkownik nie musi pamiętać składni powyższych opcji, bowiem ich uaktywnienie realizowane jest przez w pełni czytelne okna dialogowe. Build Manager kompiluje tylko te pliki, które zostały zmodyfikowane (dotyczy to konstrukcji złożonych z wielu plików), co oczywiście znacznie przyspiesza pracę nad złożonymi projektami. W przypadku kiedy to jest konieczne (np. gdy zakończymy projekt i chcemy usunąć nadmiarowe efekty opcji "-g"), mamy możliwość całkowitej przebudowy projektu za pomocą pojedynczej ikony. Portfolio Manager ================= Portfolio Manager dostarcza wszystkichmechanizmów, które są konieczne do łatwego publikowania apletów i innych elementów mających związek z Web. Przede wszystkim jest to jednak narzędzie zarządzające portfelami, zawierającymi pogrupowane według dowolnego schematu projekty. Poszczególne projekty mogą być wymieniane pomiędzy portfelami za pośrednictwem prostej techniki "drag&drop". Portfolio Manager pozwala także publikować wybrane portfele ze zdefiniowanymi prawami dostępu do określonych projektów. Umożliwia to udostępnianie efektów swojej pracy według uznania - w maksymalnym bądź minimalnym stopniu. Informacje mogą być dzielone z pozostałymi pracownikami grupy projektowej lub całego zakładu oraz komercyjnie dystrybuowane poprzez Web w sieci Internet. Dostęp do innych portfeli publikowanych poprzez Web jest również łatwo realizowany przez ten moduł. Applet Tester ============= Applet Viewer uruchamia aktywny projekt w środowisku Java WorkShop. Dzięki definicji projektu moduł wie czy uruchamiany jest niezależny program czy aplet, który ma być wywołany na stronie HTML. W tym drugim przypadku parametry wykonania apletu zdefiniowane poprzez Project Manager są przetwarzane na odpowiedni zestaw instrukcji języka HTML. Tak naprawdę to moduł ten jest przeglądarką Web, zintegrowaną z pozostałymi elementami Java WorkShop. Mimo, że istnieje możliwość wywołania AppletViewer-a w odniesieniu do dowolnej strony Web, czyli użycie go jak niezależnej przeglądarki, to moduł ten służy przede wszystkim do śledzenia wyników pracy nad projektem. Source Browser ============== Source Browser jest narzędziem przeznaczonym do analizy struktury i organizacji apletów Java. Ponieważ Java to język zorientowany obiektowo, narzędzie do przeglądu hierarchii klas, konstruktorów i metod jest niezwykle użyteczne nawet w niezbyt skomplikowanych projektach. Poza wszystkim jest to także znakomita forma dokumentacji naszej pracy. Moduł umożliwia wariantowe, elastyczne przeszukiwanie kodu źródłowego i tworzy dynamiczne linki dla edytora kodu. Przejście z przeglądu struktury do edycji kodu źródłowego jest zatem realizowane w prosty sposób (odwołanie się do określonego linku). Source Editor ============= Wielu programistów niejednokrotnie przekonało się jak duże znaczenie ma dobry, wygodny edytor tekstowy. Nawet przy silnie zautomatyzowanych generatorach zaistnieje w końcu konieczność wprowadzenia choćby paru linijek kodu, a co dopiero kiedy program piszemy od pierwszej do ostatniej linijki. Source Editor ma wszystkie cechy edytora dedykowanego dla programistów. Pozwala równolegle pracować nad kilkoma źródłami i nie sprawiają mu żadnych kłopotów pliki utworzone w otoczeniu DOS/Windows lub UNIX. Zawsze są one interpretowane poprawnie bez konieczności stosowania konwerterów w stylu "dos-to-unix" (łatwe wykorzystanie dzielenia plików poprzez NFS). Nowo-tworzone lub modyfikowane pliki są zawsze zapisywane w formacie UNIX. Główną zaletą edytora jest jednak jego pełna integracja z innymi elementami Java WorkShop. W zależności od sytuacji w listwie narzędziowej edytora umieszczane są nowe ikony lub w innym przypadku - określone linie programu są wyróżniane specjalnym kolorem. Inną istotną cechą jest także zgodność z istniejącymi standardami zarządzania kodem źródłowym w programowaniu grupowym (SCCS, RCS, PVCS, SunSoft TeamWare). Debugger ======== Każdy programista wie, że nie ma programu bez błędu. Chodzi o to aby ilość błędów była jak najmniejsza, a ich ewentualny wpływ na jakość pracy programu ograniczony w maksymalny sposób. W przypadku kiedy uruchomienie programu pokazuje nam, że gdzieś zrobiliśmy błąd, mamy kilka możliwych sposobów aby go odszukać. Najprostszy z nich to ingerencja w kod źródłowy i wprowadzanie dodatkowych wydruków kontrolnych. Jest to jednak działanie długotrwałe i niekiedy mało skuteczne, zwłaszcza w przypadku skomplikowanego programu. Dlatego też wielu producentów oferuje w ramach środowiska programistycznego "odpluskwiacz" (debugger), którego zadaniem jest analizowanie kodu programu w trakcie jego pracy. Tak też jest w przypadku Java Workshop. W momencie uruchomienia tego modułu w odniesieniu do aktywnego projektu wyświetlane są trzy okna: okno debugger-a, okno kodu źródłowego i okno wyników (działania) programu. W pierwszym oknie wyświetlane są informacje o strukturze wykonania programu i wartościach zmiennych, drugie służy do sterowania wykonaniem programu na poziomie kodu źródłowego, natomiast trzecie obrazuje wyniki pracy programu. "Odpluskwiacz" oferuje następujące możliwości: Precyzyjne sterowanie wykonaniem programu dzięki komendom "krok w", "krok ponad" i "krok z". Ustalanie i usuwanie tzw. punktów zatrzymania (breakpoints) realizowane jest w prosty sposób przy użyciu myszy. Punkty zatrzymania mogą być definiowane w odniesieniu do linii kodu lub metody. Zawansowana przeglądarka nitek (threads). Możliwość: wstrzymania wykonania nitki, analizy aktualnej nitki, analizy innych nitek i wznowienie wykonania nitki. Podgląd wartości zmiennych i wyrażeń, nawet tych umieszczonych na stosie. Możliwość analizy apletów (projektów) lokalnych lub odległych. Obsługa apletów przeznaczonych do pracy na stronach HTML jak i niezależnych programów. Debugger jest w pełni zintegrowany z całym środowiskiem Java WorkShop. Przykładowo, w momencie kiedy napotkany zostaje błąd wykonania przy testowaniu pracy w "Applet Viewer", Debugger jest uaktywniany automatycznie ze wskazaniem problematycznej linii kodu. Visual Java =========== Visual Java to jeden z najcenniejszych modułów systemu. Przeznaczony jest do budowy interfejsu graficznego z wykorzystaniem standardowych "bibliotek" (pakietów). Idea pracy jest bardzo prosta. Ekran zostaje podzielony na komórki (cele) za pomocą siatki o dowolnej ilości wierszy i kolumn. Każdej celi możemy przypisać obiekt graficzny oraz zdefiniować jego atrybuty takie jak: rozmiar, kolor liter, położenie względem celi, kolor tła, sposób formatowania tekstu, czcionka, itp. Proces ten jest bardzo ułatwiony, poprzez zgrupowanie wszystkich obiektów w postaci listwy narzędziowej. Wybór obiektu odbywa się zatem poprzez wskazanie jego symbolu za pośrednictwem kursora myszy. Do dyspozycji mamy następujące obiekty (w celu uniknięcia pomyłek podane są w oryginalnym brzmieniu): Text label, Image label, Single-line text field, Checkbox/Radio button, List, Text button, Multi-line text, Radio button, Database column list, List, Choice, Scrollbar, Labeled Bar i Menus. Nazwy te są zapewne bliskie programistom aplikacji na bazie SDK MS-Windows lub Motif, a określają wszystkie elementy wykorzystywane w budowie interakcyjnego interfejsu graficznego. Utworzenie zatem np. listy wyboru, sprowadza się do wpisania wszystkich jej elementów i określenia położenia na siatce ekranu. Pozostałe elementy - jak np. suwak - dobierane są przez system automatycznie z opcjonalną możliwością określenia cech innych niż założono. Jeżeli zadowoli nas zaprojektowany ekran możemy następnie poprzez proste "kliknięcie" myszą wygenerować kod źródłowy interfejsu w języku Java. W dalszej części musimy oczywiście zadbać o połączenie wygenerowanego modułu z pozostałymi elementami tworzonej aplikacji. System Pomocy (Help) ==================== System pomocy w Java WorkShop jest jego mocną stroną. Charakteryzuje się wysoką detalicznością i zaawansowanym systemem powiązań i odwołań. Zawiera także szereg przykładów. Może być uaktywniony w odniesieniu do określonego kontekstu lub niezależnie. W tym drugim przypadku stanowi bardzo dobrą i wygodną w przeszukiwaniu dokumentację pakietu Java WorkShop. Zawartość pakietu i wymagania W wersji handlowej Java WorkShop zawiera: 32-bitowe binaria Java WorkShop dla Solaris SPARC, Solaris Intel, Windows95 i WindowsNT. Przykładowe aplety i wzory stron HTML. Java Developers Kit (JDK) dla Solaris SPARC, Solaris, Intel, Windows95 i WindowsNT. System pomocy i dokumentacja on-line. Drukowany podręcznik instalacyjny. CD-ROM Wymagania systemowe (jeden z dwu poniższych systemów): System operacyjny Solaris 2.4 lub nowszy. - SPARC lub Intel 486 lub lepszy - 32MB RAM - 45MB wolnej przestrzeni dyskowej - System X-Windows z menadżerem OSF/Motif 1.2.3 (np. CDE). - Lokalny lub sieciowy CD-ROM do instalacji Microsoft Windows95 lub Microsoft Windows NT 3.5.1 - Intel Pentium 90MHz lub lepszy - 16MB RAM - 45MB wolnej przestrzeni dyskowej - Lokalny lub sieciowy CD-ROM do instalacji Uzupełnienia: SunSoft Visual WorkShop for C++ Wszystkie aplety Java bazujące na JDK 1.0 lub nowszym (aplety dla wersji Beta) Systemy zarządzania kodem źródłowym: - SunSoft SPARCworks/TeamWare - SunSoft ProWorks/TeamWare - SCCS - RCS - PVCS Java WorkShop FCS 1.0 ===================== Aktualnie Java WorkShop dostępny jest w finalnej wersji FCS 1.0. Do końca roku 1996 produkt byl sprzedawany w rewelacyjnej cenie $99!!!! (cena normalna $295). ====================================== Clico Centrum Oprogramowania Sp. z o.o. Al. 3-go Maja 7, 30-063 Kraków tel: 12 343422 w. 146, 192 faks: 12 323698 e-mail: support@clico.krakow.pl ftp: ftp.clico.krakow.pl http://www.clico.krakow.pl ======================================