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" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> <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 "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"> <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="http://www.w3.org/2001/xinclude"> 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="http://www.w3.org/2001/xinclude"> 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="http://www.w3.org/2001/xmlschema"> 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="http://www.w3.org/2001/xmlschema"> <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="http://www.example.org/car" 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="http://www.w3.org/2001/xmlschema targetnamespace="http://www.example.org/car" xmlns:tns="http://www.example.org/car 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 = "http://localhost:8080/axis/calculator.jws"; 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 )

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

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

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

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

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

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

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

- 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

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

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

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

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

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

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

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

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

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

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 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

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

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

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

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

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

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

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

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

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

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

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

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

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

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 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

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

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

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

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

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

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

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

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

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

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

XML - wprowadzenie. Dobrze Źle Ź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

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

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

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

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

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

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

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

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

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

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

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

Bardziej szczegółowo

Java i 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

Rozdział 4 KLASY, OBIEKTY, METODY

Rozdział 4 KLASY, OBIEKTY, METODY Rozdział 4 KLASY, OBIEKTY, METODY Java jest językiem w pełni zorientowanym obiektowo. Wszystkie elementy opisujące dane, za wyjątkiem zmiennych prostych są obiektami. Sam program też jest obiektem pewnej

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

Spis treści. Dzień 1. I Wprowadzenie (wersja 0906) II Dostęp do danych bieżących specyfikacja OPC Data Access (wersja 0906) Kurs OPC S7

Spis treści. Dzień 1. I Wprowadzenie (wersja 0906) II Dostęp do danych bieżących specyfikacja OPC Data Access (wersja 0906) Kurs OPC S7 I Wprowadzenie (wersja 0906) Kurs OPC S7 Spis treści Dzień 1 I-3 O czym będziemy mówić? I-4 Typowe sytuacje I-5 Klasyczne podejście do komunikacji z urządzeniami automatyki I-6 Cechy podejścia dedykowanego

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

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

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

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

Definiowanie typów dokumentów Część 2. Przestrzenie nazw, XML Schema. Elementy czy atrybuty? Wartości domyślne i ustalone. Elementy czy atrybuty?

Definiowanie typów dokumentów Część 2. Przestrzenie nazw, XML Schema. Elementy czy atrybuty? Wartości domyślne i ustalone. Elementy czy atrybuty? Globalne i lokalne deklaracje elementów i atrybutów Definiowanie typów dokumentów Część 2. Przestrzenie nazw, XML Schema Deklaracje lokalne:

Bardziej szczegółowo

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

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

Bardziej szczegółowo

Dostęp do baz danych z serwisu www - PHP. Wydział Fizyki i Informatyki Stosowanej Joanna Paszkowska, 4 rok FK

Dostęp do baz danych z serwisu www - PHP. Wydział Fizyki i Informatyki Stosowanej Joanna Paszkowska, 4 rok FK Dostęp do baz danych z serwisu www - PHP Wydział Fizyki i Informatyki Stosowanej Joanna Paszkowska, 4 rok FK Bazy Danych I, 8 Grudzień 2009 Plan Trochę teorii Uwagi techniczne Ćwiczenia Pytania Trójwarstwowy

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

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

Wprowadzenie do JDBC z wykorzystaniem bazy H2

Wprowadzenie do JDBC z wykorzystaniem bazy H2 Wprowadzenie do JDBC z wykorzystaniem bazy H2 JDBC (ang. Java DataBase Connectivity). Biblioteka stanowiąca interfejs umożliwiający aplikacjom napisanym w języku Java porozumiewać się z bazami danych za

Bardziej szczegółowo

Wykorzystywanie parsera DOM w programach Java i PL/SQL

Wykorzystywanie parsera DOM w programach Java i PL/SQL Wykorzystywanie parsera DOM w programach Java i PL/SQL Maciej Zakrzewicz mzakrz@cs.put.poznan.pl http://www.cs.put.poznan.pl/~mzakrz/ Parser DOM Aplikacja DOM API Parser DOM Dokument XML Drzewo DOM Parser

Bardziej szczegółowo

Załącznik nr 14 Struktura logiczna korekty informacji podsumowującej o dokonanych wewnątrzwspólnotowych dostawach/nabyciach towarów (VAT-UEK)

Załącznik nr 14 Struktura logiczna korekty informacji podsumowującej o dokonanych wewnątrzwspólnotowych dostawach/nabyciach towarów (VAT-UEK) Załącznik nr 14 Struktura logiczna korekty informacji podsumowującej o dokonanych wewnątrzwspólnotowych dostawach/nabyciach towarów (VAT-UEK) Nazwa pliku XSD: http://e-deklaracje.mf.gov.pl/repozytorium/deklaracje/vat/vat-uek(1)_v2-0.xsd

