Wykorzystywanie parsera DOM w programach Java i PL/SQL

Save this PDF as:
 WORD  PNG  TXT  JPG

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

Download "Wykorzystywanie parsera DOM w programach Java i PL/SQL"

Transkrypt

1 Wykorzystywanie parsera DOM w programach Java i PL/SQL Maciej Zakrzewicz

2 Parser DOM Aplikacja DOM API Parser DOM Dokument XML Drzewo DOM Parser DOM dokonuje przekształcenia dokumentu XML w drzewo DOM. Dostęp do funkcji parsera odbywa się w ramach interfejsu DOM API. Parser DOM jest dostępny w formie bibliotek programistycznych, m.in. Java (oracle.xml.parser.v2), PL/SQL (xmlparser, dbms_xmlparser)

3 DOM API: struktura fizyczna drzewa DOM getdocument() #document D katalog getdocumentelement() E getnodename() książka E... getchildnodes() getattributes() getchildnodes() isbn A tytul E autorzy E rokwydania E #text T autor E #text T C++ XML 2002 #text T Fabio Arc... getnodevalue() getchildnodes() wydawnictwo E #text Mikom T cena E #text T 36 D DOCUMENT_NODE (9) E ELEMENT_NODE (1) A ATTRIBUTE_NODE (2) T TEXT_NODE (3)

4 Java: proces parsowania dokumentu XML new DOMParser() DOMParser.parse() DOMParser.getDocument() przetwarzanie drzewa DOM

5 Java: konwersja pliku XML do drzewa DOM import org.w3c.dom.*; import oracle.xml.parser.v2.*;... DOMParser dp = new DOMParser(); Node titlenode = null; NodeList titlenodelist = null; XMLDocument xmldoc = null; C++ XML Flash i XML. Techniki zaawansowane HTML and XML dla początkujących Java i XML Nauka języka XML Po prostu XML Poznaj XML w 24 godziny Programowanie Microsoft SQL Server 2000 z XML Vademecum XML XML Kompendium programisty XML dla każdego try { dp.parse("file://c:/katalog.xml"); } catch (Exception e) {System.out.println(e);} try { xmldoc = dp.getdocument(); titlenodelist = xmldoc.getelementsbytagname("tytul"); for (int i=0; i<titlenodelist.getlength(); i++) { titlenode = titlenodelist.item(i); System.out.println(titleNode.getFirstChild().getNodeValue()); } } catch (Exception e) {System.out.println(e);}

6 Java: parsowanie zmiennej String import org.w3c.dom.*; import oracle.xml.parser.v2.*; import java.io.*;... DOMParser dp = new DOMParser(); Node titlenode = null; NodeList titlenodelist = null; XMLDocument xmldoc = null; Zaawansowany XML SQL/XML try { dp.parse(new StringReader("<katalog><ksiazka><tytul>Zaawansowany XML</tytul>"+ "</ksiazka><ksiazka><tytul>sql/xml</tytul></ksiazka></katalog>")); } catch (Exception e) {System.out.println(e);} try { xmldoc = dp.getdocument(); titlenodelist = xmldoc.getelementsbytagname("tytul"); for (int i=0; i<titlenodelist.getlength(); i++) { titlenode = titlenodelist.item(i); System.out.println(titleNode.getFirstChild().getNodeValue()); } } catch (Exception e) {System.out.println(e);}

7 PL/SQL: proces parsowania dokumentu XML xmlparser.newparser xmlparser.parse(), xmlparser.parsebuffer(), xmlparser.parseclob() xmlparser.getdocument() przetwarzanie drzewa DOM przy użyciu funkcji pakietu xmldom xmlparser.freedocument() xmlparser.freeparser()

8 PL/SQL: konwersja pliku XML do drzewa DOM declare parser xmlparser.parser; xmldoc xmldom.domdocument; titlenode xmldom.domnode; titlenodelist xmldom.domnodelist; begin parser := xmlparser.newparser; xmlparser.parse(parser, 'http://miner/merlin.xml'); xmldoc := xmlparser.getdocument(parser); C++ XML Flash i XML. Techniki zaawansowane HTML and XML dla początkujących Java i XML Nauka języka XML Po prostu XML Poznaj XML w 24 godziny Programowanie Microsoft SQL Server 2000 z XML Vademecum XML XML Kompendium programisty XML dla każdego titlenodelist := xmldom.getelementsbytagname(xmldoc,'tytul'); for i in 0..xmldom.getLength(titleNodeList) - 1 loop titlenode := xmldom.item(titlenodelist, i); dbms_output.put_line(xmldom.getnodevalue(xmldom.getfirstchild(titlenode))); end loop; xmldom.freedocument(xmldoc); xmlparser.freeparser(parser); end;

9 PL/SQL: parsowanie zmiennej VARCHAR2 declare parser xmlparser.parser; xmldoc xmldom.domdocument; titlenode xmldom.domnode; titlenodelist xmldom.domnodelist; mydoc VARCHAR2(1000); begin mydoc := '<katalog><ksiazka><tytul>zaawansowany XML</tytul></ksiazka>' '<ksiazka><tytul>sql/xml</tytul></ksiazka></katalog>'; parser := xmlparser.newparser; xmlparser.parsebuffer(parser, mydoc); xmldoc := xmlparser.getdocument(parser); titlenodelist := xmldom.getelementsbytagname(xmldoc,'tytul'); for i in 0..xmldom.getLength(titleNodeList) - 1 loop titlenode := xmldom.item(titlenodelist, i); dbms_output.put_line(xmldom.getnodevalue(xmldom.getfirstchild(titlenode))); end loop; xmldom.freedocument(xmldoc); xmlparser.freeparser(parser); end; Zaawansowany XML SQL/XML

10 PL/SQL: ładowanie danych XML do tabeli declare parser xmlparser.parser; xmldoc xmldom.domdocument; xmlelem xmldom.domelement; booknode xmldom.domnode; TYTUL CENA booknodelist xmldom.domnodelist; innernode xmldom.domnode; Access Projekt 79 innernodelist xmldom.domnodelist; title VARCHAR2(100); price NUMBER(8,2); Access 2002/XP PL dl 65 begin ASP.NET. Vademecum p 59 parser := xmlparser.newparser; C++ XML 41 xmlparser.parse(parser, 'http://miner/merlin.xml'); Dane w sieci WWW 31 xmldoc := xmlparser.getdocument(parser); Delphi 6. Praktyka p 104,5 xmlelem := xmldom.getdocumentelement(xmldoc); Delphi. Almanach 70 booknodelist := xmldom.getchildnodes(xmldom.makenode(xmlelem)); Dreamweaver 3. Bibli 120 Exchange 2000.NET Se 86 for i in 0..xmldom.getLength(bookNodeList) - 1 loop Flash 5 ActionScript 70 booknode := xmldom.item(booknodelist, i); innernodelist := xmldom.getchildnodes(booknode); for j in 0..xmldom.getLength(innerNodeList) - 1 loop innernode := xmldom.item(innernodelist, j); if xmldom.getnodename(innernode) = 'tytul' then title := xmldom.getnodevalue(xmldom.getfirstchild(innernode)); elsif xmldom.getnodename(innernode) = 'cena' then price := xmldom.getnodevalue(xmldom.getfirstchild(innernode)); end if; end loop; insert into ksiazki (tytul, cena) values (title,price); end loop; xmldom.freedocument(xmldoc); xmlparser.freeparser(parser); end;

