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="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/xmlschema-instance" xsi:schemalocation="http://java.sun.com/xml/ns/javaee </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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Programowanie Strukturalne i Obiektowe Słownik podstawowych pojęć 1 z 5 Opracował Jan T. Biernat

Programowanie Strukturalne i Obiektowe Słownik podstawowych pojęć 1 z 5 Opracował Jan T. Biernat Programowanie Strukturalne i Obiektowe Słownik podstawowych pojęć 1 z 5 Program, to lista poleceń zapisana w jednym języku programowania zgodnie z obowiązującymi w nim zasadami. Celem programu jest przetwarzanie

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

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

Temat : SBQL 1 obiektowy język zapytań.

Temat : SBQL 1 obiektowy język zapytań. Laboratorium Języki i środowiska przetwarzania danych rozproszonych Temat : SBQL 1 obiektowy język zapytań. Historia zmian Data Wersja Autor Opis zmian 23.4.2012 1.0 Tomasz Kowalski Utworzenie dokumentu

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

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

TOPIT Załącznik nr 3 Programowanie aplikacji internetowych

TOPIT Załącznik nr 3 Programowanie aplikacji internetowych Szkolenie przeznaczone jest dla osób chcących poszerzyć swoje umiejętności o tworzenie rozwiązań internetowych w PHP. Zajęcia zostały przygotowane w taki sposób, aby po ich ukończeniu można było rozpocząć

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

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

PROGRAM NAUCZANIA DLA ZAWODU TECHNIK INFORMATYK, 351203 O STRUKTURZE PRZEDMIOTOWEJ

PROGRAM NAUCZANIA DLA ZAWODU TECHNIK INFORMATYK, 351203 O STRUKTURZE PRZEDMIOTOWEJ PROGRAM NAUCZANIA DLA ZAWODU TECHNIK INFORMATYK, 351203 O STRUKTURZE PRZEDMIOTOWEJ Systemy baz danych 1. 2 Wstęp do baz danych 2. 2 Relacyjny model baz danych. 3. 2 Normalizacja baz danych. 4. 2 Cechy

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

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

Wstęp wprowadzający do laboratorium 2. mgr inż. Rafał Grycuk

Wstęp wprowadzający do laboratorium 2. mgr inż. Rafał Grycuk Wstęp wprowadzający do laboratorium 2 mgr inż. Rafał Grycuk Plan prezentacji 1. Czym jest T-SQL i czym się różni od standardu SQL 2. Typy zapytań 3. Zapytanie typu SELECT 4. Słowo o indeksach T-SQL (1)

Bardziej szczegółowo

P o d s t a w y j ę z y k a S Q L

P o d s t a w y j ę z y k a S Q L P o d s t a w y j ę z y k a S Q L Adam Cakudis IFP UAM Użytkownicy System informatyczny Aplikacja Aplikacja Aplikacja System bazy danych System zarządzania baz ą danych Schemat Baza danych K o n c e p

Bardziej szczegółowo

Warstwa integracji. wg. D.Alur, J.Crupi, D. Malks, Core J2EE. Wzorce projektowe.

Warstwa integracji. wg. D.Alur, J.Crupi, D. Malks, Core J2EE. Wzorce projektowe. Warstwa integracji wg. D.Alur, J.Crupi, D. Malks, Core J2EE. Wzorce projektowe. 1. Ukrycie logiki dostępu do danych w osobnej warstwie 2. Oddzielenie mechanizmów trwałości od modelu obiektowego Pięciowarstwowy

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

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

Wzorce logiki dziedziny

Wzorce logiki dziedziny Wzorce logiki dziedziny 1. Wzorce logiki dziedziny skrypt transakcji (Transaction Script), brama tabeli (Table Data Gateway), model dziedziny (Domain model), strategia (Strategy), moduł tabeli (Table Module),

Bardziej szczegółowo

Wyzwalacz - procedura wyzwalana, składowana fizycznie w bazie, uruchamiana automatycznie po nastąpieniu określonego w definicji zdarzenia

Wyzwalacz - procedura wyzwalana, składowana fizycznie w bazie, uruchamiana automatycznie po nastąpieniu określonego w definicji zdarzenia Wyzwalacz - procedura wyzwalana, składowana fizycznie w bazie, uruchamiana automatycznie po nastąpieniu określonego w definicji zdarzenia Składowe wyzwalacza ( ECA ): określenie zdarzenia ( Event ) określenie