Bardziej szczegółowo

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

Obiektowy PHP. Czym jest obiekt? Definicja klasy. Składowe klasy pola i metody Obiektowy PHP Czym jest obiekt? W programowaniu obiektem można nazwać każdy abstrakcyjny byt, który programista utworzy w pamięci komputera. Jeszcze bardziej upraszczając to zagadnienie, można powiedzieć,

Bardziej szczegółowo

8510309410 PL 97124020929916210000092872 URZĄD MIASTA SZCZECIN N123456 NOF WPiOL/1111/W/123456/2013 KOWALSKI JAN, FELCZAKA 1A 70-123 SZCZECIN PLN

8510309410 PL 97124020929916210000092872 URZĄD MIASTA SZCZECIN N123456 NOF WPiOL/1111/W/123456/2013 KOWALSKI JAN, FELCZAKA 1A 70-123 SZCZECIN PLN OPIS PLIKÓW I FORMATÓW WYMIANY DANYCH. OPIS PLIKÓW I FORMATÓW WYMIANY DANYCH 1. Kod 1D stosowany na przelewach podczas akcji Płatności Masowe: Rodzaj kodu 1D: EAN128 Struktura: Przykład: - Identyfikacja

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

Budowa aplikacji wielowarstwowych zastosowanie szablonów. Laboratorium 2 Programowanie komponentowe Zofia Kruczkiewicz

Budowa aplikacji wielowarstwowych zastosowanie szablonów. Laboratorium 2 Programowanie komponentowe Zofia Kruczkiewicz Budowa aplikacji wielowarstwowych zastosowanie szablonów Laboratorium 2 Programowanie komponentowe Zofia Kruczkiewicz Przykład 1 Zastosowanie szablonów Tworzenie kopii projektu typu Web Application o nazwie

Bardziej szczegółowo

Usługi WWW. dr Zbigniew Lipiński Instytut Matematyki i Informatyki ul. Oleska 48 50-204 Opole zlipinski@math.uni.opole.pl

Usługi WWW. dr Zbigniew Lipiński Instytut Matematyki i Informatyki ul. Oleska 48 50-204 Opole zlipinski@math.uni.opole.pl Budowa aplikacji sieciowych. Usługi WWW dr Zbigniew Lipiński Instytut Matematyki i Informatyki ul. Oleska 48 50-204 Opole zlipinski@math.uni.opole.pl Usługi WWW W3C Working Group, Web Services Architecture,

Bardziej szczegółowo

Java. język programowania obiektowego. Programowanie w językach wysokiego poziomu. mgr inż. Anna Wawszczak

Java. język programowania obiektowego. Programowanie w językach wysokiego poziomu. mgr inż. Anna Wawszczak Java język programowania obiektowego Programowanie w językach wysokiego poziomu mgr inż. Anna Wawszczak 1 Język Java Język Java powstał w roku 1995 w firmie SUN Microsystems Java jest językiem: wysokiego

Bardziej szczegółowo

Kurs programowania. Wykład 2. Wojciech Macyna. 17 marca 2016

Kurs programowania. Wykład 2. Wojciech Macyna. 17 marca 2016 Wykład 2 17 marca 2016 Dziedziczenie Klasy bazowe i potomne Dziedziczenie jest łatwym sposobem rozwijania oprogramowania. Majac klasę bazowa możemy ja uszczegółowić (dodać nowe pola i metody) nie przepisujac

Bardziej szczegółowo

XQuery. XQuery. Przykład. dokument XML. XQuery (XML Query Language) XQuery 1.0: An XML Query Language. W3C Recommendation http://www.w3.

XQuery. XQuery. Przykład. dokument XML. XQuery (XML Query Language) XQuery 1.0: An XML Query Language. W3C Recommendation http://www.w3. XQuery XQuery XQuery (XML Query Language) XQuery 1.0: An XML Query Language. W3C Recommendation http://www.w3.org/tr/xquery/ Język programowania funkcyjnego (podobnie jak Lisp) Język zapytań do danych

Bardziej szczegółowo

Integracja Obieg Dokumentów - GiS Spis treści

Integracja Obieg Dokumentów - GiS Spis treści Integracja Obieg Dokumentów - GiS Spis treści 1.Opis integracji.... 2 2.Interfejs po stronie Obiegu Dokumentów... 4 3.Interfejs po stronie Gis-u.... 7 4.Schematy przesyłanych plików xml.... 8 1 1. Opis

Bardziej szczegółowo

