Avatar billede obix Nybegynder
14. april 2005 - 23:40 Der er 10 kommentarer og
2 løsninger

Den bedste start på ny ebuisness opgave

Hej Eksperter.

Lad os sige man fik den luksus at man skulle konvertere en gammel ebuisness løsning helt forfra hvad ville i så foreslå som framework?

Det drejer sig om et system hvor kunderne skal kunne logge ind på lave et par ordre som så skal kunne sendes som webservices eller som filer der skrives på disken osv osv...

Der skal også være programmer (Batch baserede) der skal kunne sættes op til at køre scheduleret.

Hvad er det bedste framework at gå ud fra idag.
Hvad vil i foreslå som database lag? er der noget opensource der er værd at bruge?

Mvh. Obix
Avatar billede arne_v Ekspert
14. april 2005 - 23:51 #1
Til J2EE skal du have en seriøs database. Minimum er MySQL med InnoDB, men
gerne SQLServer/DB2/Oracle.

Så skal du vælge om du  vil være traditionel med entity beans eller bruge
f.eks. Hibernate.

De fleste app-servere indeholder idag en scheduler service. Men ellers kan
du deploye f.eks. Quartz i din server til at køre jobs.

Med hensyn til ordre processing kan du jo overveje en message queue
og message driven beans.
Avatar billede obix Nybegynder
15. april 2005 - 00:07 #2
Ok. Men hvad med selve frameworket? vil du f.eks. anbefale struts (det kender jeg) eller er der kommet noget nyere?
Avatar billede obix Nybegynder
15. april 2005 - 00:08 #3
Og fortæl lidt om Hibernate... gode og dårlige sider
Avatar billede obix Nybegynder
15. april 2005 - 01:04 #4
Jeg har været inde og læse lidt om Hibernate det lyder da godt....
Avatar billede simonvalter Praktikant
15. april 2005 - 02:03 #5
jep hibernate er godt. det bliver endnu bedre kombineret med spring så hvis du vil overveje hibernate så kig også på spring.

struts er meget udbredt men det lider af nogen problemer som de bla har forsøgt at løse i JSF som er en standard... hovedmanden bag struts har siddet med i EG for JSF og jsf bygger på fejl lavet i bl.a struts. JSF er dog forholdsvis nyt og nogen mener det stadig har nogen fejl(kender ikke detaljerne) ... struts skulle være ved at blive opgraderet hvor der tilføjes nogen af de fordel som findes i JSF.
min egen erfaring er at jsf er nemmere at arbejde med end struts.

et framework som har fået meget omtale og som bliver rost næsten hvergang der er tale om web frameworks er tapestry. jeg har ikke kigget på det endnu men efter hvad jeg har hørt skulle bør det indgå i dine overvejelser.

til produktion går jeg ud fra du ikke vil ud i noget så eksperimenterende som EJB3
jboss og et par andre har allerede beta implementationer af EJB3.. men meget kan nå at ændre sig. Selv om du ikke vil satse på EJB3 idag så skal det måske med i dine overvejelser. migration fra hibernate vil kunne gøres uden alt for stort besvær (det siges der ihvertfald). Gavin king, hovedmanden bag hibernate sidder i EJB3 EG og EJB3 er stærkt inspireret af bla hibernate og lidt af JDO.

JDO er også et bud på persistence. Det minder meget om Hibernate. Jeg har arbejdet med begge og JDO er nemmere at lære efter min mening.
JDO har desværre haft meget modvind af grunde der er for mange af til at komme ind på nu. Men JDO har den fordel frem for Hibernate at det er en Standard udviklet igennem JCP. JDO har en masse vendors bag sig.. 20-30 stykker efterhånden hvor nogen er OSS hvorimod Hibernate kun er den ene og der er et skift ikke lige så nemt... men Hibernate er også bakket op af Jboss så der kan du altid gå hen og købe support som du kan hos JDO vendors.

Satser du på EJB 2.1 så får du muligvis også nogen af de problemer med som de prøver at fjerne med EJB3... EJB har et ry for at være kompliceret, langsomt og en hel masse andre grimme ord ;) (læs Expert One on one J2EE Development Without EJB - Rod Johnson for detaljerne som godt nok er farvet af at rod er en af bagmændene af Spring som går ind for "Lightweight" frem for EJB "heavyweight" )

med hibernate,jdo,spring,struts,tapestry kan du også nøjes med en servlet container hvor du med ejb har brug for en fuld application server.

spring har et stort udvalg af komponenter. det som jeg finder mest interresant er aop ,dependency injection og support for jdo,hibernate,jdbc osv og spring er nemt at lære... og det gør brugen af hibernate osv meget nemmere.