Bardziej szczegółowo

Komunikator internetowy w C#

Komunikator internetowy w C# PAŃSTWOWA WYśSZA SZKOŁA ZAWODOWA W ELBLĄGU INSTYTUT INFORMATYKI STOSOWANEJ Sprawozdanie Komunikator internetowy w C# autor: Artur Domachowski Elbląg, 2009 r. Komunikacja przy uŝyciu poczty internetowej

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

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

Wprowadzenie db4o - podstawy db4o - technikalia Przydatne wiadomości. Wprowadzenie. db4o. Norbert Potocki. 1 czerwca 2009. Norbert Potocki db4o

Wprowadzenie db4o - podstawy db4o - technikalia Przydatne wiadomości. Wprowadzenie. db4o. Norbert Potocki. 1 czerwca 2009. Norbert Potocki db4o Wprowadzenie - podstawy - technikalia Przydatne wiadomości Wprowadzenie 1 czerwca 2009 Wprowadzenie - podstawy - technikalia Przydatne wiadomości Wprowadzenie = bjects = database for objects w pełni obiektowa

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

Podstawy programowania III WYKŁAD 2

Podstawy programowania III WYKŁAD 2 Podstawy programowania III WYKŁAD 2 Jan Kazimirski 1 Komunikacja z bazami danych 2 PHP i bazy danych PHP zapewnia dostęp do wielu popularnych baz danych. Kilka poziomów abstrakcji: Funkcje obsługujące

Bardziej szczegółowo

WPROWADZENIE DO JĘZYKA JAVA

WPROWADZENIE DO JĘZYKA JAVA WPROWADZENIE DO JĘZYKA JAVA programowanie obiektowe KRÓTKA HISTORIA JĘZYKA JAVA KRÓTKA HISTORIA JĘZYKA JAVA 1991 - narodziny języka java. Pierwsza nazwa Oak (dąb). KRÓTKA HISTORIA JĘZYKA JAVA 1991 - narodziny

Bardziej szczegółowo

Uniwersytet Warszawski Wydział Matematyki, Informatyki i Mechaniki. Paweł Parys. Nr albumu: 209216. Aukcjomat

Uniwersytet Warszawski Wydział Matematyki, Informatyki i Mechaniki. Paweł Parys. Nr albumu: 209216. Aukcjomat Uniwersytet Warszawski Wydział Matematyki, Informatyki i Mechaniki Paweł Parys Nr albumu: 209216 Aukcjomat Praca licencjacka na kierunku INFORMATYKA w zakresie INFORMATYKA Praca wykonana pod kierunkiem

Bardziej szczegółowo

Internetowe bazy danych

Internetowe bazy danych Wyższa Szkoła Technologii Teleinformatycznych w Świdnicy Internetowe bazy danych wykład 6 dr inż. Jacek Mazurkiewicz e-mail: Jacek.Mazurkiewicz@pwr.wroc.pl Kontrola dostępu

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

Ćwiczenia laboratoryjne nr 11 Bazy danych i SQL.

Ćwiczenia laboratoryjne nr 11 Bazy danych i SQL. Prezentacja Danych i Multimedia II r Socjologia Ćwiczenia laboratoryjne nr 11 Bazy danych i SQL. Celem ćwiczeń jest poznanie zasad tworzenia baz danych i zastosowania komend SQL. Ćwiczenie I. Logowanie

Bardziej szczegółowo

Bazy danych - wykład wstępny

Bazy danych - wykład wstępny Bazy danych - wykład wstępny Wykład: baza danych, modele, hierarchiczny, sieciowy, relacyjny, obiektowy, schemat logiczny, tabela, kwerenda, SQL, rekord, krotka, pole, atrybut, klucz podstawowy, relacja,

Bardziej szczegółowo

(Pluggable Authentication Modules). Wyjaśnienie technologii.

(Pluggable Authentication Modules). Wyjaśnienie technologii. Bezpieczeństwo systemów komputerowych. Temat seminarium: Moduły PAM (Pluggable Authentication Modules). Wyjaśnienie technologii Autor: Bartosz Hetmański Moduły PAM (Pluggable Authentication Modules). Wyjaśnienie

Bardziej szczegółowo

