apex 3.0 vs jdeveloper 11g - hroug.hr apex3... · pomoću java biblioteka. matej matejiček,...
TRANSCRIPT
Apex 3.0 vs JDeveloper 11g
Matej Matejiček, Plusplus, 18.10.2007
Matej Matejiček, Plusplus, 2007. APEX 3.0 vs. JDev 11g do aplikacija Weba 2
O autoru
Konzultant i softverski inženjer u PlusplusuIstraživanje novih tehnologijaVoditelj razvoja web rješenja
Matej Matejiček, Plusplus, 2007. APEX 3.0 vs. JDev 11g do aplikacija Weba 3
Sadržaj
Upoznavanje sa Apex-om i JDeveloperomPopis karakteristikaUsporedba karakteristika u oba alataBudućnostZaključciPrimjerPitanja i odgovori
Matej Matejiček, Plusplus, 2007. APEX 3.0 vs. JDev 11g do aplikacija Weba 4
Application Express 3.0 – općenito #1
Alat za razvoj aplikacija WebaTemeljen na PLSQL bibliotekamaBiblioteke su smještene i izvršavaju se na Oracle DBSadrže više od 100000+ linija kodaZa prikaz / aplikativni sloj se brine Apache poslužitelj weba sa PLSQL gateway modulom
Matej Matejiček, Plusplus, 2007. APEX 3.0 vs. JDev 11g do aplikacija Weba 5
Application Express 3.0 – općenito #2
Matej Matejiček, Plusplus, 2007. APEX 3.0 vs. JDev 11g do aplikacija Weba 6
JDeveloper 11g – općenito #1
Alat za razvoj Java aplikacijaGrafički editor GUI-a za desktop i aplikacije WebaModeran tekstualni editor s podrškom za brojne jezike: HTML, Javascript, XMLMoguća proširenja s različitim dodacimaPregršt bogatih komponenti (ADF Faces, JSF)Native podrška za Oracle tehnologiju
Matej Matejiček, Plusplus, 2007. APEX 3.0 vs. JDev 11g do aplikacija Weba 7
JDeveloper 11g – općenito #2
Matej Matejiček, Plusplus, 2007. APEX 3.0 vs. JDev 11g do aplikacija Weba 8
Popis karakteristika
1. Korisničko sučelje2. Korištenje alata3. Mogućnosti alata4. Programski jezik5. Razvojni okvir6. Bogate komponente7. Vizualizacija8. Sigurnost9. Višekorisnički rad10. Verzioniranje11. Dokumentacija i edukacija
NAPOMENA: uspoređuje se isključivo aspekt izrade aplikacija Weba
Matej Matejiček, Plusplus, 2007. APEX 3.0 vs. JDev 11g do aplikacija Weba 9
Korisničko sučelje (1/11)
ApexWeb sučeljeStatičko – nemodularno sučeljeNe postoji tekst editorDobra preglednostDobra podrška pomoći
JDeveloperDesktop klijentKlijent pisana u JAVIDinamičko - modularno sučeljeMogućnost odvajanja paleta s pomoćnim alatima za rad na više ekrana
Matej Matejiček, Plusplus, 2007. APEX 3.0 vs. JDev 11g do aplikacija Weba 10
Korištenje alata (2/11)
ApexNešto složenija instalacijaPotrebna Oracle DBStabilno sučeljeBrzina ovisi o opterećenju poslužiteljaMinimalni sistemski resursi
JDeveloperTrivijalna instalacijaOsvježavanje dijelova ekrana je katkad sporo Zadovoljavajuća brzina kod malih projekataZahtjeva relativno velike sistemske resurse
Matej Matejiček, Plusplus, 2007. APEX 3.0 vs. JDev 11g do aplikacija Weba 11
Mogućnosti alata (3/11) #1
ApexNe postoje bogati uređivači kodaNe postoji provera sintakseDebuger postoji na razini APEX objekataSQL workshop
JDeveloperUređivači za različite jezike: HTML, XML, Javascript, JAVADebugger na različitim razinama
JavascriptJava XML/XLS/DTD
Matej Matejiček, Plusplus, 2007. APEX 3.0 vs. JDev 11g do aplikacija Weba 12
Mogućnosti alata (3/11) #2
ApexPovezivanje sa web servisimaIzrada aplikacija iz Excel i Access baza podatakaMoguća proširenja funkcionalnosti pomoću PLSQL biblioteka
JDeveloperPodrška za različite izvore podataka:
Relacijske bazeWeb servisi
Proširenja pomoću JAVA biblioteka
Matej Matejiček, Plusplus, 2007. APEX 3.0 vs. JDev 11g do aplikacija Weba 13
Programski jezik (4/11)
ApexNužno poznavati:
PLSQLMoguće:
HTML, Javascript, CSS, JAVA
PLSQL – tradicionalni proceduralni jezik
Podjela na biblioteke sa funkcijama i procedurama
JDeveloperNužno poznavati:
JAVA, XML, HTMLMoguće:
CSS, JavacriptJAVA – objektno orijenirani jezik
Kompleksan objektni model razvojnog okvira
Matej Matejiček, Plusplus, 2007. APEX 3.0 vs. JDev 11g do aplikacija Weba 14
Razvojni okvir (framework) (5/11) #1
ApexPisan u PLSQLMogu se koristiti gotovi čarobnjaci i komponenteMogućnost pisanja koda za generiranje dinamičkog sadržaja
JDeveloperPisan u JAVIJednostavno proširenje omogućava objektni modelSložen i razrađen koncept
Matej Matejiček, Plusplus, 2007. APEX 3.0 vs. JDev 11g do aplikacija Weba 15
Razvojni okvir (framework) (5/11) #2
ApexRelativno teško proširiti okvir za vlastite potrebeFunkcije za generiranje komponenti
jednostavneograničene brojemslabe mogućnosti
Moguća nadogradnja za korištenje asinkronih poziva AJAXKatkad postoje nerazumna ograničenja (npr. prilikom prijenosa parametara)
JDeveloperPreuzet i nadograđen na temelju JSF razvojnog okviraBrojne bogate komponentePuna podrška za AJAXOdabir između:
Java EE WebappFusion Web ADFCustom
Matej Matejiček, Plusplus, 2007. APEX 3.0 vs. JDev 11g do aplikacija Weba 16
Bogate komponente (6/11)
ApexTrenutno ne postoji prirodna podrška za AJAXMoguća customnadogradnjaNeki tipovi pregleda podataka podržavaju asinkrono osvježavanje
JDeveloperPuna podrška za asinkrone pozive (AJAX razvojni okvir)Tipovi komponenta sa podrškom za AJAX:
filtriranjetabularni prikazivizualizacijusegmentirani prikazmodalni dijalozishuffle kontroleDrag & drop
povezivanje komponenti
Matej Matejiček, Plusplus, 2007. APEX 3.0 vs. JDev 11g do aplikacija Weba 17
Vizualizacija (7/11)
ApexPodrška za grafove:
HTMLFlashSVG
Različiti tipovi:LinijskiBarPie...
Flash podrška bugovita
JDeveloperPodrška za grafove:
HTMLFlash
Asinkrono povezivanje sa ostalim komponentama prikazanim na ekranu
Matej Matejiček, Plusplus, 2007. APEX 3.0 vs. JDev 11g do aplikacija Weba 18
Sigurnost (8/11)
ApexAutentifikacija
Baza – tablicaBaza – korisnikLDAP (OID, Virtual Directory)
AutorizacijaAutorizacijske shemerazvoj vlastitog (koristeći display conditions)
JDeveloperAutentifikacija
JAZN (JAAS):LDAPXML
Baza - korisnikDynamic JDBC credentials
AutorizacijaPodrška u razvojnom okviru (JAZN)
principles.xmlRazvoj vlastitog
Matej Matejiček, Plusplus, 2007. APEX 3.0 vs. JDev 11g do aplikacija Weba 19
Višekorisnički rad (9/11)
ApexMoguće je imati različite radne prostore (workspaceove)Moguće je definirati korisnike (developere) unutar workspaceovaMoguć rad na istim objektima – poštuje se pravilo zadnjeg
JDeveloperVišekorisnički rad je mogućRad na različitim datotekamaVažna je :
koncepcija segmentacija funkcionalnih cjelina
Matej Matejiček, Plusplus, 2007. APEX 3.0 vs. JDev 11g do aplikacija Weba 20
Verzioniranje (10/11)
ApexPodrška ne postojiPreporuka je izvoziti cijelu aplikaciju i nju verzioniratiSlaba fleksibilnost
JDeveloperPuna podrška za:
Current Versioning System (CVS)Sub VersioN (SVN)Third party
Matej Matejiček, Plusplus, 2007. APEX 3.0 vs. JDev 11g do aplikacija Weba 21
Dokumentacija i edukacija (11/11) #1
ApexOnline dokumentacija unutar sučelja
U početku korisnaKasnije nedostatna
Help dokumentacija unutar razvojnog alata skromna i često bez adekvatnih primjeraPostoji dosta primjera i blogova na Webu
JDeveloperDokumentacija opširnaNekonzistentna razina primjeraDokumentacija koja dolazi sa alatom neprimjerena za početnika
Matej Matejiček, Plusplus, 2007. APEX 3.0 vs. JDev 11g do aplikacija Weba 22
Dokumentacija i edukacija (11/11) #2
ApexSlužbena dokumentacija u razvojuLiteratura oskudna(za veziju 3.0 je tek nedavno izašla službena knjiga “Pro Oracle Aplication Express”, John Scott, Scott Spendolini)Web castsOTN
JDeveloperZa čitanje potrebno je predzanje:
JAVAJ2EE tehnologijaPoznavanje MVC koncepta
Pregršt primjera i blogovaWeb castsOTN
Matej Matejiček, Plusplus, 2007. APEX 3.0 vs. JDev 11g do aplikacija Weba 23
Budućnost
APEXVerzija 3.1 sa dodacima, ispravkama, doradamaVerzija 4.0 sa bogatim komponentama i punom porduškom za AJAX
JDevelperProdukcijska verzija 11gApplication serverPodrška open source zajednice
Matej Matejiček, Plusplus, 2007. APEX 3.0 vs. JDev 11g do aplikacija Weba 24
Zaključci #1
Nedostatak ljudskih potencijalaVrijeme – ključ uspjehaAlati sa različitim mogućnostima i potrebama
Kruto uspoređivanje predstavljenih alata nezahvalnoSvjesnost prednosti i nedostataka
Matej Matejiček, Plusplus, 2007. APEX 3.0 vs. JDev 11g do aplikacija Weba 25
Zaključci #2
APEXZA:
Potrebno je minimalno predznanjeKratka krivulja učenjaJednostavnost korištenjaVelike mogućnostiOgraničena kontrola nad razvojnim okviromRelativno brz razvojProširivostAPEX 4.0Moguće koristiti uz Oracle DB XE (pa na više verzije Oracle DB)
JDeveloperZA:
JavaVelike mogućnostiVelika kontrolaProširivost razvojnog okviraMogućno odabira korištene tehnologijePodrška za gotovo sve različite tipove izvora podatakaVelika količina dokumentacijeBesplatan
Matej Matejiček, Plusplus, 2007. APEX 3.0 vs. JDev 11g do aplikacija Weba 26
Zaključci #3
APEXPROTIV:
Nema podrške za verzioniranjeNespretan, ali mogućvišrekorisnički radIsključivo izrada aplikacija WebaPLSQLOgraničenost i nefleksibilnost razvojnog okviraSlaba dokumentacijaMala baza korisnikaOgraničenje na Oracle bazuNema podrške za AJAX
JDeveloperPROTIV:
Java (dokumentacija)Zahtjeva velike sistemske resurseNa trenutke jako spor odzivNešto umjerenija brzina razvojaPotrebno je relativno veliko predznanje iz različitih područjaRelativno dugačka krivulja učenjaRelativno loše organizirana dokumentacija razvojnog okvira za početnike u području
Matej Matejiček, Plusplus, 2007. APEX 3.0 vs. JDev 11g do aplikacija Weba 27
Primjeri na temu: Korisničke žalbe
Model: kupac, artikl, žalba na artiklPrimjer #1 - APEX
Dodavanje forme za unos novog kupca
Primjer #2 - JDeveloperDodavanje grafa za prikaz udjela žalbi po kupcima
Matej Matejiček, Plusplus, 2007. APEX 3.0 vs. JDev 11g do aplikacija Weba 28
Pitanja i odgovori
?
Matej Matejiček, Plusplus, 2007. APEX 3.0 vs. JDev 11g do aplikacija Weba 29
Hvala!