Nätverk Internet. Databasdrivna applikationer och applikationer som använder databaser. Internet. Ett nätverk. Varför nätverksapplikationer?

Storlek: px
Starta visningen från sidan:

Download "Nätverk Internet. Databasdrivna applikationer och applikationer som använder databaser. Internet. Ett nätverk. Varför nätverksapplikationer?"

Transkript

1 Databasdrivna applikationer och applikationer som använder databaser Nätverk (Internet) Webbservrar (mest Apache) Programspråk CGI Java Servlets JSP Applikationsservrar (Tomcat) Databaser med Perl Databaser med PHP Databaser med Java Lite om CA Varför nätverksapplikationer? Nätverk Internet Allt större behov av program som kommunicerar över (stora) avstånd, t.ex. WWW, och news med asynkron kommunikation. Också behov av program där användaren är väl medveten om att (någon i) omgivningen vill ha direktkommunikation, t.ex chatt (delade anslagstavlor), whiteboards, delade ordbehandlare, styrssystem (robotar mm) och (inte minst) spel. Finns stöd i dagens nätverk (tex Internet) 2D1470 Bildserie 5 bild 1 2D1470 Bildserie 5 bild 2 Ett nätverk Internet Ett nätverk är en samling av datorer eller annan utrustning som kopplats samman. Termer nod en maskin i nätverket (dator, skrivare, läskautomat,... ) värd nod som är komplett dator kallas för värd adress varje nod i nätverket har en unik adress paket moderna nätverk är paket-baserade, dvs informationen bryts ner till och skickas som paket. Varje paket hanteras för sig. protokoll specifikation för hur kommunikationen i nätverket skall gå till. Internet är det mest kända nätverket och idag det mest spridda Designat för att vara robust Första versionen konstruerat av ARPA (en myndighet inom USAs försvar). Kallades ARPANET som sedan "växt uttill Internet. (ARPANET) första versionen Då med ett fåtal anslutna datorer 2D1470 Bildserie 5 bild 3 2D1470 Bildserie 5 bild 4

2 Ett nätverks kommunikationslager IP / TCP / UDP Applikationslager (HTTP, FTP, Telnet,...) Transportlager (TCP, UDP,...) Nätverkslager (IP,...) Logisk förbindelse Fysiskt lager (Ethernet, FDDI, Local Talk, drivrutiner,...) Applikationslager (HTTP, FTP, Telnet,...) Transportlager (TCP, UDP,...) Nätverkslager (IP,...) Applikationsprogrammerare arbetar oftast i det övre lagret För speciella distribuerade tillämpningar kan man tvingas arbeta även i transportlagret Övriga lager behöver vi normalt inte bry oss om IP, Internet Protocol protokollet som används på nätverksnivå av Internet TCP, Transport Control Protocol ett anslutningsbaserat protokoll som erbjuder tillförlitligt datautbyte mellan två noder. Upprätthåller anslutningen tills den kopplas ner. UDP, User Datagram Protocol ett protokoll som tillåter skickande av oberoende paket av data från en nod till en annan utan att varken garantera att paketen kommer fram eller ordningen mellan dem är samma vid mottagandet som vid utskickandet. Öppnar förbindelsen, skickar ett paket släpper förbindelsen. 2D1470 Bildserie 5 bild 5 2D1470 Bildserie 5 bild 6 IP-adress, DNS Varje dator på Internet identifieras med ett fyra-bytes tal Många datorer har fasta nummer andra tilldelas temporära nummer då de ansluter 32 bitar räcker till 2 32 = adresser men det räcker ändå inte så det finns ett förslag, IPv6, med 128 bitars adresser, dvs = adresser (som ju bör räcka ett tag) DNS (Domain Name Server). IP-adresser är svåra att komma ihåg för människor Därför konstruerades DNS som kan översätta mer lättihågkomna namn till IP-adresser. T.ex. blir = Portar Varje dator med en IP-adress har ett antal logiska portar för att kommunicera med sin omgivning. En port är ett 16-bitars tal, d.v.s. ett tal mellan 0 och Vissa är reserverade. På Unix/Linux hittar man de reserverade i /etc/services. Internet och Intranet Internet är ett världsomspännande nätverk. Via gateways kan man isolera delar och bygga lokala nätverk, där varje nod har ett IP som är unikt bara lokalt. Dessa lokala nätverk kallas Intranet. 2D1470 Bildserie 5 bild 7 2D1470 Bildserie 5 bild 8

3 Klient-server-applikationer Idag är klient-server-modellen vanligast för distribuerade, samarbetande program. en klient ber en server om en viss tjänst en server utför tjänster åt klienter Inte alla typer av applikationer passar in i klient-server-modellen. T.ex. kan båda ändarna vara server och klient samtidigt. Man brukar då prata om kommunikation peer-to-peer. T.ex. en delad riteditor, ett nätverksspel eller en telefonförbindelse HTTP, HTML, XHTML, MIME och URL HTTP (Hypertext Transfer Protocol) beskriver hur webbklineter och webbservrar utbyter data. HTML (HyperText Markup Language) nuvarande standardspråk för konstruktion av webbsidor XHTML (extensible HTML) nya standarden, strikt delmängd av XML MIME (Multipurpose Internet Mail Extensions) beskriver hur multimediadata skall skickas via e-post URL (Uniform Resource Locator) definierar hur en fil unikt kan identifieras på internet 2D1470 Bildserie 5 bild 9 2D1470 Bildserie 5 bild 10 CGI och Server Side Includes Databasapplikationer CGI (Common Gateway Interface) är ett system för att kunna köra program lokalt på servern, inititerade från HTTP-servern. Används fortfarande men anses (med rätta) säkerhetsmässigt vara svarta hål. Server Side Includes är en modernare variant som är tämligen klumpig och bör ersättas av ASP (som dock fungerar bäst bara på Windows), JSP, PHP eller liknande. Klient Presenta tionslager HTML XHTML XML Applet HTTP Webbserver Säkerhets hanterare Fellog Applikationslager Applikationsserver JSP JSP motor Servlets Servletmotor JVM Böna Böna Anslut ningspool JDBC JavaMail JNDI RMI Datalager DB Mailserver Katalogservice Java applikation Klient appl Sessioner Strömmar Socketar Serialisering Böna Böna Böna Böna Sessionsbönor Entitetsbönor EJB server PHP motor IIOP Jini CA applikation Java Spaces Filsystemet 2D1470 Bildserie 5 bild 11 2D1470 Bildserie 5 bild 12

4 Systemarkitektur Flerlagerapplikationer / Multi-tier / n-tier Klientlagret (topplagret) Applikationens användargränssnitt Användarna interagerar direkt med applikationen via detta lager Applikationslagret (mellanlagret) Implementerar affärs- och presentationslogiken Kontrollerar interaktionen mellan applikationen och dess data Datalagret (informationslagret / bottenlagret) Hanterar applikationens data (ofta lagrad i en databas) webbservrar Det finns många och de mest använda är Apache Open source-programvara, gratis att ladda ner för vem som helst. En gång installerad brukar den starta automatiskt, oftast med en standard -konfiguration. Fullständigt konfigurerbar och världens mest spridda webbserver. Finns till i stort sett varje plattform. Har 67 % av marknaden. IIS Microsoftprogramvara som följer med MS Windows. Enkelt konfigurerbar men finns bara till Windows. MS säljer 5 olika servrar i många olika varianter. Har 21,5 % av marknaden (summan av alla 5) 2D1470 Bildserie 5 bild 13 2D1470 Bildserie 5 bild 14 webbservrar... SunONE Sun säljer 7 olika servrar och har totalt för alla 7 3,25% av marknaden och fungerar på alla plattformar som kan köra Java. Avsedda för mycket höga transaktionsvolymer. Zeus kommer på 4:e plats med 1,5 %. Finns för alla plattformar. Avsedd för mycket höga transaktionsvolymer på system med mer än en CPU. Lastbalanserande. webbservrar... Utvecklingen har varit enorm, från servrar i augusti 1995 till 50 millioner i början på maj Internetadresserna räcker snart inte till. Spam och phishing är två globala problem. Trots det är det värt mödan att snegla på hur program fungerar med dels uppdelningen, dels de olika teknikerna. XML har vi redan tittat lite på. Övriga 6,75 % täcks av ett otal högt specialiserade servrar. 2D1470 Bildserie 5 bild 15 2D1470 Bildserie 5 bild 16

5 Skript på klientsidan kontra på serversidan Skript på klientsidan Validerar användarinmatning Minskar trafiken med server Kan hantera webläsare mm Kan skapa dynamiska effekter på websidorna via tex DHTML, ActiveX, applets, flash, mm Skript på serversidan Accessa webservrar Be om dokument från webserver m.h.a. värddatornamn på lokal server via localhost eller Webservrar placerade utanför egna domänen via maskinnamn + domännamn + subdomän över DNS (Domain Name Server) eller via IP-adress Exekverar på server Skapar svar anpassade till olika klienter Många programmeringsmöjligheter Kan utnyttja mjukvara på servern som utökar serverns funktionalitet 2D1470 Bildserie 5 bild 17 2D1470 Bildserie 5 bild 18 Apache Startas och stoppas på Windows via startmenyn Programs Control Apache Server där man får menyalternativen start, stop och restart. Startas och stoppas på Linux/Unix (som root) via /etc/inint.d/httpd + något av argumenten start, stop eller restart. Kör default på port 80, men kan startas på vilken port som helst. Hur lägger jag upp sidor i Apache? På windows i katalogen Apache/htdocs eller i en underkatalog till denna. I Unix/Linux kan man välja ganska fritt och skriva i konfigurationsfilen var filernas katalogträd har sin rot. I de flesta Linux-distributionerna är /var/www/html default. Man kan också ange vilka filer som servern ska leta efter om ingen fil anges i sökuttrycket utan endast katalog angivits. I konfigurationsfilen sätter man detta i variabeln DirectoryIndex. Anges mer än en filändelse letar servern i den ordning som anges i konfigurationsfilen. Apache kan fås att acceptera eller förkasta CGI. Om man accepterar CGI kan man skriva programmen i snart sagt vad som helst (Perl, PHP, Python, TCL,... ) 2D1470 Bildserie 5 bild 19 2D1470 Bildserie 5 bild 20

