Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.java.programmer > #33448 > unrolled thread

Java distributed architecture

Started byPhilipp Kraus <philipp.kraus.flashpixx@gmail.com>
First post2016-01-07 10:05 -0800
Last post2016-01-09 21:02 -0500
Articles 4 — 2 participants

Back to article view | Back to comp.lang.java.programmer


Contents

  Java distributed architecture Philipp Kraus <philipp.kraus.flashpixx@gmail.com> - 2016-01-07 10:05 -0800
    Re: Java distributed architecture Arne Vajhøj <arne@vajhoej.dk> - 2016-01-07 19:03 -0500
      Re: Java distributed architecture Philipp Kraus <philipp.kraus.flashpixx@gmail.com> - 2016-01-08 14:07 -0800
        Re: Java distributed architecture Arne Vajhøj <arne@vajhoej.dk> - 2016-01-09 21:02 -0500

#33448 — Java distributed architecture

FromPhilipp Kraus <philipp.kraus.flashpixx@gmail.com>
Date2016-01-07 10:05 -0800
SubjectJava distributed architecture
Message-ID<fd758782-c4f0-43be-8fda-4f88046dfa79@googlegroups.com>
Hello,

I need some ideas for choosing a component of a distributed Java architecture.
I have got a three tier architecture (client, database server, application server), the client can be a normal browser (HTML 5), a Android application (or iOS) and a native Java client, the database server should be a NoSQL system like Redis, Couch- or MongoDB but I need an idea for the application server component. 
I'm thinking about a Tomcat application or Glassfish.
Which kind of system can I use? It should be a small fast system (a little bite like Node.JS). I'm new within this context, so I would like to get some basic information.

Thanks

Phil

[toc] | [next] | [standalone]


#33449

FromArne Vajhøj <arne@vajhoej.dk>
Date2016-01-07 19:03 -0500
Message-ID<n6muc7$ejn$1@gioia.aioe.org>
In reply to#33448
On 1/7/2016 1:05 PM, Philipp Kraus wrote:
> I need some ideas for choosing a component of a distributed Java
> architecture. I have got a three tier architecture (client, database
> server, application server), the client can be a normal browser (HTML
> 5), a Android application (or iOS) and a native Java client, the
> database server should be a NoSQL system like Redis, Couch- or
> MongoDB but I need an idea for the application server component. I'm
> thinking about a Tomcat application or Glassfish. Which kind of
> system can I use? It should be a small fast system (a little bite
> like Node.JS). I'm new within this context, so I would like to get
> some basic information.

I think you have at least 3 options:
A) Java SE application with embedded web/servlet container like Jetty
B) Java EE web/servlet container out of the box like Tomcat
C) Java EE full application server like Glassfish or WildFly (JBoss)

#A is a bit in fashion right now. But I can not see what that solution
provides compared to #B except the need to write more code yourself.

The choice between #B and #C depends on your need. If you need a
transaction manager or message queues or connecting to legacy systems
using non-web protocols, then #C comes with built-in stuff that you can
utilize.

But given your suggested databases and the references to node.js, then
I have a strong feeling that #B will be sufficient for your
requirements.

Code wise I think it is a given that you should have the
application tier expose JSON/HTTP services via JAX-RS.

I am a bit puzzled by your suggested databases. They are
not that common in the Java world.

But they are accessible from Java. And you can even access
them via JPA if you would like to (but if these are the most
natural databases for the problems, then I have feeling that
you are not looking for JPA).

Arne

[toc] | [prev] | [next] | [standalone]


#33454

FromPhilipp Kraus <philipp.kraus.flashpixx@gmail.com>
Date2016-01-08 14:07 -0800
Message-ID<e114056b-2686-4705-b5aa-b947caec71ad@googlegroups.com>
In reply to#33449
Thanks for your great answer. I try to create my first EE project with a native Java code base, so I would like to lern first. I have worked with Tomcat for a testing project, but imho it is very big system. I come from PHP / Node.JS side, so I work primary with asynchronious structure.
Java is set for the programming language, so I don't want to mix Node.JS and Java. Also the database is set, it must be a NoSQL structure (with map & reduce algorithms because of performance).

The system should be worked like a datawarehouse, so I need to push in large datasets and run some logical report generatings.

Thanks

Phil


Am Freitag, 8. Januar 2016 01:03:39 UTC+1 schrieb Arne Vajhøj:
> On 1/7/2016 1:05 PM, Philipp Kraus wrote:
> > I need some ideas for choosing a component of a distributed Java
> > architecture. I have got a three tier architecture (client, database
> > server, application server), the client can be a normal browser (HTML
> > 5), a Android application (or iOS) and a native Java client, the
> > database server should be a NoSQL system like Redis, Couch- or
> > MongoDB but I need an idea for the application server component. I'm
> > thinking about a Tomcat application or Glassfish. Which kind of
> > system can I use? It should be a small fast system (a little bite
> > like Node.JS). I'm new within this context, so I would like to get
> > some basic information.
> 
> I think you have at least 3 options:
> A) Java SE application with embedded web/servlet container like Jetty
> B) Java EE web/servlet container out of the box like Tomcat
> C) Java EE full application server like Glassfish or WildFly (JBoss)
> 
> #A is a bit in fashion right now. But I can not see what that solution
> provides compared to #B except the need to write more code yourself.
> 
> The choice between #B and #C depends on your need. If you need a
> transaction manager or message queues or connecting to legacy systems
> using non-web protocols, then #C comes with built-in stuff that you can
> utilize.
> 
> But given your suggested databases and the references to node.js, then
> I have a strong feeling that #B will be sufficient for your
> requirements.
> 
> Code wise I think it is a given that you should have the
> application tier expose JSON/HTTP services via JAX-RS.
> 
> I am a bit puzzled by your suggested databases. They are
> not that common in the Java world.
> 
> But they are accessible from Java. And you can even access
> them via JPA if you would like to (but if these are the most
> natural databases for the problems, then I have feeling that
> you are not looking for JPA).
> 
> Arne

[toc] | [prev] | [next] | [standalone]


#33458

FromArne Vajhøj <arne@vajhoej.dk>
Date2016-01-09 21:02 -0500
Message-ID<n6se35$1rei$1@gioia.aioe.org>
In reply to#33454
On 1/8/2016 5:07 PM, Philipp Kraus wrote:
> I try to create my first EE project with a native Java code base, so I would like to lern first.

Java EE is big - there are so many things to learn.

Just to get started you should probably do some examples of:
- servlet
- JSP
- SLSB EJB
- MDB EJB

And then move on to specifics like JAX_RS.

>               I have worked with Tomcat for a testing project, but imho it is very big system.

Tomcat is only a web container aka "half" of Java EE.

:-)

> I come from PHP / Node.JS side,

New world then.

Probably closer to PHP than to node.js.

> so I work primary with asynchronious structure.

There are asynchronous features within Java EE.

Start by looking at:
* asynchronous servlets
* asynchronous JAX-RS services
* asynchronous methods in EJB's
* MDB's

Arne

[toc] | [prev] | [standalone]


Back to top | Article view | comp.lang.java.programmer


csiph-web