This week's book giveaway is in the OO, Patterns, UML and Refactoring forum. We're giving away four copies of Refactoring for Software Design Smells: Managing Technical Debt and have Girish Suryanarayana, Ganesh Samarthyam & Tushar Sharma on-line! See this thread for details.
For instance, I've been working for the past year with Apache Tomcat, j2sdk1.4.1_02 creating various JSP's (in Struts), a few classes dealing with Java mail functionality, and Apache Axis to create a few webservices for the app. Does this fall under J2EE?
Yes. J2EE is a term describing Java's enterprise (read: distributed) capabilities / architectures. JSP, Servlets, and EJBs form the backbone of J2EE. (Some texts include JDBC as well, but JDBC is more universal than that...)
Note that not all Java work is J2EE. Client-based Swing Applications/Applets are not considered J2EE, although they may serve as a front end for such an architecture. "Hello, World" is not J2EE
The basic premise of J2EE is that a client browser connntects to a web page. The web page is a JSP. Controls on the JSP are handled through servlets, while data access is handled through Entity EJBs. Business logic im implemented in Session EJBs. However, EJBs are fairly resourec heavy -- not all applications need them. For smaller apps, you can have servlets handle both the control and business logic, and access data straight through JDBC.
Piscis Babelis est parvus, flavus, et hiridicus, et est probabiliter insolitissima raritas in toto mundo.
Some texts include JDBC as well, but JDBC is more universal than that...
Strictly (and unfortunately mentioning this will probably cloud the issue): "JDBC" meaning the java.sql.* package isn't really J2EE where as JDBC meaning java.sql.* & javax.sql.* is. Stupid isn't it? Mind you, you could argue that Relational Databases are by their nature enterprise components, so using them in an non-enterprise application is a poor choice of technologies.
To add to what Joel has already written, the important word in J2EE is Enterprise, which is unfortunately just more jargon :roll: . An enterprise application is one which will be defined by certain non-functional requirements, such as the need to to be secure, to be scalable, highly available etc. What defines J2EE itself is in the J2EE spec. - search at Sun for it. The basics are all the API you download if you download J2EE from Sun.
I haven't done any work with J2EE myself. However, I'd still like to add my 2 cents, if you don't mind. As I see it, J2EE adds to the APIs available to Java programmers. The language itself is the same, but the classes and methodologies differ slightly.
yes, Servlets and JSP are definitely part of J2EE.
There are some people who think that only EJB are J2EE and everything else is not but these people are severely mistaken (and are usually of the kind who insist on using EJB where those aren't appropriate and often even harmful so you don't want to work with them anyway).