Język SQL, zajęcia nr 1

Język SQL, zajęcia nr 1 Język SQL, zajęcia nr 1 SQL - Structured Query Language Strukturalny język zapytań Login: student Hasło: stmeil14 Baza danych: st https://194.29.155.15/phpmyadmin/index.php Andrzej Grzebielec Najpopularniejsze

Bardziej szczegółowo

Wątek - definicja. Wykorzystanie kilku rdzeni procesora jednocześnie Zrównoleglenie obliczeń Jednoczesna obsługa ekranu i procesu obliczeniowego

Wątek - definicja. Wykorzystanie kilku rdzeni procesora jednocześnie Zrównoleglenie obliczeń Jednoczesna obsługa ekranu i procesu obliczeniowego Wątki Wątek - definicja Ciąg instrukcji (podprogram) który może być wykonywane współbieżnie (równolegle) z innymi programami, Wątki działają w ramach tego samego procesu Współdzielą dane (mogą operować

Bardziej szczegółowo

Instrukcja podwaja zarobki osób, których imiona zaczynają się P i dalsze litery alfabetu zakładamy, że takich osbób jest kilkanaście.

Instrukcja podwaja zarobki osób, których imiona zaczynają się P i dalsze litery alfabetu zakładamy, że takich osbób jest kilkanaście. Rodzaje triggerów Triggery DML na tabelach INSERT, UPDATE, DELETE Triggery na widokach INSTEAD OF Triggery DDL CREATE, ALTER, DROP Triggery na bazie danych SERVERERROR, LOGON, LOGOFF, STARTUP, SHUTDOWN

Bardziej szczegółowo

OpenLaszlo. OpenLaszlo

OpenLaszlo. OpenLaszlo OpenLaszlo Spis Treści 1 OpenLaszlo Co to jest? Historia Idea Architektura Jako Flash lub DHTML Jako servlet lub SOLO Jak to działa? Język LZX Struktura programu Skrypty Obiekty i klasy Atrybuty i metody

Bardziej szczegółowo

Zaawansowane aplikacje WWW - laboratorium

Zaawansowane aplikacje WWW - laboratorium Zaawansowane aplikacje WWW - laboratorium Przetwarzanie XML (część 2) Celem ćwiczenia jest przygotowanie aplikacji, która umożliwi odczyt i przetwarzanie pliku z zawartością XML. Aplikacja, napisana w

Bardziej szczegółowo

Pawel@Kasprowski.pl Bazy danych. Bazy danych. Podstawy języka SQL. Dr inż. Paweł Kasprowski. pawel@kasprowski.pl

Pawel@Kasprowski.pl Bazy danych. Bazy danych. Podstawy języka SQL. Dr inż. Paweł Kasprowski. pawel@kasprowski.pl Bazy danych Podstawy języka SQL Dr inż. Paweł Kasprowski pawel@kasprowski.pl Plan wykładu Relacyjne bazy danych Język SQL Zapytania SQL (polecenie select) Bezpieczeństwo danych Integralność danych Współbieżność

Bardziej szczegółowo

JAVA I BAZY DANYCH. MATERIAŁY: http://docs.oracle.com/javase/tutorial/jdbc/basics/index.html

JAVA I BAZY DANYCH. MATERIAŁY: http://docs.oracle.com/javase/tutorial/jdbc/basics/index.html JAVA I BAZY DANYCH ZAGADNIENIA: wprowadzenie; JDBC; komunikacja z bazą danych; HSQLDB. MATERIAŁY: http://docs.oracle.com/javase/tutorial/jdbc/basics/index.html http://th-www.if.uj.edu.pl/zfs/ciesla/ JĘZYK

Bardziej szczegółowo

OpenOfficePL. Zestaw szablonów magazynowych. Instrukcja obsługi

OpenOfficePL. Zestaw szablonów magazynowych. Instrukcja obsługi OpenOfficePL Zestaw szablonów magazynowych Instrukcja obsługi Spis treści : 1. Informacje ogólne 2. Instalacja zestawu a) konfiguracja połączenia z bazą danych b) import danych z poprzedniej wersji faktur

Bardziej szczegółowo

Microsoft SQL Server Podstawy T-SQL

