mboost-dp1

Hvad er GlassFish??


Gå til bund
Gravatar #1 - Qw_freak
16. mar. 2011 16:17
Hey
Jeg har i forbindelse med inst af NetBeans, på min linux maskine, set at der skal installeres et program kaldet GlassFish.

Jeg har læst lidt på deres .org og deres wiki, men kan ikke rigtig finde ud af hvad det er for et program..

Nogen der på pædagogisk vis kan forklare mig hvad det er og hvad det bruges
Gravatar #2 - zin
16. mar. 2011 16:20
#1: En applikationsserver, som der står i dit link.
En applikationsserver er en server der (surprise, surprise) udbyder en applikation (eller underliggende funktion til samme).
F.eks. er en Exchangeserver en applikationsserver. Det er en IIS også. Og så videre.
Gravatar #3 - Qw_freak
16. mar. 2011 16:22
zin (2) skrev:
#1: En applikationsserver, som der står i dit link.
En applikationsserver er en server der (surprise, surprise) udbyder en applikation (eller underliggende funktion til samme).
F.eks. er en Exchangeserver en applikationsserver. Det er en IIS også. Og så videre.


ok, hvad kan man bruge den til når man udvikler et program?
Gravatar #4 - zin
16. mar. 2011 16:24
#3: Test af omtalte program.
Hvis du f.eks. koder i C# skal du, hvis du udvikler en webapp, bruge en applikationsserver til at teste applikationen på - VisualStudio har en indbygget til dig, men nogle har ikke - og så skal man bruge en server, der kan understøtte det framework og kode du forsøger at fyre af. Med eksemplet som C# ville det være en IIS med .NET Framework plugins til. :-)
Gravatar #5 - arne_v
16. mar. 2011 16:31
#1 & 3

Du kan udvikle mange forskellige slags app typer i NetBeans:
* console apps
* GUI apps
* standalone server apps
* applets
* mobil apps
* Java EE server apps (JSP, servlets, JSF, EJB, JCA etc.)

Hvis du vil lave det sidste skal du bruge en Java EE server til at teste og køre dem på.

Glassfish er en opensource (SUN-Oracle) Java EE server.

Hvis du ikke skal lave Java EE apps saa skulle du nok have valgt en anden udgave af NetBeans.
Gravatar #6 - arne_v
16. mar. 2011 16:33
#5

Jeg kunne iøvrigt aldrig drømme om at vælge en IDE med indbygget app server.

Jeg ville vælge at hente IDE og app server separat.

(og jeg foretrækker Eclipse over NetBeans og JBoss over Glassfish, men det er en helt anden snak)
Gravatar #7 - arne_v
16. mar. 2011 16:39
#app server

En fuld Java EE app server som JBoss består af 2 hoved dele:
* en web container (som svarer til IIS med ASP.NET i MS verdenen og Apache med PHP i LAMP verdenen)
* en EJB container (som svarer til COM+/DCOM i MS verdenen - der er ikke umiddlebart noget tilsvarende i LAMP verdenen)

zin (2) skrev:
En applikationsserver er en server der (surprise, surprise) udbyder en applikation (eller underliggende funktion til samme).
F.eks. er en Exchangeserver en applikationsserver. Det er en IIS også. Og så videre.


Jeg vil kalde Exchange for en app og ikke en app server.

http://en.wikipedia.org/wiki/Application_server


An application server is a software framework that provides an environment where applications can run, no matter what the applications are or what they do. It is dedicated to the efficient execution of procedures (programs, routines, scripts) for supporting the construction of applications.
Gravatar #8 - zin
16. mar. 2011 16:42
#7: Well, Exchange tillader Outlook at køre Exchangepostkasser, så som så er den en applikationsserver. Yderligere har den (ofte) en hjemmeside, hvori den hoster en Outlook Web Access som - mig bekendt - er lavet i .NET.
Gravatar #9 - tazimn
16. mar. 2011 17:34
#Arne_v

Hvad er årsagen til at du ønsker at bruge JBoss, over foreksempel Tomcat?

Jeg har været glad for Tomcat.. Men igen.. jeg ville nok også være glad for Celine Dion, hvis jeg ikke havde hørt andet..

Hvis du har nogle gode grunde kan det være jeg skulle tage et kig på JBoss..
Gravatar #10 - arne_v
16. mar. 2011 17:48
#9

Tomcat er kun en web container. D.v.s. at du kan køre JSP/servlet/JSF men du kan ikke køre EJB/JCA.

Glassfish og JBoss er fulde Java EE servere d.v.s. har både web og EJB container.

Rent faktisk bruger både JBoss og Glassfish Tomcat som web container.

Så du kan ikke sige at jeg foretrækker JBoss over Tomcat. Jeg foretrækker JBoss med Tomcat over Glassfish med Tomcat når jeg skal bruge en fuld Java EE server, men bruger Tomcat standalone hvis jeg kun skal bruge en web container.
Gravatar #11 - tazimn
16. mar. 2011 18:05
#Aha..

Se, det havde været en nyttig del af undervisningen.. Er dog ikke helt sikker på hvad "Enterprise Javabeans" er for en størrelse. Er det rene Java-applikationer på en webserver, eller er det stadig noget JSP?
Gravatar #12 - arne_v
16. mar. 2011 18:31
#11

En EJB er en business logic komponent i en applikation.

De findes flere varianter:

stateless session beans
stateful session beans
message driven beans

session beans kan kaldes local eller remote altså sync request-response

stateful/stateless siger vel sig selv

message driven beans får input fra message queue (eller JCA) altså async

Der er ret skrappe regler for hvad EJB's må gøre for at sikre sig at de virker godt i forskelle app servere, non-cluster/cluster etc..

EJB containeren håndterer bl.a.:
- transaktioner (man kan dog godt lade en EJB selv styre transaktion)
- security
etc.

Det er helt klart mest normalt med:

Java web app----(local EJB call)----EJB

i samme app server, men der er alternativer:

Java web app----(remote EJB call)----EJB

med to forskellige app servere, og:

desktop Swing eller SWT app---(remote EJB call)----EJB

Gravatar #13 - tazimn
16. mar. 2011 19:01
#12

Tak for den udførlige forklaring, selvom jeg dog ikke blev meget klogere på hvordan det præcis skal bruges. Men det er også kun nødvendigt at vide, hvis jeg skal arbejde med det engang. Til den tid, kan jeg vel sætte mig ind i det.

Det fra min undervisning som jeg først tænkte på var RMI, men det er jo metodekald og afsendelse af objekter over netværk.
Gravatar #14 - arne_v
16. mar. 2011 19:25
#13

Der er også lidt til fælles.

Det er en client som kalder en server via en binær protokol (serialisering).

Men der er også forskelle.

RMI kald:

client kalder en specific server
server koden må selv håndtere transactions, security etc.

remote EJB kald:

client kalder cluster
server koden implementerer business logic
containeren håndterer transactions, security etc.
Gravatar #15 - arne_v
17. mar. 2011 19:03
zin (8) skrev:
Well, Exchange tillader Outlook at køre Exchangepostkasser, så som så er den en applikationsserver.


I min begrebsverden så er en postkasse data ikke kode og køres derfor ikke medn tilgåes.

zin (8) skrev:
Yderligere har den (ofte) en hjemmeside, hvori den hoster en Outlook Web Access som - mig bekendt - er lavet i .NET.


Hvis man har mulighed for at deploye sin egen kode til Exchange (tiltænkt f.eks. 3. parts spam filter, men kan principielt bruges GP), så er det en app server. Jeg kender ikke Exchange godt nok til at vide om det er tilfældet.
Gravatar #16 - zin
17. mar. 2011 21:00
#15: Tja, du kan i hvert fald implementere et 3. parts spam filter. :-)
Gå til top

Opret dig som bruger i dag

Det er gratis, og du binder dig ikke til noget.

Når du er oprettet som bruger, får du adgang til en lang række af sidens andre muligheder, såsom at udforme siden efter eget ønske og deltage i diskussionerne.

Opret Bruger Login