Documente Academic
Documente Profesional
Documente Cultură
YouTube - Facts
Asigura posibilitatea vizualizarii a peste 2 miliarde filme pe zi (2010) Fondat in Feb 2005 (3 sw ingineri) 30 mil vizualizari/zi in Martie 2006 100 mil vizualizari/zi in Iulie 2006 Echipa: 2 administratori sistem, 2 arhitecti pe probleme scalabilitate 2 ingineri programatori pentru noi functionalitati 2 ingineri pe probleme de arhitectura retele 1 DBA
HTML JAVASCRIPT XML JAVA HTTP AJAX servlets CSS Flash C# PHP ASP JSP JAVA Beans
SQL PYTHON
jquery
Hibernate
SpingSource
SOAP
REST JSON
Componete principale AW
Other (Web) Apps
Application Server Java, Java Servlet, Java Beans, Python, Django, Ruby, Rails, NodeJs... Hibernate
Baza de date
Informatia este tot ce avem Trebuie mentinuta: sa fie oricand disponibila accesibila rapid in siguranta
Servere Web
HTTP - Hypertext Transfer Protocol implementation Exista o multime de optiuni: Apache Lighthtpd Yaws Tomcat Jetty Mongrel
Backup
Nu uitati sa faceti Back-up la date !!!
Hard-disk-ul se poate defecta Exista oricand posibilitatea unui atac (hakers) Se pot sterge fisiere din greseala
Virtualizare
Una din temele fierbinti in prezent Potential imens in viitor Exemple aplicatii virtualizare: Server consolidation Disaster recovery Testing and training Portable applications Portable workspaces Exemple: XenSource VMWare
Monitorizarea infrastructurii
monitorizare trafic - RRDTool monitorizare hardware (process, memory usage, ...) monitorizare incidente securitate monitorizare evenimente retea - Nagios
Intrebari:
Cati dintre voi au creat o pagina html? Cati dintre voi au generat dinamic o pagina html folosind PHP? alt limbaj? Cati dintre voi au folosit JavaScript? Jquery sau alt framework? Cati dintre voi stiu java? Cati au folosit java pentru aplicatii web?
...tot istorie...
1990 - primul browser web si prima comunicatie web client-server avand ca suport Internetul 1994 Access la Internet pentru utilizatori prin dialup Se naste Consortium-ul W3C 1997 HTML 3.2
http://www.w3.org/TR/webarch/
URI - Caracteristici
Posibilitatea transcrierii URI o secventa de caractere Pot fi reprezentate ca sir de biti sau scrise pe hartie Separa identificarea de interactiune URI asigura doar identificarea resursei Actiunea este definita de protocolul sau limbajul asociat De obicei protocolul este specificat de catre URI scheme.. dar nu neaparat si nu totdeauna suficient Sintaxa URI este organizata ierarhic Importanta componentelor descreste de la stanga la dreapta
Syntaxa URI
Syntaxa URI specificata in RFC2396 Sintaxa URI consta intr-o secventa de componente: scheme - rafineaza sintaxa componentelor ce urmeaza authority path query fragment
Syntaxa URI
URI = scheme ":" hier-part [ "?" query ] [ "#" fragment ]
hier-part = "//" authority path authority = [ userinfo "@" ] host [ ":" port ]
URL foo://example.com:8042/over/there?name=ferret#nose \_/ \______________/\_________/ \_________/ \__/ | | | | | scheme authority path query fragment | _____________________|__ / \ / \ URN urn:example:animal:ferret:nose Identificare componente URI
HTTP://THE.WEB.PROTOCOL
HTTP Hypertext Transfer Protocol RFC 2616 (June 1999), defineste HTTP/1. 1, versiunea HTTP care este cel mai larg raspandita in prezent HTTP este un protocol de tip cerere/raspuns intre client si server Resursele accesate de catre HTTP sunt identificate folosind URL.
HTTP Cum functioneaza? +/ Protocol: foloseste mesaje formate din caractere ASCII ofera un format standard pentru transferul textului Etape comunicatie stabilire conexiune TCP clientul trimite cererea serverul trimite raspunsul + informatia inchidere conexiune Foloseste TCP vs UDP. Motive: Este folosit in WAN Informatia utile este adeseori de mari dimensiuni Este necesara garantarea integritatii informatiei (dezavantaj) cost relativ ridicat de stabilire a conexiunii TCP
Coduri de status
1xx: Informational - Request received, continuing process 100 Continue - Only part of message has been received 101 Switching protocol - The server switches protocol 2xx: Success 202 Accepted - Request accepted for processing but processing not finished 204 No Content 3xx: Redirection 301 Moved Permanently - The requested page has moved to a new url 303 See Other - The requested page can be found under a different url
Coduri de raspuns
4xx: Client Error - The request contains bad syntax 401 Unauthorized - The requested page needs a username anda password 403 Forbidden - Access is forbidden to the requested page 5xx: Server Error The server failed to fulfill the request 500 Internal Server Error 503 Service Unavailable - Server is temporarily overloading or down O lista completa a codurilor de raspuns HTTP: http://www.w3.org/Protocols/rfc2616/rfc2616-sec6.html#sec6.1.1
Headere HTTP
General Headers - Informatii care nu sunt legate de server, client sau HTTP Header-e specifice cererilor client - Formatul preferat de documente Preferred document formats and server parameters Header-e specifice server - Informatii despre serverul care trimite raspunsul Header-e entitati - Informatii despre datele trimise intre client si server O descriere completa a tuturor header-elor HTTP se gaseste in RFC 2616.
Metode HTTP
GET: Intoarce resursa identificata de cererea din URL HEAD: Intoarce headerele identificate de cererea in URL POST: Trimite date fara limita de dimensiune la server PUT: Stocheaza o resursa la URL specificat DELETE: Sterge o resursa de la URL-ul specificat OPTIONS: Intoarce metodele HTTP suportate de catre server TRACE: Pentru depanare. Raspunde cu cererea in ecou.
Limbaje de adnotare
GUI pentru o aplicatie Web diferita ca abordare de GUI pentru aplicatie traditionala:
GUI Aplicatie traditionala: Pixel -> Colectii pixeli/Caractere -> Controale -> Interfata Aplicatie
XHTML
Elemntele sunt organizate ierarhic Exista un nod radacina - <html> Fiecare element este compus din: tagul de inceput + continut + tagul de sfarsit <tag> ... </tag> <tag/> tagul de inceput poate contine Atribute <img src="image.png"> Entities - caractere speciale Ex: pt '<' se foloseste <
XHTML - DOCTYPE
<?xml version="1.0" encoding="iso-8859-1"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd"> <html xml:lang="en" lang="en" xmlns="http://www.w3. org/1999/xhtml"> <head> <title>Salut A02</title> </head> <body> <p>Salut A02</p> </body> </html>
DOM
Browserul descarca documentul HTML Pentrufiecare element creaza un obiect care il reprezinta Model intern structura arborescenta ce contine toate elementele documentului: DOM Document Object Model Odata cu HTML se incarca si se executa JavaScript JavaScript poate interactiona cu HTML folosind structura DOM si API - ul pus la dispozitie
Bibliografie
Web Architecture Uniform Resource Identifier RFC2616 HTTP Specification http://openclassroom.stanford.edu/MainFolder/CoursePage.php? course=WebApplications