SYSTEM MONITORINGU PARAMETRÓW WĘZŁÓW PRZECHOWYWANIA DANYCH DLA PROJEKTU KRAJOWY MAGAZYN DANYCH PODRĘCZNIK DEWELOPERA

SYSTEM MONITORINGU PARAMETRÓW WĘZŁÓW PRZECHOWYWANIA DANYCH DLA PROJEKTU KRAJOWY MAGAZYN DANYCH PODRĘCZNIK DEWELOPERA SYSTEM MONITORINGU PARAMETRÓW WĘZŁÓW PRZECHOWYWANIA DANYCH DLA PROJEKTU KRAJOWY MAGAZYN DANYCH PODRĘCZNIK DEWELOPERA 1 Spis treści: Wstęp... 3 Opis architektury systemu... 4 Architektura modułu KMD...

Bardziej szczegółowo

Gdzie jest moja tabela?

Gdzie jest moja tabela? Gdzie jest moja tabela? Czyli jak sobie radzić w Javie i SQL gdy zmienia się schemat bazy danych. Tomasz Skutnik 21 Listopada 2011 r UWIELBIAM piratów programować. Dziś koduję sklep internetowy. Jak rozmawiać

Bardziej szczegółowo

Interfejsy. Programowanie obiektowe. Paweł Rogaliński Instytut Informatyki, Automatyki i Robotyki Politechniki Wrocławskiej

Interfejsy. Programowanie obiektowe. Paweł Rogaliński Instytut Informatyki, Automatyki i Robotyki Politechniki Wrocławskiej Programowanie obiektowe Interfejsy Paweł Rogaliński Instytut Informatyki, Automatyki i Robotyki Politechniki Wrocławskiej pawel.rogalinski pwr.wroc.pl Interfejsy Autor: Paweł Rogaliński Instytut Informatyki,

Bardziej szczegółowo

Język SQL, zajęcia nr 1

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

Bardziej szczegółowo

Projektowanie systemów baz danych

Projektowanie systemów baz danych Projektowanie systemów baz danych Seweryn Dobrzelewski 4. Projektowanie DBMS 1 SQL SQL (ang. Structured Query Language) Język SQL jest strukturalnym językiem zapewniającym możliwość wydawania poleceń do

Bardziej szczegółowo

Generowanie raportów

Generowanie raportów 1 Generowanie raportów 1. Wprowadzenie przykładowy problem, podstawowe własności narzędzi raportujących. 2. JasperReports struktura raportu, parametry, zmienne i pola, generowanie raportu (API). 3. ireport

Bardziej szczegółowo

5.14 JSP - Przykład z obiektami sesji... 83 5.15 Podsumowanie... 84 5.16 Słownik... 85 5.17 Zadanie... 86

5.14 JSP - Przykład z obiektami sesji... 83 5.15 Podsumowanie... 84 5.16 Słownik... 85 5.17 Zadanie... 86 Spis treści 1 Wprowadzenie - architektura, protokoły, system WWW... 1 1.1 Wstęp.................................................. 1 1.2 Ważniejsze daty......................................... 2 1.3 Protokoły

Bardziej szczegółowo

XML w bazach danych i bezpieczeństwie

XML w bazach danych i bezpieczeństwie XML w bazach danych i bezpieczeństwie Patryk Czarnik Instytut Informatyki UW XML i nowoczesne technologie zarzadzania treścia 2007/08 Klasyfikacja wsparcia dla XML-a w bazach danych (Relacyjna) baza danych

Bardziej szczegółowo

1. CZYM JEST SERIALIZACJA

1. CZYM JEST SERIALIZACJA SERIALIZACJA O CZYM POWIEMY? 1. Czym jest serializacja? 2. Jak przeprowadzić proces serializacji? 3. Jak przeprowadzić proces deserializacji? 4. Serializacja własnych klas. 5. Dobre praktyki. 6. SoapFormatter.

Bardziej szczegółowo

Podstawowe konstrukcje Podstawowymi konstrukcjami są wzorce element oraz attribute:

Podstawowe konstrukcje Podstawowymi konstrukcjami są wzorce element oraz attribute: Standard Relax NG Schemat strukturalizacji dokumentów Relax NG (relaxing). Opracowany głównie przez Jamesa Clarka i Makoto Muratę. Standard ISO: Information technology Document Schema Definition Language

Bardziej szczegółowo

Semistrukturalne bazy danych Wykład dla studentów matematyki

Semistrukturalne bazy danych Wykład dla studentów matematyki Semistrukturalne bazy danych Wykład dla studentów matematyki 30 maja 2015 Dane semistrukturalne Dzięki WWW i Internetowi łatwo umieszczać informacje w sieci tak, żeby były powszechnie dostępne. Chęć wykorzystania

Bardziej szczegółowo