Web Programming & Technologies

           Do not forget to be creative! This is an option and a way to happiness.           

 

Course: WEB PROGRAMMING | Bachelor of Science (Computer Science)
Software: Java, JavaScript, XML, SVG,

 

MOTTO: "Things to watch: SVG - Scalable Vector Graphics - at last, graphics which can be rendered optimally on all sizes of device" - Tim Berners-Lee, inventor of the World Wide Web (www.w3.org/People/Berners-Lee )
Dacă în deceniul 70 (secolul XX) la nivel universitar, erau câteva discipline proprii informaticii, astăzi există domenii complexe ale Informaticii: Programare şi Software Engineering, Reţele de calculatoare şi Computing, Baze de date şi sisteme informatice, Programare şi dezvoltare Web, Grafică pe calculator şi realitate virtuală, Geometria computaţională, Modelare şi simulare, Calcul paralel şi distribuit, Inteligenţă artificială şi sisteme expert, Ingineria cunoaşterii.

 

Comentariu introductiv

  1. Complexitatea aplicaţiilor de utilizare a calculatorului în diverse domenii de activitate (inclusiv in educatie), a determinat perfecţionarea, atât a sistemelor de operare şi limbajelor de programare, cât şi a tehnologiilor şi platformelor.  Au fost concepute şi elaborate noi sisteme de operare, noi limbaje de programare, noi tehnologii. Dacă în anii ’70 inventarea şi utilizarea microprocesorului au însemnat o revoluţie  în domeniul arhitecturii calculatoarelor, în anii ’90 a fost o adevărată revoluţie, atât în domeniul reţelelor de calculatoare, cât şi în domeniile limbajelor de programare (Java şi JavaScript) şi sistemelor de operare (Linux, Windows). Astfel, au apărut tehnologiile Web. Trebuie menţionate dezvoltarea şi evoluţia limbajului C++ care în anii ’80 a implementat şi dezvoltat modelul orientat spre obiecte (modelul programării obiectuale are rădăcini în limbajele SmallTalk, Lisp etc.) şi programarea orientată spre obiecte (OOP-Object Oriented Programming);
  2. La începutul anilor ’90 a apărut limbajul HTML (Hypertext Markup Language) ce a determinat răspândirea paginilor Web statice şi dezvoltarea explozivă a sistemului WWW (World Wide Web). Necesitatea elaborării paginilor Web dinamice a determinat apariţia diverselor tehnologii: JavaScript, JavaServer Pages (JSP), VBScript, PHP, ASP, Macromedia Dreamweaver etc., tehnologii destinate pentru aplicaţii server, iar altele pentru aplicaţii client. În domeniul aplicaţiilor grafice dinamice şi interactive ultimii 10 ani au fost dominaţi de tehnologiile Java şi Flash.

 

Observatii (competente cerute anterior)

Sistemul Internet: tipuri de retele de calculatoare, topologii de retele, arhitectura si functionare, router, gateway, hipertext, limbaje de comunicatie, protocoale, telnet, e-mail, FTP, HTTP, adrese IP, structura DNS (Domain Name System),  adresa URL (Uniform Resource Locators), arhitectura si sarcinile TCP/IP

Programarea HTML: elemente/etichete/tag-uri, documente HTML, structura unui document, formatarea textului, hiperlink-uri, inserarea de obiecte, inserarea de elemente multimedia, tabele, liste, frame-uri/cadre, utilizarea formularelor

Programarea HTML avansata:  utilizarea stilurilor CSS (Cascading Style Sheets), utilizarea script-urilor JavaScript, utilizare DHTML (Dynamic HTML), utilizare CGI (Common Gateway Interface)

OBIECTIVE

  • Cunoasterea si utilizarea conceptelor si tehnicilor pentru proiectarea, elaborarea si utilizarea aplicatiilor web; 
  • prin activitatile de la laborator se urmareste ca studentii sa obtina competente privind utilizarea sistemelor de calcul in tehnologia informatiei din domeniul dezvoltarii aplicatiilor Web.

 


Obiectivele disciplinei

Obiectivele cursului

Obiectivele activităţilor aplicative

