PAŃSTWOWA WYŻSZA SZKOŁA ZAWODOWA W TARNOWIE

Wielkość: px
Rozpocząć pokaz od strony:

Download "PAŃSTWOWA WYŻSZA SZKOŁA ZAWODOWA W TARNOWIE"

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

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ółowo

PHP: bazy danych, SQL, AJAX i JSON

PHP: 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ółowo

Java jako język programowania

Java 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ółowo

Programowanie obiektowe

Programowanie 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ółowo

1 Wprowadzenie do J2EE

1 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ółowo

Metody dostępu do danych

Metody 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ółowo

Architektury Usług Internetowych. Laboratorium 2. Usługi sieciowe

Architektury 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ółowo

System kontroli wersji - wprowadzenie. Rzeszów,2 XII 2010

System 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ółowo

Wprowadzenie. Narzędzia i środowiska programistyczne. Laboratorium 1. Prowadzący: Kierunek: Semestr: Rok: Tomasz Gądek Informatyka Zimowy 2

Wprowadzenie. 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ółowo

Dariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki

Dariusz 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ółowo

Informatyka I. Programowanie aplikacji bazodanowych w języku Java. Standard JDBC.

Informatyka 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ółowo

Informacje wstępne Autor Zofia Kruczkiewicz Wzorce oprogramowania 4

Informacje 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ółowo

Wprowadzenie do Doctrine ORM

Wprowadzenie 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ółowo

Multimedia JAVA. Historia

Multimedia 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ółowo

PLAN 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 ), 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ółowo

Informatyka I. Standard JDBC Programowanie aplikacji bazodanowych w języku Java

Informatyka 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ółowo

Java. 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 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ółowo

Forum Client - Spring in Swing

Forum 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ółowo

Wywoływanie metod zdalnych

Wywoł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ółowo

Serwery aplikacji. dr Radosław Matusik. radmat

Serwery 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ółowo

PRZESTRZENNE BAZY DANYCH WYKŁAD 2

PRZESTRZENNE 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ółowo

Aplikacje Internetowe, Servlety, JSP i JDBC

Aplikacje 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ółowo

Oracle PL/SQL. Paweł Rajba.

Oracle 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ółowo

Aplikacje RMI https://docs.oracle.com/javase/tutorial/rmi/overview.html

Aplikacje 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ółowo

JAVA. Java jest wszechstronnym językiem programowania, zorientowanym. apletów oraz samodzielnych aplikacji.

JAVA. 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ółowo

Programowanie obiektowe zastosowanie języka Java SE

Programowanie 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ółowo

Czym jest Java? Rozumiana jako środowisko do uruchamiania programów Platforma software owa

Czym 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ółowo

Bazy 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 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ółowo

Projektowanie 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 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ółowo

EXSO-CORE - specyfikacja

EXSO-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ółowo

Programowanie obiektowe. Literatura: Autor: dr inŝ. Zofia Kruczkiewicz

Programowanie 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ółowo

Java Zadanie 1. Aby poprawnie uruchomić aplikację desktopową, należy zaimplementować główną metodę zapewniającą punkt wejścia do programu.

Java 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ółowo

Plan. Wprowadzenie. Co to jest APEX? Wprowadzenie. Administracja obszarem roboczym

Plan. 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ółowo

Informacje ogólne. Karol Trybulec p-programowanie.pl 1. 2 // cialo klasy. class osoba { string imie; string nazwisko; int wiek; int wzrost;

Informacje 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ółowo

Obiektowy PHP. Czym jest obiekt? Definicja klasy. Składowe klasy pola i metody

Obiektowy 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ółowo

T-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 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ółowo

Narzę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 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ółowo

Obszar statyczny dane dostępne w dowolnym momencie podczas pracy programu (wprowadzone słowem kluczowym static),

Obszar 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ółowo

Przestrzenne bazy danych Podstawy języka SQL

Przestrzenne 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ółowo

KOŁ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 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ółowo

Aplikacja webowa w Javie szybkie programowanie biznesowych aplikacji Spring Boot + Vaadin

Aplikacja 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ółowo

Języki programowania wysokiego poziomu. PHP cz.4. Bazy danych

Ję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ółowo

Programowanie MorphX Ax

Programowanie 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ółowo

Aplikacje Internetowe. Najprostsza aplikacja. Komponenty Javy. Podstawy języka Java

Aplikacje 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ółowo

Baza danych sql. 1. Wprowadzenie

Baza 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ółowo