6 Ett av de vanligaste CGI-språken Open Source (gratis) Perl Egentligen utvecklat för textmanipulation (gör ju att det är idealiskt för webben och för shellscript) Enkelt att använda, praktiskt snarare än snyggt. Mängder av tredjepartsmoduler, klarar allt Perlprogram #!/usr/bin/perl print "Content-type: text/html\n\n"; print "<html>\n<body>\n"; print "Hello World!\n"; print "</body>\n</html>\n"; Kan hantera omgivningen till programmet så man bör förhindra att Perlprogram tillåts skriva på filsystemet. Finns för alla plattformar Fungerar ihop med alla webbservrar (tror jag) 2D1470 Bildserie 5 bild 21 2D1470 Bildserie 5 bild 22 Hypertext Preprocessor Exekveras på servern PHP Kraftfullt databasstöd (MySQL, Informix, Oracle, Sybase, Solid, PostgreSQL, Generic ODBC, etc.) Open source Fritt att ladda ner och använda <html> <head> <title>php Test</title> </head> <body> <?php print "Hello World";?> </body> </html> PHP Mycket stöd online, se t.ex. eller 2D1470 Bildserie 5 bild 23 2D1470 Bildserie 5 bild 24

7 PHP Det finns ett bra exempel på PHP-skript på /info/oodb04/förel där php-skriptet innehåller deklarerade variabler och sätter dessa m.a.p. inmatning i ett inmatningsfönster och skriver om sidan så att webbläsaren uppfattar den som en ny sida. Dessa skript accessar antingen en informix- eller en postgresql-databas för att hämta data ur den och presenterar resultatet på en (omskriven) sida. PHP PHP kan innehålla text, HTML-taggar och script/programkod PHP filer returneras till Browsern som ren HTML PHP-filer har något av suffixen.php,.php3 eller.phtml 2D1470 Bildserie 5 bild 25 2D1470 Bildserie 5 bild 26 PHP och databaser PHP fungerar bra ihop med de flesta av databashanterarna. MySQL är mycket vanligt på site -r byggda med PHP. PostgreSQL likaså. Båda är GPL/Open Source. Båda är utmärkta val för små till medelstora webbplatser / applikationer. Båda fungerar på de flesta av plattformarna. Båda använder standard SQL, MySQL med några begränsningar. PHP kombinerat med antingen MySQL eller postgresql är plattformsneutral. Applikationsservrar Mellanlagret kan bestå av CGI, PHP eller en applikationsserver (eller en kombination av dessa) + webbserver. Det finns många applikationsservrar. Några är GPL / OSS. Bland dessa finner vi PHPAppl Appl.Serv. för PHP avsedd för att underlätta bygge av webbplats LiteWebServer från Gefion, miniversion av Apache Tomcat JBoss Java-applikationsserver med mycket gemensamt med Tomcat Tomcat från Apache. Tomcat är egentligen en referensimplementation för test av distribuerade Javaapplikationer byggda på servlets. Sun Java System Application Server som flera andra nerladdningsbar gratis utvecklingsversion. De flesta av de kommersiella är specialiserade på något sätt. Tomcat är ojämförligt störst. Jag använder gärna utvecklingsversionen av Orion. Enkel, trevlig, lätt att använda. 2D1470 Bildserie 5 bild 27 2D1470 Bildserie 5 bild 28