(laborator, proiect)

  • intelegerea si asimilarea principalelor cunostinte privind dezvoltarea aplicatiilor prin metodele si tehnicile oferite de tehnologiile moderne Web
  • programare Java, JavaScript, XML, SVG

 

  • consolidarea cunostintelor de la curs prin aplicatii, testari; elaborarea de aplicatii Java, JavaScript, XML si SVG
  • aplicatii si proiecte folosind programare Web: Java, JavaScript, SVG, XML

CONTINUT


1. Programare  JavaScript

-          Dezvoltarea si executia unui applet Java

-          Clase si obiecte in Java

-          Programare Internet (applet-uri Java)

-          Instructiuni, tablouri, functii in JavaScript

-          Formularea si tratarea evenimentelor in JavaScript

-          Blocuri cookie, fereste si cadre in JavaScript

-          Meniuri si DHTML in JavaScript

 

2. Programare in XML (Extensible Markup Language)

-          Structuri de date si Machetarea informatiei

-          Insule de date si fisiere externe

-          DTD (Document Type Definition)  si elemente #PCDATA

-          Declararea atributelor

 

3. Programare in SVG (Scalable Vector Graphics)

-         Grafica XML pentru Web: vector graphic shapes (linii şi curbe), imagini şi text

-         DOM (Document Object Model) pentru scripting şi interactivitate

-         SMIL (Synchronized Multimedia Integration Language) pentru animaţie şi CSS pentru styling.

-         elemente SVG pentru aplicatii grafice 2D

 

 

 

Bibliografie

Tutorial: Pagini Web cu JavaScript (ed. Edusoft, 2006) -  Partea I   Partea II   (pdf)    Ref.: www.cniv.ro

Academic Tutorials: http://www.academictutorials.com/

- M. Vlada, SVG (Scalable Vector Graphics) for 2D Graphics in XML and Applications, Proceedings of the 3rd International Conference on Virtual Learning (ICVL) (Bucharest University Press, ISSN 1844-8933), 297-306, 2008

- M. Vlada, Limbajul SVG (Scalable Vector Graphics) pentru grafica 2D in XML si aplicatii, Lucrarile celei de-a V-a Conferinta de Invatamant Virtual (Editura Universitatii din Bucuresti), ISSN 1842-4708, 27-34,  2007

- D. Diaconu, Pagini Web cu JavaScript, Editura EduSoft, 2006 (prefata M. Vlada): Fisier de tip .pdf ! Partea_I Fisier de tip .pdf ! Partea_II

     a)

  1. M. Vlada, Birotică: Tehnologii multimedia, Editura Universităţii din Bucureşti,2004
  2. M. Vlada, curs on-line – http://ebooks.unibuc.ro/informatica/Birotica/, 2003
  3. T. K. Edmonds, Front Page 2002. Ghid rapid pentru profesionisti, Ed. ALL, 2003
  4. S. Buraga, Proiectarea siturilor Web. Design şi funcţionalitate, Editura POLIROM, Iaşi, 2002
  5. A. Traian, Dezvoltarea aplicaţiilor Web folosind XHTML, PHP si MySQL, Editura POLIROM, Iaşi, 2005

    b)

  1. http://javascript.internet.com , accesare 2011
  2. http://www.w3schools.com  , accesare 2011
  3. http://www.w3.org/TR/REC-xml/ , accesare 2011
  4. http://www.w3.org/Graphics/SVG/ , accesare  2011
  5. Calin Marin Vaduva, Programarea in Java, Editura Albastra, Cluj-Napoca, 2002
  6. Jim Keogh, JavaScript fara mistere, Editura Rosetti educational, 2005

    c)

JavaScript Vector Graphics Library (wz_jsgraphics.js) by Walter Zorn
Ref.: http://mvlada.blogspot.com/2011/  : Fisier de tip .pdf ! Walter Zorn-wz_jsgraphics  (Download Fisier de tip .js ! wz_jsgraphics)

