Aplikacje Internetowe

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

Download "Aplikacje Internetowe"

Transkrypt

1 Aplikacje Internetowe Dostęp do danych w aplikacji bazy danych i XML

2 Data Access Objects (DAO) Główna idea: uniezależnić aplikację od źródła danych Interfejs DAO zapewnia wszystkie operacje na danych (tzw. CRUD Create Retrieve Update Delete) Składniki: interfejs DAO źródło danych (DataSource) obiekt transferowy (JavaBean)

3 Przykładowe DAO Typowe metody interfejsu DAO Klasa (lub interfejs) PracownicyDAO void add(pracownik pracownik) Collection findbynazwisko(string nazwisko) Pracownik get(integer nr_prac) // nr_prac jest kluczem! void save(pracownik pracownik) void delete(pracownik pracownik) Klasa Pracownik (JavaBean obiekt transferowy): pola nr_prac, nazwisko,... gettery i settery dla każdego z nich

4 Bean Pracownik class Pracownik { int nrp; String nazw; Date dataur; public String getnrp() {return nrp;} public void setnrp(int nrp) {this.nrp = nrp;} public String getnazw() {return nazw;} public void setnazw(string nazw) {this.nazw=nazw;} } public Date getdataur() {return dataur;} public void setdataur(date dataur) {this.dataur=dataur;}

5 Warstwa DAO Implementacja metod wykonujących operacje na bazie Często operacje te różnią się dla różnych serwerów Dlatego najczęściej przygotowuje się: interface PracownicyDAO implementacje: class MySQLPracownicyDAO implements PracownicyDAO class OraclePracownicyDAO implements PracownicyDAO... Uwaga: większość operacji jest w SQL i jest taka sama dla każdej implementacji