8 Tomcat referensimplementation för Java Servlets och Java Server Pages fungerar som en container program som accessas via Tomcat instansieras första gången och lever sedan kvar i containern Servlets En servlet är ett program som körs på serversidan ungefär som CGI-skript Kan kommunicera med databaser, filsystemet, andra program Anropas från en wbbläsare eller från en form på en webbsida Effektivt trådar istället för OS-processer Bekvämt massor med högnivåfaciliteter Kraftfullt dela data, poolning, persistens Portabelt kan köras på massor av plattformar och servrar Säkert körs i en skyddad miljö kontrollerad av en applikationsserver, ingen overflow Resursmässigt billigt 2D1470 Bildserie 5 bild 29 2D1470 Bildserie 5 bild 30 Servlets import java.io.*; import javax.servlet.*; import javax.servlet.http.*; public class ServletTemplate extends HttpServlet { public void doget(httpservletrequest request, HttpServletResponse response) throws ServletException, IOException { // Use "request" to read incoming HTTP headers // (e.g., cookies) and query data from HTML forms. // Use "response" to specify the HTTP response status // code and headers (e.g. the content type, cookies). PrintWriter out = response.getwriter(); // Use "out" to send content to browser Enkel servlet genererar text (Hello world!) import java.io.*; import javax.servlet.*; import javax.servlet.http.*; public class HelloWorld extends HttpServlet { public void doget(httpservletrequest request, HttpServletResponse response) throws ServletException, IOException { PrintWriter out = response.getwriter(); out.println("hello World"); 2D1470 Bildserie 5 bild 31 2D1470 Bildserie 5 bild 32

9 Servlets Suns tutorial för servlets kan initieras m.h.a. XML kan initieras m.h.a. forms i webbsida En servlet har tillgång till mycket info som skickas via HTMLprotokollet. Man kan se hur den anropades (GET / POST), vilken URI som angavs, vilka browser klienten har, vilken dator som klienten befinner sig på m.m. Cookies kan användas för att koppla data till viss användare Namn/lösen (försiktighet krävs dock!), var man varit på siten, varukorg eller liknande En cookie lagras på klientens dator Då man ansluter nästa gång kan man läsa av cookien hos servern Cookies kan användas för att hantera en användares sessioner på servern (man kan använda annat också, t.ex. URL-rewriting, Hidden forms men det är klumpigare) Java servlets erbjuder speciella sessionmekanismer som döljer den faktiska metod som används JSP JSP (Java Server Pages) är Java inbäddat i webbsidors kod. Man kan alltså blanda HTML(XHTML) med javakod, ge filen efternamnet.jsp och voila Tomcat/Cocoon (eller... ) hanterar sidan, filtrerar ut och exekverar JSP-(Java-)koden och presenterar resultatet (= skickar den genererade strömmen till sitt standard output ) Kraftfullare än ASP (Basic) och framför allt mer portabelt Kraftfullare än PHP (man har hela Java tillgängligt) Översätts till servlets. Har man beräkningstunga program kan det vara ide att skriva servlets. För dynamisk HTML kan man använda JSP. Har en rikare flora av verktyg jämfört med SSI (Server Side Includes) Kraftfullare än JavaScript (och exekverar på servern syns inte i HTML-sidan) Kan integreras med servlets 2D1470 Bildserie 5 bild 33 2D1470 Bildserie 5 bild 34 Perl och databaser Till Perl finns en modul, DBI, som tillhandahåller stöd för diverse databaser, DBD::mysql heter drivern för MySQL. #!C:\Perl\bin\perl # Fig : fig25_19.pl from Deitel&Deitel # Internet & World Wide Web How to Program 3:d Edition # CGI program that generates a list of authors. use CGI qw( :standard ); use DBI; use DBD::mysql; $dtd = "-//W3C//DTD XHTML 1.0 Transitional//EN\" \" print( header() ); Perl och databaser... print( start_html( { dtd => $dtd, title => "Authors" ) ); $databasehandle = DBI->connect( "DBI:mysql:books", "root", "", { RaiseError => 1 ); $query = "SELECT FirstName, LastName, AuthorID FROM Authors ORDER BY LastName"; $statementhandle = $databasehandle->prepare( $query ); $statementhandle->execute(); print( h2( "Choose an author:" ) ); print( start_form( { action => fig25_20.pl ) ); print( "<select name = \"author\">\n" ); while = $statementhandle->fetchrow_array() ) { print( "<option>" ); print( "$row[ 2 ]. $row[ 1 ], $row[ 0 ]" ); print( "</option>" ); 2D1470 Bildserie 5 bild 35 2D1470 Bildserie 5 bild 36

10 Perl och databaser... print( "</select>\n" ); print( submit( { value => Get Info ) ); print( end_form(), end_html() ); $databasehandle->disconnect(); $statementhandle->finish(); ur: Deitel, Deitel och Goldberg: Internet & World Wide Web How to Program, 3 ed, 2004, avsnitt PHP och databaser För att öva SQL finns för studenterna ett PHP-gränssnitt mot en PostgreSQL-databas. Man kan hitta PHP-filen (och även filen för att ladda postgresql-databasen) på kursbiblioteket: /info/oodb04/php-postgresql/ Struktur: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" " <html><head>... </head> <body>... <?php $database=pg_connect("dbname=varuhuset"); // Öppna alltid databasen if($action=="usersql") { // denna action utförs bara om man // skrivit något i inmatningsfönstret // och tryckt på "utför"-knappen 2D1470 Bildserie 5 bild 37 2D1470 Bildserie 5 bild 38 PHP och databaser... if ($action=="") { // Skriv ut databasens struktur (statiskt - tidigare hämtade jag ur db) // Skapa inmatningsfönstret och den form som hanterar det som skrivs in i // inmatningsfönstret.?> <form method=\"post\" action="<?php $PHP_SELF?>"> // inmatningsfönster och knapp för att skicka uttryck till postgres </form> <?php if($action=="viewt") { // om någon klickat på ett basrelationsnamn // sök rätt på all information i DB om aktuell tabell. OBS att // man måste namnge alla attribut för att man ska kunna // leta igenom resultatsträngarna på rimligt sätt. pg_close($database); // Stäng alltid förbindelsen till DB?> </body></html> PHP och databaser startsidan... Presentationen av databasens innehåll är en tabell med länkar där man sätter variabler och skriver om sidan: <a href="<?php $PHP_SELF?>?action=viewt&table=anst%E4lld"> anställd</a> Inmatningsfönstret (residerar utanför PHP-koden): <form method="post" action="<?php $PHP_SELF?>"> <textarea name="usersql" rows="10" cols="70"></textarea> <br><br><input type="submit" value="utför" name="query"> <br><br><input type="hidden" value="usersql" name="action"> </form> 2D1470 Bildserie 5 bild 39 2D1470 Bildserie 5 bild 40

11 PHP och databaser hämta info om tabell if($action=="viewt") { $sql="select a.attnum as attnum, a.attname as attname, t.typname as typname, a.attlen as attlen, a.atttypmod as atttypmod, a.attnotnull as attnotnull, a.atthasdef as atthasdef FROM pg_class c, pg_attribute a, pg_type t WHERE c.relname = $table and a.attnum > 0 and a.attrelid = c.oid and a.atttypid = t.oid ORDER BY attnum"; $result=pg_exec($database,$sql); $click=0; // bygg en tabell med data om aktuell basrelation $numofrows=pg_numrows($result);?>... byggtabellstrukturen... <?php while($click < $numofrows) { $row = pg_fetch_array($result, $click++, 1);?><tr><td><?=$row[attname]?></td> <?php if ($row[attlen]==-1) $row[attlen]="variabel";?><td><?=$row[attlen]?></td> <td><?=$row[typname]?> <?php if($row[attnotnull]=="t") echo "inte null ";... PHP och databaser kolla input ($action=="usersql") $selectexpr=false; $doevaluate=false; $usersql=stripslashes($usersql); $usersql=trim($usersql); if($usersql=="") { $action=""; else { $checkstring=strtolower($usersql); if(ereg("^create", $checkstring)) { $rest=trim(substr($checkstring,6)); if(ereg("^view", $rest)) { $doevaluate=true; 2D1470 Bildserie 5 bild 41 2D1470 Bildserie 5 bild 42 PHP och databaser kolla input ($action=="usersql")... if(ereg("^drop", $checkstring)) { $rest=trim(substr($checkstring,4)); if(ereg("^view", $rest)) { $doevaluate=true; if(ereg("^select", $checkstring)) { $doevaluate=true; $selectexpr=true; if(!$doevaluate) { // så skriv felmeddelande PHP och databaser exkevera SQL ($action=="usersql") SQL-uttryck: <?=htmlspecialchars($usersql)?> <br><br> if(!$result) { $errmsg=pg_errormessage($database);?><font color="red"><?=$errmsg?></font> <?php else { if($numofrows=pg_numrows($result)) {?><table cellspacing="0" cellpadding="3" border="1" bgcolor="#ffffff"> <tr bgcolor="#ccffff"><?php $fields=pg_numfields($result); $fields2=$fields; while($fields2) {?> <th><?=pg_fieldname($result,$fields-$fields2)?></th> <?php $fields2-- ;?> </tr> 2D1470 Bildserie 5 bild 43 2D1470 Bildserie 5 bild 44

12 PHP och databaser exkevera SQL ($action=="usersql")... <?php $click=0; while($numofrows > $click) { $row=pg_fetch_array($result,$click++);?> <tr> <?php $fields2=$fields; while($fields2) {?> <td><?=htmlspecialchars($row[$fields-$fields2--])?> </td> <?php?> </tr> <?php?> </table> <?php Java och databaser (JDBC) JDBC är Javas API till relationsdatabaser som gör det möjligt att på ett relativt databas- och maskinoberoende sätt att hantera databaser som pratar SQL" Så här gör man steg för steg: 1. Ladda JDBC-driver 2. Definiera anslutnings-url 3. Etablera förbindelse 4. Skapa Statement-objekt 5. Exekvera (SQL-) fråga eller uppdatera 6. Behandla resultatet 7. Stäng förbindelsen 2D1470 Bildserie 5 bild 45 2D1470 Bildserie 5 bild 46 Java och databaser (JDBC: koppla upp hämta data)... import java.sql.*; public class JDBCCode{ public static void main(string args[]) { String fileurl = "..."; String drivername = "..."; try { Class.forName(driverName); catch (ClassNotFoundException cfn) { System.out.println("Problem loading driver"); System.exit(1); Java och databaser (JDBC)... try { Connection con = DriverManager.getConnection(fileURL,"Serafim",""); Statement selectstatement = con.createstatement(); ResultSet rs = selectstatement.executequery ("select namn, lön FROM anställd WHERE lön > 35000"); String employeename; int employeesalary; while(rs.next()) { employeename = rs.getstring(1); employeesalary = rs.getint(2); System.out.println ("Namn = "+ employeename + "Lön = "+ employeesalary); 2D1470 Bildserie 5 bild 47 2D1470 Bildserie 5 bild 48

13 Java och databaser (JDBC)... selectstatement.close(); con.close(); rs.close(); catch(exception e) { System.out.println("Problems with access to database"); e.printstacktrace(); System.exit(2); Java och databaser (JDBC: uppdatera databas)... String fileurl = "..."; String drivername = "..."; try { //Load in the driver programmatically Class.forName(driverName); catch (ClassNotFoundException cfn) { //Problem with driver, error message and return //to operating system with status value 1 System.out.println("Problem loading driver"); System.exit(1); 2D1470 Bildserie 5 bild 49 2D1470 Bildserie 5 bild 50 Java och databaser (JDBC: uppdatera databas)... try { Connection con = DriverManager.getConnection(fileURL,"Darrel",""); Statement updatestatement = con.createstatement(); String employeename ="...", employeesalary = "...", employeedepartment = "..."; //Execute the SQL insert statement int noofrows = updatestatement.executeupdate ("INSERT INTO employees (name, salary, department)"+ "VALUES(" + " " + employeename + ", " + employeesalary + ", " + employeedepartment + " )"); catch(sqlexception sqe) { System.out.println("Problem updating database"); Java och databaser (JDBC: länkar) D1470 Bildserie 5 bild 51 2D1470 Bildserie 5 bild 52

14 CA Common Object Request Broker Architecture med tonvikt på common och broker. Man har inte velat standardisera objekt eller objektimpelementation utan endast hur de ska hanteras. Man har egentligen velat tillhandahålla en s.k. enabling technology som ska kunna vara en infrastruktur för hur distribuerade applikationsprogram eller system enkelt ska kunna inkorporera komponenter. Dessutom har man velat att det ska vara lika enkelt att bygga stora distribuerade system som det är att bygga helt centraliserade system. inte helt lätt och man har väl inte nått ända fram men det man lyckats med är intressant då man levererat en standard för distribution av komponenter som är språk- och plattformsoberoende. Bygger på en server-klient-modell en server erbjuder service en klient utnyttjar den det finns objekt i nätverket som kan agera antingen server eller klient beroende på behovet Det finns bindningar till nästan alla språk 2D1470 Bildserie 5 bild 53 2D1470 Bildserie 5 bild 54 klient Objekt impl Appl. gränssn. Domän gränssn. Gener. tjänster D I I IDL stub gränssnitt Object Request Broker IDL skelett objekt adapter Object Request Brokers Objekt tjänster 2D1470 Bildserie 5 bild 55 2D1470 Bildserie 5 bild 56

15 För att göra systemet generellt användbart finns en hel del tjänster inbyggda Objekttjänster tillhandahåller objekthantering Generella tjänster är ett objektbibliotek med vanligen förekommande objekt (gränssnitt, systemhantering) Domängränssnitt är applikationsområdesspecifika (domänspecifika) objekt eller applikationsprogram (för hälsovård, ekonomi,... ) Applikationsgränssnitt är användardefinierade objekt som registrerats i CA Klient IDL stub Object Request Broker () objekt implem. IDL skelett Meddelanden mellan klient och server förmedlas av mäklaren, Object Request Broker (), alltid via -en aldrig någon annan väg. 2D1470 Bildserie 5 bild 57 2D1470 Bildserie 5 bild 58 Applikationen ser bara objektets gränssnitt, inga implementationsdetaljer. Distributionen sköts helt av Corba, som också ger arv, inkapsling, polymorfi,... Objektens gränssnitt specificeras i IDL (Interface Definition Language) metodnamn inparametrar svarstyp felhantering Applikationsprogram och objektimplementation isoleras från varandra genom: en stubbe, skriven i IDL, på klientsidan en (eller flera) ett skelett, skrivet i IDL, på server-sidan Objekten programmeras på vanligt sätt i ett värdspråk (C, C++, Java, Smalltalk, Cobol, Ada, Visual Basic f.n., men fler kommer på löpande band). IDL används för att specificera gränssnittet i Corba och för att generera skelettkoden. Vid programmering av objektkoden refereras OMG-avbildningen för aktuellt språk Skelettets gränssnitts- bindningar mot objektet genereras av OMG- avbildningen Objektets gränssnittsbindningar mot skelettet genereras av OMGavbildningen Programmeringen utförs i valt programspråk OMG-avbildningen för språket byggs in i IDL- 2D1470 Bildserie 5 bild 59 2D1470 Bildserie 5 bild 60

16 Applikationssidan genereras helt av vanlig kompilator, men applikationens gränssnitt mot :en genereras delvis av IDL-kompilatorn (the stub), länkas av standard länkare. Applikationsprogram Objektimplementationer Klient Objekt Objekt IDL stub IDL skelett IDL skelett Dynamiskt anrops gränssnitt Statiska IDL "stubbar" gränssnitt Objekt adaptrar Statiska IDL Skelett Dynamiska skelett gränssnitt Om ett objekt finns på en remote server sköts kommunikationen på -nivå. Applikationsprogrammet gör lokala anrop och får lokala svar så distributionen är helt transparent. Gränssnittslager Objektfrågemäklare (object request broker ) Implementationslager 2D1470 Bildserie 5 bild 61 2D1470 Bildserie 5 bild 62 Applikationsprogrammen och objekten kopplas ihop via en. Applikationsprogrammet kommunicerar via en stubbe eller en DII. Varje stubbe utgör gränssnitt mot ett CA-objekt. DII kan pga sin förmåga till dynamisk bindning anropa vilken metod som helst i vilket objekt som helst som refereras av applikationsprogrammet. Applikationsprogram och objekt ansluter via ngn. Programmen kommunicerar via Statiska stubbar eller dynamiska DII (Dynamic Invocation Interface) En stubbe tillhandahåller ett gränssnitt mot ett CAobjekt, medan man via DII kan anropa vilken metod som helst i vilket CAobjekt som helst som refereras från programmet. Stubbar kräver statisk typkontroll, medan DII endast klarar dynamisk typkontroll. Gränssnittsslagret innehåller info om gränssnitten hos alla objekt som anslutits via :en och om ens eget gränssnitt. Lagren kräver någon form av persistens eller att :en alltid är tillgänglig. 2D1470 Bildserie 5 bild 63 2D1470 Bildserie 5 bild 64

17 Objektimplementation Metoder Skelett Basic Object Adapter 1 Kärna 1. :en får anrop avseende ett lokalt objekt 2. Starta en process för att hantera anropet (köra objektet) 3. OK från processen då den startat 4. Ladda in objektet i primärminnet 5. Sänd metodanrop 6. Ta emot svaret 7. Om objektet uppdaterats kopieras det tillbaka till sekundärminnet. 8. Om andra processer skapats - deaktivera och städa. gränssnitt Objektimplementationer Objekt adaptrar Statiska IDL Skelett Objektfrågemäklare (object request broker ) Gränssnittslager Dynamiska skelett gränssnitt Implementationslager Objektet hämtas från implementationslagret Synkronisering (översättning mellan och objektmetoder) sker i SSI Aktivitet enligt förra bilden, men skulle objektimplementationen behöva kommunikation med andra objekt sker detta via -gränssnittet. DSI används för kommunikation med andra :ar (remote calls) CA kan inte skapa objekt De skapas av något applikationsprogram och måste registreras i CA innan de kan hanteras 2D1470 Bildserie 5 bild 65 2D1470 Bildserie 5 bild 66 Objektimplementation Metoder A Metoder B Skelett A Skelett B Basic Object Adapter Kärna 1. Registrering av objektimplementationer 2. Hantering av objektreferenser (skapa, tolka) 3. Kontroll av access (nå rätt objektimplementation) 4. Aktivering / deaktivering av objekt 5. Att anrop av metoder sker korrekt 6. Koordination av samtidiga accesser A BOA B D C BOA (basic object adapter) ansvarar för 2,4,5. Mer avancerade adapters krävs för En objektimplementation kan ha flera gränssnitt, vart och ett med sitt eget skelett. En process kan hantera flera objekt och tvärtom. A En delad server hanterar flera implementationer som redan beskrivits B En delad process hanterar svar från externa objekt (belägna på annan ) C Exklusiv process för hanteringav objekt för speciella ändamål eller med speciella restriktioner. D Eftersom load -balansering sker på en per-process-basis, kan det för resursbalanseringsändamål vara vettigt att låta ett objekt ha en process per metod. 2D1470 Bildserie 5 bild 67 2D1470 Bildserie 5 bild 68

18 Klient IDL stub Objekt IDL skelett Objekt IDL skelett A B Ett applikationsprogram ansluter till en (men en kan ha flera applikationsprogram anslutna). Alla program gör lokala anrop till den de är anslutna till. Skulle ett objekt finnas anslutet till en annan, sköts kommunikationen på -nivå i en kedja (om nästa inte har objektet i fråga sänds frågan vidare). C D Kommunikationen är helt transparent och :en låter inget program se annat än lokala anrop. -arna har förmågan till (viss) översättning om det skulle behövas. Direkt bryggning mellan domänerna är möjlig då endast enkla översättningar utförs och då man utan säkerhetsrisk kan låta alla prata med alla. 2D1470 Bildserie 5 bild 69 2D1470 Bildserie 5 bild 70 A B Progr Lokal namn service Brygga Lokal namn service Progr Progr Lokal namn service Brygga Lokal namn service Progr C Säkerhets protokoll D Progr Lokal namn service 1. Registera objektet Brygga Lokal namn service Progr 3. Bryggan skapar en objektföreträdare som simulerar objektet i kommunikationen med programmets. Här har domän D krav på upprätthållande av speciell säkerhetspolicy och därför fungerar domän D som förmedlande länk i all trafik mellan domänerna. 2. Objektet efterfrågas 2D1470 Bildserie 5 bild 71 2D1470 Bildserie 5 bild 72

19 Det spelar ingen roll om nätverken är av olika slag. Bryggan skapar rätt sorts företrädare. Progr Brygga Objekt CA har alltså även nätverks och OS-transparens. Applikationsprogrammet ser fortfarande endast det lokala anropet. Normal kommunikation Progr Objekt Men man kan fuska genom att alla :ar har ett internt lågnivå-api 2D1470 Bildserie 5 bild 73 2D1470 Bildserie 5 bild 74 CA, Service Livscykel Appl. gränssn. Domän gränssn. Gener. tjänster flytta ett objekt kopiera ett objekt utplåna ett objekt Object Request Brokers Objekt tjänster 2D1470 Bildserie 5 bild 75 2D1470 Bildserie 5 bild 76

20 CA, Service Relation CA tillhandahåller standardkomponenter för att bygga program som direkt avbildar ER-diagram. När man implementerade modulen dög inte livscykel-modulen så den implementerades lokalt med flera extra faciliteter bl.a. har alla operationer fått en mode, varav den mest värdefulla är inhibit mode - inget utförs. CA, Service Persistens CA tillhandahåller inte persistens, men har en arktiektur man måste hålla sig till om man tillhandahåller tjänsten. CA annan service Det finns även service för standard filhantering, för namngivning (bindning av namn till objekt, bindning av namn till omgivningar och översättning av namn till objekt), för händelsehantering (med eller utan händelsekö för både push, push - pull och polling), för transaktionshantering, frågehantering (traditionella frågespråk) och säkerhetsservice för distribuerade applikationer. 2D1470 Bildserie 5 bild 77 2D1470 Bildserie 5 bild 78 Slut referenser utom till Kjell och Björn På kursbibliotektet finns material för pjama, PHP och postgresql, CA och lite till (hantering av bilder med PHP, lite med ljud och bild... Saker som jag tänkt tala om men inte hunnit. En del material är stulet från olika böcker (Deitel & Deitel som fick ihop vettigt om internet) En del saker kommer från jobb och kursmaterial som utvecklats i samarbete med Kjell Lindqvist och Björn Eiderbäck för alldeles andra ändamål än den här kursen men som jag bedömt vara vettigt att ta med här. Vrox professional -serie (PHP, JSP, J2EE) har stor del i arbetet och jag äger själv i stort sett alla utom de om ASP. Perrone: J2EE Developers Handbook Kurniavan: Java for the Web Orfali, Harkey: Client-server programming with Java and CA OMG Press olika böcker om Java, CA, EJB SAMS böcker om HTML och XHTML Docendos böcker om JSP, XML, mm Dunckleys bok om Multimediadatabaser Lausen-Vossens bok: Models an Languages of Object-Oriented Databases Delobel: From Relational to Object-Oriented Systems Massor från Internet. 14 böcker om databashanteringssystem (Elmasri-Navathe, Sibleschatz, Date, Codd, Conolly-Begg, m.fl.) 2D1470 Bildserie 5 bild 79 2D1470 Bildserie 5 bild 80

Nätverk och Java, grunder Föreläsning 0: 0: Introduktion till Internet

Nätverk och Java, grunder Föreläsning 0: 0: Introduktion till Internet Nätverk och Java, grunder Föreläsning 0: 0: Introduktion till Internet Se Se också Intro en en streamad videoinspelning som som finns finns på på nätet nätet Innehåll Kort om grundläggande nätverkskoncept

Läs mer

Nätverk grunder Föreläsning 1: 1: Introduktion till Internet

Nätverk grunder Föreläsning 1: 1: Introduktion till Internet previous next Nätverk grunder Föreläsning 1: 1: Introduktion till Internet Kursledare: Cristian Bogdan cristi@nada.kth.se Gästföreläsare: Björn Eiderbäck bjorne@nada.kth.se Innehåll Kort om grundläggande

Läs mer

2I1070 Lektion 2 Servlets och databaskopplingar Internetprogrammering 2I1049 Treskiktsarkitektur Klient-server med servlets

2I1070 Lektion 2 Servlets och databaskopplingar Internetprogrammering 2I1049 Treskiktsarkitektur Klient-server med servlets 2I1070 Lektion 2 Servlets och databaskopplingar KTH-MI Peter Mozelius Internetprogrammering Tidigare på kursen 2I1049 har vi enbart sysslat med fristående program där allt körs på en och samma dator. I

Läs mer

Björn Eiderbäck, Cristian Bogdan

Björn Eiderbäck, Cristian Bogdan CGI, Perl, JDBC Björn Eiderbäck, Cristian Bogdan Innehåll. Vad är CGI? Vad är Forms? Vad är Perl? Forms, CGI och Perl. SQL JDBC previous next CGI Vad är CGI? Common Gateway Interface är ett sätt att koppla

Läs mer

Webbservrar, severskript & webbproduktion

Webbservrar, severskript & webbproduktion Webbprogrammering Webbservrar, severskript & webbproduktion 1 Vad är en webbserver En webbserver är en tjänst som lyssnar på port 80. Den hanterar tillgång till filer och kataloger genom att kommunicera

Läs mer

Administration: Grundläggande internetprogrammering

Administration: Grundläggande internetprogrammering Administration: Grundläggande internetprogrammering Verktyg för hands-on internetprogrammering 2D2052 (ingint06) / 2D1335 (gruint06) Serafim Dahl serafim@nada.kth.se gruint06/ingint06, intro + intro till

Läs mer

F8 Webbteknologier 1. Dynamiska webbsidor

F8 Webbteknologier 1. Dynamiska webbsidor Dynamiska webbsidor F8 Webbteknologier 1 EDA095 Roger Henriksson Datavetenskap Lunds universitet HTML är statisk. En sida får sitt utseende bestämt när en webbdesigner skapar den. Ofta vill man ha mera

Läs mer

Grundläggande datavetenskap, 4p

Grundläggande datavetenskap, 4p Grundläggande datavetenskap, 4p Kapitel 4 Nätverk och Internet Utgående från boken Computer Science av: J. Glenn Brookshear 2004-11-23 IT och medier 1 Innehåll Nätverk Benämningar Topologier Sammankoppling

Läs mer

Olika slags datornätverk. Föreläsning 5 Internet ARPANET, 1971. Internet började med ARPANET

Olika slags datornätverk. Föreläsning 5 Internet ARPANET, 1971. Internet började med ARPANET Olika slags datornätverk Förberedelse inför laboration 4. Historik Protokoll, / Adressering, namnservrar WWW, HTML Föreläsning 5 Internet LAN Local Area Network student.lth.se (ganska stort LAN) MAN Metropolitan

Läs mer

Webbteknik II. Föreläsning 4. Watching the river flow. John Häggerud, 2011

Webbteknik II. Föreläsning 4. Watching the river flow. John Häggerud, 2011 Webbteknik II Föreläsning 4 Watching the river flow Web Service XML-RPC, SOAP, WSDL, UDDI HTTP Request, Response, Headers, Cache, Persistant Connection REST Hype or the golden way? Web Service / Webbtjänst

Läs mer

Datakommunika,on på Internet

Datakommunika,on på Internet Webbteknik Datakommunika,on på Internet Rune Körnefors Medieteknik 1 2015 Rune Körnefors rune.kornefors@lnu.se Internet Inter- = [prefix] mellan, sinsemellan, ömsesidig Interconnect = sammanlänka Net =

Läs mer

FÖRSLAG TILL LÖSNINGAR FÖR TENTAMEN I INTERNETPROGRAMMERING MED JAVA, 5p för SY , kl

FÖRSLAG TILL LÖSNINGAR FÖR TENTAMEN I INTERNETPROGRAMMERING MED JAVA, 5p för SY , kl Högskolan Dalarna sid 1 av 6 DI-institutionen Hans-Edy Mårtensson Sten Sundin FÖRSLAG TILL LÖSNINGAR FÖR TENTAMEN I INTERNETPROGRAMMERING MED JAVA, 5p för SY2 2001-03-16, kl 14.00-18.00 1. Grunderna i

Läs mer

Klientprogrammering mot databaser

Klientprogrammering mot databaser Klientprogrammering mot Databaser Java DataBase Connectivity, JDBC Klientprogrammering mot databaser Native API olika för olika DBMS, ofta i C/C++ ODBC, Open Datbase Connectivity samma API för olika databashanterare.

Läs mer

Mattias Wiggberg 1. Orientera på Internet. IP-adress. IP-adresserna räcker inte... Mer om IP-adresser

Mattias Wiggberg 1. Orientera på Internet. IP-adress. IP-adresserna räcker inte... Mer om IP-adresser Orientera på Internet Nuvarande Internet Protocol version 4 (IPv4). Internet är en infrastruktur som förbinder en mängd datorer. Hur hittar vi till en specifik dator? Väl framme vid datorn, hur hittar

Läs mer

Innehåll. MySQL Grundkurs

Innehåll. MySQL Grundkurs MySQL Grundkurs Copyright 2014 Mahmud Al Hakim mahmud@dynamicos.se www.webbacademy.se Innehåll Introduktion till databaser Installera MySQL lokalt Webbserverprogrampaket (XAMPP) Introduktion till phpmyadmin

Läs mer

IT för personligt arbete F2

IT för personligt arbete F2 IT för personligt arbete F2 Nätverk och Kommunikation DSV Peter Mozelius Kommunikation i nätverk The Network is the Computer Allt fler datorer är sammankopplade i olika typer av nätverk En dators funktionalitet

Läs mer

PHP-presentation Dataföreningens Open Source-nätverk

PHP-presentation Dataföreningens Open Source-nätverk PHP-presentation Dataföreningens Open Source-nätverk Netera AB Jimmy Furland jimmy@netera.se Björn Hansson hansson@netera.se Introduktion HTML-inbäddat webbprogrammeringsspråk Står för PHP Hypertext Preprocessor

Läs mer

Webbprogrammering. Sahand Sadjadee

Webbprogrammering. Sahand Sadjadee Webbprogrammering Sahand Sadjadee Agenda Webb The World Wide Web (WWW) is a network of online content that is formatted in HTML and accessed via HTTP. The term refers to all the interlinked HTML pages

Läs mer

Webbteknik. Innehåll. Historisk återblick Teknisk beskrivning Märkspråk Standardisering Trender. En kort introduktion

Webbteknik. Innehåll. Historisk återblick Teknisk beskrivning Märkspråk Standardisering Trender. En kort introduktion Webbteknik En kort introduktion Innehåll Historisk återblick Teknisk beskrivning Märkspråk Standardisering Trender 1 Historisk återblick 89 CERN Tim Berners Lee Ett plattformsoberoende sätt att sprida

Läs mer

WWW. Exempel på klientsidan. Överföring av en html-fil. Snyggare variant. Verkligt format. Meddelandeformat för begäran HTTP

WWW. Exempel på klientsidan. Överföring av en html-fil. Snyggare variant. Verkligt format. Meddelandeformat för begäran HTTP Exempel på klientsidan WWW Javascript-interpretator XML-interpretator HTML-interpretator Java-interpretator CSS-interpretator Använder TCP Kan återanvända uppkoppling Inga tillstånd hos servern OS API

Läs mer

Tentamensskrivning Nätverksprogrammering (EDA095 - FED) 2004-05-25, kl 8-13

Tentamensskrivning Nätverksprogrammering (EDA095 - FED) 2004-05-25, kl 8-13 LUNDS TEKNISKA HÖGSKOLA Datavetenskap Nätverksprogrammering 2004 LÖSNINGAR Tentamensskrivning Nätverksprogrammering (EDA095 - FED) 2004-05-25, kl 8-13 DEL 1 - Frågor av teoretisk, principiell eller utredande

Läs mer

Christer Scheja TAC AB

Christer Scheja TAC AB Byggnadsautomation för ingenjörer Byggnadsautomation för ingenjörer VVS-tekniska föreningen, Nordbygg 2004 Christer Scheja TAC AB resentation, No 1 Internet/Intranet Ihopkopplade datornät ingen ägare Internet

Läs mer

Objektorienterad Programkonstruktion. Föreläsning 10 7 dec 2015

Objektorienterad Programkonstruktion. Föreläsning 10 7 dec 2015 Objektorienterad Programkonstruktion Föreläsning 10 7 dec 2015 Nätverksprotokoll - OSI Open Systems Interconnection model (ISO standard) definierar 7 lager för nätverkskommunikation: 1 - Physical Layer:

Läs mer

Lite mer om CGI-programmering

Lite mer om CGI-programmering Lite mer om CGI-programmering Innehåll Vad är CGI? Vad är Forms? Vad är Perl? Forms, CGI och Perl Läs också: Internetprogrammering F 14 Kursboken s s 48-51 Exemplen på på kursens sidor: sidor: http://www.nada.kth.se/kurser/kth/2d4334/98-99/contents/cgi/examples.html

Läs mer

Java: Utvecklingsverktyg, datatyper, kontrollstrukturer

Java: Utvecklingsverktyg, datatyper, kontrollstrukturer Java: Utvecklingsverktyg, datatyper, kontrollstrukturer Sven-Olof Nyström Uppsala Universitet 13 juni 2005 1 Utvecklingsverktyg för Java Vi rekommenderar Suns utvecklingsverktyg (SDK, tidigare JDK), se

Läs mer

DI-institutionen Sid 1 av 6 Hans-Edy Mårtensson Sten Sundin

DI-institutionen Sid 1 av 6 Hans-Edy Mårtensson Sten Sundin DI-institutionen Sid 1 av 6 Hans-Edy Mårtensson Sten Sundin TENTAMEN I IKB007 INTERNETPROGRAMMERING MED JAVA för SY2 1999-03-17, kl 14.00-18.00 Hjälpmedel: En lärobok i Java programmering Återlämningstillfälle:

Läs mer

Repetition DK2 Middleware, P2P, Multimediatransport. Stefan Alfredsson 18 Mars 2005

Repetition DK2 Middleware, P2P, Multimediatransport. Stefan Alfredsson 18 Mars 2005 Repetition DK2 Middleware, P2P, Multimediatransport Stefan Alfredsson 18 Mars 2005 Några definitioner på middleware Klistret som gör det möjligt för en klient att få betjäning av en server / i klient/server

Läs mer

Datakommunika,on på Internet

Datakommunika,on på Internet Föreläsning i webbdesign Datakommunika,on på Internet Rune Körnefors Medieteknik 1 2012 Rune Körnefors rune.kornefors@lnu.se Klient Server Klient (Client kund) ED program för ad utnydja tjänster som begärs

Läs mer

Tentamen ITK:P2. Inga hjälpmedel tillåtna förutom penna och papper. Skriv tydligt och texta gärna. 14 st frågor, 70 poäng.

Tentamen ITK:P2. Inga hjälpmedel tillåtna förutom penna och papper. Skriv tydligt och texta gärna. 14 st frågor, 70 poäng. Tentamen ITK:P2 lördag 2007-04-14 Inga hjälpmedel tillåtna förutom penna och papper. Skriv tydligt och texta gärna. 14 st frågor, 70 poäng. 40 poäng ger betyget G, 55 ger VG Peter Mozelius DSV 1.) Ditt

Läs mer

Avancerade Webbteknologier

Avancerade Webbteknologier Projektledning, Business Knowledge Användbarhet & Layout Avancerade Webbteknologier Lkti Lektion 1 Kommunikation Tobias Landén tobias.landen@chas.se Avancerade webbteknologier del 1 (4 KY poäng) Syfte

Läs mer

Hur hänger det ihop? För att kunna kommunicera krävs ett protokoll tcp/ip, http, ftp För att veta var man skall skicka

Hur hänger det ihop? För att kunna kommunicera krävs ett protokoll tcp/ip, http, ftp För att veta var man skall skicka Webben som verktyg Idag: Hur hänger det ihop? Viktiga tekniker Stegen i ett webbprojekt Verktyg Dreamweaver Photoshop Joomla CMS Storyboard och flödesschema Fixa webbhotell Hur hänger det ihop? För att

Läs mer

Statistik från webbplatser

Statistik från webbplatser Statistik från webbplatser problem och möjligheter Ulf Kronman Föredragets huvuddelar Frågorna och motfrågorna Vilka frågor ställer chefen, BIBSAM och ISO? Varför ställer webmastern krångliga motfrågor?

Läs mer

DI-institutionen Sid 1 av 5 Hans-Edy Mårtensson Sten Sundin Micael Karlsson

DI-institutionen Sid 1 av 5 Hans-Edy Mårtensson Sten Sundin Micael Karlsson DI-institutionen Sid 1 av 5 Hans-Edy Mårtensson Sten Sundin Micael Karlsson Lösningar till TENTAMEN I IXC003 SYSTEMUTVECKLING MED INTERNET/INTRANET, del 1 (5p) för IT3 och INTERNETPROGRAMMERING MED JAVA

Läs mer

Karlstads Universitet, Datavetenskap 1

Karlstads Universitet, Datavetenskap 1 DAV B04 - Databasteknik KaU - Datavetenskap - DAV B04 - MGö 229 PHP Hypertext Preprocessor Scriptspråk på serversidan Innebär att webbservern översätter php-scripten innan sidan skickas till webbläsaren,

Läs mer

Prova på-laboration i PHP Johan Sjöholm johsj@ida.liu.se Institutionen för datavetenskap, Linköpings universitet 2009-08-09

Prova på-laboration i PHP Johan Sjöholm johsj@ida.liu.se Institutionen för datavetenskap, Linköpings universitet 2009-08-09 Prova på-laboration i PHP Johan Sjöholm johsj@ida.liu.se Institutionen för datavetenskap, Linköpings universitet 2009-08-09 1. Introduktion till webbprogrammering Webbprogrammering består av ett antal

Läs mer

Internet. Internet hur kom det till? Internets framväxt. Ett hierarkiskt uppbyggt telenät Kretskopplat/circuit switching

Internet. Internet hur kom det till? Internets framväxt. Ett hierarkiskt uppbyggt telenät Kretskopplat/circuit switching Internet Internet hur kom det till? A worldwide collection of interconnected networks. Ingen central dator/nät Ingen organisaion styr Internet, men ett antal organisationer samordnar aktiviteten fi ICANN

Läs mer

Datakursen PRO Veberöd våren 2011 internet

Datakursen PRO Veberöd våren 2011 internet Datakursen PRO Veberöd våren 2011 internet 3 Internet Detta kapitel presenteras det världsomspännande datanätet Internet. Här beskrivs bakgrunden till Internet och Internets uppkomst. Dessutom presenteras

Läs mer

Introduktion Schenker-BTL AB, Stab IT Beskrivning över informationsintegreringmed Schenker, metodbeskrivning version 1.

Introduktion Schenker-BTL AB, Stab IT Beskrivning över informationsintegreringmed Schenker, metodbeskrivning version 1. Schenker har interna system som handhar information som är av intresse för våra kunder/partners. Idag finns ett flertal av dem tillgängliga via Internet, sk Online-tjänster. Dessa erbjuder inte bara hämtning

Läs mer

Tentamen Nätverksprogrammering Lösningsförslag

Tentamen Nätverksprogrammering Lösningsförslag LUNDS TEKNISKA HÖGSKOLA 1(6) Institutionen för datavetenskap Tentamen Nätverksprogrammering Lösningsförslag 2012 05 28, 8.00 13.00 Del 1 1. Time To Live (TTL) anger hur många routrar ett multicastpaket

Läs mer

Högskolan Dalarna sid 1 av 7 DI-institutionen Hans-Edy Mårtensson Sten Sundin

Högskolan Dalarna sid 1 av 7 DI-institutionen Hans-Edy Mårtensson Sten Sundin Högskolan Dalarna sid 1 av 7 DI-institutionen Hans-Edy Mårtensson Sten Sundin TENTAMEN I IKB007 INTERNETPROGRAMMERING MED JAVA, 5p för SY2 2001-03-16, kl 14.00-18.00 Hjälpmedel: Inga hjälpmedel är tillåtna

Läs mer

Surfning. Webbklienter och webbservrar. Specialskrivna webbservrar. Kommunikation med sockets

Surfning. Webbklienter och webbservrar. Specialskrivna webbservrar. Kommunikation med sockets Surfning Webbklienter och webbservrar Starta Firefox (eller Opera, eller Internet Explorer, eller... ). Skriv en URL i adressfältet: http://www.w3.org/history/1989/proposal.html. Webbläsaren kopplar upp

Läs mer

Webbprogrammering - 725G54 PHP. Foreläsning II

Webbprogrammering - 725G54 PHP. Foreläsning II Webbprogrammering - 725G54 PHP Foreläsning II Agenda Serverskript PHP Validering av data med serverskript Säkerhet Lab 2. Live coding Serverskript Kör ett program på servern och resultatet skickas till

Läs mer

Tentamen Nätverksprogrammering Lösningsförslag

Tentamen Nätverksprogrammering Lösningsförslag LUNDS TEKNISKA HÖGSKOLA 1(5) Institutionen för datavetenskap Tentamen Nätverksprogrammering Lösningsförslag 2016 05 31, 8.00 13.00 Del 1 1. a) Vid multicast skickas ett datagram från en sändande dator

Läs mer

Web Services. Cognitude 1

Web Services. Cognitude 1 Web Services 1 Web Services Hur ska tillämpningar integreras? Hur ska tillämpningar integreras (via nätet ) för att erbjuda tjänster åtkomliga på nätet? SVAR: Web Services (Enligt Microsoft, Sun, IBM etc.)

Läs mer

Högskolan Dalarna sid 1 av 5 DI-institutionen Hans-Edy Mårtensson Sten Sundin

Högskolan Dalarna sid 1 av 5 DI-institutionen Hans-Edy Mårtensson Sten Sundin Högskolan Dalarna sid 1 av 5 DI-institutionen Hans-Edy Mårtensson Sten Sundin TENTAMEN I IKB007 INTERNETPROGRAMMERING MED JAVA, 5p för SY2 2001-04-28, kl 09.00-13.00 Hjälpmedel: Endast bifogat kompendium

Läs mer

Introduktion till integrering av Schenkers e-tjänster. Version 2.0

Introduktion till integrering av Schenkers e-tjänster. Version 2.0 Introduktion till integrering av Schenkers e- Version 2.0 Datum: 2008-06-18 Sida 2 av 8 Revisionshistorik Lägg senaste ändringen först! Datum Version Revision 2008-06-18 2.0 Stora delar av introduktionen

Läs mer

TCP/IP och Internetadressering

TCP/IP och Internetadressering Informationsteknologi sommarkurs 5p, 2004 Mattias Wiggberg Dept. of Information Technology Box 337 SE751 05 Uppsala +46 18471 31 76 Collaboration Jakob Carlström TCP/IP och Internetadressering Slideset

Läs mer

Modul 6 Webbsäkerhet

Modul 6 Webbsäkerhet Modul 6 Webbsäkerhet Serverskript & Säkerhet Webbservrar & serverskript exponerar möjlighet för fjärranvändare att skicka data och köra kod vilket medför risker. Man ska aldrig lita på att alla vill göra

Läs mer

Översikt. Installation av EasyPHP 1. Ladda ner från http://www.easyphp.org/ Jag använder Release 5.3.4.0 2. Installera EasyPHP.

Översikt. Installation av EasyPHP 1. Ladda ner från http://www.easyphp.org/ Jag använder Release 5.3.4.0 2. Installera EasyPHP. Laboration 1 Översikt 1. Att komma igång med laborationsmiljön a. installera Aptana Studio 3 b. Installera EasyPHP 2. Testa lite programmering a. Testa enkla uppgifter b. Testa automatiskt 3. Skapa inloggningsformulär

Läs mer

Lektion 5 HTML, CSS, PHP och MySQL

Lektion 5 HTML, CSS, PHP och MySQL Lektion 5 HTML, CSS, PHP och MySQL I den här lektionen behandlas i huvudsak PHP för att läsa information från en databas, MySQL. Det förutsätts att tidigare lektioner är gjorda, eller att du har tillräckliga

Läs mer

Webbtjänster med API er

Webbtjänster med API er Webbtjänster med API er Mål med lektionen! Titta på hur service:ar fungerar och hur vi programmerar dem. Vad lektionen omfattar WCF Service WCF Services Vad är en WCF service? En WCF Service är ett program

Läs mer

Att skriva till och läsa från terminalfönstret

Att skriva till och läsa från terminalfönstret Att skriva till och läsa från terminalfönstret Oftast används grafiska komponenter i Java för att kommunicera med användaren (användargränssnitt), men det finns objekt i standardbiblioteken för de tillfällen

Läs mer

Internationalisering/lokalisering på webben

Internationalisering/lokalisering på webben KTH NADA Språkteknologi 2D1418 Internationalisering/lokalisering på webben Benny Ferander, 711119-0455 d98-bka@nada.kth.se Stefan Westlund, 681206-0157 d98-swe@nada.kth.se Sammanfattning Idag läggs en

Läs mer

Databaser på webben. Revision 5 2000-12-04. Johan Näsholm, johan@nasholm.com

Databaser på webben. Revision 5 2000-12-04. Johan Näsholm, johan@nasholm.com 1 (8) Databaser på webben Revision 5 2000-12-04 Johan Näsholm, johan@nasholm.com Den senaste versionen av detta dokumentet finns på www.nasholm.com/docs/dbweb.pdf Syftet med denna skrift och den därtill

Läs mer

PHP - Fortsättning. PHP och MySQL

PHP - Fortsättning. PHP och MySQL PHP - Fortsättning Copyright 2016 Mahmud Al Hakim mahmud@dynamicos.se www.webacademy.se PHP och MySQL Skapa en databasbaserad telefonkatalog Steg 1 Skapa en MySQL databas. Steg 2 Skapa en tabell i denna

Läs mer

Innehålls förteckning

Innehålls förteckning Programmering Uppsats i skrivteknik Axxell Företagsekonomi i informationsteknik 19.3.2015 Respondent: Tomas Björklöf Opponent: Theo Wahlström Handledare: Katarina Wikström Innehålls förteckning 1. Inledning...3

Läs mer

ASP.NET Thomas Mejtoft

ASP.NET Thomas Mejtoft ASP.NET Introduktion till ASP.NET Utveckla i ASP.NET I ASP.NET kan och bör man separera HTML-kod från övrig kod (C#, VB ) I enklare fall läggas kod i script-block Vanligtvis läggs den i en Code Behind-fil

Läs mer

Förra föreläsningen: Olika nivåer av meddelanden. Från oblockad sändning till. RPC: Parameterpassning, registrering, felhantering, säkerhet, kompilering ONC RPC: XDR, portmapper Brandväggar, dynamisk brandväggskonfigurering,

Läs mer

Webbsidor och webbservrar

Webbsidor och webbservrar Webbsidor och webbservrar Server HTTP-protokollet Dokument (t.ex. HTML kod) Klient URL (t.ex. länk) Normal funktion hos webben: Användaren klickar på länk eller anger URL på annat sätt. Servern lokaliserar

Läs mer

Tentamen Nätverksprogrammering Lösningsförslag

Tentamen Nätverksprogrammering Lösningsförslag LUNDS TEKNISKA HÖGSKOLA 1(5) Institutionen för datavetenskap Tentamen Nätverksprogrammering Lösningsförslag 2018 03 14, 8.00 13.00 Del 1 1. Applikationslagret levererar data mellan applikationer och till

Läs mer

Klient/server. Översikt. Lektion 1: Webbtekniker från Microsoft. Webbteknik från Microsoft. Klient/server. Designmönster. Utrullning.

Klient/server. Översikt. Lektion 1: Webbtekniker från Microsoft. Webbteknik från Microsoft. Klient/server. Designmönster. Utrullning. Klient/server Översikt Webbteknik från Microsoft. Klient/server. Designmönster. Utrullning. Lektion 1: Webbtekniker från Microsoft Microsoft webbtekniker. ASP.NET. Klientsidan. Internet Information Server.

Läs mer

Det här dokumentet är till för att ge en översikt över ASP.NET MVC samt hur WCF Services används från.net applikationer.

Det här dokumentet är till för att ge en översikt över ASP.NET MVC samt hur WCF Services används från.net applikationer. Informationsinfrastruktur 7.5 hp Mattias Nordlindh Inledning Det här dokumentet är till för att ge en översikt över ASP.NET MVC samt hur WCF Services används från.net applikationer. Dokumentet består av

Läs mer

FÖRSLAG TILL LÖSNINGAR, TENTAMEN I IKB007 INTERNETPROGRAMMERING MED JAVA, 5p för SY2, , kl

FÖRSLAG TILL LÖSNINGAR, TENTAMEN I IKB007 INTERNETPROGRAMMERING MED JAVA, 5p för SY2, , kl Högskolan Dalarna sid 1 av 5 DI-institutionen Hans-Edy Mårtensson Sten Sundin FÖRSLAG TILL LÖSNINGAR, TENTAMEN I IKB007 INTERNETPROGRAMMERING MED JAVA, 5p för SY2, 2001-04-28, kl 09.00-13.00 1. Grunderna

Läs mer

F9 Webbteknologier 1. EDA095 Nätverksprogrammering. Roger Henriksson Datavetenskap Lunds universitet

F9 Webbteknologier 1. EDA095 Nätverksprogrammering. Roger Henriksson Datavetenskap Lunds universitet F9 Webbteknologier 1 EDA095 Nätverksprogrammering Roger Henriksson Datavetenskap Lunds universitet Dynamiska webbsidor HTML är statisk. En sida får sitt utseende bestämt när en webbdesigner skapar den.

Läs mer

Distribuerade affärssystem

Distribuerade affärssystem Distribuerade affärssystem Kursens mål Bygga upp, strukturera och programmera distribuerade system med en flerskiktsarkitektur Beskriva och förklara teorier och uttryck som används inom affärskritiska

Läs mer

INTRODUKTION TILL JDBC

INTRODUKTION TILL JDBC INTRODUKTION TILL JDBC Vad är JDBC? JDBC står för Java DataBase Connectivity. JDBC ingår i Java och består av en del klasser som har hand om databasfunktionalitet. Med Java följer JDBC-ODBC Bridge driver,

Läs mer

Nya webbservern Dvwebb.mah.se

Nya webbservern Dvwebb.mah.se Nya webbservern Dvwebb.mah.se Bakgrund: BIT (Bibliotek och IT) beslutar att ta ner Novell systemet 28/3 som är en katalogtjänst som styr bland annat alla studenter s.k. hemkataloger på Malmö högskola såväl

Läs mer

Grundläggande nätverksteknik. F2: Kapitel 2 och 3

Grundläggande nätverksteknik. F2: Kapitel 2 och 3 Grundläggande nätverksteknik F2: Kapitel 2 och 3 Kapitel 2 COMMUNICATING OVER THE NETWORK Grundstenar i kommunka;on Tre grundläggande element Message source The channel Message des;na;on Media Segmentering

Läs mer

Föreläsning 2. Operativsystem och programmering

Föreläsning 2. Operativsystem och programmering Föreläsning 2 Operativsystem och programmering Behov av operativsystem En dator så som beskriven i förra föreläsningen är nästan oanvändbar. Processorn kan bara ges enkla instruktioner såsom hämta data

Läs mer

Uniform Resource Locator (URL) JavaServer Pages - JSP. Webbklienter. Webbserver. Hypertext Transfer Protocol (HTTP) HTTP Request

Uniform Resource Locator (URL) JavaServer Pages - JSP. Webbklienter. Webbserver. Hypertext Transfer Protocol (HTTP) HTTP Request Uniform Resource Locator (URL) JavaServer Pages - JSP http://www.cs.umu.se:80/kurser/5dv085/ht-10/index.html Består av Protokoll (http) Adress (www.cs.umu.se) Port (80) Sökväg (/kurser/5dv085/ht-11/index.html)

Läs mer

Arbeta med databas. Översikt. Lektion 1: Arbeta med Entity Data Models. Arbeta med Entity Data Models. LINQ (Language Integrated Query).

Arbeta med databas. Översikt. Lektion 1: Arbeta med Entity Data Models. Arbeta med Entity Data Models. LINQ (Language Integrated Query). Arbeta med databas Översikt Arbeta med Entity Data Models. LINQ (Language Integrated Query). Lektion 1: Arbeta med Entity Data Models Introduktion till ADO.NET Entity Framework. Stöd i ADO.NET Entity Framework.

Läs mer

Objektorienterad programmering i Java. Föreläsning 5 Kort om Java-Applets

Objektorienterad programmering i Java. Föreläsning 5 Kort om Java-Applets Objektorienterad programmering i Java Föreläsning 5 Kort om Java-Applets 1 Läsanvisningar Den här föreläsningen syftar till att ge en bild av vad en Java-Applet är och är ganska fristående från föregående

Läs mer

Kompilering och exekvering. Föreläsning 1 Objektorienterad programmering DD1332. En kompilerbar och körbar java-kod. Kompilering och exekvering

Kompilering och exekvering. Föreläsning 1 Objektorienterad programmering DD1332. En kompilerbar och körbar java-kod. Kompilering och exekvering Föreläsning 1 Objektorienterad programmering DD1332 Introduktion till Java Kompilering, exekvering, variabler, styrstrukturer Kompilering och exekvering Ett program måste översättas till datorns språk

Läs mer

INNEHÅLL. Konfigurering av SQL Server. Egenskaper Kommunikationsprotokoll

INNEHÅLL. Konfigurering av SQL Server. Egenskaper Kommunikationsprotokoll INNEHÅLL Konfigurering av SQL Server Egenskaper Kommunikationsprotokoll 1 KONFIGURERING AV SQL SERVER SQL Server är nästan självkonfigurerande. Minne, anslutningar och buffrar hanteras dynamiskt. Man kan

Läs mer

Datainsamling över Internet

Datainsamling över Internet Datainsamling över Internet I den här uppgiften skall du styra ett mätförlopp och hämta mätdata via internet. Från en dator skall du styra en annan dator och beordra den att utföra en mätning och skicka

Läs mer

Skärmbilden i Netscape Navigator

Skärmbilden i Netscape Navigator Extratexter till kapitel Internet Skärmbilden i Netscape Navigator Netscape är uppbyggt på liknande sätt som i de flesta program. Under menyraden, tillsammans med verktygsfältet finns ett adressfält. I

Läs mer

PNSPO! CP1W-CIF41. 14 mars 2012 OMRON Corporation

PNSPO! CP1W-CIF41. 14 mars 2012 OMRON Corporation PNSPO! 14 mars 2012 OMRON Corporation 2/16 Läs detta innan du bläddrar vidare PNSPO! Denna bok är avsedd som ett tillägg till de ursprungliga manualerna för OMRONs produkter. Använd den som en hjälp att

Läs mer

Introduktion till programmering

Introduktion till programmering Introduktion till programmering Föreläsning 5 Programmering av webbsidor. Webbens grundbegrepp HTML HTML (HyperText Markup Language) är det språk som används för att skriva webbsidor. HyperText: text med

Läs mer

Skriftlig tentamen i kursen TDTS04 Datornät och distribuerade system 2008-08-21 kl. 8 12

Skriftlig tentamen i kursen TDTS04 Datornät och distribuerade system 2008-08-21 kl. 8 12 LiTH, Tekniska högskolan vid Linköpings universitet (6) IDA, Institutionen för datavetenskap Juha Takkinen 2008-08-9 Skriftlig tentamen i kursen TDTS04 Datornät och distribuerade system 2008-08-2 kl. 8

Läs mer

LÖSNINGSFÖRSLAG Programmeringsteknik För Ing. - Java, 5p

LÖSNINGSFÖRSLAG Programmeringsteknik För Ing. - Java, 5p UMEÅ UNIVERSITET Datavetenskap 010530 LÖSNINGSFÖRSLAG Programmeringsteknik För Ing. - Java, 5p Betygsgränser 3 21,5-27 4 27,5-33,5 5 34-43 Uppgift 1. (4p) Hitta de fel som finns i nedanstående klass (det

Läs mer

Datasäkerhet och integritet

Datasäkerhet och integritet Chapter 4 module A Networking Concepts OSI-modellen TCP/IP This module is a refresher on networking concepts, which are important in information security A Simple Home Network 2 Unshielded Twisted Pair

Läs mer

Programmering med Java. Grunderna. Programspråket Java. Programmering med Java. Källkodsexempel. Java API-exempel In- och utmatning.

Programmering med Java. Grunderna. Programspråket Java. Programmering med Java. Källkodsexempel. Java API-exempel In- och utmatning. Programmering med Java Programmering med Java Programspråket Java Källkodsexempel Källkod Java API-exempel In- och utmatning Grunderna Ann Pan panda@nada.kth.se Rum 1445, plan 4 på Nada 08-7909690 Game.java

Läs mer

Introduktion till PHP

Introduktion till PHP PHP - Grund Copyright 2016 Mahmud Al Hakim mahmud@dynamicos.se www.webacademy.se Introduktion till PHP PHP = PHP: Hypertext Preprocessor PHP är ett programmeringsspråk. PHP är ett skriptspråk som körs

Läs mer

F8 Meddelandesändning med UDP

F8 Meddelandesändning med UDP F8 Meddelandesändning med UDP EDA0965 Nätverksprogrammering Per Andersson Datavetenskap Lunds universitet Transport Layer Bygger vidare på Internet Layer / IP. Applikationsprogram Transportlagret Internetlagret

Läs mer

Transport Layer. Transport Layer. F9 Meddelandesändning med UDP EDA095 Nätverksprogrammering. Java och UDP TCP/UDP

Transport Layer. Transport Layer. F9 Meddelandesändning med UDP EDA095 Nätverksprogrammering. Java och UDP TCP/UDP F9 Meddelandesändning med UDP EDA095 Roger Henriksson Datavetenskap Lunds universitet Transport Layer Transport Layer Bygger vidare på på "Internet Internet Layer" Layer / IP. / IP. Applikationsprogram

Läs mer

Webbens grundbegrepp. Introduktion till programmering. Ytterligare exempel. Exempel på webbsida. Föreläsning 5

Webbens grundbegrepp. Introduktion till programmering. Ytterligare exempel. Exempel på webbsida. Föreläsning 5 Introduktion till programmering Föreläsning 5 Programmering av webbsidor. Webbens grundbegrepp HTML HTML (HyperText Markup Language) är det språk som används för att skriva webbsidor. HyperText: text med

Läs mer

Kort om World Wide Web (webben)

Kort om World Wide Web (webben) KAPITEL 1 Grunder I det här kapitlet ska jag gå igenom allmänt om vad Internet är och vad som krävs för att skapa en hemsida. Plus lite annat smått och gott som är bra att känna till innan vi kör igång.

Läs mer

Tentamen Nätverksprogrammering Lösningsförslag

Tentamen Nätverksprogrammering Lösningsförslag LUNDS TEKNISKA HÖGSKOLA 1(7) Institutionen för datavetenskap Tentamen Nätverksprogrammering Lösningsförslag 2008 05 26, 8.00 13.00 1. a) Raden sent = input.read(buffer); läser in så många bytes (dock max

Läs mer

Webbteknik II. Föreläsning 5. Restless farewell. John Häggerud, 2011

Webbteknik II. Föreläsning 5. Restless farewell. John Häggerud, 2011 Webbteknik II Föreläsning 5 Restless farewell HTTP Request HTTP verbs (methods): GET, POST, HEAD, DELETE, PUT, OPTIONS, TRACE, CONNECT http://www.w3.org/protocols/rfc2616/rfc2616-sec9.html variable=value&variable2=value2

Läs mer

Grundläggande programmering DVG A08 & ISG A04. Allmän information. Å vem är jag då. Karlstads Universitet, Johan Öfverberg 1

Grundläggande programmering DVG A08 & ISG A04. Allmän information. Å vem är jag då. Karlstads Universitet, Johan Öfverberg 1 Grundläggande programmering DVG A08 & ISG A04 Allmän information Grupp C och D slås ihop Schemat är ändrat Kurs i programmering utan förkunskaper Hjälp oss med detta Lita inte på era klasskamrater De ställer

Läs mer

Föreläsning 8 - del 2: Objektorienterad programmering - avancerat

Föreläsning 8 - del 2: Objektorienterad programmering - avancerat Föreläsning 8 - del 2: Objektorienterad programmering - avancerat Johan Falkenjack johan.falkenjack@liu.se Linköpings universitet Sweden December 4, 2013 1 Innehåll Arv och andra viktiga begrepp Abstrakta

Läs mer

Tentamensskrivning Nätverksprogrammering (EDA095) , kl 8-13

Tentamensskrivning Nätverksprogrammering (EDA095) , kl 8-13 LUNDS TEKNISKA HÖGSKOLA Datavetenskap Nätverksprogrammering 2006 LÖSNINGAR Tentamensskrivning Nätverksprogrammering (EDA095) 2004-05-27, kl 8-13 DEL 1 - Frågor av teoretisk, principiell eller utredande

Läs mer

Webbserver och HTML-sidor i E1000 KI

Webbserver och HTML-sidor i E1000 KI 1 Funktion och användningsområde E1000-terminalen (E1032-E1151) kan användas som webbserver. En webbserver är ett program som hanterar filer som ska visas i en webbläsare som exempelvis Internet Explorer.

Läs mer

Servlets y JSP Fernando Berzal,

Servlets y JSP Fernando Berzal, Servlets y JSP Fernando Berzal, berzal@acm.org Funcionamiento de una aplicación web 1 Solicitud HTTP GET public void doget (HttpServletRequest request, HttpServletResponse response) throws ServletException,

Läs mer

Innehåll. Dokumentet gäller från och med version 2014.3 1

Innehåll. Dokumentet gäller från och med version 2014.3 1 Innehåll Introduktion... 2 Före installation... 2 Beroenden... 2 Syftet med programmet... 2 Installation av IIS... 2 Windows Server 2008... 2 Windows Server 2012... 6 Installation av webbapplikationen

Läs mer

Introduktion HTML och PHP 732G16 Databaser design och programmering

Introduktion HTML och PHP 732G16 Databaser design och programmering Introduktion HTML och PHP 732G16 Databaser design och programmering 08-04-22 Ingrid Alin Nilsson 1 Presentationen tar upp Lite grundläggande om HTML Grunderna i PHP Styrstrukturer Funktioner Filhantering

Läs mer

Innehåll. Föreläsning 3. javax.naming.context. javax.sql.datasource. Vad är JDBC? Java Naming and Directory Interface(JNDI) Viktigaste metoder:

Innehåll. Föreläsning 3. javax.naming.context. javax.sql.datasource. Vad är JDBC? Java Naming and Directory Interface(JNDI) Viktigaste metoder: Föreläsning 3 JDBC Innehåll JNDI Java Naming and Directory Interface En slags DNS för Objekt JDBC Grunderna Uppkoppling Exekvera SQL-satser Ta hand om resulterande ResultSets Finesser PreparedStatement

Läs mer

729G28. Webbprogrammering och databaser. Introduktion till webbutveckling med PHP. Jakob Pogulis Institutionen för Datavetenskap (IDA)

729G28. Webbprogrammering och databaser. Introduktion till webbutveckling med PHP. Jakob Pogulis Institutionen för Datavetenskap (IDA) 729G28 Webbprogrammering och databaser Introduktion till webbutveckling med PHP Jakob Pogulis Institutionen för Datavetenskap (IDA) 729G28 Webbprogrammering och databaser Introduktion till webbutveckling

Läs mer

Litteratur. Nätverk, Internet och World Wide Web. Olika typer av nätverk. Varför nätverk? Anne Diedrichs Medieteknik Södertörns högskola

Litteratur. Nätverk, Internet och World Wide Web. Olika typer av nätverk. Varför nätverk? Anne Diedrichs Medieteknik Södertörns högskola Litteratur Nätverk, Internet och World Wide Web Anne Diedrichs Medieteknik Södertörns högskola Beekman kap 9-11 Varierar i olika upplagor. Läs alla kapitel om nätverk och Internet och webb Olika typer

Läs mer