11 Parser DOM: przekształcenia XSLT (Java) new DOMParser() XML DOMParser.parse() DOMParser.getDocument() new XSLProcessor() XSLProcessor.newXSLStylesheet() XSL XSLProcessor.processXSL() przetwarzanie drzewa wynikowego XML

12 Parser DOM: przekształcenia XSLT (Java) import org.w3c.dom.*; import oracle.xml.parser.v2.*; import java.net.*;... XSLProcessor xslproc = new XSLProcessor(); XSLStylesheet xsl = xslproc.newxslstylesheet(new URL( "file://c:/messages.xsl")); DOMParser parser = new DOMParser(); parser.parse("file://c:/messages.xml"); XMLDocument xmldoc = parser.getdocument(); XMLDocumentFragment htmldoc = xslproc.processxsl(xsl, xmldoc);... htmldoc.print(system.out);

13 Parser DOM: przekształcenia XSLT (PL/SQL) xmlparser.newparser XML xmlparser.parse(), xmlparser.parsebuffer(), xmlparser.parseclob() xmlparser.getdocument() xslprocessor.newprocessor() xslprocessor.newstylesheet() XSL xslprocessor.processxsl() xmlparser.freedocument() przetwarzanie drzewa wynikowego XML xmlparser.freeparser()

14 Parser DOM: przekształcenia XSLT (PL/SQL) declare parser xmlparser.parser; xslproc xslprocessor.processor; xsl xslprocessor.stylesheet; xmldoc xmldom.domdocument; htmldoc xmldom.domdocumentfragment; htmldocnode xmldom.domnode; result CLOB; begin dbms_lob.createtemporary(result,true); parser := xmlparser.newparser; xmlparser.parse(parser,'http://miner/messages.xml'); xmldoc := xmlparser.getdocument(parser); xslproc := xslprocessor.newprocessor; xsl := xslprocessor.newstylesheet('http://miner/messages.xsl',null); htmldoc := xslprocessor.processxsl(xslproc, xsl, xmldoc); htmldocnode := xmldom.makenode(htmldoc); xmldom.writetoclob(htmldocnode, result,'windows-1250'); printclobout(result); xmldom.freedocument(xmldoc); xmlparser.freeparser(parser); end;

15 Wykorzystywanie parsera SAX w programach Java

16 Parser SAX i SAX API SAX API to interfejs programistyczny wykorzystujący model zdarzeniowy do budowy parserów dokumentów XML Parser SAX odczytuje wskazany dokument XML i dla każdego zidentyfikowanego elementu składniowego wywołuje standardowe metody obiektu klasy przygotowanej przez programistę SAX API umożliwia konwersję dokumentu XML do dowolnej struktury danych, a nie wyłącznie do drzewa DOM Zadaniem programisty jest przygotowanie klasy dziedziczącej z DocumentHandler i oprogramowanie jej metod: startdocument() / enddocument() startelement() / endelement() characters()

17 Parser SAX Parser SAX Dokument XML Klasa przetwarzania dokumentu Aplikacja

18 Sekwencja wywoływania metod klasy DocumentHandler <?xml version="1.0" encoding="windows-1250"?> <katalog> <ksiazka url="http://dot.com/19821.html"> <tytul> C++ XML </tytul> <autorzy> <autor> Fabio Arciniegas </autor> </autorzy>... </katalog> startdocument() startelement("katalog") startelement("ksiazka","http:/...") startelement("tytul") characters("c++ XML") endelement("tytul") startelement("autorzy") startelement("autor") characters("fabio Arciniegas") endelement("autor") endelement("autorzy") endelement("katalog") enddocument()