1. Czynności przygotowujące aplikację działającą na platformie Java SE Biblioteka5 (należy ją pobrać z załącznika z p.1)

1. 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ółowo

Dotacje na innowacje. Inwestujemy w waszą przyszłość.

Dotacje 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ółowo

Specyfikacja implementacyjna aplikacji serwerowej

Specyfikacja 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ółowo

XQTav - reprezentacja diagramów przepływu prac w formacie SCUFL przy pomocy XQuery

XQTav - 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ółowo

Programowanie 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 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ółowo

Kurs programowania. Wykład 1. Wojciech Macyna. 3 marca 2016

Kurs 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ółowo

Programowanie obiektowe

Programowanie 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ółowo

Ję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. 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ółowo

Projektowanie systemów baz danych

Projektowanie 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ółowo

Przykładowa baza danych BIBLIOTEKA

Przykł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ółowo

Wywoływanie metod zdalnych

Wywoł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ółowo

Grzegorz 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 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ółowo

Podejście obiektowe do relacyjnych baz danych Hibernate.

Podejś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ółowo

Dokumentacja techniczna. Młodzieżowe Pośrednictwo Pracy

Dokumentacja 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ółowo

Programowanie obiektowe

Programowanie 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ółowo

Budowa aplikacji ASP.NET z wykorzystaniem wzorca MVC

Budowa 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ółowo

Systemy GIS Tworzenie zapytań w bazach danych

Systemy 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ółowo

Backend Administratora

Backend 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ółowo

Podstawy języka Java. przygotował: pawel@kasprowski.pl

Podstawy 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ółowo

UML 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. 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ółowo

Sposoby 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. 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ółowo

Wykład 8: klasy cz. 4

Wykł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ółowo

Programowanie współbieżne i rozproszone

Programowanie 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ółowo

Podstawy i języki programowania

Podstawy 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ółowo

Katedra 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 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ółowo

Budowa aplikacji w technologii. Enterprise JavaBeans. Maciej Zakrzewicz PLOUG

Budowa 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ółowo

Informatyka 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 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ółowo

Programowanie 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 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ółowo

Wstęp Budowa Serwlety JSP Podsumowanie. Tomcat. Kotwasiński. 1 grudnia 2008

Wstę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ółowo

Podstawy programowania obiektowego

Podstawy 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ółowo

Currenda EPO Instrukcja Konfiguracji. Wersja dokumentu: 1.3

Currenda 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ółowo

Produktywne tworzenie aplikacji webowych z wykorzystaniem Groovy i

Produktywne 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ółowo

Programowanie obiektowe

Programowanie 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ółowo

Plan 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: 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ółowo

Praca w programie dodawanie pisma.

Praca 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ółowo

Oracle11g: Wprowadzenie do SQL

Oracle11g: 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ółowo

Obiektowe programowanie rozproszone Java RMI. Krzysztof Banaś Systemy rozproszone 1

Obiektowe 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ółowo

Programowanie obiektowe

Programowanie 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ółowo

Baza danych sql. 1. Wprowadzenie. 2. Repozytaria generyczne

Baza 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ółowo

JAX-RS czyli REST w Javie. Adam Kędziora

JAX-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ółowo

Początki Javy. dr Anna Łazińska, WMiI UŁ Podstawy języka Java 1 / 8

Począ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ółowo

PHP 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: 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ółowo

LABORATORIUM 8,9: BAZA DANYCH MS-ACCESS

LABORATORIUM 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ółowo

Wybrane działy Informatyki Stosowanej

Wybrane 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ółowo

OfficeObjects e-forms

OfficeObjects 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ółowo

Zaawansowane Techniki Bazodanowe

Zaawansowane 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ółowo

Podstawowe wykorzystanie Hibernate

Podstawowe 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ółowo

edziennik Ustaw Opis architektury

edziennik 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ółowo

Bazy danych 2. Wykład 1

Bazy 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ółowo

ZPKSoft 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 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ółowo

Plan. Formularz i jego typy. Tworzenie formularza. Co to jest formularz? Typy formularzy Tworzenie prostego formularza Budowa prostego formularza

Plan. 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ółowo

Materiał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 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ółowo

Wybrane działy Informatyki Stosowanej

Wybrane 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ółowo

W grze bierze udział dwóch graczy. Każdy uczestnik rozpoczyna rozgrywkę z sumą

W 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ółowo

Aplikacje webowe w obliczu ataków internetowych na przykładzie CodeIgniter Framework

Aplikacje 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