Pokazywanie postów oznaczonych etykietą netbeans. Pokaż wszystkie posty
Pokazywanie postów oznaczonych etykietą netbeans. Pokaż wszystkie posty

sobota, 17 lipca 2010

Moje pierwsze kroki z Hibernate oraz PostgreSQL

Zastosowanie odwzorowania obiektowo-relacyjnego w przykładowych projektach planowałem poprzedzić zdobyciem wiedzy teoretycznej
z zakresu tematów ORM oraz Hibernate. Biorąc pod uwagę fakt,
iż do ukończenia lektury podręcznika "Hibernate w akcji" pozostało naprawdę niewiele, postanowiłem wykonać swój pierwszy krok w kierunku praktycznego wykorzystania Hibernate.

Przyznam się, że Jacek Laskowski publikując swój nowy artykuł pt. "Tworzenie samodzielnej aplikacji z Hibernate w NetBeans IDE 6.9" trafił dokładnie w moje potrzeby - dzięki Jacek. Nie spodziewałem się, że przy pomocy NetBeans można tak sprawnie (i szybko!) stworzyć przykładowy projekt z Hibernate.

Pierwsza myśl po poprawnym uruchomieniu aplikacji była następująca: "Chcę zobaczyć zawartość tabeli klient". W przykładzie została wykorzystana domyślna dla NetBeans IDE 6.9 baza danych Apache Derby, zatem przeszedłem do widoku Services, odszukałem tabelę klient oraz niejawnie wykonałem dla niej zapytanie select * from APP.KLIENT poprzez wybranie "View Data..." z menu tabeli.


Kolejna myśl dotyczyła uruchomienia aplikacji w oparciu o bazę danych PostgreSQL. Czynności mające na celu realizację tego zadania opisałem poniżej.

Instalacja serwera bazy danych PostgreSQL nie stanowi jakiegokolwiek problemu, podczas jej trwania użytkownik proszony jest o ustalenie hasła dostępowego do konta postgres pełniącego rolę administratora.

Wszystkie wymagane informacje do stworzenia nowego pliku konfiguracyjnego Hibernate uzyskamy uruchamiając aplikację pgAdmin III. Dodatkowo za jej pomocą jesteśmy w stanie np. utworzyć nową bazę danych oraz zdefiniować nowe role (konta użytkowników). Na potrzeby przykładowej aplikacji możemy wykorzystać istniejącą już bazę danych oraz zdefiniowaną rolę
(dla obu przypadków nazwą jest postgres).

Mając na celu stworzenie nowego dokumentu hibernate.cfg.xml (aktualny kasujemy) posłużymy się kreatorem pliku konfiguracyjnego dla Hibernate w NetBeans (File -> New File : kategoria Hibernate,
typ pliku Hibernate Configuration Wizard).

W trzecim kroku kreatora pt. "Select Data Source" jako Database Connection wybieramy "New Database Connection...". Następnie definiujemy nowe połączenie z bazą danych: wybieramy odpowiedni sterownik oraz podajemy wymagane informacje.




Do utworzonego pliku hibernate.cfg.xml pomiędzy <session-factory>
a </session-factory> dodajemy następujące linijki:

<property name="current_session_context_class">
thread</property>
<property name="show_sql">true</property>
<property name="hbm2ddl.auto">update</property>
<mapping resource="hibernate.hbm.xml"/>
Aplikacja jest gotowa. Uruchamiamy ją kilka razy, następnie
łączymy się z bazą danych za pomocą pgAdmin III, odszukujemy oraz zaznaczamy tabelę klient.


Ctrl + d wyświetli pełną zawartość tabeli.


Jak widzimy informacje przekazane za pomocą przykładowej aplikacji zostały utrwalone w bazie danych PostgreSQL.

piątek, 23 kwietnia 2010

Tworzenie usługi sieciowej z wykorzystaniem JAX-WS i NetBeans IDE 6.8