19 Implementacja klasy DocumentHandler import org.xml.sax.*; public class MyHandler extends HandlerBase { public void startelement(string name, AttributeList atts) { // metoda wywoływana gdy parser SAX natrafi na znacznik otwierający // name nazwa znacznika, atts lista nazw i wartości atrybutów } }} public void endelement(string name) { // metoda wywoływana gdy parser SAX natrafi na znacznik zamykający // name nazwa znacznika } public void characters(char ch[], int start, int length) { String value = new String(ch, start, length); // metoda wywoływana gdy parser SAX zakończy odczyt treści znacznika // value odczytana treść

20 Wykorzystanie klasy DocumentHandler 1. Utwórz obiekt własnej klasy przetwarzania dokumentu XML 2. Utwórz obiekt parsera SAX (klasa SAXParser) 3. Za pomocą metody "setdocumenthandler" przyłącz obiekt własnej klasy przetwarzania dokumentu XML do obiektu parsera XML 4. Wywołaj metodę "parse" obiektu parsera, przekazując jej adres URL przetwarzanego dokumentu XML import org.xml.sax.*; import oracle.xml.parser.v2.*;... MyHandler handler = new MyHandler(); Parser parser = new SAXParser(); parser.setdocumenthandler(handler); parser.parse("file://c:/katalog.xml");

21 Przykładowa aplikacja Dokument XML <?xml version="1.0" encoding="windows-1250"?> <katalog> <ksiazka isbn=" "> <tytul>c++ XML</tytul> <autorzy> <autor>fabio Arciniegas</autor> </autorzy> <rok>2002</rok> <wydawnictwo>mikom</wydawnictwo> <cena>36</cena> </ksiazka> <ksiazka isbn=" ">... </ksiazka> </katalog>

22 Przykładowa aplikacja Model obiektowy Vector katalog... Ksiazka String tytul Vector autorzy String wydawnictwo int rok float cena Ksiazka String tytul Vector autorzy String wydawnictwo int rok float cena Ksiazka String tytul Vector autorzy String wydawnictwo int rok float cena

23 Przykładowa aplikacja Implementacja modelu obiektowego import java.util.*; public class Ksiazka extends Object { String tytul; Vector autorzy = new Vector(); String wydawnictwo; int rok; float cena; public void settytul(string t) { tytul = t; } public void setwydawnictwo(string w) { wydawnictwo = w; } public void setrok(int r) { rok = r; } public void setcena(float c) { cena = c; } public void addautor(string a) { autorzy.add(a); } public String gettytul() { return tytul; } public String getwydawnictwo() { return wydawnictwo; } public int getrok() { return rok; } public float getcena() { return cena; } public int getnumautor() { return autorzy.size(); } public String getautor(int i) { return (String)autorzy.get(i); } }

24 import org.xml.sax.*; import java.util.*; Przykładowa aplikacja Klasa przetwarzania dokumentu (1/2) public class KatalogHandler extends HandlerBase { Vector katalog = new Vector(); Ksiazka tmp; int curr_tag; static final int TYTUL_TAG = 1; static final int ROK_TAG = 2; static final int WYDAWNICTWO_TAG = 3; static final int CENA_TAG = 4; static final int AUTOR_TAG = 5; public Vector getkatalog() { return katalog; } public void startelement(string name, AttributeList atts) { if (name.equals("ksiazka")) { tmp = new Ksiazka(); } else if (name.equals("tytul")) { curr_tag = TYTUL_TAG; } else if (name.equals("rok")) { curr_tag = ROK_TAG; } else if (name.equals("cena")) { curr_tag = CENA_TAG; }

25 Przykładowa aplikacja Klasa przetwarzania dokumentu (2/2) else if (name.equals("autor")) { curr_tag = AUTOR_TAG; } } else if (name.equals("wydawnictwo")) { curr_tag = WYDAWNICTWO_TAG; } public void endelement(string name) { } if (name.equals("ksiazka")) { katalog.add(tmp);} public void characters(char ch[], int start, int length) { String value = new String(ch, start, length); switch (curr_tag) { case TYTUL_TAG: tmp.settytul(value); break; case AUTOR_TAG: tmp.addautor(value); break; case WYDAWNICTWO_TAG: tmp.setwydawnictwo(value); break; case ROK_TAG: tmp.setrok(integer.parseint(value)); break; case CENA_TAG: tmp.setcena(float.parsefloat(value)); break; } }}

26 Przykładowa aplikacja Wykorzystanie parsera SAX import org.xml.sax.*; import oracle.xml.parser.v2.*; import java.util.*; public class PrintKatalog { public static void main(string[] args) { C++ XML, Mikom, 2002 Flash i XML. Techniki zaawansowane, Helion, 2002 HTML and XML dla początkujących, Promise, 2002 Java i XML, Helion, 2001 Nauka języka XML, Read Me, 2001 Po prostu XML, Helion, try { KatalogHandler handler = new KatalogHandler(); Parser parser = new SAXParser(); parser.setdocumenthandler(handler); parser.parse("file://c:/katalog.xml"); Vector katalog = handler.getkatalog(); for (int i=0; i<katalog.size(); i++) { Ksiazka k = (Ksiazka)katalog.elementAt(i); System.out.println(k.getTytul()+", "+k.getwydawnictwo()+", "+k.getrok()); } } catch (Exception e) {System.out.println(e);}}}

Drzewa DOM. Maciej Zakrzewicz. mzakrz@cs.put.poznan.pl http://www.cs.put.poznan.pl/~mzakrz/

Drzewa DOM. Maciej Zakrzewicz. mzakrz@cs.put.poznan.pl http://www.cs.put.poznan.pl/~mzakrz/ Drzewa DOM Maciej Zakrzewicz mzakrz@cs.put.poznan.pl http://www.cs.put.poznan.pl/~mzakrz/ Document Object Model (DOM) Document Object Model jest standardem modelowania dokumentów XML przy użyciu struktury

Bardziej szczegółowo

Aplikacje internetowe i rozproszone

Aplikacje internetowe i rozproszone Aplikacje internetowe i rozproszone dr inż. Maciej Zakrzewicz Instytut Informatyki, Politechnika Poznańska mzakrz@cs.put.poznan.pl http://www.cs.put.poznan.pl/~mzakrz/ Serwery aplikacji Plan wykładów Funkcjonalność

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

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

Procesowanie dokumentów XML

Procesowanie dokumentów XML Uniwersytet Łódzki Wydział Matematyki i Informatyki, Katedra Analizy Nieliniowej Procesowanie dokumentów XML Programowanie w Javie 2 mgr inż. Michał Misiak Cechy XML Sformalizowany zapis informacji restrykcyjne

Bardziej szczegółowo

Wielowarstwowe aplikacje internetowe. Przetwarzanie XML. Autor wykładu: Maciej Zakrzewicz. Przetwarzanie XML

Wielowarstwowe aplikacje internetowe. Przetwarzanie XML. Autor wykładu: Maciej Zakrzewicz. Przetwarzanie XML Przetwarzanie XML Autor wykładu: Maciej Zakrzewicz Przetwarzanie XML Plan wykładu Modelowanie dokumentów XML za pomocą drzew DOM Specyfikacja W3C DOM API Implementacja drzew DOM w języku Java Nawigacja

Bardziej szczegółowo

SAX i DOM wykorzystanie XML-a we własnych aplikacjach. Simple API for XML Parsing Document Object Model

SAX i DOM wykorzystanie XML-a we własnych aplikacjach. Simple API for XML Parsing Document Object Model SAX i DOM wykorzystanie XML-a we własnych aplikacjach Simple API for XML Parsing Document Object Model 1 SAX - wstęp Definicja: standardowy interfejs do parsowania plików XML oparty na modelu zdarzeniowym

Bardziej szczegółowo

JAVA I XML ZAGADNIENIA: DOM, SAX, JAXB, XMLDecoder i XMLEncoder, ANT.

JAVA I XML ZAGADNIENIA: DOM, SAX, JAXB, XMLDecoder i XMLEncoder, ANT. JAVA I XML ZAGADNIENIA: DOM, SAX, JAXB, XMLDecoder i XMLEncoder, ANT. MATERIAŁY: http://www.mkyong.com/tutorials/java-xml-tutorials/ http://ant.apache.org http://th-www.if.uj.edu.pl/zfs/ciesla/ JĘZYK JAVA,

Bardziej szczegółowo

Przetwarzanie dokumentów XML i zaawansowane techniki WWW Wykład 06

Przetwarzanie dokumentów XML i zaawansowane techniki WWW Wykład 06 Plan Przetwarzanie dokumentów XML i zaawansowane techniki WWW Wykład 06 T. Romańczukiewicz Jagiellonian University 2009/2010 Plan Plan 1 SAX 2 Podsumowanie Plan SAX Podsumowanie Przypomnienie Wstęp Obsługa

Bardziej szczegółowo

Instrukcja 2 Laboratorium z Podstaw Inżynierii Oprogramowania

Instrukcja 2 Laboratorium z Podstaw Inżynierii Oprogramowania Instrukcja 2 Laboratorium z Podstaw Inżynierii Oprogramowania Opis biznesowy świata rzeczywistego Wymagania funkcjonalne i niefunkcjonalne aplikacji Diagram przypadków życia Diagramy klas i sekwencji:

Bardziej szczegółowo

Programowanie obiektowe

Programowanie obiektowe Programowanie obiektowe Wykład 2: Wstęp do języka Java 3/4/2013 S.Deniziak: Programowanie obiektowe - Java 1 Cechy języka Java Wszystko jest obiektem Nie ma zmiennych globalnych Nie ma funkcji globalnych

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

XML i Java. Technologie zarządzania treścią. dr inż. Robert Perliński rperlinski@icis.pcz.pl

XML i Java. Technologie zarządzania treścią. dr inż. Robert Perliński rperlinski@icis.pcz.pl XML i Java Technologie zarządzania treścią dr inż. Robert Perliński rperlinski@icis.pcz.pl Politechnika Częstochowska Instytut Informatyki Teoretycznej i Stosowanej XML i Java 2/57 SAX vs. DOM Dwa podstawowe

Bardziej szczegółowo

akademia androida Składowanie danych część VI

akademia androida Składowanie danych część VI akademia androida Składowanie danych część VI agenda 1. SharedPreferences. 2. Pamięć wewnętrzna i karta SD. 3. Pliki w katalogach /res/raw i /res/xml. 4. Baza danych SQLite. 5. Zadanie. 1. SharedPreferences.

Bardziej szczegółowo

XML we własnych aplikacjach

XML we własnych aplikacjach XML we własnych aplikacjach Patryk Czarnik Instytut Informatyki UW XML i nowoczesne technologie zarządzania treścią 2008/09 Wykorzystanie XML we własnych aplikacjach Odczyt zawartości dokumentów XML. Modyfikacja

Bardziej szczegółowo

Wprowadzenie do XML. Tomasz Traczyk. ttraczyk@ia.pw.edu.pl http://www.ia.pw.edu.pl/~ttraczyk/

Wprowadzenie do XML. Tomasz Traczyk. ttraczyk@ia.pw.edu.pl http://www.ia.pw.edu.pl/~ttraczyk/ Wprowadzenie do XML Tomasz Traczyk ttraczyk@ia.pw.edu.pl http://www.ia.pw.edu.pl/~ttraczyk/ Plan prezentacji Co to jest XML Dokument w XML DTD i encje Składniki XML: łączniki, przestrzenie nazw Poprawność

Bardziej szczegółowo

XML we własnych aplikacjach

XML we własnych aplikacjach XML we własnych aplikacjach Patryk Czarnik Instytut Informatyki UW XML i nowoczesne technologie zarzadzania treścia 2008/09 Patryk Czarnik 09 Programy XML 2008/09 1 / 1 Wprowadzenie XML we własnych aplikacjach

Bardziej szczegółowo

Wywoływanie metod zdalnych

Wywoływanie metod zdalnych Wywoływanie metod zdalnych model systemu Wywoływanie metod zdalnych aplikacja kliencka interfejs obiekt serwer Podejście obiektowe do budowy systemów rozproszonych proxy szkielet sieć Istota podejścia

Bardziej szczegółowo

Polimorfizm, metody wirtualne i klasy abstrakcyjne

Polimorfizm, metody wirtualne i klasy abstrakcyjne Programowanie obiektowe Polimorfizm, metody wirtualne i klasy abstrakcyjne Paweł Rogaliński Instytut Informatyki, Automatyki i Robotyki Politechniki Wrocławskiej pawel.rogalinski pwr.wroc.pl Polimorfizm,

Bardziej szczegółowo

Aplikacja wielowątkowa prosty komunikator

Aplikacja wielowątkowa prosty komunikator Aplikacja wielowątkowa prosty komunikator Klient 0 (host 1) Wątek 0 Komponent serwera Wątek pochodny 3.1 Klient 1 (host 2) Wątek 1 Komponent serwera Wątek pochodny 3.2 Host 4 Serwer Wątek 3 Klient 2 (host

Bardziej szczegółowo

Modele dostępu do dokumentu XML. Implementacja modelu parser. SAX2 pakiet org.xml.sax. Działanie modelu SAX przykład

Modele dostępu do dokumentu XML. Implementacja modelu parser. SAX2 pakiet org.xml.sax. Działanie modelu SAX przykład Modele dostępu do dokumentu XML Wykorzystanie XML-a we własnych aplikacjach Pozwalają programistom na wysokopoziomowy dostęp do zawartości dokumentów XML : korzystamy z abstrakcyjnych obiektów, nie troszczymy

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

Iteracyjno-rozwojowy cykl oprogramowania cykl 2. Java Zofia Kruczkiewicz 1

Iteracyjno-rozwojowy cykl oprogramowania cykl 2. Java Zofia Kruczkiewicz 1 Iteracyjno-rozwojowy cykl oprogramowania cykl 2 Java Zofia Kruczkiewicz 1 Kod klasy Uchwyt Java Zofia Kruczkiewicz 2 package katalog1; public class Uchwyt { private Tytul_ksiazki mtytul_ksiazki; public

Bardziej szczegółowo

Przetwarzanie dokumentów XML i zaawansowane techniki WWW Wykład 05

Przetwarzanie dokumentów XML i zaawansowane techniki WWW Wykład 05 Plan Przetwarzanie dokumentów XML i zaawansowane techniki WWW Wykład 05 T. Romańczukiewicz Jagiellonian University 2009/2010 Plan Plan 1 DOM 2 DOM w innych językach 3 Podsumowanie Plan DOM DOM w innych

Bardziej szczegółowo

Obiektowe programowanie rozproszone Java RMI. Krzysztof Banaś Systemy rozproszone 1

Obiektowe programowanie rozproszone Java RMI. Krzysztof Banaś Systemy rozproszone 1 Obiektowe programowanie rozproszone Java RMI Krzysztof Banaś Systemy rozproszone 1 Java RMI Mechanizm zdalnego wywołania metod Javy (RMI Remote Method Invocation) posiada kilka charakterystycznych cech,

Bardziej szczegółowo

Przykład 1 Iteracja 1 tworzenia oprogramowania

Przykład 1 Iteracja 1 tworzenia oprogramowania Przykład 1 Iteracja 1 tworzenia oprogramowania Opis biznesowy świata rzeczywistego Wymagania funkcjonalne i niefunkcjonalne aplikacji Diagram przypadków życia Diagramy klas i sekwencji: Relacja 1 do 0..*

Bardziej szczegółowo

Zaawansowane aplikacje internetowe. Wykład 7. Implementacja procesów biznesowych w języku BPEL. wykład prowadzi: Maciej Zakrzewicz BPEL.

Zaawansowane aplikacje internetowe. Wykład 7. Implementacja procesów biznesowych w języku BPEL. wykład prowadzi: Maciej Zakrzewicz BPEL. Wykład 7 Implementacja procesów biznesowych w języku BPEL wykład prowadzi: Maciej Zakrzewicz BPEL Wymagania: 1 Plan wykładu Wprowadzenie do języka BPEL Definicja procesów BPEL z użyciem narzędzia Oracle

Bardziej szczegółowo

Oprogramowanie systemów równoległych i rozproszonych Wykład 7

Oprogramowanie systemów równoległych i rozproszonych Wykład 7 Wykład 7 p. 1/2 Oprogramowanie systemów równoległych i rozproszonych Wykład 7 Dr inż. Tomasz Olas olas@icis.pcz.pl Instytut Informatyki Teoretycznej i Stosowanej Politechnika Częstochowska Zdalne wywołanie

Bardziej szczegółowo

Pętle while, for, do while, instrukcje break, continue, switch 1. Pętle

Pętle while, for, do while, instrukcje break, continue, switch 1. Pętle Pętle while, for, while, instrukcje break, continue, switch 1. Pętle Przykład 1 - Pętla while public class lab4_3 public static void main(string[] args) char ch = 'a'; String s, wynik=""; while ( ch!=

Bardziej szczegółowo

Wywoływanie metod zdalnych

Wywoływanie metod zdalnych Wywoływanie metod zdalnych Podejście obiektowe do budowy systemów rozproszonych Wywoływanie metod zdalnych model systemu obiekt aplikacja kliencka interfejs serwer proxy szkielet sieć Istota podejścia

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

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

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 internetowe. Wykład 2. Komunikacja XML. wykład prowadzi: Maciej Zakrzewicz. Komunikacja XML

Zaawansowane aplikacje internetowe. Wykład 2. Komunikacja XML. wykład prowadzi: Maciej Zakrzewicz. Komunikacja XML Wykład 2 Komunikacja XML wykład prowadzi: Maciej Zakrzewicz Komunikacja XML 1 Plan wykładu Modelowanie dokumentów XML za pomocą drzew DOM Specyfikacja W3C DOM API Implementacja drzew DOM w języku Java

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

Wykład 7: Pakiety i Interfejsy

Wykład 7: Pakiety i Interfejsy Wykład 7: Pakiety i Interfejsy Plik Źródłowy w Javie Składa się z: instrukcji pakietu (pojedyncza, opcjonalna) instrukcji importujących (wielokrotne, opcjonalne) deklaracji klasy publicznej (pojedyncza,

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

Zaawansowany kurs języka Python

Zaawansowany kurs języka Python Wykład 5. 30 października 2013 Plan wykładu 1 2 3 4 yield from Zamiast Example for item in iterable: yield item: można pisać Example yield from iterable Plan wykładu 1 2 3 4 Przykłady wyrażeń regularnych

Bardziej szczegółowo

Programowanie w Internecie. Java

Programowanie w Internecie. Java Programowanie w Internecie Java Autor: dr inż. Zofia Kruczkiewicz Literatura: L. Lemay, R. Cadenhead P. Naughton Krzysztof Barteczko Boone Barry Java 2 dla każdego Podręcznik Języka Programowania Java

Bardziej szczegółowo

Programowanie obiektowe

Programowanie obiektowe Programowanie obiektowe Wykład 5 Marcin Młotkowski 23 marca 2017 Plan wykładu 1 2 3 4 5 Marcin Młotkowski Programowanie obiektowe 2 / 50 Historia Początkowe założenia Projekt OAK Sterowanie urządzeniami

Bardziej szczegółowo

Kurs programowania. Wykład 9. Wojciech Macyna. 28 kwiecień 2016

Kurs programowania. Wykład 9. Wojciech Macyna. 28 kwiecień 2016 Wykład 9 28 kwiecień 2016 Java Collections Framework (w C++ Standard Template Library) Kolekcja (kontener) Obiekt grupujacy/przechowuj acy jakieś elementy (obiekty lub wartości). Przykładami kolekcji sa

Bardziej szczegółowo

w PL/SQL bloki nazwane to: funkcje, procedury, pakiety, wyzwalacze

w PL/SQL bloki nazwane to: funkcje, procedury, pakiety, wyzwalacze w PL/SQL bloki nazwane to: funkcje, procedury, pakiety, wyzwalacze Cechy bloków nazwanych: w postaci skompilowanej trwale przechowywane na serwerze wraz z danymi wykonywane na żądanie użytkownika lub w

Bardziej szczegółowo

JĘZYK PYTHON - NARZĘDZIE DLA KAŻDEGO NAUKOWCA. Marcin Lewandowski [ mlew@ippt.gov.pl ]

JĘZYK PYTHON - NARZĘDZIE DLA KAŻDEGO NAUKOWCA. Marcin Lewandowski [ mlew@ippt.gov.pl ] JĘZYK PYTHON - NARZĘDZIE DLA KAŻDEGO NAUKOWCA Marcin Lewandowski [ mlew@ippt.gov.pl ] XML 2 XML XML jest formatem tekstowym Zjadliwy dla ludzi Zawiera treść (dane) oraz znaczniki (markup) Znaczniki i zależności

Bardziej szczegółowo

Java: interfejsy i klasy wewnętrzne

Java: interfejsy i klasy wewnętrzne Java: interfejsy i klasy wewnętrzne Programowanie w językach wysokiego poziomu mgr inż. Anna Wawszczak 1 INTERFEJSY Interfejs to opis co klasa implementująca dany interfejs powinna robić, ale bez określania

Bardziej szczegółowo

Programowanie obiektowe

Programowanie obiektowe Programowanie obiektowe Literatura: Autor: dr inŝ. Zofia Kruczkiewicz Java P. L. Krzysztof Lemay, Naughton Barteczko R. Cadenhead JAVA, Java Podręcznik 2 wykłady dla kaŝdego Języka i ćwiczenia Programowania

Bardziej szczegółowo

Plan prezentacji. Przetwarzanie dokumentów XML JAXP SAX JAXP SAX DOM STAX XSLT. Przedmiot: XML i jego zastosowania. Dr inż. Stanisław Polak JAXB

Plan prezentacji. Przetwarzanie dokumentów XML JAXP SAX JAXP SAX DOM STAX XSLT. Przedmiot: XML i jego zastosowania. Dr inż. Stanisław Polak JAXB Plan prezentacji Przedmiot: XML i jego zastosowania Dr inż. Stanisław Polak JAXP SAX DOM STAX XSLT Akademia Górniczo - Hutnicza w Krakowie, Katedra Informatyki http://www.icsr.agh.edu.pl/~polak/ JAXB Inne

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

Podejście obiektowe. Tablice obiektów Przykład 1 metody i atrybuty statyczne oraz niestatyczne

Podejście obiektowe. Tablice obiektów Przykład 1 metody i atrybuty statyczne oraz niestatyczne Podejście obiektowe. Tablice obiektów Przykład 1 metody i atrybuty statyczne oraz niestatyczne import javax.swing.*; import java.util.*; public class Napis4 { String wynik = ""; static int ile_obiektow

Bardziej szczegółowo

Ekspert radzi. mechanizm w enova, umożliwiający wskazanie domyślnej drukarki dla danego stanowiska i wydruku. Strona 1 z 8. Ekspert radzi.

Ekspert radzi. mechanizm w enova, umożliwiający wskazanie domyślnej drukarki dla danego stanowiska i wydruku. Strona 1 z 8. Ekspert radzi. Ekspert radzi mechanizm w enova, umożliwiający wskazanie domyślnej drukarki dla danego stanowiska i wydruku. Strona 1 z 8 Spis treści 1. Zarys rozwiązania...3 1.2 Case study...3 1.3 Wymagania...3 2. Projekt...3

Bardziej szczegółowo

XML w.net. Dominik Baś nr alb. 160345. Wrocław, 29 maja 2007

XML w.net. Dominik Baś nr alb. 160345. Wrocław, 29 maja 2007 XML w.net Dominik Baś nr alb. 160345 Wrocław, 29 maja 2007 Przetwarzanie dokumentów XML API: SAX Simple Api for XML - przetwarzanie strumieniowe DOM - Document Object Model - odwzorowanie dokumentu XML

Bardziej szczegółowo

Laboratorium 03: Podstawowe konstrukcje w języku Java [2h]

Laboratorium 03: Podstawowe konstrukcje w języku Java [2h] 1. Typy. Java jest językiem programowania z silnym systemem kontroli typów. To oznacza, że każda zmienna, atrybut czy parametr ma zadeklarowany typ. Kompilator wylicza typy wszystkich wyrażeń w programie

Bardziej szczegółowo

XML i Java 1. XML. 1.1. Budowa dokumentu XML. Projektowanie systemów informatycznych

XML i Java 1. XML. 1.1. Budowa dokumentu XML. Projektowanie systemów informatycznych 1. XML 1.1. Budowa dokumentu XML XML i Java XML (ang. Extensible Markup Language) rozszerzalny język znaczników. Jest to standard mający bardzo szeroki zakres zastosowań. Dokument XML składa się z następujących

Bardziej szczegółowo

Perl a XML. Narzędzia informatyczne w językoznawstwie. Generowanie danych XML - Przykład. Generowanie danych XML. Perl - Przetwarzanie XML

Perl a XML. Narzędzia informatyczne w językoznawstwie. Generowanie danych XML - Przykład. Generowanie danych XML. Perl - Przetwarzanie XML Perl a XML Narzędzia informatyczne w językoznawstwie Perl - Przetwarzanie XML Marcin Junczys-Dowmunt junczys@amu.edu.pl Zakład Logiki Stosowanej http://www.logic.amu.edu.pl 31 modułów w CPAN zawiera w

Bardziej szczegółowo

Systemy operacyjne na platformach mobilnych

Systemy operacyjne na platformach mobilnych Systemy operacyjne na platformach mobilnych Wykład 4 Grzegorz Jabłoński, Piotr Perek Katedra Mikroelektroniki i Technik Informatycznych Zagadnienia wykładu Menadżer połączeń Usługi HTTP Klient HTTP Żądanie

Bardziej szczegółowo

Środowisko publikacyjne oparte na XML-u. Szymon Zioło 1 maja 2004

Środowisko publikacyjne oparte na XML-u. Szymon Zioło 1 maja 2004 Środowisko publikacyjne oparte na XML-u Szymon Zioło 1 maja 2004 Przygotowywanie serwisu internetowego Role biznesowe: redakcja treści (autor), styl, redakcja graficzna (grafik), organizacja witryny (redaktor).

Bardziej szczegółowo

libxml2 parser DOM dla C++ czwartek, 8 grudnia 11

libxml2 parser DOM dla C++ czwartek, 8 grudnia 11 libxml2 parser DOM dla C++ 1 SAX vs. DOM Dwa podstawowe typy API do przetwarzania dokumentów XML: Oparte na drzewach (ang. Tree-based API) - mapują strukturę dokumentu do drzewa i pozwalają użytkownikowi

Bardziej szczegółowo

Java RMI. Dariusz Wawrzyniak 1. Podejście obiektowe do budowy systemów rozproszonych. obiekt. interfejs. kliencka. sieć

Java RMI. Dariusz Wawrzyniak 1. Podejście obiektowe do budowy systemów rozproszonych. obiekt. interfejs. kliencka. sieć interfejs (w języku Java), wywiedziony z Remote obiekt Podejście obiektowe do budowy systemów rozproszonych aplikacja kliencka stub interfejs serwer szkielet sieć Mechanizm RMI umożliwia tworzenie obiektów

Bardziej szczegółowo

STRUMIENIE DANYCH, SERIALIZACJA OBIEKTÓW

STRUMIENIE DANYCH, SERIALIZACJA OBIEKTÓW STRUMIENIE DANYCH, SERIALIZACJA OBIEKTÓW 1. Procedura korzystania ze strumieni danych Aby utworzyć plik: 1) Należy utworzyć obiekt (np. typu FileOutputStream), powiązany ze plikiem danych binarnych (np.

Bardziej szczegółowo

Kurs języka Python Wykład 8. Przetwarzanie tekstu Wyrażenia regularne Biblioteka urllib Parsowanie html'a XML

Kurs języka Python Wykład 8. Przetwarzanie tekstu Wyrażenia regularne Biblioteka urllib Parsowanie html'a XML Kurs języka Python Wykład 8. Przetwarzanie tekstu Wyrażenia regularne Biblioteka urllib Parsowanie html'a XML Wyrażenia regularne c:\> dir *.exe $ rm *.tmp Wyrażenia regularne 'alamakota' '(hop!)*' { '',

Bardziej szczegółowo

Program wykładów. Aplikacje internetowe i rozproszone. Podstawy usługi WWW. Architektury aplikacji intrai internetowych

Program wykładów. Aplikacje internetowe i rozproszone. Podstawy usługi WWW. Architektury aplikacji intrai internetowych Program wykładów Aplikacje internetowe i rozproszone dr inż. Maciej Zakrzewicz mzakrz@cs.put.poznan.pl http://www.cs.put.poznan.pl/~mzakrz/ Architektury aplikacji intra- i internetowych (WWW, HTTP, HTTPS,

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

Bloki anonimowe w PL/SQL

Bloki anonimowe w PL/SQL Język PL/SQL PL/SQL to specjalny język proceduralny stosowany w bazach danych Oracle. Język ten stanowi rozszerzenie SQL o szereg instrukcji, znanych w proceduralnych językach programowania. Umożliwia

Bardziej szczegółowo

Podejście obiektowe do budowy systemów rozproszonych

Podejście obiektowe do budowy systemów rozproszonych Podejście obiektowe do budowy systemów rozproszonych interfejs (w języku Java), wywiedziony z Remote obiekt aplikacja kliencka interfejs serwer stub szkielet sieć Dariusz Wawrzyniak 1 Mechanizm RMI umożliwia

Bardziej szczegółowo

Java RMI. Dariusz Wawrzyniak 1. Podejście obiektowe do budowy systemów rozproszonych. obiekt. interfejs. kliencka. sieć

Java RMI. Dariusz Wawrzyniak 1. Podejście obiektowe do budowy systemów rozproszonych. obiekt. interfejs. kliencka. sieć Podejście obiektowe do budowy systemów rozproszonych interfejs (w języku Java), wywiedziony z Remote obiekt aplikacja kliencka interfejs serwer stub szkielet sieć Mechanizm RMI umożliwia tworzenie obiektów

Bardziej szczegółowo

Wątki. Definiowanie wątków jako klas potomnych Thread. Nadpisanie metody run().

Wątki. Definiowanie wątków jako klas potomnych Thread. Nadpisanie metody run(). Wątki Streszczenie Celem wykładu jest wprowadzenie do obsługi wątków w Javie. Czas wykładu 45 minut. Definiowanie wątków jako klas potomnych Thread Nadpisanie metody run(). class Watek extends Thread public

Bardziej szczegółowo

Aplikacje RMI https://docs.oracle.com/javase/tutorial/rmi/overview.html

Aplikacje RMI https://docs.oracle.com/javase/tutorial/rmi/overview.html Aplikacje RMI https://docs.oracle.com/javase/tutorial/rmi/overview.html Dr inż. Zofia Kruczkiewicz wykład 4 Programowanie aplikacji internetowych, wykład 4 1 1. Zadania aplikacji rozproszonych obiektów

Bardziej szczegółowo

Kurs programowania. Wykład 1. Wojciech Macyna. 3 marca 2016

Kurs programowania. Wykład 1. Wojciech Macyna. 3 marca 2016 Wykład 1 3 marca 2016 Słowa kluczowe języka Java abstract, break, case, catch, class, const, continue, default, do, else, enum, extends, final, finally, for, goto, if, implements, import, instanceof, interface,

Bardziej szczegółowo

PHP. Tematyka wykładów: Język PHP PHP i bazy danych Rozszerzenia PHP

PHP. Tematyka wykładów: Język PHP PHP i bazy danych Rozszerzenia PHP PHP Tematyka wykładów: Język PHP PHP i bazy danych Rozszerzenia PHP PHP i bazy danych Plan wykładu: Wprowadzenie Buforowanie stron Uwierzytelnianie Sesje Baza danych COM, DLL XML Podsumowanie Wprowadzenie

Bardziej szczegółowo

Aplikacja wielow tkowa prosty komunikator

Aplikacja wielow tkowa prosty komunikator Aplikacja wielow tkowa prosty komunikator Klient 0 (host 1) W tek 0 Komponent serwera W tek pochodny 3.1 Klient 1 (host 2) W tek 1 Komponent serwera W tek pochodny 3.2 Host 4 Serwer W tek 3 Klient 2 (host

Bardziej szczegółowo

Sposoby tworzenia projektu zawierającego aplet w środowisku NetBeans. Metody zabezpieczenia komputera użytkownika przed działaniem apletu.

Sposoby tworzenia projektu zawierającego aplet w środowisku NetBeans. Metody zabezpieczenia komputera użytkownika przed działaniem apletu. Sposoby tworzenia projektu zawierającego aplet w środowisku NetBeans. Metody zabezpieczenia komputera użytkownika przed działaniem apletu. Dr inż. Zofia Kruczkiewicz Dwa sposoby tworzenia apletów Dwa sposoby

Bardziej szczegółowo

JAVA. Java jest wszechstronnym językiem programowania, zorientowanym. apletów oraz samodzielnych aplikacji.

JAVA. Java jest wszechstronnym językiem programowania, zorientowanym. apletów oraz samodzielnych aplikacji. JAVA Java jest wszechstronnym językiem programowania, zorientowanym obiektowo, dostarczającym możliwość uruchamiania apletów oraz samodzielnych aplikacji. Java nie jest typowym kompilatorem. Źródłowy kod

Bardziej szczegółowo

Java. Wykład. Dariusz Wardowski, Katedra Analizy Nieliniowej, WMiI UŁ

Java. Wykład. Dariusz Wardowski, Katedra Analizy Nieliniowej, WMiI UŁ Procesy i wątki Proces posiada samodzielne środowisko wykonawcze. Proces posiada własny zestaw podstawowych zasobów w czasie wykonywania; W szczególności, każdy proces ma własną przestrzeń pamięci. W uproszczeniu

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

Laboratorium Programowania Kart Elektronicznych

Laboratorium Programowania Kart Elektronicznych Laboratorium Programowania Kart Elektronicznych Programowanie JavaCard Marek Gosławski Przygotowanie do zajęć dokumentacja JavaCard i GlobalPlatform środowisko programistyczne karta JavaCard Potrzebne

Bardziej szczegółowo

Wprowadzenie do technologii Web Services: SOAP, WSDL i UDDI

Wprowadzenie do technologii Web Services: SOAP, WSDL i UDDI Wprowadzenie do technologii Web Services: SOAP, WSDL i UDDI Maciej Zakrzewicz PLOUG mzakrz@cs.put.poznan.pl Plan prezentacji Wprowadzenie do architektury zorientowanej na usługi Charakterystyka technologii

Bardziej szczegółowo

SOAP. Autor: Piotr Sobczak

SOAP. Autor: Piotr Sobczak SOAP Autor: Piotr Sobczak AGENDA: Trochę o Web Services Wprowadzenie do SOAP Anatomia komunikatu SOAP Wysyłanie i otrzymywanie komunikatu SOAP oraz API Javy w przykładach SOAP z załącznikami SOAP-RPC Obsługa

Bardziej szczegółowo

Kurs rozszerzony języka Python

Kurs rozszerzony języka Python Wykład 5. 3 listopada 2017 Plan wykładu 1 2 3 Plan wykładu 1 2 3 Przykłady wyrażeń regularnych W systemie windows c:\windows\system32> dir *.exe Wynik accwiz.exe actmovie.exe ahui.exe alg.exe append.exe

Bardziej szczegółowo

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

Język JAVA podstawy. Wykład 6, część 2. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna Język JAVA podstawy Wykład 6, część 2 Jacek Rumiński 1 Język JAVA podstawy Plan wykładu: 1. Wprowadzenie do operacji wejścia/wyjścia: strumienie 2. Podstawowe klasy strumieni i InputStream/OutputStream

Bardziej szczegółowo

Podejście obiektowe. Tablice (1) obiektów

Podejście obiektowe. Tablice (1) obiektów 1. Tablice Tablica w Javie jest obiektem. Podejście obiektowe. Tablice (1) obiektów Deklarowanie tablicy String [] nazwy; //równowaŝne deklaracje zmiennej tablicowej String nazwy []; int liczby[]; //zamienna

Bardziej szczegółowo

Kotwasiński Obsługa XMLa z poziomu Javy

Kotwasiński Obsługa XMLa z poziomu Javy Obsługa XMLa z poziomu Javy Adam 5 kwietnia 2009 Co możemy zrobić odczyt zawartości dokumentów XML modyfikacja i zapis dokumentów walidacja dokumentu podczas parsowania przed zapisaniem wzdględem DTD,

Bardziej szczegółowo

Plan wykładu CORBA. Cechy aplikacji rozproszonych. Aplikacje rozproszone

Plan wykładu CORBA. Cechy aplikacji rozproszonych. Aplikacje rozproszone Plan wykładu CORBA Wprowadzenie Architektura CORBA IDL język definicji interfejsów ORB Object Request Broker Usługi i POA Aplikacje CORBA tworzenie serwera tworzenie klienta Aplikacje rozproszone Cechy

Bardziej szczegółowo

Programowanie, algorytmy i struktury danych

Programowanie, algorytmy i struktury danych 1/44 Programowanie, algorytmy i struktury danych materiały do wykładu: http://cez.wipb.pl/moodle/ email: m.tabedzki@pb.edu.pl strona: http://aragorn.pb.bialystok.pl/~tabedzki/ Marek Tabędzki Wymagania

Bardziej szczegółowo

Implementacja aplikacji biznesowych w technologii WS-BPEL

Implementacja aplikacji biznesowych w technologii WS-BPEL Implementacja aplikacji biznesowych w technologii WS-BPEL Maciej Zakrzewicz mzakrz@cs.put.poznan.pl Plan wykładów Wprowadzenie do języka BPEL Definicja procesów BPEL z użyciem narzędzia Oracle JDeveloper

Bardziej szczegółowo

Programowanie obiektowe i zdarzeniowe

Programowanie obiektowe i zdarzeniowe Marek Tabędzki Programowanie obiektowe i zdarzeniowe 1/23 Programowanie obiektowe i zdarzeniowe wykład 6 polimorfizm Na poprzednim wykładzie: dziedziczenie jest sposobem na utworzenie nowej klasy na podstawie

Bardziej szczegółowo

Biblioteki dzielone, XML i readline

Biblioteki dzielone, XML i readline Bogdan Kreczmer bogdan.kreczmer@pwr.edu.pl Katedra Cybernetyki i Robotyki Politechnika Wrocławska Kurs: Copyright c 2017 Bogdan Kreczmer Niniejszy dokument zawiera materiały do wykładu dotyczącego programowania

Bardziej szczegółowo

Wielowątkowość. Programowanie w środowisku rozproszonym. Wykład 1.

Wielowątkowość. Programowanie w środowisku rozproszonym. Wykład 1. Wielowątkowość Programowanie w środowisku rozproszonym. Wykład 1. Informacje organizacyjne Wymiar godzin: W-30, LAB-15 Zaliczenie wykonanie kilku programów i ich zaliczenie (w trakcie zajęć laboratoryjnych)

Bardziej szczegółowo

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

Język JAVA podstawy. Wykład 4, część 1. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna Język JAVA podstawy Wykład 4, część 1 1 Język JAVA podstawy Plan wykładu: 1. Podstawy modelowania obiektowego 2. Konstruktory 3. Dziedziczenie, związki pomiędzy klasami, UML 4. Polimorfizm 5. Klasy abstrakcyjne

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

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

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

Zaawansowane aplikacje internetowe - laboratorium Architektura CORBA.

Zaawansowane aplikacje internetowe - laboratorium Architektura CORBA. Zaawansowane aplikacje internetowe - laboratorium Architektura CORBA. Celem ćwiczenia jest przygotowanie prostej aplikacji wykorzystującej architekturę CORBA. Aplikacja składa się z usługodawcy (serwera)

Bardziej szczegółowo

Zaawansowane aplikacje internetowe - laboratorium Architektura CORBA.

Zaawansowane aplikacje internetowe - laboratorium Architektura CORBA. Zaawansowane aplikacje internetowe - laboratorium Architektura CORBA. Celem ćwiczenia jest przygotowanie prostej aplikacji wykorzystującej architekturę CORBA. Aplikacja składa się z usługodawcy (serwera)

Bardziej szczegółowo

Metryki. Przykłady pomiaru złożoności modułowej i międzymodułowej oprogramowania. autor: Zofia Kruczkiewicz

Metryki. Przykłady pomiaru złożoności modułowej i międzymodułowej oprogramowania. autor: Zofia Kruczkiewicz Metryki Przykłady pomiaru złożoności modułowej i międzymodułowej oprogramowania autor: Zofia Kruczkiewicz 1 Dodatek Powtórka z metryk ilustrowana wynikami pomiaru realizowanymi przez narzędzia ckjm 1.8,

Bardziej szczegółowo

XML in own applications

XML in own applications XML in own applications Patryk Czarnik Institute of Informatics University of Warsaw XML and Modern Techniques of Content Management 2010/11 Introduction XML in own applications Models Generyczne drzewo

Bardziej szczegółowo

Bartosz Jachnik - Kino

Bartosz Jachnik - Kino Bartosz Jachnik - Kino I. Opis bazy Prezentowana baza danych stworzona została na potrzeby prowadzenia kina. Zawiera ona 8 tabel, które opisują filmy grane w danym okresie w kinie, wraz ze szczegółowym

Bardziej szczegółowo

dziedziczenie - po nazwie klasy wystąpią słowa: extends nazwa_superklasy

dziedziczenie - po nazwie klasy wystąpią słowa: extends nazwa_superklasy PODSTAWOWE ELEMENTY JĘZYKA JAVA TYPY DANYCH, OPERATORY I INSTRUKCJE 1. Definicja klasy, dziedziczenie, implementowanie metod interfejsów class nazwa_klasy //ciało klasy Klasa: przed słowem class moŝe wystąpić

Bardziej szczegółowo

JAVA bazy danych. na bazie: Język Java - Podstawy Programowania - Jacek Rumiński

JAVA bazy danych. na bazie: Język Java - Podstawy Programowania - Jacek Rumiński JAVA bazy danych na bazie: Język Java - Podstawy Programowania - Jacek Rumiński Plan wykładu Sposoby połączenia z bazą danych Sterowniki JDBC Połączenie z bazą danych poprzez JDBC Język SQL (Structured

Bardziej szczegółowo

Języki Programowania II Wykład 3. Java podstawy. Przypomnienie

Języki Programowania II Wykład 3. Java podstawy. Przypomnienie Języki Programowania II Wykład 3 Java podstawy Przypomnienie Analiza, projektowanie, programowanie, testowanie, wdrażanie Iteracyjnie nie kaskadowo Przypadki użycia = opowiastki o używaniu systemu = wymagania

Bardziej szczegółowo

Java. Programowanie Obiektowe Mateusz Cicheński

Java. Programowanie Obiektowe Mateusz Cicheński Java Programowanie Obiektowe Mateusz Cicheński Wielowątkowość Proces a wątek? Thread vs Runnable sleep(), interrupt(), join() Problemy wielowątkowości Obiekty niemodyfikowalne (immutable) Serializacja

Bardziej szczegółowo

Programowanie obiektowe zastosowanie języka Java SE

Programowanie obiektowe zastosowanie języka Java SE Programowanie obiektowe zastosowanie języka Java SE Wstęp do programowania obiektowego w Javie Autor: dr inŝ. 1 Java? Java język programowania obiektowo zorientowany wysokiego poziomu platforma Javy z

Bardziej szczegółowo