Avatar billede olly Nybegynder
21. januar 2003 - 23:14 Der er 35 kommentarer og
3 løsninger

J2EE og at sælge et produkt

Jeg sidder og er ved at lærer mig selv J2EE. Jeg har slået mig fast på følgende:

Server: JBoss
IDE: Eclipse med Lomboz plugin
Database: MySQL eller Mckoi

Mit spørgsmål går på om der er nogle specielle ting jeg ikke har taget hensyn til da jeg ønsker at den applikation jeg vil udvikle skal kunne sælges. Derfor vil jeg vide om jeg bare kan pakke alle de nødvendige ting med applikationen og så sælge den uden jeg skal betale for noget af ovenstående.
Avatar billede arne_v Ekspert
21. januar 2003 - 23:19 #1
Nærlæs licens betingelserne for MySQL og JBoss !

Grundigt !!
Avatar billede arne_v Ekspert
21. januar 2003 - 23:21 #2
Men lav din applikation så standard som muligt.

Så bør den kunen køre på enhver app-server og database !
Avatar billede olly Nybegynder
21. januar 2003 - 23:24 #3
Jeg har før haft fat i MySQL og hvis det er en ren webapp så kan man bruge den uden at skulle betale... Men der tænker de måske på php/asp...

Hvorfor skulle der blive problemmer med Jboss?
Avatar billede arne_v Ekspert
21. januar 2003 - 23:27 #4
http://www.mysql.com/products/licensing.html

læser jeg ihvertfald som at du kun kan distribuere MySQL, hvis
dem app selv er open source !
Avatar billede arne_v Ekspert
21. januar 2003 - 23:29 #5
Avatar billede arne_v Ekspert
21. januar 2003 - 23:30 #6
Men nærlæs den slags grundigt inden du begydner på noget.

Men ellers kan du jo også bare distribuere din app + links
til MySQL og JBoss + installations vejledning/scripts.

Det er formentligt helt iorden licens-mæssigt.

Men med risiko for at gentage mig selv: læs de licens
betingelser grundigt !
Avatar billede olly Nybegynder
21. januar 2003 - 23:31 #7
Ja jeg har også forstået det sådan at JBoss bare kan sælges med hvis man ikke modificere sourcen.

Mysql vil jeg lige kigge på... Men så kunne jeg jo spørge om du har erfaing med rene javadatabaser?

F.eks. Mckoi
Avatar billede olly Nybegynder
21. januar 2003 - 23:33 #8
Jeg kan ligesom fornemme jeg skal til at læse licenser...

Det der bekumre mig mest er også databasen. Men har du eventuelt andre bud der kan kører på Windows og Linux.
Avatar billede arne_v Ekspert
21. januar 2003 - 23:33 #9
Jeg kender slet ikke mckoi.

Jeg kender lidt til HypersonicSQL som shipper sammen med JBoss
og Cloudscape som kommer med J2EE reference implementation.
Avatar billede arne_v Ekspert
21. januar 2003 - 23:37 #10
PostgresSQL er rimeligt udbredt til Linux, men ikke ret udbredt til
Windows (men den findes).

PostgresSQL og MySQL er nok de to mest kendte freeware databaser.
Avatar billede olly Nybegynder
21. januar 2003 - 23:38 #11
Postgresql til windows? Det har jeg ikke set... Har du et link?
Avatar billede arne_v Ekspert
21. januar 2003 - 23:41 #12
Cygwin http://sources.redhat.com/cygwin/ har den - se
ftp://sunsite.dk/mirrors/cygwin/release/postgresql/ !

(husk at med cygwin så skal man hente en del andre pakker
og installere for at det kører)
Avatar billede olly Nybegynder
21. januar 2003 - 23:47 #13
Ja okay... Men nu mente jeg ren windows... Altså ikke cygwin... Der ved jeg godt jeg kan køere postgresql
Avatar billede arne_v Ekspert
21. januar 2003 - 23:53 #14
Der er ingen der siger, at du behøver at køre bash etc. fordi
du bruger cygwin.

En EXE fil + en bundt DLL-filer virke fuldstændigt ens om de
kommer fra Cygwin eller Windows.

Jeg bruger selv Cygwin programmerne en del. Men jeg kører
da aldrig bash og "ren Unix".

