SDJ 2005_04(124).pdf

(7195 KB) Pobierz
72732376 UNPDF
72732376.011.png
72732376.012.png
72732376.013.png
Spis treści
4/2005 (124)
Opis CD
4
Quo vadis, Sun?
Kalifornijskiej irmie z Palo Alto bardzo wiele zawdzięczamy. Nie mam na myśli
tylko Javy, która zrewolucjonizowała sposób programowania wieloplatformo-
wych aplikacji sieciowych. Nie chodzi też o XML, ani o to, że dzięki tej irmie
społeczność wolnego oprogramowania może cieszyć się posiadaniem niezwy-
kle funkcjonalnego oraz wszechstronnego pakietu biurowego, w którym admi-
nistracje państwowe przeróżnych krajów upatrują godnego następcę Microsoft
Ofice'a. To wszystko jest warte uznania, ale dla mnie najważniejszy jest całko-
wity dorobek Suna wypracowany w ciągu trzynastu lat: wypromowanie szero-
ko rozumianych rozwiązań sieciowych.
Jednak gdyby sens istnienia irmy na rynku warunkowany był tylko jej
zasługami, to dziś cieszylibyśmy się także obecnością Commodore oraz Atari
w sklepach komputerowych. Cóż, jak jest w istocie, każdy wie. Dlatego też
przyjrzyjmy się pobieżnie wynikom inansowym Suna, by móc niezobowiązują-
co zastanowić się nad jego przyszłością.
Ostatni rok rozliczeniowy zakończył sie stratą w wysokości 388 mln dola-
rów. Był to trzeci z kolei rok z ujemnym bilansem. Choć wynik poniżej zera,
to i tak stanowi znaczącą poprawę w stosunku do poprzedniego roku (ponad
3,4 mld dolarów na minusie). Można by sądzić, że irma wychodzi z dołka,
ale czy tak jest w istocie, przyszłość wykaże. Faktem jednak jest to, że gdyby
nie zeszłoroczna ugoda z Microsoftem, bilans byłby gorszy o ponad 1,5 mld.
Przychody ze sprzedaży komputerów, oprogramowania oraz usług spadają od
czasu kryzysu dotcomów (obecnie 11,2 mld dolarów). Tymczasem jego konku-
renci poczynają sobie całkiem dobrze. Przykładowo zysk IBM-a w ubiegłym
roku wzrósł do poziomu 7,6 mld dolarów przy przychodach 89 mld, a zysk HP
wyniósł 3,5 mld (przychody na poziomie 80 mld dolarów). To chyba jasno obra-
zuje pozycję Suna względem największych w branży.
Na przekór tym danym Sun nadal się liczy w grze. Co jest tego przyczy-
ną? Sprzęt bazujący na procesorach ULTRASPARC to maszyny bardzo dobre,
ale niszowe. Zresztą udział sprzedaży hardware'u w całkowitych przycho-
dach irmy sukcesywnie ulega zmniejszeniu na korzyść usług (z 82% w 2001
do 66% w 2004 r.). Jest też Solaris 10, a dokładniej rzecz biorąc, jego kod źró-
dłowy obwarowany licencją Common Development and Distribution License,
która wprowadziła sporo zamieszania w środowisku Open Source. W chwili
obecnej trudno ocenić, czy ten ruch był słuszny. Jestem nastawiony sceptycz-
nie i nie sądzę, by irmie Sun udało sie skusić Solarisem tak wielu dewelope-
rów, jak to miało miejsce w przypadku GNU/Linux.
W istocie to, co dzisiaj stanowi o potencjale Suna, to Java. Zdaje się, że
tylko za sprawą tej perły w koronie irma nie zostanie zmarginalizowana na
rynku IT w perspektywie nadchodzącego dziesięciolecia. O ile wcześniej nie
zbankrutuje. Jakkolwiek, jedno jest pewne: szanse na udostępnienie w najbliż-
szej przyszłości środowiska Javy na zasadach wolnego oprogramowania są
raczej znikome.
Aktualności
10
Informatyczny smak codzienności
82
Katalog Software 2.0
83
Programowanie w Javie
Programowanie gridowe w Ibisie
16
Rob van Nieuwpoort, Jason Maassen
Programowanie rozproszone nie jest łatwym zajęciem. A staje się jeszcze bar-
dziej skomplikowane wówczas, gdy sięgamy po język obiektowy. W takiej sytu-
acji bardzo wygodnym rozwiązaniem byłoby ukrycie w jak największym stopniu
przed programistą warstwy odpowiedzialnej za komunikację między poszcze-
gólnymi jednostkami obliczeniowymi.
To dobre podejście i można albo przystąpić do realizacji takiego zamysłu oso-
biście, albo skorzystać z gotowego, w pełni funkcjonalnego, bardzo uniwersal-
nego środowiska Ibis. Jego współtwórcy, Rob oraz Jason, pokrótce omawiają
możliwości Ibisa w tym artykule.
Java czasu rzeczywistego:
zmniejszanie dystansu do C/C++
Jean-Marie Dautelle
Zastosowanie Javy w aplikacjach czasu rzeczywistego – jak na razie – jest
dosyć ograniczone. Nie dzieje się tak bez powodu; architektura tej platformy
nakłada szereg ograniczeń. Jednak nie oznacza to bynajmniej, że nic z tym
nie można zrobić. Jean-Marie przedstawia kilka sposobów, dzięki którym
można usprawnić działanie kodu w Javie. Co więcej, nie wymagają specjal-
nej maszyny wirtualnej, poprawnie funkcjonują na każdej platformie (niewy-
łączając J2ME).
24
Aleksander Troimowicz
Miesięcznik Software 2.0 (12 numerów w roku) jest wydawany przez Software-Wydawnictwo Sp. z o. o.
Adres korespondencyjny:
Software-Wydawnictwo Sp. z o. o., ul. Lewartowskiego 6, 00-190 Warszawa
www.software20.org redakcja@software.com.pl tel. (22) 860 18 81
Redakcja dokłada wszelkich starań, by publikowane w piśmie i na towarzyszących mu nośnikach informacje
i programy były poprawne, jednakże nie bierze odpowiedzialności za efekty wykorzystania ich; nie gwarantuje
także poprawnego działania programów shareware, freeware i public domain. Uszkodzone podczas wysyłki
płyty wymienia redakcja.
Wszelkie znaki irmowe zawarte w piśmie są własnością odpowiednich irm i zostały użyte wyłącznie
w celach informacyjnych.
Redaktor naczelny: Witold Pietrzak witek@software.com.pl
Redaktor merytoryczny: Aleksander Trofimowicz alex@software.com.pl
Kierownik produkcji: Marta Kurpiewska marta@software.com.pl
Opracowanie CD: Aleksander Trofimowicz alex@software.com.pl
Opracowanie graficzne: Robert Zadrożny robz@software.com.pl
Skład: Tomasz Kaczmarczyk tomaszk@software.com.pl
Projekt okładki: Agnieszka Marchocka
Stali współpracownicy: Kordian Piotr Klecha, Filip Dreger, Jacek Sokulski
Płyty CD dołączone do magazynu przetestowano programem AntiVirenKit irmy G DATA Software Sp. z o.o.
Dział reklamy: Sylwia Pogroszewska reklama@software.com.pl tel.: (22) 860 17 62
Prenumerata: Marzena Dmowska pren@software.com.pl tel.: (22) 860 17 67
Druk: 101 Studio, Firma Tęgi
Nakład: 6 000 egz.
Redakcja używa systemu automatycznego składu
Sprzedaż aktualnych lub archiwalnych numerów pisma po innej cenie niż wydrukowana na okładce
– bez zgody wydawcy – jest działaniem na jego szkodę i skutkuje odpowiedzialnością sądową.
2
www.software20.org
Software 2.0 4/2005
72732376.014.png 72732376.001.png 72732376.002.png 72732376.003.png 72732376.004.png 72732376.005.png 72732376.006.png 72732376.007.png
 