6 Bean Car public class Car { int idc; String make; String model; String regnum; Double price; public int getidc() { return idc; } //dalsze gettery i settery }

7 Interfejs DAO Interfejs CarDAO Metody: void add(car car) void delete(int numer) Car get(int numer) List<Car> find(string make) Implementacja: CarDAOImpl

8 Statyczne połączenie z bazą public class CarDAOImpl implements CarDAO { static Connection con; static { } com.mysql.jdbc.jdbc2.optional.mysqldatasource ds = new com.mysql.jdbc.jdbc2.optional.mysqldatasource(); ds.setuser("root"); ds.setpassword(""); ds.setdatabasename("nowa"); try{ con = ds.getconnection(); }catch(sqlexception ex) {ex.printstacktrace();}

9 Metoda add public void add(car car) { try{ con.createstatement().executeupdate( "insert into car values("+ } car.getidc()+","+ "'"+car.getmake()+"',"+ "'"+car.getmodel()+"',"+ "'"+car.getregnum()+"',"+ car.getprice()+")" ); }catch(sqlexception ex) {ex.printstacktrace();}

10 Metoda find public List<Car> find(string make) { List<Car> carlist = new ArrayList<Car>(); try{ ResultSet rs = con.createstatement().executequery( "select * from car where make like '"+make+"'"); while(rs.next()) { Car car = new Car(); car.setidc(rs.getint("idc")); car.setmake(rs.getstring("make")); car.setmodel(rs.getstring("model")); car.setregnum(rs.getstring("regnum")); car.setprice(rs.getdouble("price")); carlist.add(car); } }catch(sqlexception ex) {ex.printstacktrace();} return carlist; }

11 Problemy Konieczność implementacji każdej metody Gdy dużo kolumn w tabeli długie implementacje Łatwo zapomnieć o szczegółach przecinki, nawiasy w zapytaniach SQL Problemy z dodawaniem, usuwaniem pól zmianą schematu bazy Główny problem: konieczność ręcznego mapowania obiektów na wiersze w tabeli!

12 Mapowanie obiektowe ORM: Object-to-Relational Mapping Idea: jednolitość interfejsu obiektowego Użycie obiektów zamiast ResultSet'ów Jak najmniej SQLa jak najwięcej programowania obiektowego Istnieją biblioteki/frameworki upraszczające tworzenie ORM: Hibernate Różne implementacje standardu JDO ibatis Java Persistence (EJB 3.0)

13 Biblioteka Hibernate Biblioteka dla Javy zapewniająca ORM Dostęp do danych tylko przez specjalne klasy Nie wymaga znajomości SQL w ogóle go nie używamy! Konfiguracja w pliku XML hibernate.cfg.xml Każde mapowanie opisane w osobnym pliku: <nazwa_tablicy/obiektu>.hbm.xml

14 Konfiguracja projektu Dodanie bibliotek (katalog lib) antlr jar asm-attrs.jar asm.jar c3p jar cglib jar commons-collections jar commons-logging jar dom4j jar hibernate3.jar jta.jar

15 Plik konfiguracyjny hibernate.cfg.xml definicja źródła danych pliki mapowań Konfiguracja Hibernate: Configuration cfg = new Configuration().configure([PLIK]); SessionFactory factory = cfg.buildsessionfactory(); Obiekt factory posłuży do otwierania połączeń z bazą

16 Pliki mapowań i obiekty transferowe Domyślnie: NazwaTablicy.hbm.xml Zawartość: Definicje pól i ich odwzorowań na klasy JavaBeans Definicje relacji Klasa transferowa: do tworzenia obiektów zwykły JavaBean z getterami i setterami

17 Plik mapowania dla Car <?xml version="1.0"?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD//EN" " <hibernate-mapping> <class name="pl.kurs.car" table="car"> <id name="idc" column="idc"> <generator class="increment"/> </id> <property name="make" column="make"/> <property name="model" column="model"/> <property name="regnum" column="regnum"/> <property name="price" column="price"/> </class> </hibernate-mapping>

18 Konfiguracja hibernate.cfg.xml <!DOCTYPE hibernate-configuration SYSTEM " <hibernate-configuration> <session-factory> <property name="hibernate.connection.driver_class"> org.gjt.mm.mysql.driver </property> <property name="hibernate.connection.url"> jdbc:mysql://localhost/nowa </property> <property name="hibernate.connection.username">root</property> <property name="hibernate.dialect"> org.hibernate.dialect.mysqlinnodbdialect </property> <!-- List of XML mapping files --> <mapping resource="pl/kurs/car.hbm.xml"/> </session-factory> </hibernate-configuration>

19 Modyfikacje w programie Zmiany tylko w CarDAOImpl Zamiast obiektu Connection przechowujemy teraz obiekt SessionFactory public class CarDAOHib implements CarDAO {... private final static SessionFactory factory; static { } Configuration cfg = new Configuration().configure(); factory = cfg.buildsessionfactory();

20 Zmiany w metodzie add Nowa metoda add: public void add(car car) { } Session session = factory.opensession(); Transaction tx = session.begintransaction(); session.saveorupdate(car); tx.commit(); session.close(); Za mapowania odpowiada już Hibernate!

21 Nowa metoda find() Zamiast instrukcji select - zapytanie HQL zwracające gotowe obiekty public List<Car> find(string make) { Session session = factory.opensession(); Transaction tx = session.begintransaction(); List<Car> carlist = session.createquery( "from Car").list(); tx.commit(); session.close(); return carlist; }

22 Najważniejsze metody sesji save(obj), persist(obj) saveorupdate(obj) delete(obj) get("nazwaklasy",id) createquery("from NazwaKlasy") query.list() createcriteria("nazwakasy") criteria.add(example.create(obj)) criteria.list()

23 Użycie adnotacji Adnotacje Pakiet hibernate-annotations Dodanie trzech bibliotek: ejb3-persistence.jar hibernate-annotations.jar hibernate-commons-annotations.jar Można już usunąć plik Car.hbm.xml a definicję mapowań przenieść do klasy Car.java

24 Modyfikacje w programie Zmiany tylko w CarDAOImpl Zamiast Configuration używamy AnnotationConfiguration public class CarDAOHibAnno implements CarDAO {... private final static SessionFactory factory; static { } Configuration cfg = new AnnotationConfiguration().configure(); factory = cfg.buildsessionfactory();

25 Encja Car Dodanie przed class Dodanie przed getidc() Dodanie implements public class Car implements Serializable{ int public int getidc() { return idc; }

26 Nie zawsze baza danych Dane nie zawsze wygodnie jest przechowywać w relacyjnej bazie danych Bardzo popularnym formatem jest XML

27 XML Skrót od: extensible Markup Language Uniwersalny język opisu Duża konfigurowalność i rozszerzalność Otwarty format łatwo stworzyć parser Składnia ścisła i struktura możliwa do ograniczania Idealny do wymiany informacji pomiędzy różnymi aplikacjami/systemami Pojawia się już właściwie w każdym miejscu

28 Budowa dokumentu XML root obejmuje cały dokument element składa się z nazwy, listy atrybutów, listy dzieci tekst tekst pomiędzy dwoma znacznikami komentarz pomiędzy <!-- a --> instrukcja sterująca ma cel (target) i wartość, wewnątrz znaków <??> Tekst niesformatowany: <![CDATA[ <to mój tekst>bez<parsowania> ]]>

29 Element Składniki: nazwa, atrybuty, namespaces, zawartość Budowa: <nazwa atr1="w1" atr2="w2">zawartość</nazwa> Atrybuty kolejność nie ma znaczenia Zawartość elementu pusta (<nazwa/>) inne elementy tekst mieszana (tekst i elementy np. w XHTML)

30 Aplikacja XML Słownik elementów i ich atrybutów pozwalający na opisanie obiektów pewnej dziedziny Opis języka w specjalnym formacie (schemat) DTD XML Schema Najczęściej z aplikacją powiązana jest przestrzeń nazw (namespace - xmlns) <xmlns:xi=" Dzięki namespace można w jednym dokumencie stosować kilka aplikacji

31 Namespaces Definicja grupy elementów poprzez związanie ich z pewnym URI Idea podobna do pakietów Javy: ten sam element <Book> może znaleźć się w różnych namespace'ach URI to najczęściej URL (wraz z protokołem http) dokumentu opisującego namespace Dla URI definiuje się zwykle prefix (w zasadzie dowolny) <xmlns:xi=" Użycie w dokumencie: <xi:include href="order_details.xml"/>

32 Document Type Definition (DTD) Opis może być w dokumencie lub osobnym pliku: <!DOCTYPE note [... ]> <!DOCTYPE note SYSTEM "test.dtd"> Definicje elementów <!ELEMENT imie (#PCDATA)> <!ELEMENT adres(ulica, miasto, kraj)> Definicje atrybutów <!ATTLIST klient id ID #REQUIRED>

33 Typy atrybutów CDATA dowolny tekst NMTOKEN nazwa XML NMTOKENS lista nazw XML ID wartość unikalna IDREF wartość ID innego elementu IDREFS lista wartości ID innych elementów ENTITY, ENTITIES nazwa encji NOTATION lista dozwolonych wartości przedzielonych " "

34 Element content model <!ELEMENT element-name (child-name)> jedno wystąpienie potomka <!ELEMENT element-name (child-name+)> przynajmniej jedno wystąpienie potomka <!ELEMENT element-name (child-name*)> zero lub więcej wystąpień potomka <!ELEMENT element-name (child-name?)> zero lub jedno wystąpienie potomka

35 Domyślne wartości atrybutów #REQUIRED wymagany #IMPLIED opcjonalny #FIXED "wartość" stały "wartość" wartość domyślna

36 Problemy z DTD Sprawdza tylko strukturę dokumentu a nie typy danych Nie można ograniczyć zakresu wartości Własny niestrukturalny format przy dużych Własny niestrukturalny format przy dużych schematach trudny do analizy

37 XMLSchema Opis schematu w pliku XML <xsd:schema xmlns:xsd=" Pozwala na znacznie więcej niż DTD Można grupować definicje Można nakładać rozbudowane ograniczenia

38 Przykład xsd <xsd:schema xmlns:xsd=" <xsd:element name="purchaseorder" type="purchaseordertype"/> <xsd:element name="comment" type="xsd:string"/> <xsd:complextype name="purchaseordertype"> <xsd:sequence> <xsd:element name="shipto" type="usaddress"/> <xsd:element name="billto" type="usaddress"/> <xsd:element ref="comment" minoccurs="0"/> <xsd:element name="items" type="items"/> </xsd:sequence> <xsd:attribute name="orderdate" type="xsd:date"/> </xsd:complextype>

39 Przykład ograniczenia <xsd:element name="quantity"> <xsd:simpletype> <xsd:restriction base="xsd:positiveinteger"> <xsd:maxexclusive value="100"/> </xsd:restriction> </xsd:simpletype> </xsd:element>

40 Edycja XML w Eclipse Wbudowany edytor XML Walidacja DTD i XMLSchema Edytor DTD Specjalny graficzny edytor XMLSchema

41 Tworzenie dokumentu XML Lista samochodów <carlist> <title>oto lista samochodów</title> <car idc="1"> <make>fiat</make> <model>brava</model> <regnum>kr45321</regnum> <price>4000</price> </car> </carlist>

42 Plik DTD <!ELEMENT carlist (title,car+)> <!ATTLIST carlist xmlns:car CDATA #IMPLIED> <!ELEMENT car (make,model,regnum,price)> <!ATTLIST car idc CDATA #REQUIRED> <!ELEMENT title (#PCDATA)> <!ELEMENT make (#PCDATA)> <!ELEMENT model (#PCDATA)> <!ELEMENT regnum (#PCDATA)> <!ELEMENT price (#PCDATA)>

43 Dołączanie DTD Wpis w nagłówku dokumentu: <?xml version="1.0" encoding="utf-8"?> <!DOCTYPE carlist SYSTEM "car.dtd"> <carlist xmlns=" Teraz działać już powinna walidacja!

44 Tworzenie XML Schema Plik car.xsd Nagłowek: <?xml version="1.0" encoding="utf-8"?> <xs:schema xmlns:xs=" targetnamespace=" xmlns:tns=" elementformdefault="qualified">

45 Element <carlist> <xs:element name="carlist"> <xs:complextype> <xs:sequence> <xs:element name="title" type="xs:string" /> <xs:element ref=" tns:car" maxoccurs="unbounded" /> </xs:sequence> </xs:complextype> </xs:element>

46 Element <car> <xs:element name="car"> <xs:complextype> <xs:sequence> <xs:element name="make" type="xs:string" /> <xs:element name="model" type="xs:string" /> <xs:element name="regnum" type="xs:string" /> <xs:element name="price" type="xs:double" /> </xs:sequence> <xs:attribute name="idc" type="xs:positiveinteger" use="required"> </xs:attribute> </xs:complextype> </xs:element>

47 Dodawanie ograniczeń Typ danej Lista dozwolonych wartości Wartości minimalne i maksymalne Określenie długości i minimalnej długości Własne wzorce

48 Dodawanie ograniczeń Wybór z listy Odwołanie do nowego typu: <xs:element name= make" type="tns:maketype" /> Definicja <xs:simpletype name="maketype"> <xs:restriction base="xs:string"> <xs:enumeration value= Ford"></xs:enumeration> <xs:enumeration value= Opel"></xs:enumeration> </xs:restriction> </xs:simpletype>

49 Ograniczenie wartości Odwołanie do typu <xs:element name="price" type="tns:pricetype" /> Definicja <xs:simpletype name="pricetype"> <xs:restriction base="xs:double"> <xs:mininclusive value="1000"></xs:mininclusive> <xs:maxinclusive value="2000"></xs:maxinclusive> </xs:restriction> </xs:simpletype>

50 Określenie długości Odwołanie do typu <xs:element name="price" type="tns:pricetype" /> Definicja <xs:simpletype name="regnumtype"> <xs:restriction base="xs:string"> <xs:length value="7"></xs:length> </xs:restriction> </xs:simpletype>

51 Przykłady wzorców <xs:pattern value= [abc] /> 1 litera, a lub b lub c <xs:pattern value= [a-za-z] /> dowolna litera <xs:pattern value= [A-Z][A-Z] /> dwie duże litery <xs:pattern value= X([0-9])* /> X i dowolna liczba cyfr <xs:pattern value= ([0-9])? /> opcjonalna cyfra <xs:pattern value= ([0-9]){8} /> dokładnie 8 cyfr

52 XML a HTML Zamiast przesyłać dane HTML można użyć XML Przeglądarka internetowa to klient znający aplikację Protokoły są zawsze znane

53 Idea Web Services Połączenie aplikacji internetowej z aplikacją desktopową Język komunikacji XML Określone standardy SOAP, WSDL Zalety: Możliwość komunikacji pomiędzy różnymi aplikacjami (.NET, Java, PHP ) Język XML może być używany wszędzie

54 Zastosowanie WS Popularny przykład: pakiet Axis Najprościej jako aplikacja internetowa (WAR) dołączana do Tomcata Zgodna ze standardami WS Możliwość instalowania usług Użytkownicy usług łączą się przez serwer

55 Instalacja Axis Katalog webapps/axis do katalogu webapps Dostępny przez: Opis usługi: axis/usluga?wsdl Uruchomienie usługi przez protokół SOAP Klient wysyła zgłoszenie i odbiera dokument XML z odpowiedzią

56 Możliwości użycia Klasy *.jws automatycznie przekształcane w Web Serwisy Tworzenie serwisu i deskryptora pliku WSDD opisującego co udostępnić

57 Calculator.jws public class Calculator { public int add(int i1, int i2) { return i1 + i2; } public int subtract(int i1, int i2) { return i1 - i2; } }

58 Użycie w programie // odczyt parametrów String endpoint = " String method = args[0]; if (!(method.equals("add") method.equals("subtract"))) { System.err.println("Usage: CalcClient <add subtract> arg1 arg2"); return; } Integer i1 = new Integer(args[1]); Integer i2 = new Integer(args[2]);

59 Użycie w programie //ustawienie zapytania call.settargetendpointaddress( new java.net.url(endpoint) ); call.setoperationname( method ); call.addparameter( "op1", XMLType.XSD_INT, ParameterMode.IN ); call.addparameter( "op2", XMLType.XSD_INT, ParameterMode.IN ); call.setreturntype( XMLType.XSD_INT ); // wysłanie zapytania i odbiór wyniku Integer ret = (Integer) call.invoke( new Object [] { i1, i2 }); System.out.println("Got result : " + ret);

60 Podsumowanie Web Services pozwalają na wymianę danych pomiędzy zupełnie różnymi aplikacjami Standard XML jest bardzo uniwersalny a przy tym prosty w obsłudze Dane zapisane w XML są jednak dłuższe ( przegadane )

Podejście obiektowe do relacyjnych baz danych Hibernate.

Podejście obiektowe do relacyjnych baz danych Hibernate. Podejście obiektowe do relacyjnych baz danych Hibernate. Plan wykładu Czym jest Hibernate? Jakie są zalety pracy z Hibernate? Jak skonfigurować Hibernate? Jak korzystać z Hibernate? Praktyczne przykłady

Bardziej szczegółowo

Mapowanie obiektowo-relacyjne z wykorzystaniem Hibernate

Mapowanie obiektowo-relacyjne z wykorzystaniem Hibernate Wirtualne przedsiębiorstwo II Mapowanie obiektowo-relacyjne z wykorzystaniem Hibernate Łukasz Macierzyński 157588 Daniel Nikończuk 157621 Kacper Oko 157626 Agenda 1. Co to jest mapowanie obiektowo-relacyjne

Bardziej szczegółowo

Hibernate mapowanie baz danych

Hibernate mapowanie baz danych Hibernate mapowanie baz danych Jest to technologia pozwalająca mapować dane obiektowe na odpowiadające im struktury w bazach danych. ORM - Object-to-Relational Mapping. Jest odpowiedzią na znikomą ilość

Bardziej szczegółowo

Podstawowe wykorzystanie Hibernate

Podstawowe wykorzystanie Hibernate Podstawowe wykorzystanie Hibernate Cel Wykonanie prostej aplikacji webowej przedstawiającą wykorzystanie biblioteki. Aplikacja sprawdza w zależności od wybranej metody dodaje, nową pozycje do bazy, zmienia

Bardziej szczegółowo

NHibernate Hibernate dla platformy.net. Hibernate posiada także dużą społeczność, zatem nietrudno uzyskać jakieś wsparcie w przypadku problemów.

NHibernate Hibernate dla platformy.net. Hibernate posiada także dużą społeczność, zatem nietrudno uzyskać jakieś wsparcie w przypadku problemów. Hibernate Każda poważniejsza aplikacja wymaga przechowywania danych w jakiejś bazie danych. Można realizować to na wiele sposobów. Można obsługę bazy danych pisać samodzielnie, do zera, albo skorzystać

Bardziej szczegółowo

Kurs WWW Język XML, część I

Kurs WWW Język XML, część I Język XML, część I Paweł Rajba pawel@ii.uni.wroc.pl http://pawel.ii.uni.wroc.pl/ Zawartość modułu Wprowadzenie do XML Składnia Znaczniki i atrybuty DTD XML Schema Na podstawie kursu ze strony: http://www.w3schools.com/schema/default.asp

Bardziej szczegółowo

przygotował: Pawel@Kasprowski.pl Bazy danych Paweł Kasprowski pawel@kasprowski.pl Wersja 2006Z

przygotował: Pawel@Kasprowski.pl Bazy danych Paweł Kasprowski pawel@kasprowski.pl Wersja 2006Z Bazy danych Paweł Kasprowski pawel@kasprowski.pl Łączenie z bazą danych Sterownik Protokół komunikacyjny Adres serwera Port nasłuchowy Przesłanie zapytania SQL Odebranie rezultatów Pierwszy przykład JDBC

Bardziej szczegółowo

Automatyczne generowanie kodu. Marek.Berkan@e-point.pl. 4Developers, 26 marca 2010

Automatyczne generowanie kodu. Marek.Berkan@e-point.pl. 4Developers, 26 marca 2010 4Developers, 26 marca 2010 Zakres wykładu O czym zamierzam opowiedzieć: Przyspieszenie tworzenia aplikacji Ułatwienie utrzymania aplikacji Budowanie kontraktów pomiędzy developerami a innymi uczestnikami

Bardziej szczegółowo

prepared by: pawel@kasprowski.pl Programowanie WWW Model-View-Controller

prepared by: pawel@kasprowski.pl Programowanie WWW Model-View-Controller Programowanie WWW Model-View-Controller Przypomnienie problemu Aplikacja do liczenia kredytów Klasa Kredyt Formatka do wprowadzania danych (czysty HTML) Skrypt liczący ratę (JSP wykorzystujące klasę Kredyt)

Bardziej szczegółowo

Programowanie wielowarstwowe i komponentowe

Programowanie wielowarstwowe i komponentowe Programowanie wielowarstwowe i komponentowe HIBERNATE CD. Rodzaje relacji Jeden do wielu Pojedyncza Osoba ma wiele Wpisów Wiele do jednego Wiele Wpisów należy do jednej Osoby Jeden do jednego Pojedyncza

Bardziej szczegółowo

Przykładowy dokument XML

Przykładowy dokument XML Przykładowy dokument XML DTD - wady Ograniczona kontrola nad strukturą dokumentów. Zbyt wysokopoziomowe typy danych: liczby, daty są zawsze reprezentowane jako tekst! Bardzo ogólne metody definiowania

Bardziej szczegółowo

WYKŁAD 2 DTD DOCUMENT TYPE DEFINITION CZĘŚĆ 1

WYKŁAD 2 DTD DOCUMENT TYPE DEFINITION CZĘŚĆ 1 WYKŁAD 2 DTD DOCUMENT TYPE DEFINITION CZĘŚĆ 1 XML (ang. Extensible Markup Language Rozszerzalny język znaczników) Oparty o SGML prosty, elastyczny format tekstowy opisujący klasę obiektów nazywanych dokumentami

Bardziej szczegółowo

- wewnątrz elementów prostych występuje tylko jeden typ danych, wewnątrz złoŝonych nie moŝemy dokładnie określić liczby wystąpień elementu

- wewnątrz elementów prostych występuje tylko jeden typ danych, wewnątrz złoŝonych nie moŝemy dokładnie określić liczby wystąpień elementu XML Schema DTD a XML Schema DTD jako opis dokumentu XML: - pozwala stworzyć jedynie bardzo ogólny schemat dokumentu - w standardzie DTD dostępne mamy jedynie rozróŝnienie na elementy proste i złoŝone -

Bardziej szczegółowo

Java i bazy danych. 1. JDBC podstawy, transakcje. 2. Mapowanie relacyjno obiektowe. Hibernate, przykład.

Java i bazy danych. 1. JDBC podstawy, transakcje. 2. Mapowanie relacyjno obiektowe. Hibernate, przykład. Java i bazy danych 1. JDBC podstawy, transakcje. 2. Mapowanie relacyjno obiektowe. Hibernate, przykład. 1 JDBC - wprowadzenie Java Database Connectivity (JDBC) to specyfkacja określająca zbiór klas i interfejsów

Bardziej szczegółowo

Wprowadzenie do technologii XML

Wprowadzenie do technologii XML Katedra Mikroelektroniki i Technik Informatycznych Łódź, 6 października 2005 roku 1 Informacje organizacyjne Omówienie przedmiotu 2 vs HTML Struktura 3 Struktura Informacje o przedmiocie Informacje organizacyjne

Bardziej szczegółowo

Wybierz kategorię Java Web i typ projektu Web Application. Kliknij przycisk Next >.

Wybierz kategorię Java Web i typ projektu Web Application. Kliknij przycisk Next >. Zaawansowane aplikacje internetowe laboratorium Hibernate. Do wykonania ćwiczeń potrzebne jest zintegrowane środowisko programistyczne NetBeans IDE 6.7.1 (do pobrania z http://www.netbeans.org/downloads/index.html).

Bardziej szczegółowo

Dokument poprawnie sformułowany jest zgodny z ogólnymi zasadami składniowymi:

Dokument poprawnie sformułowany jest zgodny z ogólnymi zasadami składniowymi: DTD Document Type Definition Dokument poprawnie sformułowany (well-formed) Dokument poprawnie sformułowany jest zgodny z ogólnymi zasadami składniowymi: 1. KaŜdy znacznik musi posiadać zamknięcie (wyjątek

Bardziej szczegółowo

Metody dostępu do danych

Metody dostępu do danych Metody dostępu do danych dr inż. Grzegorz Michalski Na podstawie wykładów dra inż. Juliusza Mikody Obiekt interfejsu Session Jest to podstawowy interfejs komunikacji pomiędzy aplikacją, a API Hibernate

Bardziej szczegółowo

Hibernate. 1. Wprowadzenie. 2. Uruchomienie dostarczonego przykładu. 3. Własny przykład.

Hibernate. 1. Wprowadzenie. 2. Uruchomienie dostarczonego przykładu. 3. Własny przykład. 1 Hibernate 1. Wprowadzenie. 2. Uruchomienie dostarczonego przykładu. 3. Własny przykład. 2 Wprowadzenie Hibernate (http://www.hibernate.org) jest narzędziem realizującym odwzorowanie obiektów Javy na

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

Jak wygląda XML? Definiowanie typów dokumentów Część 1. DTD, XML Schema. Struktura logiczna dokumentu XML. Składnia XML. Encje predefiniowane.

Jak wygląda XML? Definiowanie typów dokumentów Część 1. DTD, XML Schema. Struktura logiczna dokumentu XML. Składnia XML. Encje predefiniowane. Definiowanie typów dokumentów Część 1. DTD, XML Schema Jak wygląda XML? st. asp. Jan Łapówka dołowice Górne wypadek

Bardziej szczegółowo

SOAP i alternatywy. 1. WSDL. 2. Protokoły tekstowe XML-RPC. JSON-RPC. SOAPjr. 3. Protokoły binarne Google Protocol Bufers. Apache Thrift.

SOAP i alternatywy. 1. WSDL. 2. Protokoły tekstowe XML-RPC. JSON-RPC. SOAPjr. 3. Protokoły binarne Google Protocol Bufers. Apache Thrift. SOAP i alternatywy 1. WSDL. 2. Protokoły tekstowe XML-RPC. JSON-RPC. SOAPjr. 3. Protokoły binarne Google Protocol Bufers. Apache Thrift. 1 WSDL WSDL (Web Services Description Language) jest standardem

Bardziej szczegółowo

XML Schema. Bartłomiej Świercz. Łódź, 19 listopada 2005 roku. Katedra Mikroelektroniki i Technik Informatycznych. Bartłomiej Świercz XML Schema

XML Schema. Bartłomiej Świercz. Łódź, 19 listopada 2005 roku. Katedra Mikroelektroniki i Technik Informatycznych. Bartłomiej Świercz XML Schema XML Schema Bartłomiej Świercz Katedra Mikroelektroniki i Technik Informatycznych Łódź, 19 listopada 2005 roku Wstęp XML Schema służy do definiowania struktury dokumentu XML (pełni podobną funkcję jak DTD).

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

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

Wprowadzenie do XML schema

Wprowadzenie do XML schema Spis treści Tomasz Przechlewski 1. Podstawowe pojęcia. 1 2. Typy proste.. 3 3. Wzorzec regułowy 4 4. Typy złożone 5 5. Modele o prostej zawartości 5 6. Modele o złożonej zawartości. 6 7. Rozszerzanie modelu

Bardziej szczegółowo

Wzorce dystrybucji i wspólbieżności autonomicznej

Wzorce dystrybucji i wspólbieżności autonomicznej Wzorce dystrybucji i wspólbieżności autonomicznej 1. Wzorce dystrybucji, fasada zdalna (Remote Facade), obiekt transfery danych (Data Transfer Object), 2. Wzorce współbieżności autonomicznej, blokada optymistyczna

Bardziej szczegółowo

Programowanie obiektowe

Programowanie obiektowe Programowanie obiektowe Wykład 13 Marcin Młotkowski 24 maja 2018 Plan wykładu 1 Trwałość obiektów 2 Marcin Młotkowski Programowanie obiektowe 509 / 553 Plan wykładu Trwałość obiektów 1 Trwałość obiektów

Bardziej szczegółowo

Wieloplatformowe aplikacje sieciowe. dr inż. Juliusz Mikoda mgr inż. Anna Wawszczak

Wieloplatformowe aplikacje sieciowe. dr inż. Juliusz Mikoda mgr inż. Anna Wawszczak Wieloplatformowe aplikacje sieciowe dr inż. Juliusz Mikoda mgr inż. Anna Wawszczak SOAP Serwer: Axis2 / Java Wbudowany komponent nasłuchujący, (Apache / Tomcat) Client Axis2 klient / XML Jeżyk 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

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

XML extensible Markup Language. część 4

XML extensible Markup Language. część 4 XML extensible Markup Language część 4 XML Schema (Podobnie jak DTD) XML Schema to opracowany przez W3C standard służący do definiowania struktury dokumentu XML. (W przeciwieństwie do DTD) XML Schema jest

Bardziej szczegółowo

Dokumenty SEDU składają się z dwóch części: Opisu sprawy Formularza elektronicznego

Dokumenty SEDU składają się z dwóch części: Opisu sprawy Formularza elektronicznego Opis dokumentów SEDU Standard Elektronicznych Dokumentów Urzędowych są to dokumenty zapisane w standardzie XML, opisujące różnorakie procedury urzędowe, możliwe do częściowej lub całkowitej realizacji

Bardziej szczegółowo

Metody dostępu do danych

Metody dostępu do danych Metody dostępu do danych dr inż. Grzegorz Michalski Na podstawie materiałów dra inż. Juliusza Mikody Jak działa JDO Podstawowym zadaniem JDO jest umożliwienie aplikacjom Javy transparentnego umieszczenia

Bardziej szczegółowo

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

XML Schema. Typy proste, wyprowadzanie typów, modularyzacja schematu. Patryk Czarnik. Instytut Informatyki UW

XML Schema. Typy proste, wyprowadzanie typów, modularyzacja schematu. Patryk Czarnik. Instytut Informatyki UW XML Schema Typy proste, wyprowadzanie typów, modularyzacja schematu Patryk Czarnik Instytut Informatyki UW XML i nowoczesne technologie zarzadzania treścia 2007/08 Typy proste i złożone Typy złożone struktura

Bardziej szczegółowo

NHibernate. Narzędzie mapowania obiektowo - relacyjnego

NHibernate. Narzędzie mapowania obiektowo - relacyjnego NHibernate Narzędzie mapowania obiektowo - relacyjnego Autor : Maciej Białorucki Mapowanie obiektowo-relacyjne Mapowanie obiektowo - relacyjne Object Relation Mapping Dwa światy Dlaczego nie stosować baz

Bardziej szczegółowo

Rola języka XML narzędziem

Rola języka XML narzędziem Wprowadzenie do XML dr inż. Adam Iwaniak Szkolenie w Luboradzy, ZCPWZ, 12-13.02.2009r. Rola języka XML narzędziem Pierwszą rewolucją internetową było dostarczenie ludziom informacji. Znajdujemy się teraz

Bardziej szczegółowo

BEAN VALIDATION. Waldemar Korłub. Narzędzia i aplikacje Java EE KASK ETI Politechnika Gdańska

BEAN VALIDATION. Waldemar Korłub. Narzędzia i aplikacje Java EE KASK ETI Politechnika Gdańska BEAN VALIDATION Waldemar Korłub Narzędzia i aplikacje Java EE KASK ETI Politechnika Gdańska Bean Validation Uniwersalny mechanizm walidacji danych we wszystkich warstwach aplikacji Warstwa interfejsu,

Bardziej szczegółowo

LABORATORIUM 5 WSTĘP DO SIECI TELEINFORMATYCZNYCH WPROWADZENIE DO XML I XSLT

LABORATORIUM 5 WSTĘP DO SIECI TELEINFORMATYCZNYCH WPROWADZENIE DO XML I XSLT LABORATORIUM 5 WSTĘP DO SIECI TELEINFORMATYCZNYCH WPROWADZENIE DO XML I XSLT 1. Wstęp XML (Extensible Markup Language Rozszerzalny Język Znaczników) to język formalny przeznaczony do reprezentowania danych

Bardziej szczegółowo

Instrukcja tworzenia aplikacji EE na bazie aplikacji prezentowanej na zajęciach lab.4 z PIO umożliwiająca przez sieć dostęp wielu użytkownikom.

Instrukcja tworzenia aplikacji EE na bazie aplikacji prezentowanej na zajęciach lab.4 z PIO umożliwiająca przez sieć dostęp wielu użytkownikom. Instrukcja tworzenia aplikacji EE na bazie aplikacji prezentowanej na zajęciach lab.4 z PIO umożliwiająca przez sieć dostęp wielu użytkownikom. Projektowanie i wdrażanie systemów informatycznych Przekształcenie

Bardziej szczegółowo

Enterprise JavaBeans

Enterprise JavaBeans Enterprise JavaBeans 1. Wprowadzenie. 2. Przegląd komponentów EJB. komponenty encyjne, komponenty sesyjne, komponenty sterowane komunikatami. 3. Kontener komponentów EJB: JBoss. 1 Enterprise JavaBeans

Bardziej szczegółowo

SPRING FRAMEWORK. dr inż. Jakub Chłapioski

SPRING FRAMEWORK. dr inż. Jakub Chłapioski SPRING FRAMEWORK Katedra Mikroelektroniki i Technik Informatycznych Politechniki Łódzkiej ul. Wólczanska 221/223 budynek B18, 90-924 Łódź dr inż. Jakub Chłapioski 3. Spring Data Access Zarządzanie transakcjami

Bardziej szczegółowo

Bazy danych tworzenie aplikacji bazodanowych ORM / JPA

Bazy danych tworzenie aplikacji bazodanowych ORM / JPA Bazy danych tworzenie aplikacji bazodanowych ORM / JPA ORM (Object Relationa Mapping)/ORB (Object Relational Broker) to nazwa mechanizmu tłumaczenia obiektowej postaci danych wykorzystywanej w aplikacjach

Bardziej szczegółowo

XML extensible Markup Language. część 3

XML extensible Markup Language. część 3 XML extensible Markup Language część 3 Definicja Typu Dokumentu - DTD DTD (ang. Document Type Definition) rodzaj dokumentu definiujący formalną strukturę dokumentów XML. DTD określa składnię konkretnej

Bardziej szczegółowo

DTD - encje ogólne i parametryczne, przestrzenie nazw

DTD - encje ogólne i parametryczne, przestrzenie nazw DTD - encje ogólne i parametryczne, przestrzenie nazw Instytut Informatyki Encje Encja (ang.entity) - uogólnienie pojęcia makrodefinicji Encje to dogodny sposób reprezentacji danych które występują wielokrotnie,

Bardziej szczegółowo

XML DTD XML Schema CSS

XML DTD XML Schema CSS XML XML czyli Extensible Markup Language (rozszerzalny język znaczników) można traktować jak stosunkowo prosty i elastyczny format tekstowy wywodzący się z SGML. Pierwotnie został zaprojektowany aby umożliwiać

Bardziej szczegółowo

Tomasz Dobek. t.dobek@students.mimuw.edu.pl

Tomasz Dobek. t.dobek@students.mimuw.edu.pl Spring Framework Tomasz Dobek t.dobek@students.mimuw.edu.pl Plan prezentacji Spring z lotu ptaka Kontener Spring IoC Spring AOP Menedżer transakcji w Springu Spring DAO Testy integracyjne Podsumowanie

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

Budowa prostej aplikacji wielowarstwowej. Laboratorium 1 Programowanie komponentowe Zofia Kruczkiewicz

Budowa prostej aplikacji wielowarstwowej. Laboratorium 1 Programowanie komponentowe Zofia Kruczkiewicz Budowa prostej aplikacji wielowarstwowej Laboratorium 1 Programowanie komponentowe Zofia Kruczkiewicz Konfigurowanie edytora programu za pomocą Tools/Options/Editor Konfigurowanie edytora programu za pomocą

Bardziej szczegółowo

Podstawy XML-a. Zaawansowane techniki programowania

Podstawy XML-a. Zaawansowane techniki programowania Podstawy XML-a Zaawansowane techniki programowania Dokumenty XML XML = ang. Extensible Markup Language rozszerzalny język znaczników

Bardziej szczegółowo

Tworzenie i wykorzystanie usług sieciowych

Tworzenie i wykorzystanie usług sieciowych Ćwiczenie 14 Temat: Tworzenie i wykorzystanie usług sieciowych Cel ćwiczenia: W trakcie ćwiczenia student zapozna się z procedurą tworzenia usługi sieciowej w technologii ASP.NET oraz nauczy się tworzyć

Bardziej szczegółowo

Wdrożenie do projektu

Wdrożenie do projektu Wdrożenie do projektu Zaczynamy od stworzenia zwykłego projektu Java. Środowisko z jakiego korzystam to Netbeans IDE w wersji 8.1. Możesz wykorzystywać inne IDE, bylebyś stosował analogiczne kroki w swoim

Bardziej szczegółowo

PHP: bazy danych, SQL, AJAX i JSON

PHP: bazy danych, SQL, AJAX i JSON 1 PHP: bazy danych, SQL, AJAX i JSON SYSTEMY SIECIOWE Michał Simiński 2 Bazy danych Co to jest MySQL? Jak się połączyć z bazą danych MySQL? Podstawowe operacje na bazie danych Kilka dodatkowych operacji

Bardziej szczegółowo

4 Web Forms i ASP.NET...149 Web Forms...150 Programowanie Web Forms...150 Możliwości Web Forms...151 Przetwarzanie Web Forms...152

4 Web Forms i ASP.NET...149 Web Forms...150 Programowanie Web Forms...150 Możliwości Web Forms...151 Przetwarzanie Web Forms...152 Wstęp...xv 1 Rozpoczynamy...1 Co to jest ASP.NET?...3 W jaki sposób ASP.NET pasuje do.net Framework...4 Co to jest.net Framework?...4 Czym są Active Server Pages (ASP)?...5 Ustawienia dla ASP.NET...7 Systemy

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

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

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

Programowanie w Ruby

Programowanie w Ruby Programowanie w Ruby Wykład 11 Marcin Młotkowski 19 grudnia 2012 Plan wykładu Modele danych i bazy danych Modele danych Migracje Bazy danych w Railsach Rusztowania Walidacja modeli Modele danych Definicje

Bardziej szczegółowo

Hibernate. Adrian Gawor, Adam Klekotka, Piotr Kubisz. Technologie Biznesu Elektronicznego. 12 maja 2009

Hibernate. Adrian Gawor, Adam Klekotka, Piotr Kubisz. Technologie Biznesu Elektronicznego. 12 maja 2009 Agenda Hibernate Adrian Gawor, Adam Klekotka, Piotr Kubisz Technologie Biznesu Elektronicznego 12 maja 2009 Adrian Gawor, Adam Klekotka, Piotr Kubisz Hibernate 1 / 42 Agenda 1 2 3 4 5 6 7 Adrian Gawor,

Bardziej szczegółowo

Plan dzisiejszego wykładu. Narzędzia informatyczne w językoznawstwie. XML - Definicja. Zalety XML

Plan dzisiejszego wykładu. Narzędzia informatyczne w językoznawstwie. XML - Definicja. Zalety XML Plan dzisiejszego wykładu Narzędzia informatyczne w językoznawstwie Perl - Wprowadzenie do XML Marcin Junczys-Dowmunt junczys@amu.edu.pl Zakład Logiki Stosowanej http://www.logic.amu.edu.pl 16. kwietnia

Bardziej szczegółowo

Jak wygląda XML? Definiowanie typów dokumentów. Struktura logiczna dokumentu XML. Podstawy składni XML. Definiowanie języków. Poprawność dokumentów

Jak wygląda XML? Definiowanie typów dokumentów. Struktura logiczna dokumentu XML. Podstawy składni XML. Definiowanie języków. Poprawność dokumentów Jak wygląda XML? 9 października 2003 Definiowanie typów dokumentów Część 1: DTD st. asp. Jan Łapówka dołowice Górne

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

Język XML Schema. UEK w Krakowie Janusz Stal & Grażyna Paliwoda-Pękosz. UEK w Krakowie Janusz Stal & Grażyna Paliwoda-Pękosz

Język XML Schema. UEK w Krakowie Janusz Stal & Grażyna Paliwoda-Pękosz. UEK w Krakowie Janusz Stal & Grażyna Paliwoda-Pękosz Język Schema Po zrealizowaniu materiału student będzie w stanie Stworzyć formalny opis dokumentu Deklarować elementy i atrybuty Określić strukturę elementów w dokumencie Operować dostępnymi typami danych

Bardziej szczegółowo

Programowanie internetowe

Programowanie internetowe Programowanie internetowe Wykład 1 HTML mgr inż. Michał Wojtera email: mwojtera@dmcs.pl Plan wykładu Organizacja zajęć Zakres przedmiotu Literatura Zawartość wykładu Wprowadzenie AMP / LAMP Podstawy HTML

Bardziej szczegółowo

Wykład 6 Dziedziczenie cd., pliki

Wykład 6 Dziedziczenie cd., pliki Wykład 6 Dziedziczenie cd., pliki Autor: Zofia Kruczkiewicz 1. Dziedziczenie cd. 2. Pliki - serializacja Zagadnienia 1. Dziedziczenie aplikacja Kalkultory_2 typu Windows Forms prezentująca dziedziczenie

Bardziej szczegółowo

Zaawansowane Techniki Bazodanowe

Zaawansowane Techniki Bazodanowe Akademia Górniczo-Hutnicza im. Stanisława Staszica w Krakowie Wydział Elektrotechniki, Automatyki, Informatyki i Elektroniki Zaawansowane Techniki Bazodanowe Krzysztof Koptyra, Dawid Tomaszewski Raport

Bardziej szczegółowo

Model semistrukturalny

Model semistrukturalny Model semistrukturalny standaryzacja danych z różnych źródeł realizacja złożonej struktury zależności, wielokrotne zagnieżdżania zobrazowane przez grafy skierowane model samoopisujący się wielkości i typy

Bardziej szczegółowo

Programowanie w Ruby

Programowanie w Ruby Programowanie w Ruby Wykład 11 Marcin Młotkowski 19 grudnia 2014 Plan wykładu 1 Projekt 2 Modele danych 3 4 5 Marcin Młotkowski Programowanie w Ruby 2 / 38 Zasady Projekt Składowe projektu przynajmniej

Bardziej szczegółowo

LAB 7. XML EXtensible Markup Language - Rozszerzalny Język Znaczników XSD XML Schema Definition Definicja Schematu XML

LAB 7. XML EXtensible Markup Language - Rozszerzalny Język Znaczników XSD XML Schema Definition Definicja Schematu XML Informatyka sem. III studia inżynierskie Transport 2018/19 LAB 7 XML EXtensible Markup Language - Rozszerzalny Język Znaczników XSD XML Schema Definition Definicja Schematu XML 1. Prosty dokument XML lab7_1.xml

Bardziej szczegółowo

Wykład 4: Klasy i Metody

Wykład 4: Klasy i Metody Wykład 4: Klasy i Metody Klasa Podstawa języka. Każde pojęcie które chcemy opisać w języku musi być zawarte w definicji klasy. Klasa definiuje nowy typ danych, których wartościami są obiekty: klasa to

Bardziej szczegółowo

XML extensible Markup Language. Paweł Chodkiewicz

XML extensible Markup Language. Paweł Chodkiewicz XML extensible Markup Language Paweł Chodkiewicz XML - extensible Markup Language Uniwersalny język znaczników przeznaczony do reprezentowania różnych danych w strukturalizowany sposób. Historia GML Projekt

Bardziej szczegółowo

Programowanie w języku Java. Wykład 13: Java Platform, Enterprise Edition (Java EE)

Programowanie w języku Java. Wykład 13: Java Platform, Enterprise Edition (Java EE) Programowanie w języku Java Wykład 13: Java Platform, Enterprise Edition (Java EE) Standard J2EE Programowanie w języku Java 2 J2EE - komunikacja Programowanie w języku Java 3 J2EE warstwa biznesowa Programowanie

Bardziej szczegółowo

Komponenty sterowane komunikatami

Komponenty sterowane komunikatami Komponenty sterowane komunikatami 1. Usługa JMS asynchroniczność, model przesyłania komunikatów, 2. Przykład wysyłanie wiadomości, odbieranie wiadomości, komponent sterowany komunikatami 3. Komponenty

Bardziej szczegółowo

Aplikacje bazodanowe. dr inż. Arkadiusz Mirakowski

Aplikacje bazodanowe. dr inż. Arkadiusz Mirakowski Aplikacje bazodanowe dr inż. Arkadiusz Mirakowski Plan prezentacji interfejs ODBC interfejs JDBC rodzaje sterowników JDBC niezbędne biblioteki interfejsu JDBC instalacja i konfiguracja sterownika JDBC

Bardziej szczegółowo

Aplikacje internetowe laboratorium XML, DTD, XML Schema, XSL

Aplikacje internetowe laboratorium XML, DTD, XML Schema, XSL Aplikacje internetowe laboratorium XML, DTD, XML Schema, XSL Celem ćwiczenia jest stworzenie dokumentu XML, wyposażenie dokumentu w specyfikację struktury (przy użyciu DTD i XML Schema), oraz transformacja

Bardziej szczegółowo

Przykłady pytań do zaliczenia programu wykonywanego w ramach zajęć laboratoryjnych 6-8 z Programowania komponentowego w Javie. Zofia Kruczkiewicz

Przykłady pytań do zaliczenia programu wykonywanego w ramach zajęć laboratoryjnych 6-8 z Programowania komponentowego w Javie. Zofia Kruczkiewicz Przykłady pytań do zaliczenia programu wykonywanego w ramach zajęć laboratoryjnych 6-8 z Programowania komponentowego w Javie Zofia Kruczkiewicz 1. Jakie warstwy zawiera aplikacja internetowa? 2. Wymień

Bardziej szczegółowo

Enterprise JavaBeans. 1. Architektura EJB: komponenty encyjne, komponenty sesyjne, komponenty sterowane komunikatami. 2. Kontenery EJB JBoss.

Enterprise JavaBeans. 1. Architektura EJB: komponenty encyjne, komponenty sesyjne, komponenty sterowane komunikatami. 2. Kontenery EJB JBoss. 1 Enterprise JavaBeans 1. Architektura EJB: komponenty encyjne, komponenty sesyjne, komponenty sterowane komunikatami. 2. Kontenery EJB JBoss. 2 Enterprise JavaBeans Enterprise JavaBeans (EJB) to specyfikacja

Bardziej szczegółowo

extensible Markup Language, cz. 4 Marcin Gryszkalis, mg@fork.pl

extensible Markup Language, cz. 4 Marcin Gryszkalis, mg@fork.pl extensible Markup Language, cz. 4 Marcin Gryszkalis, mg@fork.pl XML 5 XML Schema Projektowany jako rozszerzenie i uzupełnienie DTD Jest w stanie odwzorować dowolną definicję DTD (ale nie odwrotnie!) Bardzo

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

JAVA PERSISTENCE API CZĘŚĆ 2 ASPEKTY ZAAWANSOWANE. Waldemar Korłub. Narzędzia i aplikacje Java EE KASK ETI Politechnika Gdańska

JAVA PERSISTENCE API CZĘŚĆ 2 ASPEKTY ZAAWANSOWANE. Waldemar Korłub. Narzędzia i aplikacje Java EE KASK ETI Politechnika Gdańska JAVA PERSISTENCE API CZĘŚĆ 2 Waldemar Korłub ASPEKTY ZAAWANSOWANE Narzędzia i aplikacje Java EE KASK ETI Politechnika Gdańska JPA w aplikacji Java EE Połączeniem z bazą danych zarządza serwer aplikacji

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

c TP: anything: 13 listopada 2004 roku 1

c TP: anything: 13 listopada 2004 roku 1 SGML/XML SGML: International Standard (ISO 8879). Information Processing Text and Office Systems Standardized Generalized Markup Language. Znakowanie powinno opisywać strukturę dokumentu (...) a nie określać

Bardziej szczegółowo

Zaawansowane aplikacje internetowe - laboratorium

Zaawansowane aplikacje internetowe - laboratorium Zaawansowane aplikacje internetowe - laboratorium Hibernate. Do wykonania ćwiczeń potrzebne jest zintegrowane środowisko programistyczne NetBeans IDE 5.5 wraz z serwerem Sun Java System Application Server

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

Java i jej wykorzystanie do tworzenia dynamicznych aplikacji Webowych

Java i jej wykorzystanie do tworzenia dynamicznych aplikacji Webowych Java i jej wykorzystanie do tworzenia dynamicznych aplikacji Webowych Zadanie do wykonania na następny tydzień: Przedstawić aplikację napisaną w JSP realizującą analogiczne zadania jak pierwsza aplikacja

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

Katalog książek cz. 2

Katalog książek cz. 2 Katalog książek cz. 2 Odczytywanie danych z XML Do ćwiczenia dołączony jest plik books.xml zawierający pełen katalog książek. Poniższy listing zawiera przykładowy fragment danych w stosowanym formacie.

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

Niezbędne serwery aplikacji. Wprowadzenie do technologii JBoss i Apache Tomcat.

Niezbędne serwery aplikacji. Wprowadzenie do technologii JBoss i Apache Tomcat. Niezbędne serwery aplikacji. Wprowadzenie do technologii JBoss i Apache Tomcat. Serwer Tomcat Plan wykładu Opis serwera Jak uruchomić napisaną aplikację Podstawowa konfiguracja Pierwsze uruchomienie Tomcat

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

Programowanie w Sieci Internet JSP ciąg dalszy. Kraków, 9 stycznia 2015 r. mgr Piotr Rytko Wydział Matematyki i Informatyki

Programowanie w Sieci Internet JSP ciąg dalszy. Kraków, 9 stycznia 2015 r. mgr Piotr Rytko Wydział Matematyki i Informatyki Programowanie w Sieci Internet JSP ciąg dalszy Kraków, 9 stycznia 2015 r. mgr Piotr Rytko Wydział Matematyki i Informatyki Co dziś będziemy robić JSP tags, Używanie tagów, Custom tags, JSP objests, Obiekty

Bardziej szczegółowo

XML - wprowadzenie. <message> <text> Dobrze </text> </message> <message> <text> Źle </message> </text> <message> <message> <text> Źle.

XML - wprowadzenie. <message> <text> Dobrze </text> </message> <message> <text> Źle </message> </text> <message> <message> <text> Źle. XML i SOAP 1. XML (extensive Markup Language). wprowadzenie, zastosowania, przykłady, specyfikacje DTD (Document Type Definition). 2. SOAP (Simple Object Access Protocol) struktura wiadomości, zdalne wywołanie

Bardziej szczegółowo

EJB 2.x oraz zmiany w standardzie dla EJB 3.0. Michał Stanek

EJB 2.x oraz zmiany w standardzie dla EJB 3.0. Michał Stanek Enterprise JavaBean EJB 2.x oraz zmiany w standardzie dla EJB 3.0 Michał Stanek Plan prezentacji Czym jest EJB Architektura aplikacji J2EE oraz kontener EJB Typy komponentów JavaBean EJB 1.0, EJB 2.x Wady

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

BAZY DANYCH. Dr hab. Sławomir Zadrożny, prof. PR

BAZY DANYCH. Dr hab. Sławomir Zadrożny, prof. PR BAZY DANYCH Dr hab. Sławomir Zadrożny, prof. PR Co to jest baza danych? Wiele możliwych definicji Zbiór danych, który istnieje przez dłuższy okres czasu Współdzielony zestaw logicznie powiązanych danych

Bardziej szczegółowo

Proxy (pełnomocnik) Cel: Zastosowanie: Dostarczyć zamiennik pewnego obiektu, pozwalający kontrolować dostęp do niego.

Proxy (pełnomocnik) Cel: Zastosowanie: Dostarczyć zamiennik pewnego obiektu, pozwalający kontrolować dostęp do niego. Proxy (pełnomocnik) Cel: Dostarczyć zamiennik pewnego obiektu, pozwalający kontrolować dostęp do niego. Zastosowanie: Wszędzie tam, gdzie oczekujemy bardziej zaawansowanego odwołania do obiektu, niż zwykły

Bardziej szczegółowo

XML Schema. Motywacja, struktura schematu, typy złożone. Patryk Czarnik. Instytut Informatyki UW

XML Schema. Motywacja, struktura schematu, typy złożone. Patryk Czarnik. Instytut Informatyki UW XML Schema Motywacja, struktura schematu, typy złożone Patryk Czarnik Instytut Informatyki UW XML i nowoczesne technologie zarzadzania treścia 2007/08 Dlaczego nie DTD? Zastosowania XML-a w elektronicznej

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

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

Informacje ogólne. Karol Trybulec p-programowanie.pl 1. 2 // cialo klasy. class osoba { string imie; string nazwisko; int wiek; int wzrost; Klasy w C++ są bardzo ważnym narzędziem w rękach programisty. Klasy są fundamentem programowania obiektowego. Z pomocą klas będziesz mógł tworzyć lepszy kod, a co najważniejsze będzie on bardzo dobrze

Bardziej szczegółowo