Wykład 15: Inne technologie tworzenia aplikacji WWW. Aplety. Co jeszcze warto poznać.

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

Download "Wykład 15: Inne technologie tworzenia aplikacji WWW. Aplety. Co jeszcze warto poznać."

Transkrypt

1 Wykład 15: Inne technologie tworzenia aplikacji WWW. Aplety. Co jeszcze warto poznać. W wykładzie skorzystano z materiałów "Aplikacje WWW" na

2 Aplikacje WWW - wprowadzenie 1. Koncepcja automatycznego generowania dokumentów stała się inspiracją dla powstania nowej kategorii aplikacji komputerowych, nazywanych aplikacjami WWW (web applications) albo aplikacjami wielowarstwowymi (multitier applications). 2. Aplikacja WWW to zestaw programów znajdujących się po stronie serwera HTTP, które komunikują się z użytkownikiem końcowym za pomocą dokumentów dynamicznych obsługiwanych przez klienta HTTP Krótko: jak każda inna aplikacja z wyjątkiem tego, że interfejs tej aplikacji jest obsługiwany przez przeglądarkę 3. Aplikacje WWW wymagają obecności specjalnego środowiska uruchomieniowego nazywanego serwerem aplikacji. Serwer aplikacji stanowi część serwera HTTP lub jest z nim powiązany. 4. Aktualnie jako aplikacje WWW działają systemy bankowości internetowej, sklepy internetowe, serwisy aukcyjne, portale internetowe, systemy informujące o połączeniach lotniczych i kolejowych. Rynek aplikacji www tak się rozwinął, że wiele aplikacji desktopowych ma swoje odpowiedniki w postaci aplikacji www: np. obsługa poczty elektronicznej: przez program desktopowy np. outlook express, thunderbird albo przez przeglądarkę

3 Aplikacje WWW w PHP Aplikacja jest napisana w postaci skryptu Serwer wymaga modułu PHP. Musi być zainstalowany interpreter PHP. (Pakiet XAMPP instaluje nam serwer, moduł PHP i interpreter) Gdy jest żądanie HTTP pliku PHP, serwer przekazuje plik php do przetworzenia dla modułu php i wynik tego przetworzenia (zazwyczaj wygenerowany kod HTML) serwer wysyła do przeglądarki w odpowiedzi HTTP.

4 Aplikacje WWW - technologia CGI (cz. 1) CGI (Common Gateway Interface) - pierwsza specyfikacja opracowana na potrzeby aplikacji WWW uruchamianych po stronie serwera HTTP. Zgodnie z założeniami CGI, serwer HTTP może na żądanie klienta HTTP uruchomić lokalną aplikację, nazywaną programem CGI, która odpowiada za wygenerowanie treści dokumentu, np. w formacie HTML, przekazywanego w odpowiedzi na żądanie klienta Program CGI ma postać pliku wykonywalnego (można go niezależnie uruchomić na serwerze z konsoli).

5 Aplikacje WWW - technologia CGI (cz. 2) Programy CGI można pisać w C/C++, Perl, Python, mogą być to również programy shellowe Perl - najpopularniejszy dla CGI - Practical Extraction and Report Language (praktyczny język pobieranie danych i raportowania) - zaprojektowany z myślą o przetwarzaniu tekstu i raportowaniu. Język skryptowy, ale nieinterpretowany, a kompilowany. Ale po kompilacji program w Perlu nie jest przechowywany tak jak w przypadku innych języków kompilowanych jako kod wykonywalny (C) albo kod pośredni (Java). Za każdym razem jak uruchamiamy program w Perlu kod źródłowy jest odczytywany przez interpreter i kompilowany a następnie od razu wykonywany. Przykłady: przyklad.c przyklad.pl Aby sprawdzić działanie, przyklad.c kompilujemy i umieszczamy w katalogu xampp\cgi-bin Tam również umieszczamy przyklad.pl Następnie wpisujemy adres: localhost/cgi-bin/.../przyklad.exe localhost/cgi-bin/.../przyklad.pl

6 Aplikacje WWW - serwlety Java Serwlet Java jest programem Java umiejscowionym po stronie serwera HTTP, służącym do automatycznego generowania dokumentów (np. HTML) stanowiących odpowiedzi na żądania HTTP. Plik źródłowy Javy kompiluje się do kodu pośredniego. Potrzebuje maszyny wirtualnej aby być wykonany. Serwlety Java wymagają dedykowanego środowiska uruchomieniowego nazywanego serwerem aplikacji Java EE, który odpowiada m.in. za zarządzanie pamięcią operacyjną, kontrolę dostępu, komunikację z bazami danych, itp. Przykład serwera Java EE: Jakarta Tomcat.

7 Cykl życia serwleta 1. Klient HTTP przekazuje żądanie HTTP do serwera HTTP. Żądanie jest kierowane do serwera aplikacji Java EE. 2. Serwer aplikacji analizuje adres URL żądania HTTP, pobiera z dysku klasę wskazanego serwletu i tworzy jej obiekt (tzw. obiekt serwletu). 3. Serwer aplikacji wywołuje metodę init() obiektu serwletu. 4. Serwer aplikacji wywołuje metodę doget() obiektu serwletu. Dokument będący wynikiem działania metody doget() jest przekazywany klientowi HTTP. Obsługa żądania została zakończona. Po zakończeniu obsługi żądania HTTP obiekt serwletu pozostaje w pamięci operacyjnej. W związku z tym, podczas obsługi kolejnych żądań nie jest konieczne pobieranie klasy serwletu z dysku ani tworzenie jej nowego obiektu. Kolejne żądania nie powodują też wykonania metody init(), a jedynie doget(). Obiekt serwletu zwykle pozostaje w pamięci operacyjnej aż do zatrzymania serwera aplikacji. W chwili usuwania obiektu serwletu z pamięci operacyjnej wykonywana jest jego metoda destroy(). Metody init() i destroy() służą zwykle do realizacji zadań inicjacyjnych i końcowych, np. nawiązanie/rozłączenie połączenia z bazą danych, odczyt plików konfiguracyjnych, otwarcie/zamknięcie pliku.