en combo som (jsf/tapestry)+spring+hibernate ville jeg selv kigge på.

men det er en klar fordel at du kender struts så i dit tilfælde ville jeg nok holde mig til det jeg kender... min hovedopgave for et 1/2 år siden bestod i en webapplication hvor mig og en anden skulle lære hibernate/jsf/spring/aop rimlig godt og samtidigt evaluere EJB, struts, ad-hoc frameworks, jdo og det er en rimlig stor opgave på samme tid... ihvertfald hvis man også skal skrive en rapport om det ;)

der findes meget andet.... et af de buzzwords der er oppe for tiden er AJAX som ikke er en bestemt teknologi men noget du kan bruge for at lave nogen nice funktioner som f.eks google suggest har. grundlæggende er det bare noget javascript,XMLHttpRequest og lidt xml osv. (se http://www.omnytex.com/articles/xhrstruts/ ).
Avatar billede arne_v Ekspert
15. april 2005 - 23:39 #6
Med hensyn til web frameworks så er der et sammenligning her:
  https://equinox.dev.java.net/framework-comparison/WebFrameworks.pdf

(prøv f.eks. at check side 21 !)
Avatar billede arne_v Ekspert
15. april 2005 - 23:45 #7
WebWorks, Tapestry, Spring etc. har en periode hvor de er meget omtalte, men
de bliver ligesom ikke rigtigt til noget - formentligt fordi alle argumenterne
"det her er 100 gange bedre end Struts og EJB" måske ikke holder vand alligevel

Det eneste af de produkter som virkeligt er slået igennem er Hibernate. Mit bud
er at det skyldes:
  - produktet faktisk er meget godt
  - det kan bruges både i J2EE og J2SE apps
Avatar billede simonvalter Praktikant
16. april 2005 - 01:58 #8
Det ved jeg ikke rigtigt.. Spring får stadig en del omtale der hvor jeg bevæger mig men ok tss fanatikere, blogggere,irc osv. ved jeg godt ikke er det bedste billede af branchen men så længe at de stadig vil høre på Rod Johnson til diverse konferencer så vil jeg mene de stadig har en chance.

Spring's web framework  er der måske ikke så meget gang i men vælger man hibernate så sparer man meget arbejde ved at benytte  ORM delen med de templates Spring kan tilbyde(det er ihvertfald min erfaring.. man kunne selvfølgelig også lave dem selv men hvorfor?) .. ting som man aligevel kommer til at lave hvis man benytter DAO. Unit tests bliver også meget lettere med IOC delen hvis man da benytter det og oop i det hele taget. Spring er iøvrigt heller ikke særligt gammelt i forhold til struts/hibernate men hvis man vælger EJB så har spring selvfølgelig ikke den samme fordel selvom der da der support for visse dele af J2EE.

Struts har været ude før de andre og det giver en stor fordel.. jeg er aligevel imporeret over at JSF ligger over Tapestry og Webwork ifølge side 21... at der er flere Struts jobs gør det ikke til en bedre teknologi men måske en mere sikker satsning selv om et standard burde være sikker..jeg er blevet i tvivl hvor sikker en teknologi som er bakket op af SUN(JCP) er efter alt det JDO postyr på det sidste.
Jeg hører næsten dagligt på folk der sidder og brokker sig over at de skal arbejde med struts når der findes meget bedre alternativer.

Mit bud hvorfor hibernate er slået igennem er fordi det er opensource og fordi det er under konstant udvikling hvor de lytter til kunderne. Om det er det første ordentlige framemework er jeg ikke gammel nok i branchen til at kunne udtale mig om men mange siger at det bl.a er derfor de har den success de har.
at det kan bruges i både J2EE og J2SE har helt sikkert også meget at skulle have at sagt.

Evaulering af jsf som der er mange andre af.. jeg mangler stadig at se en der taler til fordel for struts.. gerne fra en i samme stilling som Craig McClanahan
http://www.sys-con.com/story/?storyid=46516&DE=1

Min egen overbevisning er at grunden til at mange nye frameworks møder så meget modstand er fordi at mange udviklere fryger(eller ikke gider besværet) at lære endnu et framework. At lære et framework/teknologi er jo næsten det samme som at lære et nyt sprog og et nyt buzzword om måneden kan sikkert blive for meget og så vil mange sikkert holde sig til det de kender som jo egentligt klarer opgaven selv om der måske er nogen problemer.

Jeg har ikke selv erfaringen så jeg kan kun analysere hvad jeg læser, hører og prøver på mig selv men det er hvad det peger på for mig.
Avatar billede arne_v Ekspert
16. april 2005 - 15:48 #9
på konferencer snakker man om hvad der er hot ikke om hvad der er almindeligt
brugt - der er ikke meget pointe i at snakke om noget som alle kender og
bruger - et andet eksempel på noget der bliver snakket meget om på konferencer
uden at det bliver brugt specielt meget er MDA

JSF skal nok blive en succes - men JSF vil næppe erstatte Struts snarere blive
brugt sammen med Struts (erstatte noget af Struts frontend) - det har
McClanahan også sagt flere gange

jeg tror såmænd nok at developere vil lære nogle nye tools, men når de foreslår
det så vil project manageren have et spørgsmål "du har estimeret dit task til
X timer med Struts - hvor mange timer kan du gøre det hurtigere med SuperDuper
frameworket ?" og hvis svaret er at man ikke vil spare nogle timer så vender
project manageren tommelfingeren nedad

og der er en masse unødvendigt kompliceret crap i forbindelse med
EJB, som folk sukker meget over når de skal igang med at lære EJB, men når man
har lært det så har man jo lært det, og i et virkeligt projekt sidder man jo
næppe og skriver alt det crap manuelt men lader JBuilder eller XDoclet
eller whatever generere det (og med EJB 3 bliver den generering bygget
ind i standarden)
Avatar billede simonvalter Praktikant
16. april 2005 - 19:47 #10
Jeg tror nu at spring allerede har en del opmærksomhed og at den vil bliver større... bare som et eksempel selv om antal downloads ikke kan sige alt så er det aligevel en god indikator af popularietet så har jeg lavet en lille sammenligning med hibernate som må siges at være rimlig populært.

Spring+subprojekter har ca 1/2 af det antal downloads i gennemsnit som hibernate+subprojekter
har i hele den tid de har været tilfængeligt på sourceforge.

Efter det først år på sourceforge havde spring flere downloads end hibernate i dets første år og det samme gør sig gældende for det andet år. Spring er ikke ældre så der er svært at sige hvordan det ser ud om et år men tendensen på de sidste måneder ser der ud til at være en lille stigning .. om ikke andet
så holder det sig på et flot antal som vi skal ind i hibernates 3 år for et se.

Hibernate
1 år    13,377 dl
2 år    83,529    dl

Spring
1 år    14,792 dl
2 år  122,108 dl

Der er også et pænt community bag Spring
Hibernate forum : 12636 brugere siden Aug 26, 2003 
Spring forum : 3523 siden  Aug 11, 2004

Der er efterhånden også snart ligeså mange bøger om spring som
om hibernate... der er lige kommet 2 nye.

Det siger selvfølgelig ikke noget om at det er almindelig brugt i virksomheder idag, den slags tager tid.. men interressen fra udviklerene er der vil jeg mene.

Angående jsf,struts så er jeg helt enig.
spørger kan bl.a læse http://blogs.sun.com/roller/page/craigmcc/20040927#struts_or_jsf_struts_and

Selvfølgelig er der også mange udviklere der er interesserede i nye tools og jeg er klar over at det er projekt manageren der tager beslutningen og ofte er konservativ når det kommer til nye ting... sikkert ofte af gode grunde. Der er problemer ved at skifte til en ny teknologi... det tager tid at lære/mestre noget nyt, der kan være uforudsete problemer, kan man regne med vendor support efter x antal år osv og det er forståligt at månendens framework ikke er noget en manager vil satse på... det tager tid at bevise stabilitet. Men når det er udviklerne som afviser f.eks JSF og siger at Struts er godt nok så ser jeg tit at det ikke er bakket om af tekniske begrundeler eller misforståelser fordi personen ikke har taget sig tiden til at sætte sig ind i det.
Det samme er tit set med JDO vs Hibernate vs EJB, java vs C# osv. Udvikleren har lært at mestre sit favorit framework/sprog, lært at leve med de problemer der er og lært at håndtere dem.
Kommer der så noget nyt som måske kan true deres favorit så skal de nok sørge for at komme ud med deres mening om de problemer der er med de nye uden at overveje de problemer som de selv har lært at håndtere med deres favorit.
Derfor er det også svært at komme fri af frameworks som struts eller hibernates dominans inden for deres område... selv om det måske er en teknisk bedre løsning.
Avatar billede arne_v Ekspert
30. april 2005 - 17:06 #11
obix>

skal vi have afsluttet her ?

Hvis nu mig og simon ligger et svar ...
Avatar billede simonvalter Praktikant
30. april 2005 - 17:21 #12
her
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester