Budowanie interfejsów do baz danych
Transkrypt
Budowanie interfejsów do baz danych
Organizacja zajęć Budowanie interfejsów do baz danych O sobie O Projekcie Termin rozpoczęcia Tematyka (propozycje?) Narzędzia (pendrive lub hosting) Wprowadzenie © 2008 Szczepan Bednarz 2 z 20 Bazy danych Bazy danych SZRBD: MySQL, PostreSQL, SQLite, Oracle, Informix, mSQL, Microsoft SQL Server Klient-serwer (porty, gniazda, rurki) Klient? Klient Serwer Przeglądarka Internetowa, Linux SZRBD Internet Internet Przeglądarka Internetowa, MacOSX Aplikacja bazodanowa, WindowsXP © 2008 Szczepan Bednarz 3 z 20 © 2008 Szczepan Bednarz 4 z 20 1 O SZBD (za ‘Wikipedią’): Niezbędne mechanizmy Interfejs uŜytkownika do DB środki do gromadzenia, utrzymywania i administrowania trwałymi i masowymi zbiorami danych, środki zapewniające spójność i bezpieczeństwo danych, sprawny dostęp do danych (zwykle poprzez język zapytań, np. SQL), środki programistyczne słuŜące do aktualizacji/przetwarzania danych (API dla popularnych języków programowania), jednoczesny dostęp do danych dla wielu uŜytkowników (z reguły realizowany poprzez transakcje), środki pozwalające na regulację dostępu do danych (autoryzację), środki pozwalające na odtworzenie zawartości bazy danych po awarii, środki do zarządzania katalogami, schematami i innymi metadanymi, środki optymalizujące zajętość pamięci oraz czas dostępu (np. indeksy), środki do pracy lub współdziałania w środowiskach rozproszonych. Dodatkowe mechanizmy zarządzanie wersjami i danymi nietrwałymi, przechowywanie i udostępnianie danych multimedialnych, wygodne (wizyjne) środowiska do tworzenia aplikacji, pomosty do współpracy z innymi systemami, wspomaganie dla perspektyw, procedur składowanych i aktywnych reguł, pakiety statystyczne, pakiety dla przeprowadzania analiz (eksploracji danych), pakiety do tworzenia hurtowni danych, środki udostępniające bazę danych w sieci Internet, itd. Co to jest UI i po co? Rodzaje: CLI (‘czarny ekran’, wiersz poleceń, szybkość, cena, elastyczność) GUI (‘okienka’, wygoda – czasem pozorna, np. M$ Access, OpenOfficeBase) WWW (via przeglądarka, j.w.) = Bardzo Dobry Sposób na Przechowywanie, Udostępnianie i Analizę Danych © 2008 Szczepan Bednarz 5 z 20 „Interfejsy” WWW 6 z 20 Języki skryptowe CPU, Memory, HDD – cena/ilość ↓ Wysoki poziom abstrakcji Wikipedia Google Fora dyskusyjne Serwisy informacyjne Systemy aukcyjne Sklepy internetowe … propozycje na temat projektu ;) © 2008 Szczepan Bednarz © 2008 Szczepan Bednarz Struktury danych Projektowanie, pielęgnacja kodu, odpluskwianie Obiektowość Biblioteki Specjalizacja OpenSource 7 z 20 © 2008 Szczepan Bednarz 8 z 20 2 Języki skryptowe - OpenSource Języki skryptowe Darmowe, wolne (LGPL,GPL), bezpieczne, elasyczne Społeczność: fora, grupy dyskusyjne, wiki-doc, spotkania Miliony projektow: SourceForge, RubyForge, Tigris.org, BountySource, BerliOS, JavaForge GNU Savannah, + ciągle powstające nowe serwisy Tcl/Tk – prostota, rozszerzalność, osadzalność, GUI Perl – praktyczny, zabójczo elastyczna i wieloznaczna składnia (PerlGolf) Python - OO PHP – specjalnie pod kątem WWW JavaScript – specjalnie do wykonywania przez Przeglądarki Internetowe Ruby – OO, elegancki, RoR! i wiele wiele innych … © 2008 Szczepan Bednarz © 2008 Szczepan Bednarz 9 z 20 Interfejs WWW = plan wykładów Lektura Model-ViewController = MVC SQL silnik SZRBD (było) XHTML (będzie) PHP (będzie) HTML / XHTML / CSS © 2008 Szczepan Bednarz 10 z 20 webmaster.helion.pl algorytmy.pl/doc/xhtml gajdaw.pl XHTML PHP SZDB PHP www.webinside.pl/php/kursy http://www.php.net/manual/pl/ 11 z 20 © 2008 Szczepan Bednarz 12 z 20 3 Internet Strony WWW - historia Karta sieciowa, kabel (WIFI?) IP Routing Adresy, DNS Porty Serwery usług Klient Protokół (np. HTTP, FTP, POP) Statyczne (HTML, nie spełnianie standardów, brzydota animowane GIFy ;) Dynamiczne 1 (CGI, SSI) Dynamiczne 2 (XHTML,PHP,ASP,JS,AJAX) © 2008 Szczepan Bednarz 13 z 20 Serwowanie stron WWW Statyczne © 2008 Szczepan Bednarz 14 z 20 Serwowanie stron WWW Przeglądarka Internetowa Dynamiczne (CGI, FastCGI) Serwer WWW Serwer WWW System Plików © 2008 Szczepan Bednarz Internet Internet Serwer System Plików 15 z 20 © 2008 Szczepan Bednarz Skrypt CGI SZRBD Przeglądarka Internetowa Internet Internet Serwer 16 z 20 4 Serwowanie stron WWW Dynamiczne PHP Serwer WWW System Plików Przeglądarka Internetowa Moduł PHP SZRBD Bezpieczeństwo Internet Internet Serwer © 2008 Szczepan Bednarz 17 z 20 Nie odkrywać koła na nowo! Temat rzeeeeka Bezpieczeństwo skryptów PHP Bezpieczeństwo kodu SQL Najsłabsze ogniwo © 2008 Szczepan Bednarz 18 z 20 Własne „WWW” Frameworki (www.phpframeworks.com) Biblioteki (PEAR, PECL, SF itd) Wzorce projektowe (design patterns) Dostosowanie istniejących rozwiązań DzierŜawa domeny Hosting (LAMP) Oprogramowanie (własne/OpenSource/komercyjne) CMS (content managment system) Wiki Plugins/AddOns/Modules/Patch/config/ © 2008 Szczepan Bednarz 19 z 20 © 2008 Szczepan Bednarz 20 z 20 5