330 likes | 436 Views
Internetapplicaties. Niki Meulemans nikimeulemans@hotmail.com. Waarom internetapplicaties ?. Iedereen heeft browser Applicatie van overal te gebruiken, (werk, thuis, buitenland) Versies upgraden is gemakkelijk (gebruiker hoeft niets te doen)
E N D
Internetapplicaties Niki Meulemans nikimeulemans@hotmail.com
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 Webprogramma
De ingredienten • UML • Java • HTML • JavaScript • SQL (MySQL) • Security • XML • Internet Server (Win op. system + Tomcat) Internetapplicaties - I Eerste Webprogramma
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 Webprogramma
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 Webprogramma
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 Webprogramma
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 Webprogramma
Voorlopig overzicht (vervolg) • 6: Gebruikte Technologie • Servlets • Authenticatie • 7: Databases met Java • 8: Testing • 9: Hosting • 10: Evaluatie Internetapplicaties - I Eerste Webprogramma
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 Webprogramma
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 Webprogramma
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 Webprogramma
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: • http://java.sun.com/j2se/1.4.2/download.html • Download J2SE v 1.4.2_01 SDK Internetapplicaties - I Eerste Webprogramma
Tomcat-installatie • Installatie van Tomcat Web Server (mijn versie = 4.1.24) • http://jakarta.apache.org/tomcat • Download binaries • Kies Tomcat 4.1.27 zip (laatste versie van de 4-reeks) • Unzip naar c:\ Internetapplicaties - I Eerste Webprogramma
Configuratie Win XP/Win 2000 • Win XP/Win 2000 • Settings/Control Panel/System/… • …/Advanced tab/Environment variables • System Variables • NAME VALUE • JAVA_HOME c:\j2sdk1.4.2_01 • CATALINA_HOME c:\jakarta-tomcat- 4.1.27 Internetapplicaties - I Eerste Webprogramma
Config Win XP/Win 2000 (vervolg) • Win XP/Win 2000 • System Variables (vervolg) • NAME VALUE • CLASSPATH c:\jakarta-tomcat- 4.1.27\common\lib\ servlet.jar;. (toevoegen !) • PATH c:\j2sdk1.4.2_01\bin (toevoegen !) Internetapplicaties - I Eerste Webprogramma
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 Webprogramma
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 Webprogramma
1e Installatietest Tomcat op MS Windows • Maak een shortcut naar de bestanden • c:\jakarta-tomcat-4.1.27\bin\startup.bat • c:\jakarta-tomcat-4.1.27\bin\shutdown.bat • Pudding-test: • Klik op de startup-shortcut. • Start/Run… • http://localhost:8080/index.jsp komt overeen met: • c:\jakarta-tomcat-4.1.27\webapps\root\index.jsp Internetapplicaties - I Eerste Webprogramma
Resultaat: Internetapplicaties - I Eerste Webprogramma
1e programma • U creëert folder en bestand: c:\jakarta-tomcat-4.1.27\webapps\hfdst1\index.jsp • Inhoud: <html> <head> <title>1e JSP-programma</title> </head> <body> Hello World!<br> Java datum en tijd is <%=new java.util.Date() %> </body> </html> Internetapplicaties - I Eerste Webprogramma
1e programma (vervolg) • U creëert de mappen: c:\jakarta-tomcat-4.1.27\webapps\hfdst1\WEB-INF en hierbinnen: ..\WEB-INF\classes ..\WEB-INF\bin • Start/Run, Tik URL in: • http://localhost:8080/hfdst1/index.jsp OF • http://127.0.0.1:8080/hfdst1/index.jsp • HOORT BIJ (niet intikken): c:\jakarta-tomcat-4.1.27\webapps\hfdst1\index.jsp Internetapplicaties - I Eerste Webprogramma
1e programma - Resultaat Internetapplicaties - I Eerste Webprogramma
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 Webprogramma
1e programma - JSP • JSP= • Java Server Pages • Combinatie van HTML en speciale tags <% %> • Taal die layout (html) en programmering (java binnen een tag <% java-code %> 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 Webprogramma
1e programma – URL • http://localhost:8080/hfdst1/index.jsp • 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 Webprogramma
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-4.1.27\webapps\hfdst1 Internetapplicaties - I Eerste Webprogramma
Internet is het fysische computernetwerk Het World Wide Web is een service die draait op dit netwerk. Services: Web E-mail FTP Het Web definieert hoe 2 partijen, de client browser en de web server met elkaar communiceren. -> Implementatie via HTTP Hoe kan het allemaal werken ? Internetapplicaties - I Eerste Webprogramma
Het HTTP request-response model • Een HTTP-request wordt verzonden naar de web-server (vb Jij tikt een URL in: www.hotmail.com ) 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 Webprogramma
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 Webprogramma
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 http://java.sun.com/applets • Vb http://java.sun.com/applets/other/UnderConstruction/index.html Internetapplicaties - I Eerste Webprogramma
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 Webprogramma
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 Webprogramma
Dynamische toevoegingen: JSP Server Machine Client Browser HTTP Request Web Server HTML Files HTTPResponse Servlet Container: JSPs & Servlets Internetapplicaties - I Eerste Webprogramma