8 Pierwszy serwlet - utworzenie Przykład: PierwszySerwlet.java 1. tworzymy klasę dziedziczącej z klasy bibliotecznej javax.servlet.http.httpservlet 2. metoda doget() przyjmuje dwa obiektowe argumenty: request i response. Obiekt request zawiera metadane żądania, natomiast obiekt response służy do przekazywania odpowiedzi. W pewnym uproszczeniu, obiekty te stanowią jednokierunkowe kanały komunikacyjne pomiędzy serwerem aplikacji a serwletem Java. Metoda doget() propaguje wyjątki typu IOException, które mogą być generowane przez wywołanie response.getwriter(). 3. Serwlet pobiera wartość parametru wejściowego o nazwie "imie". Parametr ten jest przekazywany przez użytkownika końcowego i zawiera jego imię. Do odczytu wartości parametrów wejściowych służy metoda getparameter() obiektu request. 4. Serwlet przekazuje serwerowi aplikacji informację o formacie generowanego dokumentu wynikowego Na tej podstawie serwer aplikacji wygeneruje nagłówek odpowiedzi HTTP zawierający pole "Content-type". 5. Serwlet tworzy obiekt klasy PrintWriter, stanowiący wyjściowy strumień alfanumeryczny, poprzez który zostanie przekazana treść ciała odpowiedzi HTTP. 6. Serwlet wysyła treść ciała odpowiedzi HTTP w formie dokumentu HTTP. W treść dokumentu wpleciono wartość odebranego parametru wywołania. Zapis do strumienia wyjściowego odbywa się za pomocą metody println() obiektu out.

9 Pierwszy serwlet - uruchomienie 1. Pakiet instalacyjny XAMPP zawiera serwer aplikacji Java EE: Tomcat. Jest on instalowany w: sciezka/xampp/tomcat 2. Serwer Tomcat uruchamiamy przez panel sterowania XAMPP. Domyślnie dla tego serwera przydzielany jest port Kompilujemy serwlet: javac -classpath sciezka/xampp/tomcat/lib/servlet-api.jar PierwszySerwlet.java Otrzymamy kod pośredni PierwszySerwlet.class 4. W katalogu sciezka/xampp/tomcat/webapps tworzymy katalog dla naszej aplikacji np. "przyklad". W nim tworzymy katalog "WEB-INF", a z kolei w nim katalog "classes". Katalog webapps to odpowiednik htdocs w przypadku serwera apache. Czyli od tego katalogu serwer zaczyna szukać żądanego dokumentu. 5. Kod pośredni PierwszySerwlet.class umieszczamy w katalogu WEB-INF/classes. 6. W katalogu WEB-INF tworzymy deskryptor wdrożenia (deployment descriptor) - plik konfiguracyjny plik aplikacji WWW w formacie XML. Plik należy nazwać web.xml. Plik do pobrania pod linkiem "Przykłady" na stronie www z materiałami do zajęć. 7. Opis pliku web.xml: Jedna aplikacja: jeden plik web.xml W pliku web.xml można zadeklarować wiele serwletów Element servlet-name, aby powiązać element servlet z servlet-mapping Element servlet-class: podajemy nazwę klasy serwletu Element url-pattern: co wpisać w adresie url, aby wysłać żądanie serwletu 8. W przeglądarce wpisujemy adres:

10 Aplikacje WWW - szablony (tzw. server pages) Aplikacja ma postać kodu html przeplatanego z kodem programu, który będzie generował kod HTML. Dzięki temu kod całej aplikacji jest bardziej czytelny i wygodniej go pisać. Obsługa żądania użytkownika końcowego polega na wykonaniu tego kodu, a następnie osadzenie wyniku w szablonie. Najważniejszymi technologiami implementacji szablonów są: PHP Java Server Pages (przy pierwszym żądaniu klienta, plik.jsp jest przekształcany na serwlet, następnie kompilowany i ostatecznie wykonywany) ASP.NET (Active Server Pages Microsoft, analogia ze środowiskiem uruchomieniowym Javy, przy pierwszy żądaniu plik.asp jest kompilowany do kodu pośredniego i wykonywany w środowisku.net)

11 Aplikacje www - serwlet Java i JSP W większości przypadków kod źródłowy serwletu będzie obszerniejszy od kodu źródłowego alternatywnego szablonu, w związku z czym technologie szablonów cieszą się większą popularnością wśród programistów

12 Zalety i wady aplikacji WWW 1. Niskie wymagania sprzętowe programu klienta HTTP, jedynego którego potrzebuje użytkownik końcowy. Umożliwia to dostęp do aplikacji WWW za pomocą prostej stacji roboczej, tableta, telefonu komórkowego itd. 2. Wygoda: łatwość użytkowania programu klienta HTTP przekłada się na łatwość użytkowania aplikacji WWW 3. Wygoda administrowania aplikacjami (aktualizacje, instalacje itp. dotyczą jednego komputera). Ochrona własności intelektualnej twórców - jeden komputer zmniejszenie ryzyka kradzieży. 4. Wytwarzanie oprogramowania wymaga od programistów posiadania dodatkowych kwalifikacji. 5. Ograniczone możliwości kontaktu programisty z użytkownikiem, więc pewnemu upośledzeniu ulega konstrukcja graficznego interfejsu użytkownika. 6. Koszt zakupu mocnego obliczeniowo serwera odpowiedzialnego za wykonywanie aplikacji, a często też konieczność zakupu komercyjnego oprogramowania serwera

13 Aplety

14 Aplety Aplety - programy napisane w Javie, które nie mogą być uruchamiane samodzielnie z poziomu systemu operacyjnego tak jak normalne aplikacje. Aplety są uruchamiane pod kontrolą innego programu, najczęściej przeglądarki internetowej. Aplet jest osadzany na stronie WWW za pomocą odpowiedniego znacznika HTML. Aby możliwe było uruchamianie apletu przeglądarka musi być wyposażona we wtyczkę (plug-in). Aplety w porównaniu z normalnymi aplikacjami mają ograniczenia ze względów bezpieczeństwa jeśli chodzi o dostęp do systemu plików klienta. Są też mniejsze ze względu na to, aby czas pobrania apletu był krótki.

