Answer the question
In order to leave comments, you need to log in
Technologies used to develop a server in java in a three-tier?
I am learning Java and decided in the process to implement an application using a three-tier client-server-database architecture. The application is purely academic - let's say the client application of the librarian (list of books, location of these books, visitors). I have already implemented a fat client + database, so I want to get confused with a three-link. In theory, the server should deal with all the logic, filtering and data manipulation? The client is only responsible for displaying the data. Base for their storage.
Client - rich - swing
DB: Postgres.
ORM: Hibernate
What technologies should I learn/try for back end development? If I understand correctly, do I need to use an application server (glassfish/weblogic/jboss)? Also in the future I would like to expand the functionality with a thin web client (but with several other functions that do not duplicate the desktop, administration, for example)
Answer the question
In order to leave comments, you need to log in
Technologies that you will need to learn (at a minimum):
* JNDI directory (it contains a jdbc resource - the address to the database)
* EJB (business layer, you just use hibernate, transactions in it)
* Servlets and JSP ( the level of data display, in other words, the generation of html pages)
If everything is clear in EJB (there is not much to choose from), then for JSP you can use the MVC libraries, among which are quite convenient and with a lot of documentation Struts2, Sprinc VMC, etc.
Let me say that client-server architectures of this kind are already yesterday and their future is regrettable.
If I were you, I would study purely web technologies (as already advised above - EJB, etc.) and not bother with swing clients.
It's best to start right away with Spring, don't worry about this EJB and other obscurantism from J2EE. I spent 5 years working with J2EE and now I have switched to the Spring platform, so everything is just lightweight here and most importantly it works.
From J2EE, you need to understand Servlets very well, for understanding, take Tomcat.
It's also good to understand what is IoC, loose-coupling.
JBoss or Glassfish are very difficult solutions and at first it will be difficult to understand how everything works there. Therefore, it’s better to understand Tomcat, with Servlets, IoC, loose-coupling, using Spring as an example. And after that, you will no longer need JBoss or Glassfish.
I advise you to bind components through spring. Using spring it is easy to export your services via HTTP - web services or hessian remoting
It is a bit unclear why an intermediate server is needed here at all, why not immediately access the database from the client. Filtering / sorting, etc. are quite implemented through SQL queries.
Or are there any additional requirements, such as logging / integration with third-party systems / complex business logic?
The simplest, of course, is EJB
If you want more freedom, then Spring
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question