apex 3.0 vs jdeveloper 11g - hroug.hr apex3... · pomoću java biblioteka. matej matejiček,...

29
Apex 3.0 vs JDeveloper 11g Matej Matejiček, Plusplus, 18.10.2007

Upload: docong

Post on 06-Feb-2018

225 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Apex 3.0 vs JDeveloper 11g - hroug.hr APEX3... · pomoću JAVA biblioteka. Matej Matejiček, Plusplus, 2007. APEX 3.0 vs. JDev 11g do aplikacija Weba 13 ... okvira za početnike u

Apex 3.0 vs JDeveloper 11g

Matej Matejiček, Plusplus, 18.10.2007

Page 2: Apex 3.0 vs JDeveloper 11g - hroug.hr APEX3... · pomoću JAVA biblioteka. Matej Matejiček, Plusplus, 2007. APEX 3.0 vs. JDev 11g do aplikacija Weba 13 ... okvira za početnike u

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

Page 3: Apex 3.0 vs JDeveloper 11g - hroug.hr APEX3... · pomoću JAVA biblioteka. Matej Matejiček, Plusplus, 2007. APEX 3.0 vs. JDev 11g do aplikacija Weba 13 ... okvira za početnike u

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

Page 4: Apex 3.0 vs JDeveloper 11g - hroug.hr APEX3... · pomoću JAVA biblioteka. Matej Matejiček, Plusplus, 2007. APEX 3.0 vs. JDev 11g do aplikacija Weba 13 ... okvira za početnike u

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

Page 5: Apex 3.0 vs JDeveloper 11g - hroug.hr APEX3... · pomoću JAVA biblioteka. Matej Matejiček, Plusplus, 2007. APEX 3.0 vs. JDev 11g do aplikacija Weba 13 ... okvira za početnike u

Matej Matejiček, Plusplus, 2007. APEX 3.0 vs. JDev 11g do aplikacija Weba 5

Application Express 3.0 – općenito #2

Page 6: Apex 3.0 vs JDeveloper 11g - hroug.hr APEX3... · pomoću JAVA biblioteka. Matej Matejiček, Plusplus, 2007. APEX 3.0 vs. JDev 11g do aplikacija Weba 13 ... okvira za početnike u

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

Page 7: Apex 3.0 vs JDeveloper 11g - hroug.hr APEX3... · pomoću JAVA biblioteka. Matej Matejiček, Plusplus, 2007. APEX 3.0 vs. JDev 11g do aplikacija Weba 13 ... okvira za početnike u

Matej Matejiček, Plusplus, 2007. APEX 3.0 vs. JDev 11g do aplikacija Weba 7

JDeveloper 11g – općenito #2

Page 8: Apex 3.0 vs JDeveloper 11g - hroug.hr APEX3... · pomoću JAVA biblioteka. Matej Matejiček, Plusplus, 2007. APEX 3.0 vs. JDev 11g do aplikacija Weba 13 ... okvira za početnike u

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

Page 9: Apex 3.0 vs JDeveloper 11g - hroug.hr APEX3... · pomoću JAVA biblioteka. Matej Matejiček, Plusplus, 2007. APEX 3.0 vs. JDev 11g do aplikacija Weba 13 ... okvira za početnike u

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

Page 10: Apex 3.0 vs JDeveloper 11g - hroug.hr APEX3... · pomoću JAVA biblioteka. Matej Matejiček, Plusplus, 2007. APEX 3.0 vs. JDev 11g do aplikacija Weba 13 ... okvira za početnike u

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

Page 11: Apex 3.0 vs JDeveloper 11g - hroug.hr APEX3... · pomoću JAVA biblioteka. Matej Matejiček, Plusplus, 2007. APEX 3.0 vs. JDev 11g do aplikacija Weba 13 ... okvira za početnike u

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

Page 12: Apex 3.0 vs JDeveloper 11g - hroug.hr APEX3... · pomoću JAVA biblioteka. Matej Matejiček, Plusplus, 2007. APEX 3.0 vs. JDev 11g do aplikacija Weba 13 ... okvira za početnike u

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

Page 13: Apex 3.0 vs JDeveloper 11g - hroug.hr APEX3... · pomoću JAVA biblioteka. Matej Matejiček, Plusplus, 2007. APEX 3.0 vs. JDev 11g do aplikacija Weba 13 ... okvira za početnike u

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

Page 14: Apex 3.0 vs JDeveloper 11g - hroug.hr APEX3... · pomoću JAVA biblioteka. Matej Matejiček, Plusplus, 2007. APEX 3.0 vs. JDev 11g do aplikacija Weba 13 ... okvira za početnike u

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

