Google App Engine Tworzenie wydajnych aplikacji w Javie.pdf

(677 KB) Pobierz
Tytuł oryginału: Essential App Engine:
Building High-Performance Java Apps with Google App Engine
Tłumaczenie: Justyna Walkowska
ISBN: 978-83-246-4689-0
Authorized translation from the English language edition, entitled: ESSENTIAL APP ENGINE:
BUILDING HIGH-PERFORMANCE JAVA APPS WITH GOOGLE APP ENGINE; ISBN 032174263X;
by Adriaan De Jonge; published by Pearson Education, Inc, publishing as Addison Wesley.
Copyright © 2012 Pearson Education, Inc.
All rights reserved. No part of this book may by reproduced or transmitted in any form or by any means,
electronic or mechanical, including photocopying, recording or by any information storage retrieval system,
without permission from Pearson Education, Inc.
Polish language edition published by HELION S.A. Copyright © 2012.
Wszelkie prawa zastrzeżone. Nieautoryzowane rozpowszechnianie całości lub fragmentu niniejszej
publikacji w jakiejkolwiek postaci jest zabronione. Wykonywanie kopii metodą kserograficzną,
fotograficzną, a także kopiowanie książki na nośniku filmowym, magnetycznym lub innym powoduje
naruszenie praw autorskich niniejszej publikacji.
Wszystkie znaki występujące w tekście są zastrzeżonymi znakami firmowymi bądź towarowymi ich
właścicieli.
Autor oraz Wydawnictwo HELION dołożyli wszelkich starań, by zawarte w tej książce informacje były
kompletne i rzetelne. Nie biorą jednak żadnej odpowiedzialności ani za ich wykorzystanie, ani za związane
z tym ewentualne naruszenie praw patentowych lub autorskich. Autor oraz Wydawnictwo HELION nie
ponoszą również żadnej odpowiedzialności za ewentualne szkody wynikłe z wykorzystania informacji
zawartych w książce.
Wydawnictwo HELION
ul. Kościuszki 1c, 44-100 GLIWICE
tel. 32 231 22 19, 32 230 98 63
e-mail: helion@helion.pl
WWW: http://helion.pl (księgarnia internetowa, katalog książek)
Pliki z przykładami omawianymi w książce można znaleźć pod adresem:
ftp://ftp.helion.pl/przyklady/gooaej.zip
Drogi Czytelniku!
Jeżeli chcesz ocenić tę książkę, zajrzyj pod adres
http://helion.pl/user/opinie/gooaej
Możesz tam wpisać swoje uwagi, spostrzeżenia, recenzję.
Printed in Poland.
Kup książkę
Poleć książkę
Oceń książkę
Księgarnia internetowa
Lubię to! » Nasza społeczność
Spis treści
Wprowadzenie ............................................................................................................... 13
PodziÚkowania .............................................................................................................. 21
O autorze ....................................................................................................................... 23
I Wprowadzenie do App Engine ......................................................................... 25
1 Konfiguracja rodowiska ............................................................................................... 27
Praca z Eclipse .............................................................................................................................. 27
Instalacja wtyczek Eclipse ....................................................................................................... 28
Utworzenie nowego projektu App Engine ............................................................................... 31
Uruchomienie serwera roboczego .......................................................................................... 33
Wdro enie aplikacji na serwerach Google .............................................................................. 36
Wdra anie z linii poleceñ ............................................................................................................... 39
Uruchamianie serwera roboczego z linii poleceñ ................................................................... 40
Wdra anie aplikacji App Engine z linii poleceñ ....................................................................... 40
Podsumowanie .............................................................................................................................. 40
2 Wydajno Ê w rodowisku App Engine ............................................................................. 41
Wydajno Ê w chmurze .................................................................................................................. 41
Porównanie App Engine z tradycyjnymi aplikacjami internetowymi ....................................... 42
Optymalizacja kosztów zasobów ............................................................................................ 42
Pomiar kosztów ïadowania klas .................................................................................................... 42
Czas uruchomienia serwletu zawierajÈcego zewnÚtrznÈ bibliotekÚ ....................................... 43
Czas uruchomienia serwletu niezawierajÈcego zewnÚtrznej biblioteki ................................... 44
Zmniejszenie objÚto ci pliku web.xml ..................................................................................... 45
Kup książkę
Poleć książkę
6
Spis tre ci
Unikanie zimnych uruchomieñ ...................................................................................................... 47
Rezerwacja stale czynnych instancji ....................................................................................... 47
WstÚpne ïadowanie klas przy u yciu Èdañ rozgrzewajÈcych ................................................ 48
Obsïuga wspóïbie nych Èdañ w sposób bezpieczny dla wÈtków ............................................ 48
Obsïuga Èdañ wymagajÈcych du ej ilo ci pamiÚci za pomocÈ instancji typu backend ...... 48
Ogólna poprawa wydajno ci ......................................................................................................... 49
Optymalizacja modelu danych pod kÈtem wydajno ci .......................................................... 49
Unikanie nadmiarowych obliczeñ przy u yciu cache .............................................................. 49
Odraczanie dïugotrwaïych zadañ za pomocÈ kolejki zadañ .................................................. 49
Poprawa szybko ci ïadowania stron w przeglÈdarce ............................................................. 50
Asynchroniczne API ................................................................................................................. 50
Optymalizacja aplikacji przed jej wdro eniem ........................................................................ 50
Podsumowanie .............................................................................................................................. 51
II Podstawy projektowania aplikacji ................................................................... 53
3 Anatomia aplikacji Google App Engine ........................................................................... 55
Przesyïanie plików w celu wykonania dynamicznego wdro enia ................................................. 55
Struktura katalogów ....................................................................................................................... 56
Ustawianie parametrów wdro enia ......................................................................................... 58
Uruchamianie zadañ okresowych ........................................................................................... 61
Okre lenie indeksów w magazynie danych ............................................................................ 61
Blokowanie zakresów IP .......................................................................................................... 62
Konfiguracja poziomów logowania ......................................................................................... 63
Konfiguracja kolejek zadañ ..................................................................................................... 63
Zabezpieczanie URL ............................................................................................................... 63
Konfiguracja panelu administracyjnego ........................................................................................ 64
Podstawy aplikacji ................................................................................................................... 65
Aktualna wersja ....................................................................................................................... 65
Dodawanie u ytkowników ....................................................................................................... 66
Naliczanie opïat ....................................................................................................................... 67
Podsumowanie .............................................................................................................................. 67
4 Modelowanie danych na potrzeby magazynu Google App Engine Datastore .................... 69
Odwrót od relacyjnych magazynów danych ................................................................................. 69
Denormalizacja danych ........................................................................................................... 70
Agregacja danych bez zïÈczeñ ............................................................................................... 70
Projektowanie danych bezschematowych .............................................................................. 71
Modelowanie danych .................................................................................................................... 71
Projektowanie na poziomie mikro ........................................................................................... 71
Wybór wïa ciwo ci .................................................................................................................. 73
Rozdzielenie encji .................................................................................................................... 73
Kup książkę
Poleć książkę
Spis tre ci
7
Tworzenie i utrzymywanie relacji pomiÚdzy encjami ............................................................... 74
Relacje jeden do wielu i wiele do wielu ................................................................................... 75
Praca z danymi .............................................................................................................................. 76
Transakcje ............................................................................................................................... 76
Zapytania ................................................................................................................................. 77
Tworzenie indeksów ................................................................................................................ 78
Aktualizacja wersji aplikacji korzystajÈcej z Datastore ............................................................ 78
Podsumowanie .............................................................................................................................. 79
5 Projektowanie aplikacji ................................................................................................. 81
Zbieranie wymagañ ....................................................................................................................... 81
Wybór zestawu narzÚdzi ............................................................................................................... 82
Wybór frameworku .................................................................................................................. 82
Wybór systemu szablonów ..................................................................................................... 84
Wybór bibliotek ........................................................................................................................ 85
Decyzje projektowe ....................................................................................................................... 86
Modelowanie danych .............................................................................................................. 86
Modelowanie adresów URL .................................................................................................... 88
Przechodzenie pomiÚdzy stronami ......................................................................................... 89
Podsumowanie .............................................................................................................................. 89
III Podstawy projektowania interfejsu u ytkownika ............................................. 91
6 Tworzenie interfejsu u ytkownika w HTML5 ................................................................... 93
Powitajmy HTML5 .......................................................................................................................... 93
Stosowanie nowych znaczników HTML5 ...................................................................................... 94
Rysowanie po pïótnie .................................................................................................................... 96
PrzeciÈganie i upuszczanie na stronach ....................................................................................... 97
Ciekawe elementy formularzy ....................................................................................................... 99
Wykrywanie lokalizacji u ytkownika ............................................................................................ 100
Przechowywanie danych po stronie klienta ................................................................................ 101
Przechowywanie danych pomiÚdzy sesjami ......................................................................... 102
Przechowywanie danych sesyjnych ...................................................................................... 103
Odpytywanie ustrukturyzowanych danych z wykorzystaniem lokalnej bazy danych SQL ... 104
Podsumowanie ............................................................................................................................ 106
7 Modyfikacja ukïadu strony za pomocÈ CSS .................................................................. 107
Wskazywanie elementów za pomocÈ CSS3 ............................................................................... 107
Obliczanie szczegóïowo ci ................................................................................................... 108
Identyfikatory ......................................................................................................................... 108
Wskazywanie klas .................................................................................................................. 110
Wskazywanie pseudoklas ..................................................................................................... 110
Wskazywanie atrybutów ........................................................................................................ 111
Kup książkę
Poleć książkę
Zgłoś jeśli naruszono regulamin