Hi

To return to the origins, Java was not conceived as a dedicated language for business applications (like Cobol), but rather as a general-purpose language (like Pascal - to perpetuate the analogy). But there is a big advantage to use Java for business applications because of its portability: when you migrate to another platform, you can still run your old application as long as a Java virtual machine exists on the new platform.

Data is better represented in Java when it fits classes. JavaBeans are Java classes that store data. A simple application can read data from a database, put it in some JavaBeans and write it back to the database for persistence if the use have modified the content of some JavaBean.

In good old times, when memory was expensive and computers were slow, this schema was very slow, unless the application was very light. Enterprise class applications need something better: Enterprise Java Beans (EJB) instead of simple JavaBeans.

EJBs are classes that live and "swim" in a "EJB container" (in connection with the database) on some far away centralized server. The user desktop can access their data remotely. With a solid hardware server and a software "application server", including an "EJB container", ensuring the access to the database and running the business logic, and a client application that uses the data but runs only the user interface triggers, performances were better. But also other benefits were noticed: the separation between the business logic and the user interface lead to better structured (and easier maintained) programs.

There is another approach: the Web. Have a HTTP server connected to a "servlet container", then run some Java code in the "servlet container" that dynamically generate HTML pages. In this case, the user's desktop is not overloaded (all it has to do is to display the HTML page in some browser). The "servlet container" is also an "application server" (as it remotely executes some code), but it is different from the former one. Of course, it can directly access data from a database or interact with a (optionally remote) "EJB container" that contains the business logic.

One of the mostly used "servlet container" is "Catalina", provided by the Apache foundation. The Apache Tomcat server bundles Catalina servlet container and Coyote HTTP server (from the Apache foundation too). Apache Tomcat has anything one can need to build Web based business applications except for the EJB container.

For the second kind of application server, you can find Open Source as well as commercial ones. The lot includes: Glassfish (Open Source, bundled with NetBeans, a reference for the standards), JBoss, WebSphere, WebLogic and so on. Each one contain an EJB container. Typically, they also include a servlet container (some of them include the Catalina servlet container) and an HTTP server.

Both first kind and second kind application servers offer supplementary services, such as security services and pooled database connections.

So, if you wish, you can create different kind of applications:
-- Simple desktop applications, using just simple JavaBeans and a JDBC database connection. There are loads of commercial (or free) applications like this, including Open Office and Oracle Enterprise Manager (or what ever is the name of the management console for the Oracle database system) -- Light client applications, using a second kind server (the one containing a "servlet container"), such as Tomcat, Glassfish, WebSphere, and so on. Many companies use an embedded Tomcat server, that silently installs on your computer in order to offer you some tools that display in the Web browser. I don't have an example under my hat, but I bet you already encountered this kind of application. -- 3-Tiers applications, using the first kind of server (the one containing an "EJB container"), such as any one already enumerated except for Tomcat. This is the case for some big, enterprise class business applications.

Now, the Javapassion courses cover all those topics (as I could see). To make simple: the Java EE Programming Basics deals mainly with applications using the servlet containers. The examples use the Glassfish server (a good occasion to discover it), but most of them don't need more than the Tomcat server; the Advanced Java EE Programming extends the experience to the "EJB containers" programming.

Hope it helps
mihai

Ice-Man a écrit :
That's a plattiform especifyed by Sun for development of Web or Web+Enterprise Applications. No matter what Sun means a JavaEE container is (limiting it to only to EJB full suport), you freelly can make your own ApplicationServer using a Container (middleware) FrameWork, like Spring Framework, and a Web Container, just like Tomcat. Sun always want to alegate a JavaEE container must mandatory fully suport EJB, i.e., be also a EJB container. But, in my mind, u never must use EJB to develop a Enterprise/Corporation App.., unless u really want and/or need it.
  (Obs.: EJB is /Componetization/ inicative of Sun.)
  Best reguards,
Ice-Man

2010/3/10 Felipe Micaroni <felipe.micar...@comperantime.com <mailto:felipe.micar...@comperantime.com>>

-- You received this message because you are subscribed to the Google
    Groups "Java EE (J2EE) Programming with Passion!" group.
    To post to this group, send email to
    java-ee-j2ee-programming-with-passion@googlegroups.com
    <mailto:java-ee-j2ee-programming-with-passion@googlegroups.com>
    To unsubscribe from this group, send email to
    java-ee-j2ee-programming-with-passion+unsubscr...@googlegroups.com
    
<mailto:java-ee-j2ee-programming-with-passion%2bunsubscr...@googlegroups.com>
    For more options, visit this group at
    
http://groups.google.com/group/java-ee-j2ee-programming-with-passion?hl=en?hl=en




--
Derlon

Ao encaminhar esta mensagem (ou qualquer 1 q se destine a mim tb), não se esqueça de retirar o meu nome e o meu End. de E-Mail e coloque todos os End.s dos destinatários em Cópia Oculta - CcO (BCc). Ajude a combater o Spam!
--
You received this message because you are subscribed to the Google
Groups "Java EE (J2EE) Programming with Passion!" group.
To post to this group, send email to
java-ee-j2ee-programming-with-passion@googlegroups.com
To unsubscribe from this group, send email to
java-ee-j2ee-programming-with-passion+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/java-ee-j2ee-programming-with-passion?hl=en?hl=en
To unsubscribe from this group, send email to java-ee-j2ee-programming-with-passion+unsubscribegooglegroups.com or reply to this email with the words "REMOVE ME" as the subject.

--
You received this message because you are subscribed to the Google
Groups "Java EE (J2EE) Programming with Passion!" group.
To post to this group, send email to
java-ee-j2ee-programming-with-passion@googlegroups.com
To unsubscribe from this group, send email to
java-ee-j2ee-programming-with-passion+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/java-ee-j2ee-programming-with-passion?hl=en?hl=en

To unsubscribe from this group, send email to 
java-ee-j2ee-programming-with-passion+unsubscribegooglegroups.com or reply to this email 
with the words "REMOVE ME" as the subject.

Reply via email to