15 Aplet - przykład Przykład plik: aplety/pierwszyaplet.java, aplety/drugiaplet.java Na stronie WWW osadzamy kod pośredni: ApletNaStronie.html. Przy otwarciu strony przeglądarka ze względów bezpieczeństwa może żądać akceptacji czy chcemy uruchomić aplet. Aplet jest klasą potomną Applet z pakietu Applet (normalna aplikacja to klasa potomna Frame z pakietu AWT, lub JFrame z pakietu Swing, gdy chcemy w aplecie korzystać z komponentów graficznych Swing-a, tworzymy klasę potomną JApplet zamiast Applet) Aplet nie ma metody main() jak normalny program w Javie, więc nie ma punktu startowego programu. Aplet ma grupę standardowych metod, które są wywoływane w odpowiedzi na zdarzenia, które mają miejsce w trakcie działania apletu: init() i start(), gdy aplet jest ładowany pierwszy raz, ponadto start(), gdy działanie apletu jest wznawiane po zatrzymaniu (użytkownik powraca na stronę) paint(), gdy zachodzi potrzeba odrysowanie apletu (na nowo wyświetlić zawartość apletu) stop(), gdy działanie apletu jest zatrzymane przez przeglądarkę (użytkownik opuszcza stronę) destroy(), gdy ma miejsce zakończenie działania apletu (użytkownik zamyka przeglądarkę) Klasy apletów muszą być publiczne ponieważ Applet jest klasą o dostępie public Wymienione wyżej metody są wywoływane automatycznie. Są dziedziczone z klasy bazowej i należy je przesłonić, aby wykonywały jakieś działanie. Metoda paint() jest używana do wyświetlenia tekstu i grafiki. Możemy wymusić ponowne wyświetlenie zawartości apletu metodą repaint() Aplet można też uruchomić korzystając z przeglądarki JDK: AppletViewer ApletNaStronie.html

16 Porównanie kodu aplikacji i apletu Przykład: Normalna aplikacja: dodawanie dwóch liczb, plik Aplikacja.java Ta aplikacja została przekształcona na aplet: aplety\aplet3.java Aplet został osadzony na stronie Aplet3.html Można przekształcić aplikację na aplet wg poniższych punktów: Zamiast klasy potomnej klasy Frame/JFrame (okienka aplikacji) tworzymy klasę potomną klasy Applet/JApplet, aplet nie potrzebuje okienka, bo będzie osadzony na stronie. Klasa apletu musi mieć modyfikator public, inaczej aplet nie będzie mógł być załadowany. Usuwamy klasę main(). Kod konstruktora aplikacji należy umieścić w metodzie init() apletu. Nie trzeba tworzyć obiektu apletu przez wywołanie konstruktora. Przeglądarka sama utworzy taki obiekt i wywoła metodę init(). Nie wywołujemy metody setdefaultcloseoperation. Aplet nie może być zamknięty. Aplet zakończy swoje działanie, gdy użytkownik zamknie przeglądarkę. Nie wywołujemy metody tworzącej tytuł aplikacji na pasku (metoda klasy bazowej). Aplet nie może mieć tytułu. Można jedynie dopisać kod HTML, aby tekst z tytułem pokazał się np. nad apletem. Nie wywołujemy setvisible(true). Aplet jest wyświetlany automatycznie.

17 Java Web Start JWS - technologia służąca do pobierania normalnych aplikacji Java przez internet i uruchamiania ich. Jest elementem środowiska Java Runtime Environment (JRE) i jest instalowana wraz z nim. JWS może być też zastosowana do apletów. przeglądarka automatycznie uruchamia zewnętrzną aplikację, gdy pobieramy aplikację Java wykorzystującą technologię Java Web Start. (Ten sam mechanizm gdy np. pobieramy pdf-a i uruchamia się Acrobat Reader). Aplikacja jest w pamięci podręcznej komputera, aby w kolejnych uruchomieniach nie powtarzać operacji pobierania. Przy każdym uruchomieniu aplikacji sprawdza, czy na stronie internetowej nie ma nowej wersji. Jeśli jest, pobierze ją i uruchomi. Bezpieczeństwo: jeśli aplikacja jest podpisana cyfrowo może uzyskać dostęp do np. systemu plików, jeśli nie jest, będzie uruchomiona w piaskownicy (sandbox) - wydzielona część systemu, bez możliwości np. dostępu do systemu plików W przypadku apletów gdy udostępniamy je przez JWS użytkownik nie potrzebuje wtedy mieć pluginu w przeglądarce. Musi jedynie mieć JRE czyli to co potrzebne żeby w ogóle uruchamiać programy w Javie

18 Przygotowania aplikacji do użycia w technologii Java Web Start Należy: zapisać plik aplikacji jako plik JAR jar cvfe Aplikacja.jar Aplikacja Aplikacja.class Zostanie utworzony plik Aplikacja.jar utworzyć plik konfiguracyjny Java Web Start dla aplikacji. Ma on format XML-owy, i należy go przygotować zgodnie z Java Network Launching Protocol. W konfiguracji będzie podany jaki plik zawiera klasę uruchomieniową aplikacji (main), jaka jest nazwa pliku JAR i inne informacje o aplikacji: Plik Aplikacja.njlp utworzyć stronę HTML z linkiem prowadzącym do Aplikacja.njlp: Plik jws.html W przypadku apletu postępujemy tak samo: Przykład: aplety\aplet3.jar Aplet.njlp jws.html

19 Co jeszcze warto poznać

20 Wysyłanie maili przez skrypt PHP Aby funkcja mail() zadziała, w pliku php.ini muszą być ustawione dyrektywy (tylko Windows): adres serwera poczty wychodzącej SMTP jaki ma być użyty, port, z jakiego adresu ma być wysłany np. SMTP=localhost; smtp_port = 25; sendmail_from = abc@abc.com; Serwis cba.pl w ramach bezpłatnej oferty pozwala na korzystanie z funkcji mail(). Konfiguracja jest już zrobiona automatycznie. Przykład: mail.php (nie zadziała lokalnie, plik umieść na swoim koncie www na cba.pl) Więcej na temat wbudowanej funkcji PHP mail(): Inne możliwości: pakiet Mail z biblioteki PEAR klasa PHPMailer: Ale na cba.pl nie można w ramach bezpłatnej oferty korzystać z tych sposobów.

21 MVC - jeden z wzorców architektonicznych aplikacji WWW Frameworki PHP - szkielety aplikacji przygotowanych wg wzorca MVC, np. CakePHP CMS - system zarządzania treścią. Gotowe aplikacje WWW, pozostaje wprowadzać treść za pomocą odpowiednich formularzy, ale można również dostosować do swoich potrzeb. Np. WordPress, Joomla Biblioteki PHP: PEAR, PECL