Microsoft SQL Server Podstawy T-SQL Itzik Ben-Gan Microsoft SQL Server Podstawy T-SQL 2012 przełożył Leszek Biolik APN Promise, Warszawa 2012 Spis treści Przedmowa.... xiii Wprowadzenie... xv Podziękowania... xix 1 Podstawy zapytań i programowania

Bardziej szczegółowo

Wprowadzenie do technologii JavaServer Faces 2.1 na podstawie http://docs.oracle.com/javaee/6/tutorial/doc/

Wprowadzenie do technologii JavaServer Faces 2.1 na podstawie http://docs.oracle.com/javaee/6/tutorial/doc/ Wprowadzenie do technologii JavaServer Faces 2.1 na podstawie http://docs.oracle.com/javaee/6/tutorial/doc/ Aplikacja internetowa tworzona na podstawie bazy danych. Programowanie komponentowe 2, Zofia

Bardziej szczegółowo

Współbieżność i równoległość w środowiskach obiektowych. Krzysztof Banaś Obliczenia równoległe 1

Współbieżność i równoległość w środowiskach obiektowych. Krzysztof Banaś Obliczenia równoległe 1 Współbieżność i równoległość w środowiskach obiektowych Krzysztof Banaś Obliczenia równoległe 1 Java Model współbieżności Javy opiera się na realizacji szeregu omawianych dotychczas elementów: zarządzanie

Bardziej szczegółowo

Aplikacje www laboratorium

Aplikacje www laboratorium Aplikacje www laboratorium Konfigurowanie zabezpieczeń w oparciu o JAAS w serwerze GlassFish Zabezpieczanie aplikacji webowych z wykorzystaniem JASS jest w podstawowych zastosowaniach procesem dwuetapowym.

Bardziej szczegółowo

Ewolucja projektowania aplikacji w PHP na bazie frameworka Symfony 2

Ewolucja projektowania aplikacji w PHP na bazie frameworka Symfony 2 Ewolucja projektowania aplikacji w PHP na bazie frameworka Symfony 2 Statyczne strony HTML Wczytanie statycznej strony HTML sprowadza się do odebrania żądania przez serwer, odnalezienia właściwego pliku

Bardziej szczegółowo

REFERAT O PRACY DYPLOMOWEJ

REFERAT O PRACY DYPLOMOWEJ REFERAT O PRACY DYPLOMOWEJ Temat pracy: Projekt i budowa systemu zarządzania treścią opartego na własnej bibliotece MVC Autor: Kamil Kowalski W dzisiejszych czasach posiadanie strony internetowej to norma,

Bardziej szczegółowo

Podyplomowe Studium Informatyki w Bizniesie Wydział Matematyki i Informatyki, Uniwersytet Łódzki specjalność: Tworzenie aplikacji w środowisku Oracle

Podyplomowe Studium Informatyki w Bizniesie Wydział Matematyki i Informatyki, Uniwersytet Łódzki specjalność: Tworzenie aplikacji w środowisku Oracle Podyplomowe Studium Informatyki w Bizniesie Wydział Matematyki i Informatyki, Uniwersytet Łódzki specjalność: Tworzenie aplikacji w środowisku Oracle EFEKTY KSZTAŁCENIA Wiedza Absolwent tej specjalności

Bardziej szczegółowo

Podstawowe pojęcia dotyczące relacyjnych baz danych. mgr inż. Krzysztof Szałajko

Podstawowe pojęcia dotyczące relacyjnych baz danych. mgr inż. Krzysztof Szałajko Podstawowe pojęcia dotyczące relacyjnych baz danych mgr inż. Krzysztof Szałajko Czym jest baza danych? Co rozumiemy przez dane? Czym jest system zarządzania bazą danych? 2 / 25 Baza danych Baza danych

Bardziej szczegółowo

Serwery aplikacji. mgr Radosław Matusik. Wydział Matematyki i Informatyki Uniwersytetu Łódzkiego www.math.uni.lodz.pl/ radmat radmat@math.uni.lodz.

Serwery aplikacji. mgr Radosław Matusik. Wydział Matematyki i Informatyki Uniwersytetu Łódzkiego www.math.uni.lodz.pl/ radmat radmat@math.uni.lodz. Wydział Matematyki i Informatyki Uniwersytetu Łódzkiego www.math.uni.lodz.pl/ radmat radmat@math.uni.lodz.pl Serwer aplikacji Serwer aplikacji to: Serwer wchodzący w skład sieci komputerowej, przeznaczony