Page 15: Apex 3.0 vs JDeveloper 11g - hroug.hr APEX3... · pomoću JAVA biblioteka. Matej Matejiček, Plusplus, 2007. APEX 3.0 vs. JDev 11g do aplikacija Weba 13 ... okvira za početnike u

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

Page 16: Apex 3.0 vs JDeveloper 11g - hroug.hr APEX3... · pomoću JAVA biblioteka. Matej Matejiček, Plusplus, 2007. APEX 3.0 vs. JDev 11g do aplikacija Weba 13 ... okvira za početnike u

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

Page 17: Apex 3.0 vs JDeveloper 11g - hroug.hr APEX3... · pomoću JAVA biblioteka. Matej Matejiček, Plusplus, 2007. APEX 3.0 vs. JDev 11g do aplikacija Weba 13 ... okvira za početnike u

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

Page 18: Apex 3.0 vs JDeveloper 11g - hroug.hr APEX3... · pomoću JAVA biblioteka. Matej Matejiček, Plusplus, 2007. APEX 3.0 vs. JDev 11g do aplikacija Weba 13 ... okvira za početnike u

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

Page 19: Apex 3.0 vs JDeveloper 11g - hroug.hr APEX3... · pomoću JAVA biblioteka. Matej Matejiček, Plusplus, 2007. APEX 3.0 vs. JDev 11g do aplikacija Weba 13 ... okvira za početnike u

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

Page 20: Apex 3.0 vs JDeveloper 11g - hroug.hr APEX3... · pomoću JAVA biblioteka. Matej Matejiček, Plusplus, 2007. APEX 3.0 vs. JDev 11g do aplikacija Weba 13 ... okvira za početnike u

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

Page 21: Apex 3.0 vs JDeveloper 11g - hroug.hr APEX3... · pomoću JAVA biblioteka. Matej Matejiček, Plusplus, 2007. APEX 3.0 vs. JDev 11g do aplikacija Weba 13 ... okvira za početnike u

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

Page 22: Apex 3.0 vs JDeveloper 11g - hroug.hr APEX3... · pomoću JAVA biblioteka. Matej Matejiček, Plusplus, 2007. APEX 3.0 vs. JDev 11g do aplikacija Weba 13 ... okvira za početnike u

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

Page 23: Apex 3.0 vs JDeveloper 11g - hroug.hr APEX3... · pomoću JAVA biblioteka. Matej Matejiček, Plusplus, 2007. APEX 3.0 vs. JDev 11g do aplikacija Weba 13 ... okvira za početnike u

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

Page 24: Apex 3.0 vs JDeveloper 11g - hroug.hr APEX3... · pomoću JAVA biblioteka. Matej Matejiček, Plusplus, 2007. APEX 3.0 vs. JDev 11g do aplikacija Weba 13 ... okvira za početnike u

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

Page 25: Apex 3.0 vs JDeveloper 11g - hroug.hr APEX3... · pomoću JAVA biblioteka. Matej Matejiček, Plusplus, 2007. APEX 3.0 vs. JDev 11g do aplikacija Weba 13 ... okvira za početnike u

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

Page 26: Apex 3.0 vs JDeveloper 11g - hroug.hr APEX3... · pomoću JAVA biblioteka. Matej Matejiček, Plusplus, 2007. APEX 3.0 vs. JDev 11g do aplikacija Weba 13 ... okvira za početnike u

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

Page 27: Apex 3.0 vs JDeveloper 11g - hroug.hr APEX3... · pomoću JAVA biblioteka. Matej Matejiček, Plusplus, 2007. APEX 3.0 vs. JDev 11g do aplikacija Weba 13 ... okvira za početnike u

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

Page 28: Apex 3.0 vs JDeveloper 11g - hroug.hr APEX3... · pomoću JAVA biblioteka. Matej Matejiček, Plusplus, 2007. APEX 3.0 vs. JDev 11g do aplikacija Weba 13 ... okvira za početnike u

Matej Matejiček, Plusplus, 2007. APEX 3.0 vs. JDev 11g do aplikacija Weba 28

Pitanja i odgovori

?

Page 29: Apex 3.0 vs JDeveloper 11g - hroug.hr APEX3... · pomoću JAVA biblioteka. Matej Matejiček, Plusplus, 2007. APEX 3.0 vs. JDev 11g do aplikacija Weba 13 ... okvira za početnike u

Matej Matejiček, Plusplus, 2007. APEX 3.0 vs. JDev 11g do aplikacija Weba 29

Hvala!