22 Wzorzec architektoniczny MVC Aplikacje WWW są najczęściej budowane jako środowiska komponentowe. Popularnym wzorcem architektonicznym aplikacji WWW jest MVC, który zakłada, że komponenty dzielą się na trzy grupy: Model - reprezentuje dane. Nie jest to sama baza danych!, ale ta część aplikacji, której zadaniem jest komunikacja z bazą danych i wykonywanie tam operacji (np. zwraca wyszukane rekordy, wstawia dane) View - widok, komponenty prezentacji. Ta część aplikacji odpowiada za generowanie dokumentów dynamicznych i wypełnianie ich danymi przekazywanymi przez model (tworzenie interfejsu użytkownika) Controller - kontroler, sterowanie aplikacji (mózg aplikacji). Przyjmowanie żądań HTTP i koordynacja ich obsługi: decyzja jaką funkcję wywołać, która będzie wykonana w modelu i jakiego użyć widoku, który będzie odesłany w odpowiedzi http. Cel: taki podział polepsza czytelność kodu całej aplikacji i ułatwia rozwijanie aplikacji, szczególnie, gdy jest przygotowywana zespołowo

23 Przykładowa aplikacja bez użycia wzorca MVC Aplikacja: wyświetlenie listy pracowników. Przykładowe działanie aplikacji: połączenie z bazą danych wykonanie zapytania, aby odczytać z bazy pracowników przetwarzanie wyniku zapytania w pętli i przygotowanie listy pracowników w formacie html Przykładowy kod realizujący taką aplikację (następny slajd):

24 Przykładowa aplikacja bez użycia wzorca MVC (2) Przykładowy plik pracownicy.php <html> <body> <h1>pracownicy</h1> <?php mysqli = new mysqli(...); $res = $mysqli->query('select * from pracownicy'); while ($rekord = $res->fetch_array()) { echo '<h2>'. $rekord->nazwisko. '</h2>' echo '<p>'. $rekord->informacje. '</p>' }?> </body> </html>

25 Przykładowa aplikacja bez użycia wzorca MVC (3) Wady takiego rozwiązania: w przypadku dużych aplikacji trudno jest ją utrzymać i tworzyć ją jako projekt zespołowy (podzielić na części i zdecydować, kto jaką część wykonuje, a potem to połączyć) Np. zmiana w bazie danych np. nazwy tabeli pracownicy wymagałaby zmian w wielu plikach, tzn. wszędzie tam gdzie było zapytanie np. SELECT * FROM PRACOWNICY WHERE...

26 Przykładowa aplikacja z użyciem wzorca MVC Postępowanie: Część, która odpowiada za połączenie z bazą danych i odczyt wyników zdefiniować jako klasę, której metody pozwalają na np. odczyt danych z bazy. Zdefiniować tak, aby można było taką metodę używać do różnych zapytań, np. odczytania danych. Ta klasa to MODEL (komunikacja z bazą danych) Część aplikacji, która ma wywołać odpowiednią metodę modelu w zależności od żądania klienta (np. chce wyświetlić listę pracowników) to KONTROLER. Kontroler to też klasa. Metody kontrolera wywołują metody modelu i przetwarzają dane, które zwrócą metody modelu. Część aplikacji, która przygotowuje prezentacje uzyskanych wyników to WIDOK. Widok to szablon, który zostanie wypełniony danymi Każdą z tych części zapisujemy w oddzielnych plikach. Przykładowa implementacja (same funkcje-metody, bez tworzenia klas) następny slajd:

27 Przykładowa aplikacja z użyciem wzorca MVC (2) MODEL: <?php function odczytaj(){ mysqli = new mysqli(...); $res = $mysqli->query('select * from pracownicy'); $pracownicy = array(); while ($rekord = $res->fetch_array()) { $pracownicy[] = $rekord; } return $pracownicy; }?>

28 Przykładowa aplikacja z użyciem wzorca MVC (3) KONTROLER: <?php $pracownicy = odczytaj(); display_template('pracownicy.tpl');?> WIDOK: <html><body> <h1>pracownicy</h1> <?php foreach ($pracownicy as $rekord) { echo '<h2>'. $rekord->nazwisko. '</h2>'; echo '<p>'. $rekord->informacje. '</p>'; }?> </body> </html>

29 Przykładowa aplikacja z użyciem wzorca MVC (4) MODEL: odczytaj() - odczytuje pracowników z bazy danych i zwraca wynik dla kontrolera () KONTROLER: wywołuje odczytaj(), aby zrealizować żądanie klienta, a zwrócony przez odczytaj() wynik przekazuje do przetworzenia dla widoku wskazując jaki szablon ma być użyty przy przygotowaniu prezentacji wyniku WIDOK: umieszczenie danych w szablonie (pętla przebiega tablicę $pracownicy). Wynik to kod html z listą pracowników, który będzie odesłany jako odpowiedź http

30 Przykładowa aplikacja z użyciem wzorca MVC (4) Zysk widać przy dużych aplikacjach. Np. gdyby było jeszcze wyszukiwanie pracowników, dodawania, usuwanie, modyfikacja itd. Bardzo ciężko utrzymać kod, gdy polecenia SQL są przemieszane z kodem HTML (w przypadku zmian, poprawki trzeba robić w wielu plikach). W przypadku MVC, gdy zmienimy nazwę tabeli pracownicy, poprawkę robimy tylko w modelu. We wszystkich innych plikach gdzie wyświetlani są pracownicy poprawek robić już nie trzeba.

31 Frameworki W aplikacjach WWW znajdziemy wiele powtarzalnych elementów (funkcjonalności): łączenie i wykonywanie podstawowych operacji w bazie danych: odczyt, wstawianie, usuwanie, modyfikacja uwierzytelnianie koszyk zakupów itd. Tworząc nową aplikację nie ma sensu za każdym razem pisać kodu od początku, aby zrealizować te funkcjonalności (nie ma sensu na nowo wymyślać koła). Framework - zręb (półprodukt, szkielet, rama) aplikacji, zestaw gotowych rozwiązań (implementacji) dla często potrzebnych funkcjonalności zorganizowanych wg pewnego wzorca architektonicznego, w przypadku frameworków PHP wg wzorca MVC

32 Frameworki (2) Zalety (widoczne w szczególności przy realizacji dużych aplikacji): znaczne przyspieszenie tworzenia aplikacji czytelny kod aplikacji zapobieganie powtarzaniu kodu (kopiowaniu części kodu w różne miejsca naszej aplikacji) czytelne linki do poszczególnych części strony poprzez mechanizm rewritingu adresu URL: Wady: zamiast pracownicy.php?miasto=wilno&wiek=30 mamy: /pracownicy/wilno/30 trzeba się nauczyć korzystać z frameworka zmniejszenie elastyczności, framework narzuca rozwiązania, które może być trudno dopasować do konkretnej aplikacji