Jak już wcześniej napisałem, czytanie wszelkiej maści dokumentacji dotyczących technologii Web Services umilało mi wolny czas przez ostatni tydzień. Biorąc pod uwagę, że nie samą teorią człowiek żyje, postanowiłem przejść do praktyki. Stworzenie przy pomocy JAX-WS przykładowej usługi sieciowej oraz jej klienta okazało się być bardzo proste. Wykorzystując środowisko programistyczne NetBeans 6.8 możemy napisać nasz własny Web Service w szybki i przejrzysty sposób.

1. Tworzenie przykładowej usługi

Pierwszym krokiem jest stworzenie nowego projektu: File -> New Project . Wybieramy kategorię Java Web oraz typ projektu Web Application. Przechodzimy dalej wciskając "Next". Jako Project Name podajemy MyWebApplication oraz klikamy myszką "Next", "Next" i "Finish".

Do stworzonego projektu dodajemy nowy plik: File -> New File . Wybieramy kategorię Web Services oraz typ pliku Web Service. Zatwierdzamy poprzez "Next". Jako Web Service Name podajemy MyFirstWs, w pole Package wpisujemy myfirstws. "Finish".

Edytujemy kod powstałego pliku MyFirstWs.java :

package myfirstws;

import javax.jws.WebService;

@WebService()
public class MyFirstWs {
public int func(int a, int b) {
return a * b;
}
}
Stworzoną usługę uruchamiamy poprzez Run -> Run Main Project . Jeżeli zrobiliśmy wszystko jak należy powinniśmy otrzymać komunikat:
"(...)
Personal GlassFish v3 Domain is running.
In-place deployment at D:\MyWebApplication\build\web
Initializing...
run-deploy:
Browsing: http://localhost:30074/MyWebApplication/
run-display-browser:
run:
BUILD SUCCESSFUL (total time: 34 seconds)"


2. Tworzenie aplikacji klienckiej

Ponownie rozpoczynamy od stworzenia nowego projektu, tym razem jednak wybieramy kategorię Java oraz typ projektu Java Application. Jako Project Name podajemy MyWsClient oraz odznaczamy pole Create Main Class.

Do stworzonego projektu dodajemy nowy plik wybierając kategorię Web Services oraz typ Web Service Client. Następnie wskazujemy ścieżkę do pliku WSDL uruchomionej usługi (WSDL URL): http://localhost:30074/MyWebApplication/MyFirstWsService?WSDL oraz wpisujemy w pole Package: myfirstws (tak jak poprzednio).

Jeżeli ukazał się nam komunikat "(...) BUILD SUCCESSFUL (total time: 2 seconds)" możemy przejść dalej. Wygenerowane pliki umożliwią nam połączenie się z usługą poprzez aplikację kliencką.

Do projektu dodajemy nową klasę (kategoria Java, typ Java Class) nadając jej nazwę MyFirstWsClient oraz wpisując w pole Package: mywsclient . Edytujemy kod powstałego pliku MyFirstWsClient.java :

package mywsclient;

import myfirstws.MyFirstWs;
import myfirstws.MyFirstWsService;

public class MyFirstWsClient {
public static void main(String[] args) {
try {
MyFirstWsService service = new MyFirstWsService();
MyFirstWs myws = service.getMyFirstWsPort();
if(args.length >= 2) {
int a = Integer.parseInt(args[0]);
int b = Integer.parseInt(args[1]);
System.out.println(a + " * " + b + " = " + myws.func(a, b));
}
else {
System.out.println("java -jar MyWsClient.jar integer1 integer2");
}
}
catch(Exception e) {
e.printStackTrace();
}
}
}
Archiwum jar z aplikacją tworzymy poprzez Run -> Clean and Build Main Project (jeżeli jest głównym projektem) lub Clean and Build wybrane na projekcie. Jeżeli zobaczyliśmy komunikat "(...) BUILD SUCCESSFUL (...)", w podfolderze dist projektu znajdziemy plik jar z gotową do uruchomienia aplikacją kliencką.

Kolejny wpis będzie dotyczył uruchamiania usługi sieciowej pod IBM WebSphere Application Server 7.