PROIECTE. Exemplu de proiect: Fisier de tip .pdf ! Proiect-1-documentatie (Download Fisier de tip .rar ! Ex-Proiect-1 )
PROIECTE. Exemplu de proiect: Fisier de tip .pdf ! Proiect-2-documentatie (Download Fisier de tip .rar ! Ex-Proiect-2 )
PROIECTE. Exemplu de proiect: Fisier de tip .pdf ! Proiect-3-documentatie (Download Fisier de tip .rar ! Ex-Proiect-3 )
Exemplu aplicatie demonstrativa:Fisier de tip .pdf ! Ex-demonstrativ  | Testare: Fisier de tip .htm ! Calculator Version 1_0
Exemplu aplicatie demonstrativa: Fisier de tip .pdf ! Ex-demonstrativ-1 | Testare: Fisier de tip .html ! Tabelul lui Mendeleev
Exemplu aplicatie demonstrativa: Fisier de tip .pdf ! Ex-demonstrativ-2 | Testare: Fisier de tip .html ! Calculator

1990 vs. 2010

NU exista, dar acum, exista:

www, web technologies, web programming, web server, router, proxy, spider, e-mail, HTML, XML, PHP, URL, My SQL, DNS, DHCP, cookie, .com, .edu, .ro, .eu, link, Google, Facebook, Yahoo, Mozilla, Chrome, chat, skype, Yahoo! messenger, twitter, SMS, RSS, BBS, CSS, SSL, SSH, Firewall, Page rank algorithm, e-learning, educational software, virtual learning, e-commerce, e-training, iPhone, iPad, SmartPhone, Tablet PC, Android OS, BlackBerry, Cloud computing, Touch technology, interactive table, online journal, online courses, digital library, open source, Flash, PDF, CMS, Moodle, Drupal, Joomla!, Wikipediea, wiki, blog, Java, JavaScript, Windows OS, Linux, Azure platform.

Platforme CMS (Content Management Systems): WordPress (pagini web, blog), Joomla! (pagini web), Drupal (pagini web), Moodle (LMS, e-learning), Magento (pagini web, e-commerce)
- List of content management systems: http://en.wikipedia.org/

 

Cloud computing Microsoft Azure Platform

The Windows Azure Platform is a Microsoft cloud platform used to build, host and scale web applications through Microsoft datacenters. Windows Azure Platform is thus classified as platform as a service and forms part of Microsoft's cloud computing strategy, along with their software as a service offering, Microsoft Online Services.

The Windows Azure Platform provides an API built on REST, HTTP and XML that allows a developer to interact with the services provided by Windows Azure. Microsoft also provides a client-side managed class library which encapsulates the functions of interacting with the services. It also integrates with Microsoft Visual Studio so that it can be used as the IDE to develop and publish Azure-hosted applications. Windows Azure became commercially available on 1 Feb 2010.

"Running applications on machines in an Internet-accessible data center can bring plenty of advantages. Yet wherever they run, applications are built on some kind of platform. For on-premises applications, this platform usually includes an operating system, some way to store data, and perhaps more. Applications running in the cloud need a similar foundation. The goal of Microsoft's Windows Azure is to provide this."

Sharding with SQL Azure

Database sharding is a technique of horizontal partitioning data across multiple physical servers to provide application scale-out. SQL Azure is a cloud database service from Microsoft that provides database functionality as a utility service, offering many benefits including rapid provisioning, cost-effective scalability, high availability and reduced management overhead. SQL Azure combined with database sharding techniques provides for virtually unlimited scalability of data for an application.

Source: http://www.microsoft.com/windowsazure/whitepapers/

Case Studies: http://www.microsoft.com/windowsazure/evidence/

Premieră în 2011 pentru România:

Modulul de publicare a informaţiilor pe Internet (Sistemul informatic pentru examenele naţionale - realizat de Siveco Romania) a folosit platforma de Cloud computing Microsoft Azure, ceea ce asigură disponibilitate permanentă, capacitate de calcul practic infinită, redundanţă şi securitate a informaţiilor. Acest modul a fost conceput special pentru a face faţă atât unui număr foarte mare de accesări simultane, cât şi posibilelor atacuri menite să întrerupă disponibilitatea serviciilor furnizate.

Conform www.trafic.ro, pe 12 iulie 2011 s-a înregistrat un nou record de vizitatori unici pentru http://portal.edu.ro, cu 828.935 într-o singură zi şi peste 24 de milioane de afişări.  Cele mai accesate site-uri ale portalului au fost http://admitere.edu.ro, http://bacalaureat.edu.ro şi http://titularizare.edu.ro.

Sursa: http://portal.edu.ro/index.php/articles/news/11492

 

 

 

Pagină actualizată la 05 Iulie 2013.