33 Framework CakePHP - stworzenie przykładowej aplikacji Funkcjonalności przykładowej aplikacji: zarządzanie bazą pracowników: typowe operacje: wyświetlenie wszystkich pracowników, dodanie/usunięcie/modyfikacja danych o pracownikach dostęp po zalogowaniu Samodzielnie proszę zrobić aplikację "Blog" wg tych instrukcji (tam więcej szczegółowych informacji niż to co podałem na wykładzie, m.in. instalacja CakePHP):

34 Repozytorium PEAR (biblioteka PHP) PHP Extension and Application Repository zhierarchizowana open-sourcowa biblioteka PHP, system do dystrybucji i utrzymania kodu pakiety biblioteki PEAR są napisane w PHP PEAR instalowane jest automatycznie w przypadku pakietu xampp: xampp\php\pear Przegląd pakietów: Instalacja pakietu przez konsolowy instalator pear (W przypadku XAMPP jest on zainstalowany automatycznie) np.: panel sterowania XAMPP - Shell. Wpisać np.: pear install Math_Stats Zostanie zainstalowany pakiet pomocny w obliczeniach statystycznych w xampp\php\pear\math\stats.php Przykład użycia tego pakietu: pear_stat.php - obliczenie podstawowych miar statystycznych wykorzystując pakiet Stats.php

35 PECL (biblioteka PHP) PECL = Php Extension Community Library open-sourcowa biblioteka PHP różnica z PEAR: Moduły biblioteczne są napisane w C i rozpowszechniane w wersji źródłowej. Przez to, że są napisane w C działają wydajniej jak również mogą korzystać z innych zewnętrznych bibliotek lub innych zasobów. Aby skorzystać dołączamy wersję skompilowaną. Windows: W przypadku XAMPP część modułów tej biblioteki zostanie zainstalowana automatycznie. Pliki biblioteczne to pliki *.dll. Znajdują się w katalogu: xampp\php\ext Przegląd pakietów:

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

Język JAVA podstawy. wykład 2, część 2. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna

Język JAVA podstawy. wykład 2, część 2. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna Język JAVA podstawy wykład 2, część 2 Jacek Rumiński 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

Bardziej szczegółowo

Programowanie Multimediów. Programowanie Multimediów JAVA. wprowadzenie do programowania (3/3) [1]

Programowanie Multimediów. Programowanie Multimediów JAVA. wprowadzenie do programowania (3/3) [1] JAVA wprowadzenie do programowania (3/3) [1] Czym jest aplikacja Java Web Start? Aplikacje JAWS są formą pośrednią pomiędzy apletami a aplikacjami Javy. Nie wymagają do pracy przeglądarki WWW, jednak mogą

Bardziej szczegółowo

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

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

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

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

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

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

Przykłady tworzenia aplikacji komponentowych w technologii JavaServer Faces 2.1 na podstawie

Przykłady tworzenia aplikacji komponentowych w technologii JavaServer Faces 2.1 na podstawie Przykłady tworzenia aplikacji komponentowych w technologii JavaServer Faces 2.1 na podstawie http://docs.oracle.com/javaee/6/tutorial/doc/ Przykłady na podstawie zadań lab. z przedmiotu Technologie internetowe

Bardziej szczegółowo

Tworzenie aplikacji Web Alicja Zwiewka. Page 1

Tworzenie aplikacji Web Alicja Zwiewka. Page 1 Tworzenie aplikacji Web Alicja Zwiewka Page 1 Co to są web-aplikacje? Aplikacja internetowa (ang. web application) program komputerowy, który pracuje na serwerze i komunikuje się poprzez sieć komputerową

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

Wybrane Działy Informatyki Stosowanej LABORATORIUM 1.

Wybrane Działy Informatyki Stosowanej LABORATORIUM 1. WDIS 2019L: Zajęcia 1. Serwer Apache Tomcat. Środowisko NetBeans. Strona 1 z 9 Wybrane Działy Informatyki Stosowanej LABORATORIUM 1. KONFIGUROWANIE SERWERA APACHE TOMCAT. PODSTAWY UMIESZCZANIA PLIKÓW HTML,

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

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

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

Co to jest NODE.JS? Nowoczesne środowisko programistyczne

Co to jest NODE.JS? Nowoczesne środowisko programistyczne Node.js Co to jest NODE.JS? Nowoczesne środowisko programistyczne Środowisko programistyczne w sensie zestawu gotowych klas i metod których można używać do przygotowania własnych skalowalnych i wydajnych

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

PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL III TI 4 godziny tygodniowo (4x30 tygodni =120 godzin ),

PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL III TI 4 godziny tygodniowo (4x30 tygodni =120 godzin ), PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH KL III TI 4 godziny tygodniowo (4x30 tygodni =120 godzin ), Program 351203 Opracowanie: Grzegorz Majda Tematyka zajęć 1. Wprowadzenie do aplikacji internetowych

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

Przewodnik instalacji i rozpoczynania pracy. Dla DataPage+ 2013

Przewodnik instalacji i rozpoczynania pracy. Dla DataPage+ 2013 Przewodnik instalacji i rozpoczynania pracy Dla DataPage+ 2013 Ostatnia aktualizacja: 25 lipca 2013 Spis treści Instalowanie wymaganych wstępnie komponentów... 1 Przegląd... 1 Krok 1: Uruchamianie Setup.exe

Bardziej szczegółowo

Język JAVA podstawy. wykład 1, część 2. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna

Język JAVA podstawy. wykład 1, część 2. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna Język JAVA podstawy wykład 1, część 2 1 Język JAVA podstawy Plan wykładu: 1. Krótka historia Javy 2. Jak przygotować sobie środowisko programistyczne 3. Opis środowiska JDK 4. Tworzenie programu krok po

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

Typy przetwarzania. Przetwarzanie zcentralizowane. Przetwarzanie rozproszone

Typy przetwarzania. Przetwarzanie zcentralizowane. Przetwarzanie rozproszone Typy przetwarzania Przetwarzanie zcentralizowane Systemy typu mainfame Przetwarzanie rozproszone Architektura klient serwer Architektura jednowarstwowa Architektura dwuwarstwowa Architektura trójwarstwowa

Bardziej szczegółowo

1 90 min. Aplikacje WWW Harmonogram spotkań, semestr zimowy (studia stacjonarne)