Niezawodność
oprogramowania
30
Roboty do testowania
56
Tworzenie własnych rozszerzeń JOSSO
Bogdan Bereza-Jarociński
Argumenty przemawiające na korzyść automatyzacji testowania wydają się
oczywiste i przekonywujące. Z drugiej jednak strony doświadczenie z wielu
projektów poucza, że to nie jest takie proste. Przemysł informatyczny obitu-
je w historie prób automatyzacji, które zakończyły się kosztownym iaskiem.
Powstało nawet nowe pojęcie shelfware ("półkownik"), czyli narzędzia do
automatycznego testowania, które zakupiono z nadzieją na radykalne uspraw-
nienie testów, by po pół roku odstawić je na półkę.
Gianluca Brigandi
Zapewnie wysokiego standardu bezpieczeństwa aplikacjom internetowym jest
niezwykle istotne w obecnych czasach. Autoryzacja klientów aplikacji to jeden
z najważniejszych aspektów polityki bezpieczeństwa w każdym szanującym
się przedsiębiorstwie.
JOSSO jest opensourcowym rozwiązaniem tego typu problemów, niewymaga-
jącym zbytniej ingerencji w kod aplikacji webowej. Pozwala na pełną integra-
cję z aplikacjami napisanymi w Javie, ASP bądź PHP. W procesie autoryzacji
wykorzystywana jest silna kryptograia bazująca na certyikatach X.509
Inżynieria oprogramowania
34
Wprowadzenie do AspectJ
62
Russ Miles
Programowanie aspektowe dopiero od kilku lat nabiera na znaczeniu. Ta orygi-
nalna technika projektowania oprogramowania wymaga jednak przezwycięże-
nia kilku nawyków właściwych programistom języków obiektowych.
Na przykładzie AspectJ, jednego z najbardziej rozwiniętych projektów doty-
czących programowania aspektowego w Javie, przedstawione zostaną
mechanizmy, dzięki którym można ustrzec się wielu problemów podczas two-
rzenia oprogramowania.
Holistyczna inżynieria oprogramowania
Jacek Sokulski
Czy proces deweloperski może wyglądać inaczej? Czy tworzenie oprogramo-
wania może być metodą rozwoju osobowości? Czy celem irmy informatycznej
może być stworzenie lepszego, bardziej ludzkiego świata? Pytania takie, choć
mogą wydawać się nieadekwatne dla naszej profesji, coraz częściej są zada-
wane w świecie IT. Związane są z tym próby stworzenia nowego rodzaju pro-
cesu, który można nazwać procesem holistycznym. Żeby zrozumieć, dlacze-
go taki proces jest potrzebny i jakie powinien mieć cechy, musimy przyjrzeć się
inżynierii oprogramowania w szerszym ujęciu.
Pule obiektów PooliT
40
Huy Duong
Jedną z niewątpliwych zalet języka Java jest zwolnienie programisty z obo-
wiązku zarządzania pamięcią. Ale tak jak każdy kij ma dwa końce, tak i to roz-
wiązanie nie jest pozbawione słabych punktów. Do najważniejszych z nich
należy zaliczyć stosunkowo niską wydajność działania aplikacji.
Z tego względu powstały różne narzędzia, których zadaniem jest minima-
lizowanie niekorzystnych efektów automatycznego zarządzania pamięcią.
Jednym z nich jest PooliT – biblioteka z niezwykle prostym API, która wykorzy-
stuje pule obiektów.
Biblioteka miesiąca
CImg – obrazki i wzorce
70
Marek Sawerwain
Biblioteka graiczna CImg została napisana w C++ i ma jedną ciekawą wła-
sność wyróżniającą ją na tle innych tego typu bibliotek. Została bowiem oparta
o wzorce. W efekcie cała biblioteka składa się tylko z jednego pliku nagłówko-
wego o wielkości około 415 kB. Nie jest wymagana żadna wstępna kompila-
cja oraz instalacja CImg w systemie. Wystarczy bowiem dołączyć do swojego
projektu plik nagłówkowy biblioteki i można natychmiast korzystać z jej dobro-
dziejstw.
Strefa bezpieczeństwa
Steganografia
– tajniki ukrywania informacji. Grafika
Marcin Tomaszewski
Z punktu widzenia steganograii komputerowej pliki graiczne są najbardziej
łakomym kąskiem. Pozwalają na osadzenie dużej ilości informacji w niewielkim
obrazie, bez widocznej utraty jakości kontenera. Nowoczesne techniki pozwa-
lają ukryć dane w dowolnym znanym formacie pliku, zarówno nie skompreso-
wanym jak i skompresowanym. Wybór odpowiedniego algorytmu uwarunko-
wany jest specyiką formatu obrazu. Inne techniki wykorzystuje się w obrazach
posiadających paletę kolorów, a inne w nie posiadających, jeszcze inne, w pli-
kach skompresowanych metodami stratnymi.
44
Warsztat
Uczymy komputer rozpoznawania
pochodzenia win
Paolo Marrone
Niewiele osób odznacza się na tyle wrażliwym i wyćwiczonym podniebieniem,
by móc bezbłędnie ocenić przynależność danego wina nie tylko do określone-
go gatunku, ale także wskazać winnicę, z której pochodzi. W istocie większość
miałaby problemy z odróżnieniem wina czystego szczepu Cabernet Sauvignon
od takiego z domieszką Carmenere.
Ale pokuśmy się o coś bardziej ambitnego. Niechże to komputer ocenia wina.
Tyle się mówi o sieciach neuronowych i ich ogromnych możliwościach – wyko-
rzystajmy je zatem. Z pomocą Paolo oraz jego biblioteki Joone być może
okaże się to łatwiejsze niż sądzicie.
74
Bazy danych
52
Odwzorowania hierarchii klas
w relacyjnych bazach danych
Jacek Sokulski
Ogromna większość tworzonych obecnie systemów informatycznych powsta-
je w ramach obiektowego paradygmatu tworzenia oprogramowania. Natomiast
standardem składowania danych w dalszym ciągu są bazy relacyjne. Różni-
ce zarówno technologiczne, jak i kulturowe między tymi podejściami często są
przyczyną wielu problemów zarówno dla deweloperów aplikacji, jak i admini-
stratorów baz danych. Artykuł omawia jedno z podstawowych zagadnień, na
które napotykamy łącząc obie technologie: jak reprezentować w relacyjnej
bazie danych strukturę dziedziczenia klas.
Software 2.0 4/2005
www.software20.org
3
72732376.008.png 72732376.009.png 72732376.010.png
Zgłoś jeśli naruszono regulamin