Do I need J2EE?

Posted on 2001-06-02
Last Modified: 2013-11-24
I will credit all helpful comments. I can also increase the points depending on your comments.

I would like to know if my project which is using J2SE can benefit from J2EE. My understanding is that J2EE probably have encapsulated some common low-level functions that I would have to program myself if using J2SE? Following is a description of my project.

An NT running a testing software distributes computation tasks across PC networks. The project is kinda similar to the project SETI (Search for Extraterrestrial Intelligence). "Clients" connecting to the NT server notifies the server that they are available when their screen savers kick off. The server then assigns a task to the client, telling them to run a specific program on a shared drive. The clients notify the server again when finished.

I am doing this using very simple socket programming. I plan to switch to CORBA using Java IDL. Does it make sense to move to J2EE from J2SE? pros and cons? The project might be simple now. What do you see for future enhancement?


Question by:txholdem
  • 2
  • 2

Expert Comment

ID: 6150189
I don't think so that your application will need an Enterprise Server. The most beatiful thing about J2EE are the three level architecture. So it depends what you are doing with your received data from your clients on your nt server. If you wish to had at further time a presentation, business and data layer then it would be a great thing to use j2ee.

If you don't want using CORBA or direct Socket programming. The simpler thing is to use Java RMI. If this is too little for your future plans then you should go up and using enterprise beans. For this you need j2ee (not for RMI). Good book about the overview of j2ee is "Java server Programming" ISBN 1-861004-65-6.If you don't want spend money on books then have a look about the turtorial of j2ee tutorial at javasoft. If you decide to use j2ee make sure you have enough time and enough people which could help you to do this. It wouldn't be easy but nice ( have a look at the tutorial and you will see what I mean).
LVL 19

Accepted Solution

Jim Cakalic earned 50 total points
ID: 6150505
J2EE assembles a broad range of technologies -- EJB, JSP, Servlet, JMS, CORBA, JDBC, XML, JNDI, JTA, JTS, JavaMail, RMI/IIOP. You don't either "use" J2EE or not use it. When the architecture of a proposed system is specified, you select specific technologies from the J2EE "bag" that would assist you in the development and deployment of the system. J2EE is in fact not a product in its own right but a set of technology specifications. Multiple vendors provide implementations of these technologies in value added products -- WebLogic, WebSphere, etc. The question is, after reviewing the use of the specific technologies in J2EE, do any of them seem to relevant to problems you need to solve in your system?

From the initial description of your problem, I'm thinking that you might want to put aside J2EE for now and look at JavaSpaces. The idea of space-based programming came about in research domains while working on the development of parallel distributed computing systems. Sun describes JavaSpaces as "a simple unified mechanism for dynamic communication, coordination, and sharing of objects between JavaTM technology-based network resources like clients and servers. In a distributed application, JavaSpaces technology acts as a virtual space between providers and requesters of network resources or objects. This allows participants in a distributed solution to exchange tasks, requests and information in the form of Java technology-based objects. JavaSpaces technology provides developers with the ability to create and store objects with persistence, which allows for process integrity." That sounds, to me, a lot moe like what you are doing than constructing a business application with a web interface (the "typical" J2EE application).

A free reference-implementation of JavaSpaces is available. Until recently it was the only one that seemed to be widely available. It is a little difficult to find on the developer connection because of its close association with Jini. Just recently, a commercial implementation has come on line from j-spaces. Here are a few of the relevant links that you'll need to get started:

You'll also want to get into the JavaSpaces-users mailing list. It is quite active and well supported by an expert community.

Best regards,
Jim Cakalic

Author Comment

ID: 6196299
There is CORBA and RMI with J2SE. What's different with the CORBA and RMI in J2EE?
LVL 19

Expert Comment

by:Jim Cakalic
ID: 6196355
Nothing. But this emphasizes the difference between the delivery of technology implementations (which J2SE does) and the specification of a family technologies that must interoperate or be integrated to enable the development of enterprise solutions (which J2EE does). Although Sun provides a reference implementation of J2EE technologies, it is not their intent that this implemenation be used in construction and deployment of commercial systems. Rather like they provide the JDBC-ODBC bridge but strongly discourage its use for anything more than trivial applications. Instead, Sun expects that application server vendors will provide conforming implementations of the J2EE specification. In such implemenations, the RMI implementation provided by Sun would likely be utilized but each vendor could provide their own CORBA ORB.


Author Comment

ID: 6196418
>If you wish to had at further time a presentation, business and data layer then it would be a great thing to use j2ee.

How does this layer work, e.g. a data layer? Is this like a computer connected to both the server and clients? How do I apply J2ee in this situation?

We are using an intranet shared drive now for the data. Is speed going to be a problem if the data is on a machine on the Internet?


Featured Post

Free Tool: Subnet Calculator

The subnet calculator helps you design networks by taking an IP address and network mask and returning information such as network, broadcast address, and host range.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Introduction Java can be integrated with native programs using an interface called JNI(Java Native Interface). Native programs are programs which can directly run on the processor. JNI is simply a naming and calling convention so that the JVM (Java…
In this post we will learn how to connect and configure Android Device (Smartphone etc.) with Android Studio. After that we will run a simple Hello World Program.
Viewers will learn one way to get user input in Java. Introduce the Scanner object: Declare the variable that stores the user input: An example prompting the user for input: Methods you need to invoke in order to properly get  user input:
The viewer will learn how to implement Singleton Design Pattern in Java.

808 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question