Jeg har bare EXE og DLL i min path og så kan jeg bruge
de utilities i en DOS box som jeg har løst til.
Avatar billede olly Nybegynder
21. januar 2003 - 23:54 #15
Det lyder spænende... Det vil jeg lige se på...
Avatar billede olly Nybegynder
22. januar 2003 - 00:05 #16
Jeg vil lige se lidt på de licenser og så vil jeg lade spørgsmålet her stå åbent til i morgen for at se om andre har noget at bidrage med... Men foreløbigt tak til dig arne.
Avatar billede mfalck Praktikant
22. januar 2003 - 09:40 #17
Hej

jeg kom til at tænke på at du måske ikke behøver at bekymre dig så meget om licenser. Dels kan du jo måske lave programmet så du kan skifte databasen ud efter behov, så du kan benytte dig af en billigere (gratis?) database eller en professionel. Du behøver jo ikke at distribuere databasen med dit program - lidt lige som at du ikke behøver at distribuere Windows med et eget udviklet program. Hvis det er et produkt folk vil betale penge for at benytte så kan man som regel også lokke dem til at betale penge for den database og/eller applikationsserver de vil benytte. Lad mig lige agitere for EJBgen - så skulle det være ret let at distribuere dit program til forskellige applikationsservere (virker i al fald til JBoss og WebLogic).
Avatar billede olly Nybegynder
22. januar 2003 - 10:15 #18
mfalck>> Det kan der jo være noget om... Men jeg kunne så vælge at distribuere med en java database der er gratis og så kan man bare skifte den ud hvis man lyster... Men eneste mulighed jeg ser for at lave programmet uafhængigt af databasen er ODBC... Men er der da andre muligheder?
Og så havde jeg tænkt mig at lave connection pool, men det bliver lidt svært hvis jeg ikke må lægge fast på en server. Men det kan man vel også bare bruge en Bean til... Altså lade en Bean styre database connectionen.
Avatar billede websmith Nybegynder
22. januar 2003 - 10:23 #19
Du låser dig ikke fast, når du vælger en database. Du bruger jo jdbc til at connecte til din database, og hvis du sørger for at indlæse drivernavn og jdbc url via en konfigurations parameter, så kan du jo bare skifte database som du lyster.

Dog skal du så holde dig fra database specifikke kommandoer som fx. limit i mysql.
Avatar billede websmith Nybegynder
22. januar 2003 - 10:25 #20
Jeg har selv lavet en applikation som bruger mysql, og den beskrev jeg bare, og så sørger man bare for at vedlægge et script som kan oprette de nødvendige databaser, tabeller mv.

Såre simpelt :)
Avatar billede arne_v Ekspert
22. januar 2003 - 10:26 #21
websmith> Jeg formoder at han bruger CMP og ikke BMP eller session beans
med eksplicit JDBC.

Og det er noget lidt andet.
Avatar billede olly Nybegynder
22. januar 2003 - 10:27 #22
websmith>> Klart det med jdbc driveren... Det sker når man ikke tænker før man taler :-) Og ja det med scripts til de understøttede databaser måske og så et "rent" sql script hvis man vil bruge andre.
Avatar billede arne_v Ekspert
22. januar 2003 - 10:29 #23
olly>

App-server og database uafhængighed er desværre ofte lidt af et problem, fordi
JNDI og CMP konfigureringen normalt kræver specielle deployment descriptorer.

Groft sagt har du 2 valgmuligheder:
1)  Prøve at kode så de ikke er nødvendige, fordi default virker.
2)  Lave til flere servere (evt. via et tool som kan generere til
    multiple servere).
Avatar billede arne_v Ekspert
22. januar 2003 - 10:30 #24
Og jeg forstår ikke den med connection pool.

Opsætning af connection pool vil typisk være et server konfigurations
issue og ikke et application issue.

Medmindre din applikation indeholder en connection manager. Og det
er ret sjældent at man har brug for det.
Avatar billede mfalck Praktikant
22. januar 2003 - 10:31 #25
Jeg mener måske mere at du kunne generere forskellige war/ear-filer til de forskellige databaser/webservere - det kræver mere arbejde fra din hånd, ganske vist, men aligevel tror jeg at man kommer længere på denne måde. Evt kan du nøjes med at bygge oven på en database (og prøve at holde dig så tæt op ad ansi-specen som muligt) og så tilrette dit program bagefter mod andre databaser.

Et helt andet alternativ er jo at gøre som MySql (firmaet, ikke db :-) ) og så lade dit program være opensource og så "nøjes" med at tjene på at sælge tjenester omkring dit program bagefter .. det er lidt mere satset - men hvem ved :-)
Avatar billede websmith Nybegynder
22. januar 2003 - 10:31 #26
arne_v> Måske, men der er vel ikke noget i vejen for at man kan indlæse jdbc url, drivernavn, osv. fra en konfigurations fil, lige meget hvilken metode man bruger til at connecte til databasen, så længe at det er jdbc?

Et eller andet sted i maven på koden skal der jo alligevel laves en

Class.for("xxx").newInstance() osv..?? Går jeg ud fra, og hvis det er en string som er drivernavnet, så burde den kunne læses ind fra en .orperties fil.
Avatar billede mfalck Praktikant
22. januar 2003 - 10:32 #27
ahh - arne er som vanen tro hurtigere og mere klar end undertegnede :-)
Avatar billede arne_v Ekspert
22. januar 2003 - 10:37 #28
websmith>

1) Hvis det er CMP, så skriver han ikke selv koden, den
  genererer app-serveren.

2) I J2EE bruger man ikke Class.forName og DriverManager.getConnection
  overhovedet i sin applikation.

  Man definerer en data ressource i server konfigurationen.

  CMP: se punkt 1.

  BMP + session beans: man bruger JNDI lookup til at finde
  data ressourcen og bruger getConnection på den.

Du har fuldstændigt ret hvis vi snakker almindelige Java programmer.
Avatar billede olly Nybegynder
22. januar 2003 - 10:39 #29
arne>> Nej det er nemlig en ting man sætter op på server jo, Derfor hvis det skal kan bruges på flere forskellige server, så er det ikke muligt at benytte uden det kræver brugeropsætning, eller evt conf filer leveret med fra min side.

mfalck>> Måske man skulle overveje den med Open Source... For MySQL er udelukket at distribuere med, hvis man vil tjene penge.
Avatar billede websmith Nybegynder
22. januar 2003 - 10:42 #30
Hmm.. Men hvad så kan man så ikke bare lave et installationsprogram, som spørger brugeren om hvilken driver, jdbc url osv, og så lave en web.xml eller hvad den ny hedder, og så skiften den ud i .war filen, og så derefter deployer den til serveren?
Avatar billede arne_v Ekspert
22. januar 2003 - 10:44 #31
Olly - jeg er lidt i tvivl om hvad refererer du til med din sidste kommentar.
Avatar billede olly Nybegynder
22. januar 2003 - 10:46 #32
arne>> Spørgsmålet med connection pool... Kan godt se det ikke fremgår...
Avatar billede arne_v Ekspert
22. januar 2003 - 10:47 #33
Hvis målet er at understøtte multiple databaser under JBoss, så
burde man faktisk kunne lave et sådant tool der genererer en
service XML som definerer data sourcen udfra bruger input.
Avatar billede arne_v Ekspert
22. januar 2003 - 10:49 #34
Hmmm. Jeg tror at vi snakker om det samme når jeg snakker om at definere
"data source" og du snakker om at definere "connection pool".
Avatar billede olly Nybegynder
22. januar 2003 - 10:52 #35
arve>> Det gør vi også... Det er jo sådan set bare 2 forskellige ord for det samme.

Service XML? Er jeg dum eller gider du lige fortælle konkret hvad det kunne være?
Avatar billede olly Nybegynder
22. januar 2003 - 11:01 #36
arne>> Har fundet ud af det :-) Bare en søgning på exp

mfalck>> Smid lige et svar... Du fortjener også lidt point.
Avatar billede mfalck Praktikant
22. januar 2003 - 11:27 #37
det er vist arne som fortjener mest :-)
Avatar billede olly Nybegynder
22. januar 2003 - 11:51 #38
mfalck>> Det han han også fået, men i to andre har jo også bidraget med ideer og foreslag, så i skal ikke snydes...

Jeg siger tak for indlægene og vil gå i tænkebox og kigge lidt på tingene. Vil gerne have deer ting på plads før jeg begynder at lavet for meget design...
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