1 90 min. Aplikacje WWW Harmonogram spotkań, semestr zimowy (studia stacjonarne) 1 90 min. Aplikacje WWW Harmonogram ń, semestr zimowy -2017 (studia stacjonarne) 6 października Wprowadzenie do aplikacji WWW Rys historyczny Składniki architektury WWW o klient HTTP o serwer HTTP o protokół

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

Aplikacje internetowe - laboratorium

Aplikacje internetowe - laboratorium Aplikacje internetowe - laboratorium Administracja serwerem aplikacji. Celem ćwiczenia jest zainstalowanie i administracja prostym serwerem aplikacji. Ćwiczenie zostanie wykonane przy użyciu popularnego

Bardziej szczegółowo

Wykład 5: PHP: praca z bazą danych MySQL

Wykład 5: PHP: praca z bazą danych MySQL Wykład 5: PHP: praca z bazą danych MySQL Architektura WWW Podstawowa: dwuwarstwowa - klient (przeglądarka) i serwer WWW Rozszerzona: trzywarstwowa - klient (przeglądarka), serwer WWW, serwer bazy danych

Bardziej szczegółowo

Wybrane działy Informatyki Stosowanej

Wybrane działy Informatyki Stosowanej Wybrane działy Informatyki Stosowanej Java Enterprise Edition WebServices Serwer aplikacji GlassFish Dr hab. inż. Andrzej Czerepicki a.czerepicki@wt.pw.edu.pl http://www2.wt.pw.edu.pl/~a.czerepicki Aplikacje

Bardziej szczegółowo

Aplikacje WWW - laboratorium

Aplikacje WWW - laboratorium Aplikacje WWW - laboratorium Serwlety Celem ćwiczenia jest przygotowanie kilku prostych serwletów ilustrujących możliwości tej technologii. Poszczególne ćwiczenia prezentują sposób przygotowania środowiska,

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

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

Aplikacja internetowa vs Strona Internetowa. Aplikacja internetowa, (ang.) web application zwana również aplikacją webową, to program komputerowy,

Aplikacja internetowa vs Strona Internetowa. Aplikacja internetowa, (ang.) web application zwana również aplikacją webową, to program komputerowy, Aplikacja internetowa vs Strona Internetowa. Aplikacja internetowa, (ang.) web application zwana również aplikacją webową, to program komputerowy, który pracuje na serwerze i komunikuje się poprzez sieć

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

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

I. Informacje ogólne. Jednym z takich systemów jest Mambo.

I. Informacje ogólne. Jednym z takich systemów jest Mambo. MAMBO (CMS) I. Informacje ogólne CMS, Content Management System ("system zarządzania treścią") jest to jedna lub zestaw aplikacji internetowych pozwalających na łatwe utworzenie oraz późniejszą aktualizację

Bardziej szczegółowo

prepared by: Programowanie WWW Servlety

prepared by: Programowanie WWW Servlety Programowanie WWW Servlety Przypomnienie problemu Aplikacja do liczenia kredytów Klasa Kredyt Formatka do wprowadzania danych (czysty HTML) Skrypt liczący ratę (JSP wykorzystujące klasę Kredyt) Klasa Kredyt

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

Podstawy technologii WWW

Podstawy technologii WWW Podstawy technologii WWW Ćwiczenie 8 PHP, czyli poczatki nowej, dynamicznej znajomosci Na dzisiejszych zajęciach rozpoczniemy programowanie po stronie serwera w języku PHP. Po otrzymaniu żądania serwer

Bardziej szczegółowo

Aplikacje WWW Wprowadzenie

Aplikacje WWW Wprowadzenie Aplikacje WWW Wprowadzenie Beata Pańczyk na podstawie http://www.e-informatyka.edu.pl/ http://wazniak.mimuw.edu.pl/index.php?title=aplikacje_www Plan wykładu Składniki architektury WWW: klient HTTP, serwer

Bardziej szczegółowo

WPROWADZENIE. Użycie PHP

WPROWADZENIE. Użycie PHP WPROWADZENIE PHP jest językiem programowania po stronie serwera używanym do tworzenia dynamicznych witryn internetowych i interaktywne aplikacje internetowe. Skrót PHP pierwotnie oznaczał Osobistą stronę

Bardziej szczegółowo

Tomasz Greszata - Koszalin

Tomasz Greszata - Koszalin T: Konfiguracja usługi HTTP w systemie Windows. Zadanie1: Odszukaj w serwisie internetowym Wikipedii informacje na temat protokołów HTTP oraz HTTPS i oprogramowania IIS (ang. Internet Information Services).

Bardziej szczegółowo

Wykład V. Rzut okiem na języki programowania. Studia Podyplomowe INFORMATYKA Podstawy Informatyki

Wykład V. Rzut okiem na języki programowania. Studia Podyplomowe INFORMATYKA Podstawy Informatyki Studia Podyplomowe INFORMATYKA Podstawy Informatyki Wykład V Rzut okiem na języki programowania 1 Kompilacja vs. interpretacja KOMPILACJA Proces, który przetwarza program zapisany w języku programowania,

Bardziej szczegółowo

ASP.NET MVC. Grzegorz Caban grzegorz.caban@gmail.com. 20 stycznia 2009

ASP.NET MVC. Grzegorz Caban grzegorz.caban@gmail.com. 20 stycznia 2009 ASP.NET MVC Grzegorz Caban grzegorz.caban@gmail.com 20 stycznia 2009 Agenda Przyczyna powstania Co to jest ASP.NET MVC Architektura Hello World w ASP.NET MVC ASP.NET MVC vs ASP.NET WebForm Przyszłość framework'a

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

Wprowadzenie do Java Web Start

Wprowadzenie do Java Web Start Wprowadzenie do Java Web Start Tomasz Kubik Politechnika Wrocławska Materiały do wykładu Podstawowe sposoby wdraŝania aplikacji Java Indywidualne pliki.class pliki.jar skrypty uruchomieniowe zaleŝne od

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

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

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

Pomoc dla systemu WordPress

Pomoc dla systemu WordPress Pomoc dla systemu WordPress Ten plik pomocy przeznaczony jest dla pluginu stat24 w wersji 0.2. W tym pluginie porzucono wsparcie dla starszych wersji WordPress (niższych niż 1.5) oraz zrezygnowano z opcji

Bardziej szczegółowo

Laboratorium 7 Blog: dodawanie i edycja wpisów

