You are on page 1of 61

Internet i web

tehnologije
Web tehnologije
• Osnovne web tehnologije
– HTML 5
– CSS
– XML
– JavaScript
– Semantički web
HTML 5
• Aktuelni Web standard
• Samo jedan tip dokumenta
<!DOCTYPE html>
• Neka od novih svojstava
– element <canvas> za 2D crtanje
– elementi <video> i <audio> za reprodukciju multimedije
– novi elementi za specifične sadržaje dokumenta
– <article>, <footer>, <header>, <nav>, <section>, <aside>,
<figure>
– nove kontrole formi - calendar, date, time, email, url, search
– podrška za lokalnu permanentnu memoriju (HTML localStorage/
sessionStorage), kao zamena za kolačiće (cookies)
HTML 5 u VS
• Direktna upotreba HTML5
standarda u Visual Studio
Editoru za razvoj HTML 5
Web sajtova
– HTML5 ekstenzije od verzije VS
2010 (Web Standards update for
Visual Studio 2010 SP1)
CSS
• Aktuelni softverski alati za izgradnju Web /razvoj Web
aplikacija podržavaju HTML 5 i CSS 3
• Provera usaglašenosti CSS koda sa standardom - W3C
CSS Validation Service https://validator.w3.org/
– na osnovu Veb adrese (online), fajla (upload) ili unosa koda
(paste)
XML
• Jezik XML predstavlja univerzalni način
strukturiranja dokumenata i podataka na
Webu
– nema unapred definisan skup oznaka, već
omogućava definisanje individualnog formata
zapisa
– formalno definisan i proširiv
• Od verzije HTML5, standardni HTML
predstavlja jednu od varijanti jezika XML
JavaScript
• JavaScript je interpretativni (skript) jezik
namenjen programiranju Web sajtova/aplikacija
– proširenje mogućnosti jezika HTML, posebno u
interakciji s korisnikom
– objektno-zasnovan programski jezik, nezavisan od
platforme, pretežno se koristi na klijentskoj strani
– programi se izvršavaju uz pomoć interpretera
ugrađenog u Web čitače
– Integrisan je sa HTML (kombinovanje/mešanje koda),
pa je potrebno poznavanje HTML
JScript.NET
• JScript.NET je proširena verzija jezika
ECMA-262 JavaScript Visual Studio
generiše zavisni kod, koji se izvršava
preko .Net Framework’s Common
Language Runtime (CLR), ali podržava i
kreiranje standarnog, nezavisnog
Javascript koda, koji se izvršava u svakom
Web čitaču
ActionScript/Flash
• ActionScript je objektno orijentisan
interpretativni jezik, varijanta jezika
JavaScript
• Adobe Flash je grafički orijentisan editor
za pisanje programa u jeziku ActionScript
• Format fajla .swf predstavlja kompajlirani
ActionScript kod
ActionScript/Flash
• Dobre strane
– udobna i laka izrada animacija, igara i manjih
programa (Flash)
– pojednostavljuje upotrebu videa na Webu
– može se pokrenuti nezavisno od Web čitača
– pretraživači sada mogu da analiziraju sadržaj
• Nedostatak: Flash tehnologija je vlasništvo
Adobe Systems i nije standard (potrebna
instalacija player-a)
JavaScript objektne biblioteke
• jQuery - olakšava programiranje manipulacija HTML
dokumentima, događaja, animacija i AJAX
• jQuery2 ASP.Net - odgovarajuća biblioteka kompanije
Microsoft za .Net okruženje
• Query Mobile - za razvoj responzivnih Web sajtova, za
sve uređaje (pametni telefoni, tableti i desktop sistemi)
• AngularJS - klijentski okvir za podršku razvoju aplikacija
u okviru jedne Web stranice (single-page)(Google)
• Twitter Bootstrap
• Node.js - namenjena podršci razvoja serverskog dela
aplikacije u jeziku JavaScript
Semantički web
• Semantički Web je način i tehnologija
apstraktnog predstavljanja podataka na World
Wide Web-u
• Zasniva se na RDF (Resource Description
Framework), koji opisuje semnatičke veze, OWL
(Web Ontology Language), XML (Extensible
Markup Language) i drugim W3C standardima
• Efikasnija rešenja za pronalaženje informacija
na Web-u kreiranjem i korišćenjem ontologija
Web programiranje
• Serverski programski jezici
• Aplikativni okviri (application frameworks)
• Programiranje zasnovano na pravilima
(rule-based)
Serverski programski jezici
• C#
• F#
• PHP
C#
• Objektno-orijentisani programski jezik
opšte namene za kreiranje distribuiranih
softverskih sistema
– C# 4.0 - .NET Framework 4, Visual Studio
2010
– C# 5.0 - .NET Framework 4.5, Visual Studio
2012
– C# 6.0 - .NET Framework 4.6, Visual Studio
2015
– C# 7.0 - .NET Framework 4.6.2/4.7, Visual
Studio 2017
C#
• Primer minimalnog koda - jednostavni
konzolni ispis poruke:
Jezik F#
• Uz objektno orijentisano i imperativno, omogućava i
funkcionalno programiranje u sistemu Visual Studio
– Primer koda kojim se postavlja upit: "100 najbolje ocenjenih
filmova iz baze podataka Netflix"
PHP
• PHP (PHP Hypertext Preprocessor) je serverski
programski jezik otvorenog koda
– potpuno besplatan
– Visual Studio dodaci Phalanger Tools (besplatni) i PHP Tools
(komercijalni) za podršku rada u PHP: PHP projekti, navigacija i
prepoznavanje sintakse u editoru koda, kao i korišćenje
biblioteka u svim .Net jezicima
Popularnost programskih jezika
Aplikativni okviri
• Aplikativni okvir ASP.Net
• Aplikativni okviri otvorenog koda
zasnovani na PHP
• Aplikativni okviri za razvoj
multiplatformskih mobilnih aplikacija
ASP.Net
• Softverska platforma (framework)
kompanije Microsoft za razvoj mrežnih
/Web aplikacija obuhvata:
– programske jezike (C#, F#, C++ i više jezika
nezavisnih proizvođača)
– virtuelnu mašinu (Common Language
Runtime, CLR)
– biblioteke klasa ASP.NET
– Visual Studio (integrisano razvojno okruženje:
dizajn, programiranje, debugging)
ASP.Net
ASP.Net Web stranica
• Web stranice mogu da sadrže kod više različitih
programskih jezika
– kao proširenje osnovnog html fajla stranice sa
sufiksom .aspx
– na posebnim fajlovima, čija oznaka zavisi od
programskog jezika; za C# kod je u fajlu .aspx.cs
• Kod stranice definiše se kao posebna klasa
• Veći deo koda je u obliku procedura koje
reaguju na događaje (event handler)
ASP.Net web forme
ASP.Net MVC
• Savremeni pristup razvoju Web aplikacija
– otvoreni kod
– agilnost
– brzina
– računarstvo u oblaku
– Multiplatfomska orijentacija
ASP.Net Core
Aplikativni okviri zasnovani na PHP
• Laravel - najpopularniji PHP aplikativni okvir s brojnim naprednim
rešenjima, podrškom za testiranje, ORM i NoSQL baze. Ima dobru
dokumentaciju, tutorijele i kuseve
• Simfony - stabilan i dokumentovan aplikativni okvir visokih
performansi, u kome su razvijeni CMS Drupal i EzPiblish
• Code Igniter - aplikativni okvir otvorenog koda za razvoj PHP
aplikacija na osnovu objektnih biblioteka koda za tipična programska
rešenja i jednostavnog interfejsa za njihovo korišćenje (MVC
arhitektura)
• CakePHP - aplikativni okvir za razvoj MVC PHP aplikacija pogodan
za početnike
• Zend Framework 2 - profesionalno okruženje za razvoj Veb
aplikacija visokih performansi
Upotreba serverskih tehnologija
Upotreba serverskih tehnologija PHP/ASP
Aplikativni okviri za razvoj multiplatformskih
mobilnih aplikacija
• Apache Cordova/Xamarin - okruženje za razvoj hibridnih
aplikacija za mobilne uređaje (HTML 5+CSS
3+JavaScript)
– Node.js
• Sencha Touch - kreiranje univerzalnih HTML5 aplikacija
u jeziku JavaScript
• Mono - besplatno okruženje otvorenog koda,
kompatibilno s ECMA i .NET (jezik C# i Common
Language Runtime).
– omogućava razvoj .NETaplikacija na OS Windows/Linux za
platforme Windows/Linux/OS X/Android/Solaris i Playstation3,
Xbox 360
• Query Mobile
• Mobile Angular UI
Programiranje zasnovano na pravilima
(rule-based)
Softverski alati za razvoj web
aplikacija
• Integrisana razvojna okruženja (IDE)
• Sistemi za upravljanje Web sadržajem
(CMS)
• Sistemi za upravljanje bazama podataka
(DBMS)
• Sistemi za upravljanje pravilima (BRMS)
• Programska okruženja za istraživanje
podataka (Data Mining)
• Ostali alati
IDE
• Integrisana programska okruženja
(Integrated development environment ,
IDE) pružaju podršku svim fazama razvoja
softvera
– Visual Studio 2010/2012/2013/2015/2017
(+PHP Tools)
– Net Beans
– Eclipse (PHPEclipse)
– Oracle JDeveloper
– Grafički HTML editori npr. Adobe
Dreamweaver
Visual Studio
• Visual Studio je integrisano razvojno okruženje,
s brojnim alatima za projektovanje,
implementaciju, testiranje i isporuku aplikacija
• Podržava različite vrste projekata razvoja
softvera
– Klasične desktop i mrežne aplikacije (C++,VB)
– Web aplikacije/Web dizajn (HTML+CSS+Javascript,
C#/PHP)
– Mobilne aplikacije (C#/PHP, F#)
– Windows Azure aplikacije (Cloud Computing)
Visual Studio
• Projektovanje i izrada projektne dokumentacija
se zasnivaju na UML modelima
• Visual Studio podržava UML modeliranje samo
u potpunim verzijama
– Microsoft Visual Studio 2010 Ultimate + dodatak
– Microsoft Visual Studio 2012 Ultimate
– Microsoft Visual Studio 2013 Ultimate
– Microsoft Visual Studio 2015 Enterprise
– Microsoft Visual Studio 2017 Enterprise
MS Visual Studio 2010 Ultimate
MS Visual studio 2012 Ultimate/
2015 Enterprise
Visual Studio
• Primer: Kreiranje UML modela i dijagrama pomoću
Visual Studio 2010
• Video-tutorijal (18 min)
http://download.microsoft.com/download/E/D/A/EDA39A83-
9B9A-4285-81ADFC8BCB34DA3C/
HDI-ITPro-msdn-winvideo-
Create_and_use_UML_Models_and_Diagrams.wmv
Primer: VS – generisanje koda
Grafički HTML editori
• Dizajnerski alati, koji omogućavaju
kreiranje dinamičkih Web
sajtova/aplikacija
– Adobe Dreamweaver
– Microsoft Expression Web
– (Windows 8/Phone, HTML5/CSS 3/Javascript)
– Microsoft Visual Studio
– Net Beans
– ...
Sistemi za upravljanje web sadržajem
(CMS)
Sistemi za upravljanje BP
• Microsoft SQL Server 2008/2012 DBMS &
BI
• LINQ Object-Relational Designer
• MySQL
Microsoft SQL Server
• SQL Server 2008/2012
• SQL Server Express (besplatan)
• SQL Server BI
– Business Intelligence Development Studio
(2008)
– SQL Server Data Tool (2012)
LINQ Object relational designer
• Objektno-relaciono mapiranje
• Language Integrated Query (LINQ)
Objektno-relaciono mapiranje
• Tehnika preslikavanja između nekompatibilnih
modela podataka u objektno-orijentisanim
jezicima
– logička reprezentacija objekata se čuva u bazi
podataka u atomizovanoj formi, tako da se sačuvaju
svojstva objekata i njihove relacije, kako bi se po
potrebi ponovo kreirali kao objekti u memoriji
• Najpoznatiji alati
– Hibernate (Java)
– NHibernate (.NET, open source)
– LINQ, Entity Framework (uključeni u .NET)
Language Integrated Query (LINQ)
• LINQ je komponenta .Net platforme koja
omogućava postavljanje SQL upita
pomoću naredbi programskih jezika
C#/F#, ali i PHP, Java i Javascript
• Primer upita i ispisa rezultata u C#
LINQ primer
Expert Systems Shells
• Ljuske ekspertnih sistema (Expert Systems
Shells) su ekspertni sistemi sa praznom bazom
znanja
– baza znanja se razvija za specifično područje,
korišćenjem tehnika prikupljanja/izvlačenja znanja
(knowledge acquisition/elicitation)
• Primeri:
– CLIPS (C Language Integrated Production System)
– JESS (Java Expert Systems Shell)
– Exsys CORVID
– Expertise2Go
Sistemi za upravljanje pravilima
• (Business Rule Management Systems,
BRMS)
• Tehnologija razvoja poslovnih sistema
zasnovanih na znanju, npr. ekspertnih
sistema u poslovanju
– sve kompanije imaju pravila i ograničenja
poslovanja
– poslovna pravila se predstavljaju u formi
iskaza prirodnog jezika
– ne zahtevaju probabilističke ocene
Sistemi za upravljanje pravilima
• Mehanizam zaključivanja (rule engine)
• Primeri
– FICO Blaze Advisor
– IBM ILOG (C/C++,.Net,Java)
– Microsoft BizTalk / Windows Workflow
Foundation
– Oracle Business Rules
– Information Builders WebFOCUS
Programska okruženja za data mining
• Microsoft SQL Server BI
• Weka
• Python
• R
Microsoft SQL Server BI
• SQL Server Data Tool - dodatak za Visual
studio, za razvoj aplikacija koje koriste SQL
Server, Azure SQL Database i Azure SQL Data
Warehouse
WEKA
Python
• Python je sve popularniji (open source) jezik
mašinskog učenja i istraživanja podataka sa
brojnim bibliotekama, npr. NumPy, Pandas,
Scikitlearn,TensorFlow
R / Microsoft R
Ostali alati
• Kolaborativni alati
• Mrežne platforme (cloud computing)
• Alati za obradu multimedijskih sadržaja
Kolaborativni alati
Cloud compting
• Amazon EC2
• Microsoft Azure
Amazon EC2
• Amazon EC2 (Elastic Compute Cloud)
• Amazon EC2 je osnova cloud-computing platforme
Amazon Web Services (AWS) kompanije Amazon
• Omogućava iznajmljivanje virtuelnih računara za
izvršavanje korisničkih aplikacija
• Veb servis omogućava kreiranje sopstvene virtuelne
mašine, na koju korisnik može da instalira neophodan
softver, kreira, pokrene i terminira instance čije vreme
plaća, kao i da optimizuje kašnjenje podešavanjem
prostorne redundanse
• Elektronska prodavnica Amazon.com izvršava se na
ovoj infrastrukturi
Microsoft Azure
• Microsoft Azure je cloud-computing servis
(SaaS/PaaS/IaaS) za razvoj, isporuku,
izvršavanje i održavanje korisničkih Veb
aplikacija i servisa u svetskoj računarskoj mreži
– omogućava razvoj pomoću velikog broja programskih
jezika i različitih razvojnih alata i aplikativnih okvira,
između ostalog i Microsoft Visual Studio 2010/2012/
2013/2015/2017 uz Azure SDK za .NET i PHP
– http://www.windowsazure.com/en-
us/develop/net/tutorials/get-started/
Alati za obradu multimedije
• Adobe Photoshop, GIMP
• Audio/Video editori
• Alati za kreiranje animacija i VR

You might also like