Bardziej szczegółowo

Współbieżność w środowisku Java

Współbieżność w środowisku Java Współbieżność w środowisku Java Wątki i ich synchronizacja Zagadnienia Tworzenie wątków Stany wątków i ich zmiana Demony Synchronizacja wątków wzajemne wykluczanie oczekiwanie na zmiennych warunkowych

Bardziej szczegółowo

Ćwiczenie 1. Przygotowanie środowiska JAVA

Ćwiczenie 1. Przygotowanie środowiska JAVA Ćwiczenie 1 Przygotowanie środowiska JAVA 1. Wprowadzenie teoretyczne Instalacja JDK (Java Development Kit) NaleŜy pobrać z java.sun.com środowisko i zainstalować je. Następnie naleŝy skonfigurować środowisko.

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

Pawel@Kasprowski.pl Bazy danych. Bazy danych. Zapytania SELECT. Dr inż. Paweł Kasprowski. pawel@kasprowski.pl

Pawel@Kasprowski.pl Bazy danych. Bazy danych. Zapytania SELECT. Dr inż. Paweł Kasprowski. pawel@kasprowski.pl Bazy danych Zapytania SELECT Dr inż. Paweł Kasprowski pawel@kasprowski.pl Przykład HAVING Podaj liczebność zespołów dla których najstarszy pracownik urodził się po 1940 select idz, count(*) from prac p

Bardziej szczegółowo

z przedmiotu: Techniki Informatyczne Stanisław Flaga (stanislaw.flaga@agh.edu.pl)

z przedmiotu: Techniki Informatyczne Stanisław Flaga (stanislaw.flaga@agh.edu.pl) mysql relacyjna baza danych wstęp Materiały pomocnicze do laboratorium z przedmiotu: Techniki Informatyczne Stanisław Flaga () Wydział Inżynierii Mechanicznej i Robotyki Katedra Automatyzacji Procesów

Bardziej szczegółowo

11. Autoryzacja użytkowników

11. Autoryzacja użytkowników 11. Autoryzacja użytkowników Rozwiązanie NETASQ UTM pozwala na wykorzystanie trzech typów baz użytkowników: Zewnętrzna baza zgodna z LDAP OpenLDAP, Novell edirectory; Microsoft Active Direcotry; Wewnętrzna

Bardziej szczegółowo

2010-11-22 PLAN WYKŁADU BAZY DANYCH PODSTAWOWE KWESTIE BEZPIECZEŃSTWA OGRANICZENIA DOSTĘPU DO DANYCH

2010-11-22 PLAN WYKŁADU BAZY DANYCH PODSTAWOWE KWESTIE BEZPIECZEŃSTWA OGRANICZENIA DOSTĘPU DO DANYCH PLAN WYKŁADU Bezpieczeństwo w języku SQL Użytkownicy Uprawnienia Role BAZY DANYCH Wykład 8 dr inż. Agnieszka Bołtuć OGRANICZENIA DOSTĘPU DO DANYCH Ograniczenie danych z tabeli dla określonego użytkownika

Bardziej szczegółowo

Krótka Historia. Co to jest NetBeans? Historia. NetBeans Platform NetBeans IDE NetBeans Mobility Pack Zintegrowane moduły. Paczki do NetBeans.

Krótka Historia. Co to jest NetBeans? Historia. NetBeans Platform NetBeans IDE NetBeans Mobility Pack Zintegrowane moduły. Paczki do NetBeans. GRZEGORZ FURDYNA Krótka Historia Co to jest NetBeans? Historia Wersje NetBeans Platform NetBeans IDE NetBeans Mobility Pack Zintegrowane moduły NetBeans Profiler Narzędzie do projektowania GUI Edytor NetBeans

Bardziej szczegółowo

Samokontrola postępów w nauce z wykorzystaniem Internetu. Wprowadzenie

Samokontrola postępów w nauce z wykorzystaniem Internetu. Wprowadzenie mgr Piotr Gaś, dr hab. inż. Jerzy Mischke Ośrodek Edukacji Niestacjonarnej Akademii Górniczo-Hutniczej w Krakowie Samokontrola postępów w nauce z wykorzystaniem Internetu Wprowadzenie W każdym systemie

Bardziej szczegółowo