Laboratorium 7 Blog: dodawanie i edycja wpisów Laboratorium 7 Blog: dodawanie i edycja wpisów Dodawanie nowych wpisów Tworzenie formularza Za obsługę formularzy odpowiada klasa Zend_Form. Dla każdego formularza w projekcie tworzymy klasę dziedziczącą

Bardziej szczegółowo

INFRA. System Connector. Opis wdrożenia systemu

INFRA. System Connector. Opis wdrożenia systemu INFRA System Connector Opis wdrożenia systemu Spis treści Wymagania z perspektywy Powiatowego Urzędu Pracy... 3 Wymagania dotyczące komunikacji między komponentami systemu... 3 Moduł Connector Serwis (Serwer)...

Bardziej szczegółowo

Instalacja SQL Server Express. Logowanie na stronie Microsoftu

Instalacja SQL Server Express. Logowanie na stronie Microsoftu Instalacja SQL Server Express Logowanie na stronie Microsoftu Wybór wersji do pobrania Pobieranie startuje, przechodzimy do strony z poradami. Wypakowujemy pobrany plik. Otwiera się okno instalacji. Wybieramy

Bardziej szczegółowo

Generated by Foxit PDF Creator Foxit Software http://www.foxitsoftware.com For evaluation only. System Szablonów

Generated by Foxit PDF Creator Foxit Software http://www.foxitsoftware.com For evaluation only. System Szablonów System Szablonów System szablonów System szablonów to biblioteka, która pozwala oddzielić warstwę prezentacji od warstwy logicznej. Aplikacja WWW najpierw pobiera wszystkie dane, przetwarza je i umieszcza

Bardziej szczegółowo

Wybrane działy Informatyki Stosowanej

Wybrane działy Informatyki Stosowanej Wybrane działy Informatyki Stosowanej Aplikacje WWW. Statyczne oraz dynamiczne strony WWW. Skrypty po stronie klienta. Dr inż. Andrzej Czerepicki a.czerepicki@wt.pw.edu.pl http://www2.wt.pw.edu.pl/~a.czerepicki

Bardziej szczegółowo

Przewodnik instalacji i rozpoczynania pracy. dla DataPage+ 2012

Przewodnik instalacji i rozpoczynania pracy. dla DataPage+ 2012 Przewodnik instalacji i rozpoczynania pracy dla DataPage+ 2012 Pomoc aktualizowano ostatnio: 29 sierpnia 2012 Spis treści Instalowanie wymaganych wstępnie komponentów... 1 Przegląd... 1 Krok 1: Uruchamianie

Bardziej szczegółowo

Programowanie w Javie 2. Płock, 26 luty 2014 r.

Programowanie w Javie 2. Płock, 26 luty 2014 r. Programowanie w Javie 2 Płock, 26 luty 2014 r. Zaliczenie wykładu i ćwiczeń Zaliczenie ćwiczeń (projekt na zaliczenie, 3 prace domowe) Zaliczenie wykładu (referat na 1h) Ocena ćwiczeń: 70% projekt + 30%

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

Tytuły Wykonawcze. Opis systemu tworzenia dokumentacji TW-1

Tytuły Wykonawcze. Opis systemu tworzenia dokumentacji TW-1 Tytuły Wykonawcze Opis systemu tworzenia dokumentacji TW-1 Program pozwala na tworzenie tytułów wykonawczych według Rozporządzenia Ministra Finansów z dnia 16 maja 2014 r. 1.Główne cechy systemu -ewidencja

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

Wybrane działy Informatyki Stosowanej

Wybrane działy Informatyki Stosowanej Wybrane działy Informatyki Stosowanej Aplikacje WWW. Statyczne oraz dynamiczne strony WWW. Skrypty po stronie klienta. dr hab. inż. Andrzej Czerepicki a.czerepicki@wt.pw.edu.pl http://www2.wt.pw.edu.pl/~a.czerepicki

Bardziej szczegółowo

Dokumentacja fillup - MS SQL

Dokumentacja fillup - MS SQL Dokumentacja fillup - MS SQL e-file.pl 28 lipca 2017 Spis treści Wstęp 2 Wymagania sprzętowe 2 Windows Server 2012.......................... 2 Windows 10............................... 3 MS SQL Server.............................

Bardziej szczegółowo

REFERAT PRACY DYPLOMOWEJ

REFERAT PRACY DYPLOMOWEJ REFERAT PRACY DYPLOMOWEJ Temat pracy: Projekt i implementacja środowiska do automatyzacji przeprowadzania testów aplikacji internetowych w oparciu o metodykę Behavior Driven Development. Autor: Stepowany

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

Aplikacje internetowe i rozproszone - laboratorium

Aplikacje internetowe i rozproszone - laboratorium Aplikacje internetowe i rozproszone - laboratorium Enterprise JavaBeans (EJB) Celem tego zestawu ćwiczeń jest zapoznanie z technologią EJB w wersji 3.0, a w szczególności: implementacja komponentów sesyjnych,

Bardziej szczegółowo

Generatory pomocy multimedialnych

Generatory pomocy multimedialnych Generatory pomocy multimedialnych Storna 1 Instalacja generatorów oraz praca z generatorem puzzli, memory oraz grupowania.* *Projekt jest całkowicie finansowany z programu Kapitał Ludzki, III Wysoka jakoś

Bardziej szczegółowo

Tomasz Grześ. Systemy zarządzania treścią

Tomasz Grześ. Systemy zarządzania treścią Tomasz Grześ Systemy zarządzania treścią Co to jest CMS? CMS (ang. Content Management System System Zarządzania Treścią) CMS definicje TREŚĆ Dowolny rodzaj informacji cyfrowej. Może to być np. tekst, obraz,

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

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

Sesje i logowanie. 1. Wprowadzenie

Sesje i logowanie. 1. Wprowadzenie Sesje i logowanie 1. Wprowadzenie Żądania od nawet tego samego użytkownika na serwerze nie są domyślnie w żaden sposób łączone ze sobą. Każde jest w pewnym sensie nowe i serwer nie jest w stanie stwierdzić,

Bardziej szczegółowo

Dokumentacja wstępna TIN. Rozproszone repozytorium oparte o WebDAV

Dokumentacja wstępna TIN. Rozproszone repozytorium oparte o WebDAV Piotr Jarosik, Kamil Jaworski, Dominik Olędzki, Anna Stępień Dokumentacja wstępna TIN Rozproszone repozytorium oparte o WebDAV 1. Wstęp Celem projektu jest zaimplementowanie rozproszonego repozytorium

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

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

