GAE/J - Hello World (1)
sobota, 11 kwietnia 2009
Oto mały opis moich eksperymentów z Google App Engine for Java
Instalacja
Aby zacząć pisać program, korzystając z GAE/J potrzebnych jest kilka rzeczy:
- Java SDK
- To najbardziej oczywisty składnik,
jeśli po napisaniu poleceniajavac -version
w odpowiedzi otrzymamy np:javac 1.6.0_11
, to znaczy że możemy przejść do następnego punktu.
Jeśli nie, no cóż.. java.sun.com - Apache Ant
- Mrówka i pliki build.xml są dla języka Java tym czym dla języka C
jest make i Makefile - narzędziem pozwalającym programiście operować
logiką
Zrób to co mam na myśli
. Można oczywiście obyć się bez tego pakietu, ale jako że bardzo ułatwia życie, polecam jego instalację. Dodam jeszcze że wszystkie przykłady są wydane wraz z plikami build.xml.
Instalację weryfikujemy piszącant -version
, w odpowiedzi powinniśmy dostać coś takiego:Apache Ant version 1.7.1 compiled on June 27 2008
Jeśli nie jesteśmy szczęśliwym posiadaczem tego pakietu to zapraszam na stronę ant.apache.org - Eclipse
- Opcja dla leniwych. ;)
Osobiście pominąłem ten punkt i nie będę go opisywał.
Użytkownicy tego IDE, będą podążali własnymi ścieżkami i nie spodziewam się by mieli pożytek z tego co tu piszę. Będą też potrzebowali armii odpowiednich pluginów.. - Google App Engine SDK
- Wszystko co potrzebne jest dostępne na
code.google.com
Wystarczy pobrać odpowiedni zip, rozpakować i można zacząć zabawę.
W katalogudemos
można znaleść przykładowe projekty. - Konto Google z aktywowanym GAE/J
- Obsługa języka Java, jest w fazie testów i wymaga otrzymania zaproszenia.
W celu aktywacji usługi konieczna jest wizyta na stronie
appengine.google.com,
tam też zakładamy nasz projekt.
Dane konta i id projektu będą potrzebne do publikacji kodu.
Środowisko
GAE/J różni się od swojego krewniaka obsługującego język Python,
w większości przypadków będziemy mieli do czynienia z Java feel and look
.
Żegnamy się więc z czytelnymi plikami yaml i wracamy do xml.
Również struktura SDK jest nieco bardziej złożona i lepiej przystosowana
do większych projektów.
Eksperymenty polecam robić na szablonie projektu, skopiowanym z katalogu demos/new_project_template.
Wszystkie przykłady w katalogu demos są skonfigurowane tak aby można było je uruchomić
bezpośrednio w tym katalogu. Umieszczając projekt w innym miejscu, należy zmodyfikować
build.xml i podać lokalizację SDK. W tym celu szukamy na początku pliku definicji
<property name="appengine.sdk" location="../.." />
i modyfikujemy atrybut location tak by wskazywał na SDK
To wszystko co trzeba zmienić by otrzymać działający przykład. Pomimo że konfiguracja jest zapisana w xml, plik jest dużo bardziej czytelny niż typowe generowane automatycznie Makefile. Zachęcam do późniejszego przejrzenia go w całości.
Środowisko testowe można uruchomić w klasyczny, znany z poprzednich edycji GAE sposób,
ale wygodniej jest wpisać ant dev_appserver
.
Przy okazji mamy gwarancję że nowo uruchamiana aplikacja zostanie w razie potrzeby skompilowana.
(Serwer należy restartować po każdej modyfikacji kodu).
Teraz, przyszła pora na ustawienie środowiska aby możliwa była instalacja na serwerach Google.
W katalogu src/WEB-INF znajdują się dwa pliki:
- web.xml, jest odpowiedzialny za mapowanie servletów na URL.
- appengine-web.xml, zawierający informacje specyficzne dla środowiska Google.
Wystarczy wpisać id naszego projektu zarejestrowanego na appengine.google.com.
Instalacja rozpoczyna się po wpisaniu ant update
. Jeśli wszystko się powiedzie aplikacja
powinna być dostępna na id.appspot.com (na przykład szsz.appspot.com)
Podsumowanie
- html
- zawiera statyczne pliki projektu, takie jak index.html
- src
- Kody źródłowe java, oraz pliki konfiguracyjne
- www
- Tu znajduje się skompilowany i gotowy do opublikowania kod aplikacji
- Wszędzie poza szablonem katalog ten nazywa się war (dokumentacja, przykłady). można to łatwo poprawić edytując plik build.xml, nie wem skąd wziął się ten brak konsekfencji.
Najważniejsze pliki
- build.xml
- Odpowiednik Makefile. Zawiera opis wszystkich reguł potrzebnych do
zarządzania projektem. Najważniejsze z nich można wywołać następującymi poleceniami:
- ant
- Kompiluje program, tworząc katalog www (war)
- ant dev_appserver
- Uruchamia testowy serwer
- ant update
- Aktualizuje aplikację na serwerach Google
- ant request_logs
- Pobiera logi w formacie Apache (domyślnie z dwóch dni)
- ant clean
- Kasuje katalog www (war)
- Dokumentacja pliku build.xml.
- src/WEB-INF/web.xml
- Konfiguracja servletów i przypisanie ich do scieżek.
- Struktura pliku jest na tyle czytelna że nie wymaga dodatkowego opisu.
- src/WEB-INF/appengine-web.xml
- Konfiguracja Appengine. Dokładniejszy opis poniżej
- Dokumentacja pliku appengine-web.xml
Co dalej
Mając działające środowisko, można zacząć eksperymenty z kodem, ale to już opiszę w następnej części. Zapewne już po świętach.
Etykiety: gae, programowanie, R
Red 12:22
Prześlij komentarz