Internetapplicaties Niki Meulemans
Internetapplicaties - I Eerste Webprogramma2 Waarom internetapplicaties ? Iedereen heeft browser Applicatie van overal te gebruiken, (werk, thuis, buitenland) Versies upgraden is gemakkelijk (gebruiker hoeft niets te doen) Toekomst: Electronische apparaten gaan browsers bevatten
Internetapplicaties - I Eerste Webprogramma3 De ingredienten UML Java HTML JavaScript SQL (MySQL) Security XML Internet Server (Win op. system + Tomcat)
Internetapplicaties - I Eerste Webprogramma4 De ingredienten (vervolg) Waarom deze keuze: Tomcat/JSP, java, MySQL: Simpel Verbruikt weinig geheugen, schijfruimte. Korte installatietijd. GRATIS! Er zijn zeer goede alternatieven (MS), maar ze missen minstens 1 van de bovenstaande voordelen.
Internetapplicaties - I Eerste Webprogramma5 Het recept: JSP/ASP Internet- applicatie UML Wij zullen UML gebruiken als designnotatie Java (niet zichtbaar door client) Server Side Scripting: JSP=Java + HTML + tags (Alternatief: Microsoft ASP.NET=C#/VB+HTML+ extra tags) Server Side Objects: java code (of andere talen). HTML Client side scripting: gewone HTML-pagina’s Server Side Scripting: JSP=Java + HTML + tags -> geeft Client Side resultaat: server generated HTML, geïnterpreteerd door de client JavaScript of VBScript (zichtbaar voor client ) Client Side Scripting: geïnterpret. door client net zoals HTML
Internetapplicaties - I Eerste Webprogramma6 Het recept (vervolg) SQL Persistentie: De applicatie moet client-informatie kunnen bijhouden. Wij zullen MySQL gebruiken. Security & Authenticatie Internet is voor iedereen toegankelijk: Applicatie moet weten wie er ingelogd is XML Kan gebruikt worden om om het even wat voor te stellen. (Database- alternatief) Voorlopig vooral initialisatie en configuratie. Internet Server voor de Hosting Server machine Server operating system (eerst MS, later meer over UNIX ) HTML&JSP Server (We zullen Apache Tomcat gebruiken)
Internetapplicaties - I Eerste Webprogramma7 Voorlopige overzicht We zullen geleidelijk alle elementen integreren in steeds complexere applicaties 1: Eerste webprogramma 2: HTML-forms, JavaScript en JSP’s 3: JavaBeans 4: Herhaling Java (Collecties, Comparable) en applets 5: Organisatie van een JSP-applicatie
Internetapplicaties - I Eerste Webprogramma8 Voorlopig overzicht (vervolg) 6: Gebruikte Technologie Servlets Authenticatie 7: Databases met Java 8: Testing 9: Hosting 10: Evaluatie
Internetapplicaties - I Eerste Webprogramma9 Evaluatie I) klein projectje, individueel te maken, volledig uitgewerkt, 1 opgave vr iedereen papieren afdruk UML-design, en van alle.jsp,.html,. xml,.java-files design mij mondeling toe te lichten II) groter project, in groep met 4, nadruk op design. Toelichting aan klas met mogelijkheid tot vragen. III) Klassiek examen
Internetapplicaties - I Eerste Webprogramma10 Internet en World Wide Web Jaren 60: Amerikaans militair netwerk: ARPANET Gedecentraliseerd: bescherming tegen aanval Academische wereld werd belangrijkste gebruiker en het netwerk werd ‘Internet’ Vroeg internet was niet gebuiksvriendelijk Hypertext werd niet gebruikt 1989: Binnen het CERN (Europees centrum voor nucleair onderzoek) Hypertext: links naar andere teksten via kliks op woorden
Internetapplicaties - I Eerste Webprogramma11 Internet en World Wide Web (vervolg) 1993: 50 web servers. Grote sprong: NCSA van Universiteit van Illinois: Mosaïc web browser voor Unix, PC, Macintosh, Voorheen draaide enige goede browser op NeXT 1994 Netscape Navigator Latere jaren: grote invloed van Microsoft
Internetapplicaties - I Eerste Webprogramma12 Java-installatie Intitiëel locale installatie: server en client zijn dezelfde machine. Voor echte hosting is vast IP-adres nodig, ofwel JSP-hosting via firma (€25/maand). Installatie van de JAVA SDK (mijn versie=1.3.1_01), laatste versie: Download J2SE v 1.4.2_01 SDK
Internetapplicaties - I Eerste Webprogramma13 Tomcat-installatie Installatie van Tomcat Web Server (mijn versie = ) Download binaries Kies Tomcat zip (laatste versie van de 4- reeks) Unzip naar c:\
Internetapplicaties - I Eerste Webprogramma14 Configuratie Win XP/Win 2000 Win XP/Win 2000 Settings/Control Panel/System/… …/Advanced tab/Environment variables System Variables NAMEVALUE JAVA_HOMEc:\j2sdk1.4.2_01 CATALINA_HOMEc:\jakarta-tomcat
Internetapplicaties - I Eerste Webprogramma15 Config Win XP/Win 2000 (vervolg) Win XP/Win 2000 System Variables (vervolg) NAMEVALUE CLASSPATHc:\jakarta-tomcat \common\lib\ servlet.jar;. (toevoegen !) PATHc:\j2sdk1.4.2_01\bin (toevoegen !)
Internetapplicaties - I Eerste Webprogramma16 Configuratie Win 95/98 In c:\autoexec.bat Zelfde variabelen maar nu als volgt: SET JAVA_HOME= c:\j2sdk1.4.2_01 SET CATALINA_HOME = … In c:\config.sys Environment Space vergroten: Shell=c:\command.com /e:1024 /p
Internetapplicaties - I Eerste Webprogramma17 Configuratie Unix-flavours Meeste JSP servers draaien op Unix (Solaris of Linux) Shell start-up script aanpassen Bash:.bashrc … OF tcsh:.tcshrc …
Internetapplicaties - I Eerste Webprogramma18 1e Installatietest Tomcat op MS Windows Maak een shortcut naar de bestanden c:\jakarta-tomcat \bin\startup.bat c:\jakarta-tomcat \bin\shutdown.bat Pudding-test: Klik op de startup-shortcut. Start/Run… komt overeen met: c:\jakarta-tomcat \webapps\root\index.jsp
Internetapplicaties - I Eerste Webprogramma19 Resultaat:
Internetapplicaties - I Eerste Webprogramma20 1e programma U creëert folder en bestand: c:\jakarta-tomcat \webapps\hfdst1\index.jsp Inhoud: <html><head> 1e JSP-programma 1e JSP-programma </head><body> Hello World! Hello World! Java datum en tijd is </body></html>
Internetapplicaties - I Eerste Webprogramma21 1e programma (vervolg) U creëert de mappen: c:\jakarta-tomcat \webapps\hfdst1\WEB-INF en hierbinnen:..\ WEB-INF\classes..\ WEB-INF\bin Start/Run, Tik URL in: OF HOORT BIJ (niet intikken): c:\jakarta-tomcat \webapps\hfdst1\index.jsp
Internetapplicaties - I Eerste Webprogramma22 1e programma - Resultaat
Internetapplicaties - I Eerste Webprogramma23 1e programma - HTML HTML= Hyper Text Markup Language (.html of.htm ) =Hyper(links) Tekst Markering Taal Hyperlinks: klikken op tekst om naar andere pagina te gaan Markup: de tags ( begin einde ) die de layout bepalen. Tag-Taal om layout van documenten te bepalen en die toelaat andere documenten te bereiken via clicks. Ontcijferd op client-machine makkelijk te leren: via View/Source de broncode met het resultaat te vergelijken
Internetapplicaties - I Eerste Webprogramma24 1e programma - JSP JSP= Java Server Pages Combinatie van HTML en speciale tags Combinatie van HTML en speciale tags Taal die layout (html) en programmering (java binnen een tag combineert. Wordt ontcijferd op de server-machine en geeft een puur html-bestand als resultaat mee aan de client-machine. NIET te leren door via View/Source. Wat binnen de tags staat, is niet zichtbaar voor client.
Internetapplicaties - I Eerste Webprogramma25 1e programma – URL URL = Uniform Resource Locator Internetadres, i.h.a. éénduidig over de wereld, Deze is NIET éénduidig vanwege ‘localhost’ http : Hyper Text Transfer Protocol Een van de protocollen, deze dient om HTML-pagina’s op te vragen localhost : Gereserveerd woordje. Geeft aan dat we een pagina zoeken op machine van de browser
Internetapplicaties - I Eerste Webprogramma26 1e programma – URL 8080 : Normaal luisteren web-servers naar poort 80. Tomcat gebruikt 8080 ipv 80 Wijzigbaar via de configuratie-file (niet doen) conf\server.xml hfdst1: Elke subdirectory van de webapps folder wordt beschouwd als aparte web- applicatie: c:\jakarta-tomcat \webapps\hfdst1
Internetapplicaties - I Eerste Webprogramma27 Hoe kan het allemaal werken ? Internet is het fysische computernetwerk Het World Wide Web is een service die draait op dit netwerk. Services: Web FTP Het Web definieert hoe 2 partijen, de client browser en de web server met elkaar communiceren. -> Implementatie via HTTP
Internetapplicaties - I Eerste Webprogramma28 Het HTTP request-response model Een HTTP-request wordt verzonden naar de web- server (vb Jij tikt een URL in: ) Dit is een verzoek om een bepaalde resource terug te geven. De web server antwoordt door de gevraagde resource te zenden als het er is, anders wordt een fout-pagina (vb 404) verzonden. Statisch: (je kunt alleen bestaande pagina’s opvragen) (In principe) Toestandsloos (stateless): Elke request zet een nieuwe connectie op, niets wordt onthouden.
Internetapplicaties - I Eerste Webprogramma29 Dynamische toevoegingen De gebruiker kan pagina’s laten creëren speciaal voor hem/haar CGI: (Common Gateway Interface), Lange tijd het enige mechanisme CGI-programma’s, uitgevoerd op server Perl is gebaseerd op CGI Moeilijk leesbare code voor niet-specialisten Nieuwe kopie van de interpreter wordt geladen voor elke request
Internetapplicaties - I Eerste Webprogramma30 Dynamische toevoegingen (vervolg) Applets Kleine stukjes java-code, in venstertje binnen de html- pagina Locaal uitgervoerd Eerst gedownload naar client (automatisch) Relatief traag Weinig interactie met rest van de pagina Zie Vb html
Internetapplicaties - I Eerste Webprogramma31 Dynamische toevoegingen (vervolg) JavaScript (en andere) Oorspronkelijk LiveScript Kleine stukjes script-code (GEEN JAVA) binnen html-tekst Locaal uitgevoerd Vooral voor user interface doeleinden te gebruiken Volledig zichtbaar voor de gebruiker zoals html- code. (View/Source)
Internetapplicaties - I Eerste Webprogramma32 Dynamische toevoegingen (vervolg JSP Kleine stukken JAVA tussen speciale tags binnen html-tekst. Op de server uitgevoerd. Steunt op servlet- technologie. Resulterend in een mogelijk unieke html-pagina speciaal voor de gebruiker gemaakt. Die wordt wel locaal uitgevoerd. Mogelijkheid om gewone, vooraf gecompileerde java-files te gebruiken.
Internetapplicaties - I Eerste Webprogramma33 Dynamische toevoegingen: JSP HTTP Request HTTP Response Web ServerHTML Files Servlet Container: JSPs & Servlets Client Browser Server Machine