Archiwum

Archiwum kategorii ‘Java’

FUJABA

Sierpień 18, 2007 Dodaj komentarz

Przeglądając płytę CD dołączoną do książki „Język UML 2.0” natrafiłem na narzędzie do modelowania w języku UML o nietuzinkowej nazwie – Fujaba, co znaczy „From UML to Java And Back Again”. Jest ono systematycznie rozwijane przez pracowników naukowych uniwersytetu w Paderborn (Niemcy, Nadrenia Północna – Westfalia)

Poniżej prosty, wręcz banalny model klasy, oraz.. kod Java wygenerowany przez to narzędzie.

 

fujaba

 

package ZaJavka;

import java.util. *;

/**

* UMLClass: ‘Komunikator’.

*/

public class Komunikator

{

/**

* UMLAttr: ‘userName : String’.

*/

private String userName = “”;

/**

* UMLMethod: ‘- getUserName (): String’.

*/

private String getUserName ()

{

return this.userName;

}

/**

* UMLMethod: ‘- setUserName (newUserName: String): Void’.

*/

private void setUserName (String newUserName)

{

if ((this.userName == null) || (this.userName != null && !this.userName.equals (newUserName)))

{

this.userName = newUserName;

} // if

}

/**

* UMLMethod: ‘+ removeYou (): Void’.

*/

public void removeYou ()

{

//Statement

}

}

 

Jak widać, nie zapomniano nawet o hermetyzacji zmiennych.

Kategorie:Academic, Java, Kod, UML

SUN J2EE

Lipiec 7, 2007 Dodaj komentarz

Niedawno miałem okazje, w celu zaliczenia przedmiotu TIN na mojej uczelni, zaprojektować niewielki serwis internetowy umożliwiający wielu użytkownikom udział w różnych, wybranych grach, poprzez sieć.

Był to mój pierwszy kontakt z tą platformą, zatem pierwsze pytania jakie mi się nasunęły po krótkim rekonesansie:

 

1) Platforma SUN’a posiada wbudowany system zarządzania relacyjnymi bazami danych ‘Cloudscape’.

Jak się z niego korzysta? Zapewne poprzez wiersz poleceń.. jakże by inaczej.

2) Aplikacja J2EE jest plikiem w formacie .ear . Jak ją utworzyć ?

3) W jaki sposób odpalamy serwer http ?

 

Abyśmy mogli cokolwiek zaprojektować i wdrożyć (ang. ‘deployment’), obok zainstalowanej dystrybucji J2EE (ja korzystałem z wersji 1.3), musimy posiadać Java SDK , w wersji max 1.4.2.

J2EE 1.3 oraz Java 1.5 …? – to nie zda egzaminu.

Sekret pracy – w katalogu instalacyjnym j2ee/bin posiadamy zbiór narzędzi, dlatego warto mieć na pulpicie skrót cmd do tego katalogu, aby wygodnie odpalać niezbędne aplikacje – j2ee, cloudscape, deploytool itd.

 

Wszystko powoli się wyjaśnia:

1) aby utworzyć bazę danych, odpowiednie tabele, odpalamy cloudscape.bat –start, po czym w nowym oknie cloudscape.bat – isql, i mamy wiersz poleceń do wpisywania instrukcji SQL / PLSQL. RSDB Cloudscape jest autorstwa firmy IBM, ale nie jest już rozwijany.

2) deploytool.bat – po krótszej chwili otworzy się okno programiku napisanego…. w javie. To narzędzie pozwala kolejno na stworzenie aplikacji, dodanie komponentów, archiwów war oraz jar (te pierwsze są tworzone automatycznie, wystarczy ze wskażemy nasze pliki .class czy też .jsp)

 

J2EE

 

3) J2EE posiada serwer http Tomcat. Wystarczy wejść na localhost:8000, aby przywitała nas strona domowa.

 

Nie będę się rozpisywał o technikach programowania, chociażby z tego powodu że należy umieć programować chociaż na poziomie średniozaawansowanym, ale przedstawię kilka kruczków.

Dla każdej aplikacji ustawiamy tzw. ContextRoot, czyli katalog, w którym umieszczamy naszą witrynę. Jeżeli kontekst rootem będzie ‘przelicznik’, to nasza witryna będzie dostępna pod adresem localhost:8000/przelicznik

 

Wszelkiej maści gry sieciowe są w ogromnej większości apletami Javy. Jeżeli chcemy przekazać jakieś danego do takiego apletu, warto to zrobić z poziomu strony jsp, za pomocą kodu html i argumentów PARAM:

<APPLET CODE=battleships.Battleships.class WIDTH=700 HEIGHT=400>

<PARAM NAME=”chmurka_user_id” VALUE=”<%=login%>”>

<PARAM NAME=”chmurka_room” VALUE=”<%=room%>”>

</APPLET>

Aplety umieszczamy w jakimś pakiecie, następnie upewniamy się, czy deploytool nie umieścił plików w katalogu /classes, jeżeli tak jest to je przenosimy do katalogu głównego w naszym WAR.

 

Najciekawsze – w jaki sposób użytkownicy mają się ze sobą komunikować?

Aby użytkownicy systemu mogli widzieć siebie nawzajem i ze sobą grać, należy zaimplementować rozwiązanie, które pozwoli pobierać dane o użytkownikach i umożliwić komunikację. Bezpośrednie podłączenie apletu do EJB nie jest dobrym rozwiązaniem, ściany ognia blokują wysokie porty, więc wywołanie RMI-IIOP nie zawsze jest możliwe – dlatego warto wprowadzić serwlety.

 

 

EJB TIER

Kategorie:Java
Follow

Otrzymuj każdy nowy wpis na swoją skrzynkę e-mail.