PAŃSTWOWA WYŻSZA SZKOŁA ZAWODOWA W TARNOWIE
|
|
- Mirosław Morawski
- 8 lat temu
- Przeglądów:
Transkrypt
1 PAŃSTWOWA WYŻSZA SZKOŁA ZAWODOWA W TARNOWIE INSTYTUT POLITECHNICZNY KIERUNEK: INFORMATYKA SPECIALNOŚĆ: INFORMATYKA STOSOWANA PRACA DYPLOMOWA TEMAT: Implementacja warstwy Controller modułu eksperymentalnego systemu ornitologicznego zgodnie z modelem MVC Opiekun: Dr inż. Robert Wielgat Autor: Mateusz Gieroń Tarnów 2010
2 Pragnę złożyć serdeczne podziękowania Panu dr inż. Robertowi Wilgatowi za nieocenioną pomoc, poświęcony czas, oraz trud włożony, który przyczynił się do powstały projekt. Również dziękuję mgr inż. Tomaszowi Potempie za cenne rady i sugestie. 2
3 SPIS TREŚCI: 1. WSTĘP CEL PRACY TECHNOLOGIE I NARZĘDZIA Java Spring Framework Spring BlazeDS Integration SQL NetBeans Subversion (SVN) MVC DANE SYSTEMU DANE WEJŚCIOWE Formularz współpracownika Protokół liczenia Zestawienie Wyników Karta obserwacji strona pierwsza Karta obserwacji strona druga Zestawienie obserwacji sezon jesienno-zimowy strona pierwsza Zestawienie obserwacji sezon jesienno-zimowy strona druga Zestawienie obserwacji sezon wiosenno-letni strona pierwsza Zestawienie obserwacji sezon wiosenno-letni strona druga PRZECHOWYWANIE DANYCH PRZEPŁYW DANYCH Komunikacja między warstwą VIEW a warstwą CONTROLLER Komunikacja między warstwą CONTROLLER a warstwą MODEL KONFIGURACJA APLIKACJI KONFIGURACJA APLIKACJI W PLIKU WEB.XML KONTEKST APLIKACJI KONFIGURACJA INTEGRACJI SPRING Z ADOBE FLEX IMPLEMENTACJA WARSTWY CONTROLLER ZASTOSOWANE OGÓLNE ROZWIĄZANIA SCHEMAT BUDOWY KONTROLERA DIAGRAMY KLAS REJESTRACJI WSPÓŁPRACOWNIKA Proces rejestracji Proces tworzenia nowego użytkownika systemu TYPY PROCEDUR OBSERWACJE ZABEZPIECZENIE APLIKACJI Uwierzytelnienie Autoryzacja Obiekty sesji Proces wylogowania użytkownika Walidacja danych wejściowych PODSUMOWANIE BIBLIOGRAFIA DODATKI PROCES URUCHOMIENIA APLIKACJI W ŚRODOWISKU NETBEANS IDE WYMAGANE BIBLIOTEKI DIAGRAMY KLAS
4 1. Wstęp Ptaki oraz ich siedliska, są jednym z elementów środowiska naturalnego, ich istnienie jest niezastąpione w ekosystemie Ziemi. Wiele gatunków wyspecjalizowały się do egzystowania w konkretnych środowiskach natomiast niektóre przystosowały się do różnorodnych środowisk, nawet w takich gdzie duży wpływ na otoczenie ma człowiek. Ptaki towarzyszą człowiekowi od zarania ludzkości, mają duże znaczenie jako źródło pożywienia, niektóre z gatunków są w tym celu wykorzystywane. Większość gatunków przeznaczonych do konsumpcji to tzw. drób, czyli ptaki hodowlane. Rola gospodarcza ptaków nie jest jednak przyczyną wymierania niektórych gatunków. Głównymi czynnikami zmian liczebności ptaków i ich migracji są zmiany środowiska naturalnego, do których przyczynia się działalność człowieka. Zmiany w otoczeniu, dążące do poprawy bytu rodzaju ludzkiego, w nieodwracalny sposób wprowadzają zmiany w ekosystemie. Wiele siedlisk zostaje przekształconych dla potrzeb ludzkości takich jak np. budowy nowych dróg, infrastruktury, miejsc zamieszkania bądź pozyskiwanie zasobów naturalnych. Wpływ działań ludzkości na środowisko ma swoje nieodwracalne negatywne skutki, które w pewnym stopniu człowiek próbuje zrekompensować działaniami takimi jak ochrona wymierających gatunków. Zakładane jest wiele organizacji, które za cel obrały sobie szerzenie idei ochrony środowiska i jego elementów. Jedną z takich organizacji jest międzynarodowa organizacja BirdLife International, której polskim partnerem jest Ogólnopolskie Towarzystwo Ochrony Ptaków. BirdLife International opiniuje Czerwoną Księgę Gatunków Zagrożonych, publikowaną przez Międzynarodową Unię Ochrony Przyrody i Jej Zasobów (IUCN), zawierającą listę zagrożonych gatunków roślin i zwierząt. Ważnym elementem jest również prowadzenie edukacji społecznej, promowanie ochrony gatunków i siedlisk ptaków, co jest między innymi w założonych celach Małopolskiego Towarzystwa Ornitologicznego (MTO). MTO ma na celu przybliżenie społeczeństwa do zagadnień przyrodniczych, edukację ekologiczną, w szczególności skupia się na ptakach oraz poznawaniu ich środowiska. Bada ważne cechy opisujące przeobrażenia zachowań, liczebności oraz rozmieszczenia gatunków ptaków. Działa w zakresie ochrony ptaków oraz środowisk, w których bytują. Obszar działań MTO obejmuje Wyżynę Małopolską, Podkarpacie i Karpaty co stanowi około km 2. Zrzesza wielu amatorów obserwacji ptaków poświęcających swój wolny czas na pracę na rzecz towarzystwa oraz organizację wypraw w celu przeprowadzenia obserwacji, wyniki 4
5 których zapisywane są na papierowych formularzach przesyłanych tradycyjną pocztą do siedziby MTO. Analizą nadesłanych formularzy zajmują się eksperci oraz, w przypadku stwierdzenia rzadkiego gatunku tzw. faunistycznie ważnego, Komisja Faunistyczna. Wszystkie te procedury pochłaniają dużo czasu, co przekłada się na efektywność i czas reakcji. Obecnie elektroniczna wymiana informacji poprzez Internet jest szybkim sposobem kontaktu i w zdecydowany sposób usprawnia i przyspiesza przekaz danych z jednego miejsca do drugiego. Wiele firm, instytucji wykorzystuje tą drogę, aby dotrzeć do osób docelowych oraz pozyskać informacje. Obecne technologie pozwalają na tworzenie przejrzystych, łatwych w obsłudze oraz bezpiecznych aplikacji internetowych. Relacyjne bazy danych umożliwiają przechowywanie, zarządzanie i archiwizowanie danych wprowadzanych do systemu. Taki internetowy system usprawniłby prace MTO zmierzające do pozyskiwania danych z wypraw i obserwacji. Członkowie stowarzyszenia w łatwy, szybki sposób dostarczaliby MTO informacji o zaobserwowanych gatunkach ptaków, a przede wszystkim o gatunkach objętych ochroną, ich liczebności i siedlisk, w których zostały zaobserwowane. Własny portal ornitologiczny mógłby być również swoistą wizytówką przyciągającą nowych członków Cel pracy Celem niniejszej pracy jest projekt i implementacja warstwy kontrolera wzorca projektowego MVC (Model-View-Controller) dla części eksperymentalnej portalu ornitologicznego. Warstwa ta jest dopełnieniem aplikacji internetowej, w której wykorzystano pozostałe warstwy. Głównym zadaniem kontrolera ma być umożliwienie wymiany informacji pomiędzy warstwą widoku a warstwą modelu. Dane pochodzące z formularzy interfejsu za pomocą kontrolerów są przetwarzane i wprowadzane do bazy danych, a żądane informacje pobierane i przesyłane do warstwy widoku. Efektem tego projektu oraz pracy dyplomowej Krystiana Heróda pod tytułem Implementacja warstwy View modułu eksperymentalnego systemu ornitologicznego zgodnie z modelem MVC i wcześniej stworzonego modelu w postaci bazy danych (więcej informacji o tytułach i autorach prac w rozdziale 2.2. Przechowywanie danych.) jest multimedialny system wspomagający prace MTO. System ma na celu usprawnienie wprowadzania informacji dotyczących dwóch procedur: obserwacji do kart atlasowych i protokołu liczenia, 5
6 w zakres których wchodzi również obserwacja szczegółowa. Pozwalać również na rejestracje członków towarzystwa oraz tworzenie nowego użytkownika systemu Technologie i narzędzia Java Jest to język programowania obiektowego, zaprojektowany i stworzony przez firmę Sun Microsystems Inc. W dużej mierze składnia oraz słowa kluczowe zostały przejęte z C++. Jedną z największych zalet Javy jest przenośność, wykorzystując rozwiązanie z języka Smaltalk tzw. wirtualnej maszyny (VM). Oprogramowanie pisane w Javie może być uruchomione na dowolnym systemie operacyjnym (OS), na którym jest zainstalowana implementacja VM dla odpowiedniej architektury OS i procesora. Wirtualna Maszyna tłumaczy kompilacje kodu źródłowego Jawy (bytecode) na formę kodu wykonywalnego zrozumiałą dla konkretnej platformy systemu komputerowego, a następnie program w takiej formie zostaje wykonany. Do uruchomienia programu napisanego w Javie niezbędne jest środowisko uruchomieniowe JRE (Java Runtime Enviroment) zawierające między innymi Wirtualną Maszynę oraz podstawowe klasy w formie kodu bajtowego. Użytkownikowi nie tworzącemu oprogramowania w Javie pakiet JRE pozwala na korzystanie z programów stworzonych w omawianym języku. Natomiast dla programisty niezbędny jest zbiór narzędzi i bibliotek JDK (Java Development Kit). Pakiet ten dostarcza między innymi domyślny kompilator JAVAC, debugger JDB, archiwizator tworzący oraz zarządzający archiwami JAR, źródła klas, dokumentacje oraz pomoc. Oba produkty JRE i JDK są darmowym oprogramowaniem, dostępne dla wielu systemów operacyjnych. Do ważnych cech Javy należy zaliczyć zarządzanie pamięcią, koncepcja również przejęta z Smalltalka. Mechanizm, który jest odpowiedzialny za zwracanie pamięci do systemu podczas działania programu nazywa się Garbage Collector. Takie rozwiązanie nie wymaga od programisty używania destruktorów. Ogólne czynności zwalniania pamięci polegają na usuwaniu nieużywanych obiektów. Kolejnymi aspektami programowania w Javie jest obiektowość i dziedziczenie. Język Java jest całkowicie obiektowy, odstępstwem od tego są typy proste (int, boolean, long, float, double). Dziedziczenie w porównaniu do C++ jest jednobazowe. Rekompensatą jest wprowadzenie interfejsów, umożliwiające wielokrotne dziedziczenie. 6
7 Spring Framework 3.0 Szkielet tworzenia aplikacji w języku Java dla platformy Java EE/J2EE o otwartym kodzie źródłowym, stworzony przez Roda Johnsona. Kojarzony przede wszystkim z aplikacjami internetowymi. Charakteryzuje się łatwością i skróconym czasem w implementacji dużych jak i małych aplikacji. Koncepcja Odwróconej Kontroli realizowana jest poprzez Wstrzykiwanie Zależności. Wstrzykiwanie Zależność przeprowadzane jest na dwa sposoby: wstrzykiwanie konstruktorem i wstrzykiwania mutatorem. Ogół szablonu Spring Framework można rozdzielić na podszablony w tym między innymi: Kontener Odwróconej Kontroli, Szablon Dostępu Do Danych, Szablon Model-View- Controller, Szablon Autoryzacji i Autentykacji. Spring Framework z powodzeniem wypiera taką technologię jak EJB (Enterprise JavaBeans) i jest alternatywą w procesie tworzenia aplikacji Java EE Spring BlazeDS Integration Podprojekt Spring a umożliwiający łatwe tworzenie Bogatych Aplikacji Internetowych (Rich Internet Aplication) przy użyciu Springa i Adobe Flex. Spring BlazeDS Integration korzysta z możliwości jakie daje mechanizm, z otwartym kodem źródłowym, Adobe BlazeDS i w dużym stopniu upraszcza jego konfigurację oraz użytkowanie. Głównym aspektem jest połączenie Javy z Flexem przy wykorzystaniu tzw. remote objects. Jest to mechanizm zdalnego wywoływania metod obiektów napisanych w Javie z poziomu Flex, do tego celu wykorzystuje się wydajny, binarny protokół AMF (Action Message Format) SQL SQL to strukturalny język zapytań, umożliwiający zarządzanie i wykonywanie różnych operacji na relacyjnych bazach danych i jest wykorzystywany jedynie do komunikacje z bazą. SQL pozwala na tworzenie baz danych, ich modyfikacje poprzez dodawanie, aktualizowanie, usuwanie danych. Wyróżnia się trzy formy SQL a: SQL interakcyjny (autonomiczny) forma SQL wykorzystywana przy bezpośrednim wprowadzaniu lub pobierania do/z bazy danych. 7
8 SQL statyczny reprezentowany jest przez skrypty SQL pisane przy tworzeniu aplikacji, następnie podczas użytkowania aplikacji nie ulegają zmianom. SQL dynamiczny wykorzystywany w trakcie tworzenia aplikacji gdy nie jest możliwe określenie zapytań, zastępuję statyczny SQL. Ideą SQL jest zadawanie zapytań do bazy, rozróżnia się trzy typy zapytań: SQL DML (język manipulacji danymi) polega na dodawaniu, aktualizacji, usuwaniu, wybieraniu danych z bazy. Najważniejsze polecenia to SELECT, INSERT, UPDATE, DELETE. SQL DDL (język definicji danych) operacje na tabelach, tworzenie, usuwanie, modyfikacje. Polecenia: Create, Drop, Alter. SQL DCL (język kontroli nad danymi) - zastosowanie w nadawaniu uprawnień do obiektów bazodanowych. Polecenia: Grand, Revoke, Deny NetBeans 6.8 Środowisko programowania dla języka Java. Integruje ze sobą wiele pomocnych komponentów co wpływa na szybką i wygodną pracę. Jest to wolne oprogramowanie na licencji Common Development and Distribution License wyprodukowane przez firmę SUN. Kompatybilny z wieloma kontenerami aplikacji internetowych takich jak Apache Tomcat, GlassFish, JBoss. Poprzez instalacje dostępnych wtyczek zakres tworzonych aplikacji obejmuje nie tylko obsługę Javy ale i takich popularnych języków programowania jak C/C++, PHP i wiele innych Subversion (SVN) System kontroli wersji kodu źródłowego, najczęściej wykorzystywany przy projektach grupowych. SVN został wprowadzony w celu zastąpienia CVS (ang. Concurrent Versions System) oraz eliminacji jego wad. W większości przypadków oba systemy są funkcjonalnie zgodne, jednak SVN jest bardziej niezawodny. Zalety SVN: Historia zmian nazw katalogów oraz plików. 8
9 Dostępny samodzielny serwer. Szybkie tworzenie gałęzi i znaczników. Własny protokół klient/serwer. Protokół umożliwia przesyłanie różnic w plikach. Rozmiar przesyłanych danych przy zmianie pliku jest proporcjonalny do rozmiaru zmian, a nie pliku. Efektywna obsługa plików binarnych. Repozytorium przechowywane w bazie danych lub w systemie plików MVC Wzorzec projektowy MVC wymusza koncepcje podziału aplikacji na 3 niezależne warstwy. Podział ten wprowadza porządek w architekturze systemu. Takie podejście nie powoduje konieczności wykonywania dużej ilości zmian w innych miejscach systemu, każda z warstw jest od siebie oddzielona. Wyróżnia się następujące warstwy: (Model) Model danych - opis struktur danych i powiązań pomiędzy nimi (View) Interfejs, widok - to co widzi użytkownik (Controller) Logika działania - powiązania między zdarzeniami zachodzącymi w systemie 2. Dane systemu 2.1. Dane wejściowe Dane wejściowe reprezentowane są przez papierowe formularze wypełniane ręcznie przez współpracowników MTO, na podstawie których zostały zaprojektowane i zaimplementowane formularze w warstwie widoku. Po poprawnym wypełnieniu wymaganych pól dane są przesyłane do warstwy kontrolera, a następnie zapisywane w bazie danych. Dodatkowymi formularzami nie mającymi papierowego wzoru są między innymi formularz logowania, opisu wyposażenia i ubioru. 9
10 Formularz współpracownika Rys 1. Karta współpracownika. 10
11 Protokół liczenia Rys 2. Protokół liczenia. 11
12 Zestawienie Wyników Rys 3. Obserwacje do kart atlasowych. 12
13 Karta obserwacji strona pierwsza Rys 4. Karta obserwacji szczegółowej str.1 13
14 Karta obserwacji strona druga Rys 5. Karta obserwacji szczegółowej str.2 14
15 Zestawienie obserwacji sezon jesienno-zimowy strona pierwsza Rys 6. Zestawienie obserwacji sezon jesienno zimowy str.1 15
16 Zestawienie obserwacji sezon jesienno-zimowy strona druga Rys 7. Zestawienie obserwacji sezon jesienno zimowy str.2 16
17 Zestawienie obserwacji sezon wiosenno-letni strona pierwsza Rys 8. Zestawienie obserwacji sezon wiosenno letni str.1 17
18 Zestawienie obserwacji sezon wiosenno-letni strona druga Rys 9. Zestawienie obserwacji sezon wiosenno letni str.2 18
19 2.2. Przechowywanie danych Dane systemu są przechowywane w relacyjnej bazie danych, która jest zarządzana przez wolnodostępny system bazodanowy PostgreSQL. Wersja bazy danych wykorzystana w tym projekcje jest połączeniem oraz rozszerzeniem prac dyplomowych autorów Madej Grzegorz, Gładysz Paweł pt. Projekt i implementacja modułu zbierania danych obserwacyjnych systemu ornitologicznego oraz Mateusz Oślizło pt. Projekt i implementacja modułu encyklopedycznego serwisu ornitologicznego. Baza danych uwzględnia określanie użytkowników oraz ról jakie pełni dany użytkownik w systemie. Wyróżnione są następujące role w bazie danych: Gość Użytkownik uprzywilejowany Obserwator Obserwator automatyczny Ekspert Ekspert główny Administrator Role systemu determinują możliwości wykorzystywania, przetwarzania oraz zapisywania informacji. W aplikacji użyto jedynie dwóch typów ról Gość oraz Obserwator. Obecnie w projekcie bazy określone zostały dwa typy danych: zwykłe i wrażliwe. Baza danych przystosowana jest elastycznie do różnych typów procedur w celu których zostały przeprowadzone wyprawy. 19
20 Diagram ERD bazy danych, dla wersji elektronicznej diagram znajduję się na płycie w pliku Birdsmond_NEW.bmp 20
21 2.3. Przepływ danych W projekcie przyjęto, że warstwa VIEW nie ma bezpośredniego połączenia z warstwą MODEL. Pośrednikiem w tym przypadku jest kontroler. Poglądowy schemat przypływu danych przedstawia Rysunek 10. Rys 10. Przepływ danych w systemie Komunikacja między warstwą VIEW a warstwą CONTROLLER Po poprawnym wprowadzeniu danych przez użytkownika do formularza zostaje zdalnie wywołana metoda z obiektu obsługującego dany formularz, który został uprzednio zdefiniowany w kontekście warstwy biznesowej. Zdalny obiekt (RemotObject) jest standardowym komponentem technologii Adobe Flex 3. Poprzez odwołanie się do metod zdalnego obiektu możliwe jest ich użycie. Dane do zdalnej metody są przesyłane za pomocą wartości jako argumentów lub klasy napisanej w języku Action Script po stronie warstwy widoku i jest to klasa identyczna do klasy kontrolera, która odwzorowuje formularz. Posiada takie same właściwości oraz nazwę. Powiązanie klas jest możliwe dzięki definicji mapowania klasy warstwy VIEW i CONTROLLER tzw. alias. Do tego celu wykorzystuję się komponent 21
22 [RemotClass] w kodzie klasy ActionScript. Następnie dane są serializowane do postaci binarnej i przesyłane protokołem AMF poprzez HTTP. Punktem końcowym transmisji danych jest servlet, po stronie serwera. Wiadomość zostaje przekierowana poprzez servlet do MessageBroker, który kojarzy dane wejściowe z usługą docelową. Kolejnym krokiem jest już zapis do bazy danych. MessageBroker ma możliwość przesyłania danych, poprzez punkt końcowy, do klienta. Pobrane dane z bazy wysyłane są przeważnie w postaci obiektu typu java.util.list w przypadku korzystania z metod pobierających. Natomiast w przypadku metod zapisu lub usuwania zwracane jest potwierdzenie pozytywnego lub negatywnego wykonania metody w postaci zmiennych prymitywnego typu boolean. W przypadku gdy metoda zapisuje do tabeli z automatycznie generowanym kluczem podstawowym zwraca owy klucz. Przepływ informacji przedstawia Rysunek Rys. 11. Wymiana danych pomiędzy warstwą widoku a warstwą kontrolera Komunikacja między warstwą CONTROLLER a warstwą MODEL Do łączenia się z bazą, wykonywania zapytań oraz przetwarzania otrzymanych wyników został wykorzystany interfejs niskiego poziomu JDBC (Java DataBase Connectivity). Do poprawnego połączenia oraz wykonywania operacji konieczny jest sterownik do odpowiedniego systemu bazodanowego, w przypadku tego projektu PostgreSQL. Bardzo ważnym aspektem jest utworzenie obiektu typu org.springframework.jdbc.datasource.drivermanagerdatasource w którym są 1 Na podstawie diagramu ze strony 22
23 zdefiniowane podstawowe dane do fizycznego połączenia z bazą takie jak host, nazwę użytkownika, hasło, nazwa bazy danych. Spring Framework udostępnia klasę JdbcTemplate. W uproszczony sposób pozwala korzystać z JDBC oraz unikać błędów. Klasa ta przechwytuje i tłumaczy wyjątki na ogólnie zrozumiałe co zwalnia z korzystania bloków try, catch. Wykonuje zapytania, a wyniki zwraca korzystając z interfejsu ResultSet inicjując iteracje. Udostępnia szereg metod wykonujących zapytania SQL oraz zwracające wyniki np. queryforint(), queryforlong(), queryforlist(). Każda z tych metod zwraca typ danych taki jaki ma w nazwie. W tym projekcie do zwracania wyników zapytania najczęściej jest używana metoda queryforlist(), która zwraca listę (java.util.list) obiektów typu java.util.map reprezentujących każdy z otrzymanych rekordów. Często używaną metodą jest update(), przeznaczona do aktualizacji zapisu i usuwania, która zwraca liczbę zaktualizowanych rekordów. Tabela 1 2. prezentuje zestaw wszystkich dostępnych metod interfejsu JdbcTemplate, wykorzystywanych przy wymianie danych z bazą, oraz zwracane przez nie typy. Tabela 1. Metody interfejsu JdbcTemplate. Metoda execute(callablestatementcreator csc, CallableStatementCallback action) execute(connectioncallback action) execute(preparedstatementcreator psc, PreparedStatementCallback action) execute(statementcallback action) execute(string sql) execute(string callstring, CallableStatementCallback action) execute(string sql, PreparedStatementCallback action) query(preparedstatementcreator psc, Zwracany typ Object Object Object Object void Object Object Object 2 Dane na podstawie dokumentacji zamieszczonej pod adresem 23
24 PreparedStatementSetter pss, ResultSetExtractor rse) query(preparedstatementcreator psc, ResultSetExtractor rse) query(preparedstatementcreator psc, RowCallbackHandler rch) query(preparedstatementcreator psc, RowMapper rowmapper) Object void List query(string sql, Object[] args, int[] argtypes, ResultSetExtractor rse) Object query(string sql, Object[] args, int[] argtypes, RowCallbackHandler rch) query(string sql, Object[] args, int[] argtypes, RowMapper rowmapper) void List query(string sql, Object[] args, ResultSetExtractor rse) Object query(string sql, Object[] args, RowCallbackHandler rch) query(string sql, Object[] args, RowMapper rowmapper) query(string sql, PreparedStatementSetter pss, ResultSetExtractor rse) query(string sql, PreparedStatementSetter pss, RowCallbackHandler rch) query(string sql, PreparedStatementSetter pss, RowMapper rowmapper) query(string sql, ResultSetExtractor rse) void List Object void List Object 24
25 query(string sql, RowCallbackHandler rch) query(string sql, RowMapper rowmapper) queryforint(string sql) queryforint(string sql, Object[] args) queryforint(string sql, Object[] args, int[] argtypes) queryforlist(string sql) queryforlist(string sql, Class elementtype) queryforlist(string sql, Object[] args) queryforlist(string sql, Object[] args, Class elementtype) queryforlist(string sql, Object[] args, int[] argtypes) queryforlist(string sql, Object[] args, int[] argtypes, Class elementtype) queryforlong(string sql) queryforlong(string sql, Object[] args) queryforlong(string sql, Object[] args, int[] argtypes) queryformap(string sql) queryformap(string sql, Object[] args) queryformap(string sql, Object[] args, int[] argtypes) queryforobject(string sql, Class requiredtype) queryforobject(string sql, Object[] args, Class requiredtype) queryforobject(string sql, Object[] args, int[] argtypes, Class requiredtype) queryforobject(string sql, Object[] args, int[] argtypes, RowMapper rowmapper) queryforobject(string sql, Object[] args, void List int int int List List List List List List long long long Map Map Map Object Object Object Object Object 25
26 RowMapper rowmapper) queryforobject(string sql, RowMapper rowmapper) queryforrowset(string sql) queryforrowset(string sql, Object[] args) queryforrowset(string sql, Object[] args, int[] argtypes) update(preparedstatementcreator psc) update(preparedstatementcreator psc, KeyHolder generatedkeyholder) update(preparedstatementcreator psc, PreparedStatementSetter pss) update(string sql) update(string sql, Object[] args) update(string sql, Object[] args, int[] argtypes) update(string sql, PreparedStatementSetter pss) Object SqlRowSet SqlRowSet SqlRowSet int int int int int int int Generowane automatycznie klucze tabel są zwracane za pomocą klauzuli SQL RETURNING w zapytaniu oraz odpowiedniej metody zdeterminowanej typem zwracanego klucza. 3. Konfiguracja aplikacji 3.1. Konfiguracja aplikacji w pliku web.xml Najważniejszym plikiem w projekcie jest plik /WEB-INF/web.xml (Web Deployment Descriptor), w którym są definiowane między innymi nazwa aplikacji, poszczególne servlety, parametry inicjalizujące. Servlet jest to aplikacja napisana w języku Java uruchamiana wewnątrz kontenera servletów, który działa podobnie jak serwer WWW, tzn. przyjmuje żądania i zwraca odpowiedzi do użytkownika. W tym projekcie wykorzystano kontener servletów Apache Tomcat Ogólny schemat pliku web.xml: 26
27 1 <?xml version="1.0" encoding="utf-8"?> 2 <web-app version="2.5" xmlns=" xmlns:xsi=" xsi:schemalocation=" </web-app> 40 W pliku web.xml zdefiniowano w pierwszej kolejności servelet, jego nazwę oraz odpowiadającą mu klasę. 15 <servlet> 16 <servlet-name>flex</servlet-name> 17 <servlet-class>org.springframework.web.servlet.dispatcherservlet </servlet-class> 18 <load-on-startup>1</load-on-startup> 19 </servlet> <servlet-mapping> 22 <servlet-name>flex</servlet-name> 23 <url-pattern>/messagebroker/*</url-pattern> 24 </servlet-mapping> Servlet ten przyjmuje nazwę flex, a klasą obsługującą jest org.springframework.web.servlet.dispatcherservlet. Servlet obsługuje jedynie żądania przeglądarki /messagebroker/* co pozwala na zdalne wywoływanie obiektów z poziomu warstwy widoku napisanej w Adobe Flex, ponieważ pod taki adres są kierowane żądania zdalnych obiektów. Linia <load-on-startup>1</load-on-startup> ustawia servlet jako pierwszy w kolejności, z wszystkich servletów, podczas uruchomienia całej aplikacji. Kolejnym ważnym krokiem jest zainicjowanie tzw. obiektu nasłuchującego (klasa ContextLoaderListener), który ma za zadanie załadowanie kontekstów aplikacji, które posiadają definicje obiektów (beanów) używanych w aplikacji. 5 <listener> 6 <listener-class> org.springframework.web.context.contextloaderlistener</listener-class> 7 </listener> 8 9 <context-param> 10 <param-name>contextconfiglocation</param-name> 11 <param-value>/web-inf/applicationcontext*.xml</param-value> 12 </context-param> Obiekt nasłuchujący sprawdza parametr contextconfiglocation i jeśli jest zdefiniowany sprawdza lokalizacje kontekstu, która została podana jako wartość tego parametru. Dla wyjaśnienia znak gwiazdki * oznacza, że w tym miejscu może być dowolny 27
28 ciąg znaków np. gdy w katalogu /WEB-INF/ znajdują się dwa pliki applicationcontextflex.xml oraz applicationcontext.xml oba zostaną załadowane. W przypadku gdy parametr contextconfiglocation nie został zdefiniowany obiekt nasłuchujący użyje standardowo zdefiniowanego kontekstu applicationcontext.xml Pozostały fragment pliku web.xml określa czas wygaśnięcia sesji oraz plik, który ma być uruchomiony podczas startu aplikacji. 27 <session-config> 28 <session-timeout> </session-timeout> 31 </session-config> <welcome-file-list> 34 <welcome-file>redirect.jsp</welcome-file> 35 </welcome-file-list> 3.2. Kontekst aplikacji W plikach kontekstu aplikacji definiowane są obiekty tzw. beany oraz wartości ich właściwości bądź argumenty konstruktora klasy. Nazewnictwo zdeterminowane jest zdefiniowaną właściwością w pliku web.xml obiektu nasłuchującego. Więcej informacji o określaniu lokalizacji i nazwy kontekstu podano w poprzednim rozdziale 3.1. Konfiguracja aplikacji. Dodatkowo dla każdego zdefiniowanego servletu istnieje osobny kontekst aplikacji, np. dla servletu o nazwie flex w projekcie powinna istnieć lokalizacja WEB-INF/flexservlet.xml, w tym pliku jest jednie zdefiniowany obiekt servletu. W projekcie istnieją dwa pliki kontekstu aplikacji applicationcontext.xml oraz applicationcontext-flex.xml. W pierwszym z nich są definiowane obiekty menadżerów połączenia z bazą danych, obiekty sesji oraz obiekty umożliwiające obsługę wiadomości . Poniższy kod przedstawia przykładowy wpis beanu w pliku applicationcontext.xml: 15 <bean id="drivermanagerdatasourceguest" 16 class="org.springframework.jdbc.datasource.drivermanagerdatasource" 17 p:driverclassname="${jdbc.driverclassname}" 18 p:url="${jdbc.url}" 19 p:username="${jdbc.username}" 20 p:password="${jdbc.password}" /> W pliku applicationcontext-flex.xml konfigurowana jest integracja Spring z Adobe Flex (więcej inforamacji w rozdziale 3.3. Konfiguracja integracji Spring z Adobe Flex) oraz definiowane są beany zdalnie wywoływane przez warstwę widoku, 28
29 za co jest odpowiedzialny wpis <flex:remoting-destination ref="birdwatcherservice" />. Poniżej przykład definicji beanu i jego wystawienie jako zdalnego obiektu: 26 <bean id="birdwatcherservice" class="birdsmond.birdwatcher.birdwatcherservice" > 27 <property name="sendmail" ref="mailservice" /> 28 <property name="username" ref="username" /> 29 <property name="userpass" ref="userpass" /> 30 <property name="drivermanagerdatasourceuser" ref="drivermanagerdatasourceuser" /> 31 <property name="drivermanagerdatasourceguest" ref="drivermanagerdatasourceguest" /> 32 </bean> 33 <flex:remoting-destination ref="birdwatcherservice" /> 3.3. Konfiguracja integracji Spring z Adobe Flex Komunikację pomiędzy warstwą CONTROLLER stworzoną za pomocą Spring Framework a warstwą VIEW zaimplementowaną w Adobe Flex umożliwia mechanizm Adobe BlazeDS. Dla ułatwienia w tym projekcie skorzystano również z rozszerzenia BlazeDS jako podprojekt Spring Spring BlazeDS Integration. Pierwszym krokiem jest zdefiniowanie servletu, który będzie odbierał żądania warstwy VIEW zaimplementowanej w Flex. Żądania te przesyłane protokołem HTTP mają w swojej ścieżce lokalizację /messagebroker/* (gdzie * oznacz dowolny ciąg znaków) i jedynie takie żądanie będą odbierane przez ten servlet. Fragment tej konfiguracji jest umieszczony w pliku web.xml 15 <servlet> 16 <servlet-name>flex</servlet-name> 17 <servlet-class>org.springframework.web.servlet.dispatcherservlet </servletclass> 18 <load-on-startup>1</load-on-startup> 19 </servlet> <servlet-mapping> 22 <servlet-name>flex</servlet-name> 23 <url-pattern>/messagebroker/*</url-pattern> 24 </servlet-mapping> Kolejnym krokiem jest zdefiniowanie pośrednika informacji MessageBroker. Utworzenie tego obiektu umożliwia znacznik <flex:message-broker/>, jest to standardowa konfiguracja, w której plik konfiguracyjny BlazeDS zlokalizowany musi być w /WEB- INF/flex/services-config.xml. Konfiguracja ta znajduję się w kontekście aplikacji w pliku applicationcontext-flex.xml. Również należy zdefiniować obiekt typu org.springframework.flex.servlet.messagebrokerhandleradapter, przez który żądania 29
Temat: Ułatwienia wynikające z zastosowania Frameworku CakePHP podczas budowania stron internetowych
PAŃSTWOWA WYŻSZA SZKOŁA ZAWODOWA W ELBLĄGU INSTYTUT INFORMATYKI STOSOWANEJ Sprawozdanie z Seminarium Dyplomowego Temat: Ułatwienia wynikające z zastosowania Frameworku CakePHP podczas budowania stron internetowych
Bardziej szczegółowoPHP: bazy danych, SQL, AJAX i JSON
1 PHP: bazy danych, SQL, AJAX i JSON SYSTEMY SIECIOWE Michał Simiński 2 Bazy danych Co to jest MySQL? Jak się połączyć z bazą danych MySQL? Podstawowe operacje na bazie danych Kilka dodatkowych operacji
Bardziej szczegółowoJava jako język programowania
Java jako język programowania Interpretowany programy wykonują się na wirtualnej maszynie (JVM Java Virtual Machine) Składnia oparta o język C++ W pełni zorientowany obiektowo (wszystko jest obiektem)
Bardziej szczegółowoProgramowanie obiektowe
Programowanie obiektowe Laboratorium 1. Wstęp do programowania w języku Java. Narzędzia 1. Aby móc tworzyć programy w języku Java, potrzebny jest zestaw narzędzi Java Development Kit, który można ściągnąć
Bardziej szczegółowo1 Wprowadzenie do J2EE
Wprowadzenie do J2EE 1 Plan prezentacji 2 Wprowadzenie do Java 2 Enterprise Edition Aplikacje J2EE Serwer aplikacji J2EE Główne cele V Szkoły PLOUG - nowe podejścia do konstrukcji aplikacji J2EE Java 2
Bardziej szczegółowoMetody dostępu do danych
Metody dostępu do danych dr inż. Grzegorz Michalski Na podstawie materiałów dra inż. Juliusza Mikody Jak działa JDO Podstawowym zadaniem JDO jest umożliwienie aplikacjom Javy transparentnego umieszczenia
Bardziej szczegółowoArchitektury Usług Internetowych. Laboratorium 2. Usługi sieciowe
Architektury Usług Internetowych Laboratorium 2. Usługi sieciowe Wstęp Celem laboratorium jest zapoznanie się z modelem usług sieciowych na przykładzie prostego serwera Apache Axis2. Apache Axis2 Apache
Bardziej szczegółowoSystem kontroli wersji - wprowadzenie. Rzeszów,2 XII 2010
System kontroli wersji - wprowadzenie Rzeszów,2 XII 2010 System kontroli wersji System kontroli wersji (ang. version/revision control system) służy do śledzenia zmian głównie w kodzie źródłowym oraz pomocy
Bardziej szczegółowoWprowadzenie. Narzędzia i środowiska programistyczne. Laboratorium 1. Prowadzący: Kierunek: Semestr: Rok: Tomasz Gądek Informatyka Zimowy 2
Państwowa Wyższa Szkoła Zawodowa w Tarnowie Zakład Informatyki Narzędzia i środowiska programistyczne Laboratorium 1 Wprowadzenie Prowadzący: Kierunek: Semestr: Rok: Informatyka Zimowy 2 O Sobie Od 2014
Bardziej szczegółowoDariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki
Dariusz Brzeziński Politechnika Poznańska, Instytut Informatyki Język programowania prosty bezpieczny zorientowany obiektowo wielowątkowy rozproszony przenaszalny interpretowany dynamiczny wydajny Platforma
Bardziej szczegółowoInformatyka I. Programowanie aplikacji bazodanowych w języku Java. Standard JDBC.
Informatyka I Programowanie aplikacji bazodanowych w języku Java. Standard JDBC. dr hab. inż. Andrzej Czerepicki Politechnika Warszawska Wydział Transportu 2019 Standard JDBC Java DataBase Connectivity
Bardziej szczegółowoInformacje wstępne Autor Zofia Kruczkiewicz Wzorce oprogramowania 4
Utrwalanie danych zastosowanie obiektowego modelu danych warstwy biznesowej do generowania schematu relacyjnej bazy danych Informacje wstępne Autor Zofia Kruczkiewicz Wzorce oprogramowania 4 1. Relacyjne
Bardziej szczegółowoWprowadzenie do Doctrine ORM
Wprowadzenie do Doctrine ORM Przygotowanie środowiska Do wykonania ćwiczenia konieczne będzie zainstalowanie narzędzia Composer i odpowiednie skonfigurowanie Netbeans (Tools->Options->Framework & Tools->Composer,
Bardziej szczegółowoMultimedia JAVA. Historia
Multimedia JAVA mgr inż. Piotr Odya piotrod@sound.eti.pg.gda.pl Historia 1990 rozpoczęcie prac nad nowym systemem operacyjnym w firmie SUN, do jego tworzenia postanowiono wykorzystać nowy język programowania
Bardziej szczegółowoPLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL IV TI 6 godziny tygodniowo (6x15 tygodni =90 godzin ),
PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH KL IV TI 6 godziny tygodniowo (6x15 tygodni =90 godzin ), Program 351203 Opracowanie: Grzegorz Majda Tematyka zajęć 2. Przygotowanie środowiska pracy
Bardziej szczegółowoInformatyka I. Standard JDBC Programowanie aplikacji bazodanowych w języku Java
Informatyka I Standard JDBC Programowanie aplikacji bazodanowych w języku Java dr inż. Andrzej Czerepicki Politechnika Warszawska Wydział Transportu 2017 Standard JDBC Java DataBase Connectivity uniwersalny
Bardziej szczegółowoJava. język programowania obiektowego. Programowanie w językach wysokiego poziomu. mgr inż. Anna Wawszczak
Java język programowania obiektowego Programowanie w językach wysokiego poziomu mgr inż. Anna Wawszczak 1 Język Java Język Java powstał w roku 1995 w firmie SUN Microsystems Java jest językiem: wysokiego
Bardziej szczegółowoForum Client - Spring in Swing
Forum Client - Spring in Swing Paweł Charkowski. 0. Cel projektu Celem projektu jest próba integracji Spring Framework z różnymi technologiami realizacji interfejsu użytkownika, oraz jej ocena. Niniejszy
Bardziej szczegółowoWywoływanie metod zdalnych
Wywoływanie metod zdalnych model systemu Wywoływanie metod zdalnych aplikacja kliencka interfejs obiekt serwer Podejście obiektowe do budowy systemów rozproszonych proxy szkielet sieć Istota podejścia
Bardziej szczegółowoSerwery aplikacji. dr Radosław Matusik. radmat
www.math.uni.lodz.pl/ radmat EL - Expression Language Załóżmy, że mamy klasę Pracownik, której atrybutem jest PESEL. Załóżmy dalej, że w atrybucie sesji zalogowany przechowujemy obiekt aktualnie zalogowanego
Bardziej szczegółowoPRZESTRZENNE BAZY DANYCH WYKŁAD 2
PRZESTRZENNE BAZY DANYCH WYKŁAD 2 Baza danych to zbiór plików, które fizycznie przechowują dane oraz system, który nimi zarządza (DBMS, ang. Database Management System). Zadaniem DBMS jest prawidłowe przechowywanie
Bardziej szczegółowoAplikacje Internetowe, Servlety, JSP i JDBC
Aplikacje Internetowe, Servlety, JSP i JDBC Opis Java 2 Enterprise Edition (JEE) jest potężną platformą do tworzenia aplikacji webowych. PLatforma JEE oferuje wszystkie zalety tworzenia w Javie plus wszechstronny
Bardziej szczegółowoOracle PL/SQL. Paweł Rajba.
Paweł Rajba pawel@ii.uni.wroc.pl http://www.kursy24.eu/ Zawartość modułu 8 Wprowadzenie Definiowanie typu obiektowego Porównywanie obiektów Tabele z obiektami Operacje DML na obiektach Dziedziczenie -
Bardziej szczegółowoAplikacje RMI https://docs.oracle.com/javase/tutorial/rmi/overview.html
Aplikacje RMI https://docs.oracle.com/javase/tutorial/rmi/overview.html Dr inż. Zofia Kruczkiewicz wykład 4 Programowanie aplikacji internetowych, wykład 4 1 1. Zadania aplikacji rozproszonych obiektów
Bardziej szczegółowoJAVA. Java jest wszechstronnym językiem programowania, zorientowanym. apletów oraz samodzielnych aplikacji.
JAVA Java jest wszechstronnym językiem programowania, zorientowanym obiektowo, dostarczającym możliwość uruchamiania apletów oraz samodzielnych aplikacji. Java nie jest typowym kompilatorem. Źródłowy kod
Bardziej szczegółowoProgramowanie obiektowe zastosowanie języka Java SE
Programowanie obiektowe zastosowanie języka Java SE Wstęp do programowania obiektowego w Javie Autor: dr inŝ. 1 Java? Java język programowania obiektowo zorientowany wysokiego poziomu platforma Javy z
Bardziej szczegółowoCzym jest Java? Rozumiana jako środowisko do uruchamiania programów Platforma software owa
1 Java Wprowadzenie 2 Czym jest Java? Język programowania prosty zorientowany obiektowo rozproszony interpretowany wydajny Platforma bezpieczny wielowątkowy przenaszalny dynamiczny Rozumiana jako środowisko
Bardziej szczegółowoBazy danych. Wykład IV SQL - wprowadzenie. Copyrights by Arkadiusz Rzucidło 1
Bazy danych Wykład IV SQL - wprowadzenie Copyrights by Arkadiusz Rzucidło 1 Czym jest SQL Język zapytań deklaratywny dostęp do danych Składnia łatwa i naturalna Standardowe narzędzie dostępu do wielu różnych
Bardziej szczegółowoProjektowanie oprogramowania. Warstwa integracji z bazą danych oparta na technologii ORM Platforma Java EE Autor: Zofia Kruczkiewicz
Projektowanie oprogramowania Warstwa integracji z bazą danych oparta na technologii ORM Platforma Java EE Autor: Zofia Kruczkiewicz 1 Wykonanie czterowarstwowej aplikacji EE z dostępem do bazy danych,
Bardziej szczegółowoEXSO-CORE - specyfikacja
EXSO-CORE - specyfikacja System bazowy dla aplikacji EXSO. Elementy tego systemu występują we wszystkich programach EXSO. Może on ponadto stanowić podstawę do opracowania nowych, dedykowanych systemów.
Bardziej szczegółowoProgramowanie obiektowe. Literatura: Autor: dr inŝ. Zofia Kruczkiewicz
Programowanie obiektowe Literatura: Autor: dr inŝ. Zofia Kruczkiewicz Java P. L. Lemay, Naughton R. Cadenhead Java Podręcznik 2 dla kaŝdego Języka Programowania Java Linki Krzysztof Boone oprogramowania
Bardziej szczegółowoJava Zadanie 1. Aby poprawnie uruchomić aplikację desktopową, należy zaimplementować główną metodę zapewniającą punkt wejścia do programu.
Wstęp Java Zadanie Celem laboratorium jest zapoznanie się z podstawami platformy oraz języka Java. W ramach zadania należy przygotować aplikację zarządzania notatkami użytkownika obsługiwaną z konsoli.
Bardziej szczegółowoPlan. Wprowadzenie. Co to jest APEX? Wprowadzenie. Administracja obszarem roboczym
1 Wprowadzenie do środowiska Oracle APEX, obszary robocze, użytkownicy Wprowadzenie Plan Administracja obszarem roboczym 2 Wprowadzenie Co to jest APEX? Co to jest APEX? Architektura Środowisko Oracle
Bardziej szczegółowoInformacje ogólne. Karol Trybulec p-programowanie.pl 1. 2 // cialo klasy. class osoba { string imie; string nazwisko; int wiek; int wzrost;
Klasy w C++ są bardzo ważnym narzędziem w rękach programisty. Klasy są fundamentem programowania obiektowego. Z pomocą klas będziesz mógł tworzyć lepszy kod, a co najważniejsze będzie on bardzo dobrze
Bardziej szczegółowoObiektowy PHP. Czym jest obiekt? Definicja klasy. Składowe klasy pola i metody
Obiektowy PHP Czym jest obiekt? W programowaniu obiektem można nazwać każdy abstrakcyjny byt, który programista utworzy w pamięci komputera. Jeszcze bardziej upraszczając to zagadnienie, można powiedzieć,
Bardziej szczegółowoT-SQL dla każdego / Alison Balter. Gliwice, cop Spis treści. O autorce 11. Dedykacja 12. Podziękowania 12. Wstęp 15
T-SQL dla każdego / Alison Balter. Gliwice, cop. 2016 Spis treści O autorce 11 Dedykacja 12 Podziękowania 12 Wstęp 15 Godzina 1. Bazy danych podstawowe informacje 17 Czym jest baza danych? 17 Czym jest
Bardziej szczegółowoNarzędzia i aplikacje Java EE. Usługi sieciowe Paweł Czarnul pczarnul@eti.pg.gda.pl
Narzędzia i aplikacje Java EE Usługi sieciowe Paweł Czarnul pczarnul@eti.pg.gda.pl Niniejsze opracowanie wprowadza w technologię usług sieciowych i implementację usługi na platformie Java EE (JAX-WS) z
Bardziej szczegółowoObszar statyczny dane dostępne w dowolnym momencie podczas pracy programu (wprowadzone słowem kluczowym static),
Tworzenie obiektów Dostęp do obiektów jest realizowany przez referencje. Obiekty w języku Java są tworzone poprzez użycie słowa kluczowego new. String lan = new String( Lancuch ); Obszary pamięci w których
Bardziej szczegółowoPrzestrzenne bazy danych Podstawy języka SQL
Przestrzenne bazy danych Podstawy języka SQL Stanisława Porzycka-Strzelczyk porzycka@agh.edu.pl home.agh.edu.pl/~porzycka Konsultacje: wtorek godzina 16-17, p. 350 A (budynek A0) 1 SQL Język SQL (ang.structured
Bardziej szczegółowoKOŁO NAUKOWE INFORMATYKÓW SYSTEMY KONTROLI WERSJI CZ.1 16 XII 2009 OPRACOWAŁ: PRZEMYSŁAW PARDEL
KOŁO NAUKOWE INFORMATYKÓW SYSTEMY KONTROLI WERSJI CZ.1 16 XII 2009 OPRACOWAŁ: PRZEMYSŁAW PARDEL Katedra Informatyki, Uniwersytet Rzeszowski 2009 Agenda System kontroli wersji CVS SVN Praca z SVN i Visual
Bardziej szczegółowoAplikacja webowa w Javie szybkie programowanie biznesowych aplikacji Spring Boot + Vaadin
Aplikacja webowa w Javie szybkie programowanie biznesowych aplikacji Spring Boot + Vaadin Czym jest Spring Boot? Spring Boot jest szkieletem aplikacji, opiera się o Spring Framework czyli Framework szeroko
Bardziej szczegółowoJęzyki programowania wysokiego poziomu. PHP cz.4. Bazy danych
Języki programowania wysokiego poziomu PHP cz.4. Bazy danych PHP i bazy danych PHP może zostać rozszerzony o mechanizmy dostępu do różnych baz danych: MySQL moduł mysql albo jego nowsza wersja mysqli (moduł
Bardziej szczegółowoProgramowanie MorphX Ax
Administrowanie Czym jest system ERP? do systemu Dynamics Ax Obsługa systemu Dynamics Ax Wyszukiwanie informacji, filtrowanie, sortowanie rekordów IntelliMorph : ukrywanie i pokazywanie ukrytych kolumn
Bardziej szczegółowoAplikacje Internetowe. Najprostsza aplikacja. Komponenty Javy. Podstawy języka Java
Aplikacje Internetowe Podstawy języka Java Najprostsza aplikacja class Hello { public static void main(string[] args) { System.out.println("Hello World!"); Komponenty Javy JRE Java Runtime Environment
Bardziej szczegółowoBaza danych sql. 1. Wprowadzenie
Baza danych sql 1. Wprowadzenie Do tej pory operowaliście na listach. W tej instrukcji pokazane zostanie jak stworzyć bazę danych. W zadaniu skorzystamy z edytora graficznego struktury bazy danych, który
Bardziej szczegółowo1. Czynności przygotowujące aplikację działającą na platformie Java SE Biblioteka5 (należy ją pobrać z załącznika z p.1)
Instrukcja tworzenia aplikacji EE na podstawie aplikacji z dostępem do bazy danych, prezentowanej na zajęciach lab.5 z PIO umożliwiająca przez sieć dostęp wielu użytkownikom. Projektowanie i wdrażanie
Bardziej szczegółowoDotacje na innowacje. Inwestujemy w waszą przyszłość.
PROJEKT TECHNICZNY Implementacja Systemu B2B w firmie Lancelot i w przedsiębiorstwach partnerskich Przygotowane dla: Przygotowane przez: Lancelot Marek Cieśla Grzegorz Witkowski Constant Improvement Szkolenia
Bardziej szczegółowoSpecyfikacja implementacyjna aplikacji serwerowej
Projekt: System wspomagania osób studiujących Strona: 1 / 7 Opracowali: Zatwierdzili: Spis treści Damian Głuchowski Krzysztof Krajewski Krzysztof Krajewski dr inż. Sławomir Skoneczny Spis treści... 1 1.
Bardziej szczegółowoXQTav - reprezentacja diagramów przepływu prac w formacie SCUFL przy pomocy XQuery
http://xqtav.sourceforge.net XQTav - reprezentacja diagramów przepływu prac w formacie SCUFL przy pomocy XQuery dr hab. Jerzy Tyszkiewicz dr Andrzej Kierzek mgr Jacek Sroka Grzegorz Kaczor praca mgr pod
Bardziej szczegółowoProgramowanie komponentowe. Przykład 1 Bezpieczeństwo wg The Java EE 5 Tutorial Autor: Zofia Kruczkiewicz
Programowanie komponentowe Przykład 1 Bezpieczeństwo wg The Java EE 5 Tutorial Autor: Zofia Kruczkiewicz Struktura wykładu 1. Utworzenie użytkowników i ról na serwerze aplikacji Sun Java System Application
Bardziej szczegółowoKurs programowania. Wykład 1. Wojciech Macyna. 3 marca 2016
Wykład 1 3 marca 2016 Słowa kluczowe języka Java abstract, break, case, catch, class, const, continue, default, do, else, enum, extends, final, finally, for, goto, if, implements, import, instanceof, interface,
Bardziej szczegółowoProgramowanie obiektowe
Programowanie obiektowe Wykład 13 Marcin Młotkowski 27 maja 2015 Plan wykładu Trwałość obiektów 1 Trwałość obiektów 2 Marcin Młotkowski Programowanie obiektowe 2 / 29 Trwałość (persistence) Definicja Cecha
Bardziej szczegółowoJęzyk JAVA podstawy. wykład 2, część 1. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna
Język JAVA podstawy wykład 2, część 1 1 Język JAVA podstawy Plan wykładu: 1. Rodzaje programów w Javie 2. Tworzenie aplikacji 3. Tworzenie apletów 4. Obsługa archiwów 5. Wyjątki 6. Klasa w klasie! 2 Język
Bardziej szczegółowoProjektowanie systemów baz danych
Projektowanie systemów baz danych Seweryn Dobrzelewski 4. Projektowanie DBMS 1 SQL SQL (ang. Structured Query Language) Język SQL jest strukturalnym językiem zapewniającym możliwość wydawania poleceń do
Bardziej szczegółowoPrzykładowa baza danych BIBLIOTEKA
Przykładowa baza danych BIBLIOTEKA 1. Opis problemu W ramach zajęć zostanie przedstawiony przykład prezentujący prosty system biblioteczny. System zawiera informację o czytelnikach oraz książkach dostępnych
Bardziej szczegółowoWywoływanie metod zdalnych
Wywoływanie metod zdalnych Podejście obiektowe do budowy systemów rozproszonych Wywoływanie metod zdalnych model systemu obiekt aplikacja kliencka interfejs serwer proxy szkielet sieć Istota podejścia
Bardziej szczegółowoGrzegorz Ruciński. Warszawska Wyższa Szkoła Informatyki 2011. Promotor dr inż. Paweł Figat
Grzegorz Ruciński Warszawska Wyższa Szkoła Informatyki 2011 Promotor dr inż. Paweł Figat Cel i hipoteza pracy Wprowadzenie do tematu Przedstawienie porównywanych rozwiązań Przedstawienie zalet i wad porównywanych
Bardziej szczegółowoPodejście obiektowe do relacyjnych baz danych Hibernate.
Podejście obiektowe do relacyjnych baz danych Hibernate. Plan wykładu Czym jest Hibernate? Jakie są zalety pracy z Hibernate? Jak skonfigurować Hibernate? Jak korzystać z Hibernate? Praktyczne przykłady
Bardziej szczegółowoDokumentacja techniczna. Młodzieżowe Pośrednictwo Pracy
Dokumentacja techniczna Młodzieżowe Pośrednictwo Pracy Spis Treści 1. Widok ogólny architektury MPP... 3 2. Warstwy systemu... 5 3. Struktura systemu/komponentów... 7 3.1 Aplikacje... 7 3.2 Biblioteki...
Bardziej szczegółowoProgramowanie obiektowe
Programowanie obiektowe Wykład 2: Wstęp do języka Java 3/4/2013 S.Deniziak: Programowanie obiektowe - Java 1 Cechy języka Java Wszystko jest obiektem Nie ma zmiennych globalnych Nie ma funkcji globalnych
Bardziej szczegółowoBudowa aplikacji ASP.NET z wykorzystaniem wzorca MVC
Akademia MetaPack Uniwersytet Zielonogórski Budowa aplikacji ASP.NET z wykorzystaniem wzorca MVC Krzysztof Blacha Microsoft Certified Professional Budowa aplikacji ASP.NET z wykorzystaniem wzorca MVC Agenda:
Bardziej szczegółowoSystemy GIS Tworzenie zapytań w bazach danych
Systemy GIS Tworzenie zapytań w bazach danych Wykład nr 6 Analizy danych w systemach GIS Jak pytać bazę danych, żeby otrzymać sensowną odpowiedź......czyli podstawy języka SQL INSERT, SELECT, DROP, UPDATE
Bardziej szczegółowoBackend Administratora
Backend Administratora mgr Tomasz Xięski, Instytut Informatyki, Uniwersytet Śląski Katowice, 2011 W tym celu korzystając z konsoli wydajemy polecenie: symfony generate:app backend Wówczas zostanie stworzona
Bardziej szczegółowoPodstawy języka Java. przygotował: pawel@kasprowski.pl
Podstawy języka Java przygotował: pawel@kasprowski.pl Początki: PDA Star7 (*7) PDA do obsługi urządzeń domowych. (1992) (język OAK) Autorzy Javy Green Team Ojciec Javy: James Gosling Poszukiwanie zastosowania
Bardziej szczegółowoUML a kod w C++ i Javie. Przypadki użycia. Diagramy klas. Klasy użytkowników i wykorzystywane funkcje. Związki pomiędzy przypadkami.
UML a kod w C++ i Javie Projektowanie oprogramowania Dokumentowanie oprogramowania Diagramy przypadków użycia Przewoznik Zarzadzanie pojazdami Optymalizacja Uzytkownik Wydawanie opinii Zarzadzanie uzytkownikami
Bardziej szczegółowoSposoby tworzenia projektu zawierającego aplet w środowisku NetBeans. Metody zabezpieczenia komputera użytkownika przed działaniem apletu.
Sposoby tworzenia projektu zawierającego aplet w środowisku NetBeans. Metody zabezpieczenia komputera użytkownika przed działaniem apletu. Dr inż. Zofia Kruczkiewicz Dwa sposoby tworzenia apletów Dwa sposoby
Bardziej szczegółowoWykład 8: klasy cz. 4
Programowanie obiektowe Wykład 8: klasy cz. 4 Dynamiczne tworzenie obiektów klas Składniki statyczne klas Konstruktor i destruktory c.d. 1 dr Artur Bartoszewski - Programowanie obiektowe, sem. 1I- WYKŁAD
Bardziej szczegółowoProgramowanie współbieżne i rozproszone
Programowanie współbieżne i rozproszone WYKŁAD 11 dr inż. CORBA CORBA (Common Object Request Broker Architecture) standard programowania rozproszonego zaproponowany przez OMG (Object Management Group)
Bardziej szczegółowoPodstawy i języki programowania
Podstawy i języki programowania Laboratorium 1 - wprowadzenie do przedmiotu mgr inż. Krzysztof Szwarc krzysztof@szwarc.net.pl Sosnowiec, 16 października 2017 1 / 25 mgr inż. Krzysztof Szwarc Podstawy i
Bardziej szczegółowoKatedra Architektury Systemów Komputerowych Wydział Elektroniki, Telekomunikacji i Informatyki Politechniki Gdańskiej
Katedra Architektury Systemów Komputerowych Wydział Elektroniki, Telekomunikacji i Informatyki Politechniki Gdańskiej dr inż. Paweł Czarnul pczarnul@eti.pg.gda.pl Architektury usług internetowych laboratorium
Bardziej szczegółowoBudowa aplikacji w technologii. Enterprise JavaBeans. Maciej Zakrzewicz PLOUG
Budowa aplikacji w technologii Enterprise JavaBeans Maciej Zakrzewicz PLOUG Plan prezentacji Przegląd architektur aplikacji rozproszonych: CORBA, SOAP, EJB Wprowadzenie do Enterprise JavaBeans (EJB) Budowa
Bardziej szczegółowoInformatyka I. Klasy i obiekty. Podstawy programowania obiektowego. dr inż. Andrzej Czerepicki. Politechnika Warszawska Wydział Transportu 2018
Informatyka I Klasy i obiekty. Podstawy programowania obiektowego dr inż. Andrzej Czerepicki Politechnika Warszawska Wydział Transportu 2018 Plan wykładu Pojęcie klasy Deklaracja klasy Pola i metody klasy
Bardziej szczegółowoProgramowanie w SQL procedury i funkcje. UWAGA: Proszę nie zapominać o prefiksowaniu nazw obiektów ciągiem [OLIMP\{nr indeksu}] Funkcje użytkownika
Programowanie w SQL procedury i funkcje UWAGA: Proszę nie zapominać o prefiksowaniu nazw obiektów ciągiem [OLIMP\{nr indeksu}] Funkcje użytkownika 1. Funkcje o wartościach skalarnych ang. scalar valued
Bardziej szczegółowoWstęp Budowa Serwlety JSP Podsumowanie. Tomcat. Kotwasiński. 1 grudnia 2008
Adam 1 grudnia 2008 Wstęp Opis Historia Apache kontener serwletów rozwijany w ramach projektu Apache jeden z bardziej popularnych kontenerów Web open source, Apache Software License rozwijany przez ASF
Bardziej szczegółowoPodstawy programowania obiektowego
Podstawy programowania obiektowego Technologie internetowe Wykład 5 Program wykładu Podejście obiektowe kontra strukturalne do tworzenie programu Pojęcie klasy i obiektu Składowe klasy: pola i metody Tworzenie
Bardziej szczegółowoCurrenda EPO Instrukcja Konfiguracji. Wersja dokumentu: 1.3
Currenda EPO Instrukcja Konfiguracji Wersja dokumentu: 1.3 Currenda EPO Instrukcja Konfiguracji - wersja dokumentu 1.3-19.08.2014 Spis treści 1 Wstęp... 4 1.1 Cel dokumentu... 4 1.2 Powiązane dokumenty...
Bardziej szczegółowoProduktywne tworzenie aplikacji webowych z wykorzystaniem Groovy i
Program szkolenia: Produktywne tworzenie aplikacji webowych z wykorzystaniem Groovy i Informacje: Nazwa: Kod: Kategoria: Grupa docelowa: Czas trwania: Forma: Produktywne tworzenie aplikacji webowych z
Bardziej szczegółowoProgramowanie obiektowe
Laboratorium z przedmiotu Programowanie obiektowe - zestaw 02 Cel zajęć. Celem zajęć jest zapoznanie z praktycznymi aspektami projektowania oraz implementacji klas i obiektów z wykorzystaniem dziedziczenia.
Bardziej szczegółowoPlan prezentacji. Budowa aplikacji w technologii Enterprise JavaBeans. Przegląd architektur: CORBA. Cele budowy aplikacji rozproszonych
Plan prezentacji Budowa aplikacji w technologii Enterprise JavaBeans Przegląd architektur aplikacji rozproszonych: CORBA,, Wprowadzenie do Enterprise JavaBeans () Budowa komponentów sesyjnych Budowa komponentów
Bardziej szczegółowoPraca w programie dodawanie pisma.
Praca w programie dodawanie pisma. Wybór zakładki z danymi z Currendy (1) (tylko w przypadku włączenia opcji korzystania z danych Currendy). Wyszukanie i wybranie pisma. Po wybraniu wiersza dane z Currendy
Bardziej szczegółowoOracle11g: Wprowadzenie do SQL
Oracle11g: Wprowadzenie do SQL OPIS: Kurs ten oferuje uczestnikom wprowadzenie do technologii bazy Oracle11g, koncepcji bazy relacyjnej i efektywnego języka programowania o nazwie SQL. Kurs dostarczy twórcom
Bardziej szczegółowoObiektowe programowanie rozproszone Java RMI. Krzysztof Banaś Systemy rozproszone 1
Obiektowe programowanie rozproszone Java RMI Krzysztof Banaś Systemy rozproszone 1 Java RMI Mechanizm zdalnego wywołania metod Javy (RMI Remote Method Invocation) posiada kilka charakterystycznych cech,
Bardziej szczegółowoProgramowanie obiektowe
Programowanie obiektowe Wykład 7 Marcin Młotkowski 8 kwietnia 2015 Plan wykładu Z życia programisty, część 1 1 Z życia programisty, część 1 2 3 Z życia programisty, część 2 Model View Controller MVC w
Bardziej szczegółowoBaza danych sql. 1. Wprowadzenie. 2. Repozytaria generyczne
Baza danych sql 1. Wprowadzenie Do tej pory operowaliście na listach. W tej instrukcji pokazane zostanie jak stworzyć bazę danych. W zadaniu skorzystamy z możliwości utworzenia struktury bazy danych z
Bardziej szczegółowoJAX-RS czyli REST w Javie. Adam Kędziora
JAX-RS czyli REST w Javie Adam Kędziora Webservice Usługa sieciowa (ang. web service) komponent programowy niezależny od platformy i implementacji, dostarczający określonej funkcjonalności. SOAP,UDDI,XML,WSDL
Bardziej szczegółowoPoczątki Javy. dr Anna Łazińska, WMiI UŁ Podstawy języka Java 1 / 8
Początki Javy Java została pierwotnie zaprojektowana dla telewizji interaktywnej, ale była to zbyt zaawansowaną technologią dla branży cyfrowej telewizji kablowej. James Gosling, Mike Sheridan i Patrick
Bardziej szczegółowoPHP może zostać rozszerzony o mechanizmy dostępu do różnych baz danych:
PHP może zostać rozszerzony o mechanizmy dostępu do różnych baz danych: MySQL moduł mysql albo jego nowsza wersja mysqli (moduł mysqli ma dwa interfejsy: proceduralny i obiektowy) PostgreSQL Oracle MS
Bardziej szczegółowoLABORATORIUM 8,9: BAZA DANYCH MS-ACCESS
UNIWERSYTET ZIELONOGÓRSKI INSTYTUT INFORMATYKI I ELEKTROTECHNIKI ZAKŁAD INŻYNIERII KOMPUTEROWEJ Przygotowali: mgr inż. Arkadiusz Bukowiec mgr inż. Remigiusz Wiśniewski LABORATORIUM 8,9: BAZA DANYCH MS-ACCESS
Bardziej szczegółowoWybrane działy Informatyki Stosowanej
Wybrane działy Informatyki Stosowanej Java Enterprise Edition. WebServices. Język XML. Serwer aplikacji GlassFish. Dr inż. Andrzej Czerepicki a.czerepicki@wt.pw.edu.pl http://www2.wt.pw.edu.pl/~a.czerepicki
Bardziej szczegółowoOfficeObjects e-forms
OfficeObjects e-forms Rodan Development Sp. z o.o. 02-820 Warszawa, ul. Wyczółki 89, tel.: (+48-22) 643 92 08, fax: (+48-22) 643 92 10, http://www.rodan.pl Spis treści Wstęp... 3 Łatwość tworzenia i publikacji
Bardziej szczegółowoZaawansowane Techniki Bazodanowe
Akademia Górniczo-Hutnicza im. Stanisława Staszica w Krakowie Wydział Elektrotechniki, Automatyki, Informatyki i Elektroniki Zaawansowane Techniki Bazodanowe Krzysztof Koptyra, Dawid Tomaszewski Raport
Bardziej szczegółowoPodstawowe wykorzystanie Hibernate
Podstawowe wykorzystanie Hibernate Cel Wykonanie prostej aplikacji webowej przedstawiającą wykorzystanie biblioteki. Aplikacja sprawdza w zależności od wybranej metody dodaje, nową pozycje do bazy, zmienia
Bardziej szczegółowoedziennik Ustaw Opis architektury
edziennik Ustaw Opis architektury Spis treści 1 Wstęp...3 2 Architektura systemu...3 2.1 Schemat poglądowy rozwiązania...3 2.2 Architektura logiczna...4 2.3 Opis elementów systemu...5 2.3.1 Moduł Udostępniający...5
Bardziej szczegółowoBazy danych 2. Wykład 1
Bazy danych 2 Wykład 1 Sprawy organizacyjne Materiały i listy zadań zamieszczane będą na stronie www.math.uni.opole.pl/~ajasi E-mail: standardowy ajasi@math.uni.opole.pl Sprawy organizacyjne Program wykładu
Bardziej szczegółowoZPKSoft WDoradca. 1. Wstęp 2. Architektura 3. Instalacja 4. Konfiguracja 5. Jak to działa 6. Licencja
ZPKSoft WDoradca 1. Wstęp 2. Architektura 3. Instalacja 4. Konfiguracja 5. Jak to działa 6. Licencja 1. Wstęp ZPKSoft WDoradca jest technologią dostępu przeglądarkowego do zasobów systemu ZPKSoft Doradca.
Bardziej szczegółowoPlan. Formularz i jego typy. Tworzenie formularza. Co to jest formularz? Typy formularzy Tworzenie prostego formularza Budowa prostego formularza
4 Budowa prostych formularzy, stany sesji, tworzenie przycisków Plan Co to jest formularz? Typy formularzy Tworzenie prostego formularza Budowa prostego formularza 2 Formularz i jego typy Tworzenie formularza
Bardziej szczegółowoMateriały oryginalne: ZAWWW-2st1.2-l11.tresc-1.0kolor.pdf. Materiały poprawione
Materiały oryginalne: ZAWWW-2st1.2-l11.tresc-1.0kolor.pdf Materiały poprawione Rozwiązanie zadania w NetBeans IDE 7.4: Jarosław Ksybek, Adam Miazio Celem ćwiczenia jest przygotowanie prostej aplikacji
Bardziej szczegółowoWybrane działy Informatyki Stosowanej
Wybrane działy Informatyki Stosowanej JSP - Java Server Pages dr hab. inż. Andrzej Czerepicki a.czerepicki@wt.pw.edu.pl http://www2.wt.pw.edu.pl/~a.czerepicki 2019 Aplikacje i skrypty WWW klasyfikacja
Bardziej szczegółowoW grze bierze udział dwóch graczy. Każdy uczestnik rozpoczyna rozgrywkę z sumą
2.4 QuestionGame QuestionGame jest grą z celem zaprojektowaną do gromadzenia pytań zadawanych przez ludzi podczas prób rozpoznawania ras psów. Program ma charakter aplikacji internetowej. W rozgrywcę mogą
Bardziej szczegółowoAplikacje webowe w obliczu ataków internetowych na przykładzie CodeIgniter Framework
Uniwersytet Zielonogórski Wydział Elektrotechniki, Informatyki i Telekomunikacji Aplikacje webowe w obliczu ataków internetowych na przykładzie CodeIgniter Framework mgr inż. Łukasz Stefanowicz dr inż.
Bardziej szczegółowo