Zakres treści Czas. 2 Określenie charakteru i tematyki strony. Rodzaje witryn. Projekt graficzny witryny. Opracowanie skryptów

Zakres treści Czas. 2 Określenie charakteru i tematyki strony. Rodzaje witryn. Projekt graficzny witryny. Opracowanie skryptów Aplikacje internetowe KL. III Rok szkolny: 011/01 Nr programu: 31[01]/T,SP/MENIS/004.06.14 Okres kształcenia: łącznie ok. 180 godz. lekcyjne Wojciech Borzyszkowski Zenon Kreft Moduł Bok wprowadzający Podstawy

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

Opis zmian funkcjonalności platformy E-GIODO wprowadzających możliwość podpisania wniosku bezpośrednio w oknie przeglądarki.

Opis zmian funkcjonalności platformy E-GIODO wprowadzających możliwość podpisania wniosku bezpośrednio w oknie przeglądarki. Opis zmian funkcjonalności platformy E-GIODO wprowadzających możliwość podpisania wniosku bezpośrednio w oknie przeglądarki. Wstęp. Opisane poniżej zmiany wprowadzają modyfikacje platformy e-giodo w zakresie

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

A Zasady współpracy. Ocena rozwiązań punktów punktów punktów punktów punktów

A Zasady współpracy. Ocena rozwiązań punktów punktów punktów punktów punktów A Zasady współpracy Ocena rozwiązań 3.0 25 40 punktów 3.5 41 65 punktów 4.0 66 80 punktów 4.5 81 100 punktów 5.0 101 130 punktów Warunki zaliczenia przedmiotu Student uzyska ocenę zaliczającą (3.0) o ile

Bardziej szczegółowo

SERWER AKTUALIZACJI UpServ

SERWER AKTUALIZACJI UpServ Wersja 1.12 upserv_pl 11/16 SERWER AKTUALIZACJI UpServ SATEL sp. z o.o. ul. Budowlanych 66 80-298 Gdańsk POLSKA tel. 58 320 94 00 serwis 58 320 94 30 dz. techn. 58 320 94 20; 604 166 075 www.satel.pl SATEL

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

KatMPBSoft marekbilski@katmpbsoft.pl - 1 -

KatMPBSoft marekbilski@katmpbsoft.pl - 1 - Przedstawiona dokumentacja UML jest ściśle chroniona prawami autorskimi. Jej celem jest jedynie pokazanie w jaki sposób firma KatMPBSoft, takie dokumentacje przygotowuje. Dokumentacja UML nie może być

Bardziej szczegółowo

Java Server Faces - wprowadzenie

Java Server Faces - wprowadzenie Java Server Faces - wprowadzenie Java Server Faces (JSF) jest najpopularniejszą technologią opartą o język JAVA, służącą do tworzenia aplikacji webowych (dynamicznych stron WWW). pomimo że JSF i EJB wchodzą

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

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

Zintegrowane Systemy Zarządzania Biblioteką SOWA1 i SOWA2 ZAMAWIANIE I REZERWOWANIE

Zintegrowane Systemy Zarządzania Biblioteką SOWA1 i SOWA2 ZAMAWIANIE I REZERWOWANIE Zintegrowane Systemy Zarządzania Biblioteką SOWA1 i SOWA2 ZAMAWIANIE I REZERWOWANIE Poznań 2011 Spis treści 1. Zamawianie i rezerwowanie definicja pojęć...3 2. Zasada działania systemu...4 3. Zamawianie

Bardziej szczegółowo

Język UML w modelowaniu systemów informatycznych

Język UML w modelowaniu systemów informatycznych Język UML w modelowaniu systemów informatycznych dr hab. Bożena Woźna-Szcześniak Akademia im. Jan Długosza bwozna@gmail.com Wykład 10 Diagramy wdrożenia I Diagramy wdrożenia - stosowane do modelowania

Bardziej szczegółowo

SERWER AKTUALIZACJI UpServ

SERWER AKTUALIZACJI UpServ upserv_pl 02/14 SERWER AKTUALIZACJI UpServ SATEL sp. z o.o. ul. Schuberta 79 80-172 Gdańsk POLSKA tel. 58 320 94 00 serwis 58 320 94 30 dz. techn. 58 320 94 20; 604 166 075 info@satel.pl www.satel.pl SATEL

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

Instrukcja instalacji i obsługi programu Szpieg 3

Instrukcja instalacji i obsługi programu Szpieg 3 COMPUTER SERVICE CENTER 43-300 Bielsko-Biała ul. Cieszyńska 52 tel. +48 (33) 819 35 86, 819 35 87, 601 550 625 Instrukcja instalacji i obsługi programu Szpieg 3 wersja 0.0.2 123 SERWIS Sp. z o. o. ul.

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

Dokumentacja aplikacji Szachy online

Dokumentacja aplikacji Szachy online Projekt z przedmiotu Technologie Internetowe Autorzy: Jakub Białas i Jarosław Tyma grupa II, Automatyka i Robotyka sem. V, Politechnika Śląska Przedmiot projektu: Aplikacja internetowa w języku Java Dokumentacja

Bardziej szczegółowo

Bazy danych i strony WWW

Bazy danych i strony WWW Bazy danych i strony WWW Obsługa baz danych poprzez strony WWW Niezbędne narzędzia: serwer baz danych np. MySQL serwer stron WWW np. Apache przeglądarka stron WWW interpretująca język HTML język skryptowy

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

Aplikacje WWW - laboratorium

Aplikacje WWW - laboratorium Aplikacje WWW - laboratorium PHP + bazy danych Celem ćwiczenia jest przygotowanie prostej aplikacji internetowej wykorzystującej technologię PHP. Aplikacja pokazuje takie aspekty, współpraca PHP z bazami

Bardziej szczegółowo

Instalacja NOD32 Remote Administrator

Instalacja NOD32 Remote Administrator Instalacja NOD32 Remote Administrator Program do zdalnego zarządzania stacjami roboczymi, na których zainstalowany jest program NOD32, składa się z dwóch modułów. Pierwszy z nich Remote Administrator Server

Bardziej szczegółowo

Instrukcja instalacji Control Expert 3.0

Instrukcja instalacji Control Expert 3.0 Instrukcja instalacji Control Expert 3.0 Program Control Expert 3.0 jest to program służący do zarządzania urządzeniami kontroli dostępu. Dedykowany jest dla kontrolerów GRx02 i GRx06 oraz rozwiązaniom

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