Professional Documents
Culture Documents
Wat is java?
Programmeertaal
Jvm
Platform
'Write Once, Run Anywhere'
Acronymen hel
NetBeans
Duke
iBatis
JAX-RPC
GlassFish Struts
JVM IIOP
JBoss Hibernate
SAAJ
JAXB
Trinidad
JSR
POJO
TestNg
JavaDoc JavaDesktop JUnitApplet
NetBeans
war
JAXB
Wicket
JSP
J2EE Java SEDrools
JMS
Swing WebLogic JSF
JIT
ant
ear
JDBC
Servlet
MyFaces
JPA
JDK
Java JavaFX Tapestry
Stripes
Apache GWT
Tomcat
EL
Java ME RichFaces
SDO ADF
JCP
Seam
TopLink
JavaBeans
IceFaces
Log4J
Ajax
Cocoon
JDO
JSTL
Velocity
Groovy
JCA
JDom
Java EE JNDI WebSphere
Spring
AOP
SCA
AWT
Acegi
James
Gosling
Lucene
JMX
Jre
RMI
Maven
AMIS
JAAS
EJB
JAXP
Facelets
Java Web Start
Tuscany
Java language
Object orintatie
POJO
Netwerk support
Remoting
Example
import java.net.*;
import java.io.*;
public class google {
bytecode
.java
compiler
.class
platform / libraries
jvm
jit compilation
OS
IDE
Code completion
Syntax Highlighting
Wizards
Documentation
Refactoring
Unittest support
Delivery support
Compilation
Classpath organization
...
Eclipse
WSAD
JDeveloper
IntelliJ IDEA
NetBeans
WebLogic Workshop
[Notepad]
...
JVM
Platform specific
Run bytecode
normally, but not necessary, generated from java
source code
10
11
12
13
History
JDK 1.0
JDK 1.1
J2SE 1.2
J2SE 1.3
J2SE 1.4
J2SE 5.0
Java SE 6
Java SE 7
14
Java SE - Overview
15
Delivery
jar file
java -jar MyApp
16
Toepassingen
applets
Application in browser
...
17
18
History
19
Toepassingen
Web applications
Multitier
Distributed
Transactional
SOA
Integration
Web Services
Messaging
...
20
Programming
Interfaces
Implementation is provided by vendors and
only partially by Java EE
(vendor specific) Extensible
JavaBeans
21
Delivery
ear
/META-INF/application.xml
rar
...
22
23
Architecture
Application Server
EJB Container
EJB
EJB
Clients
EJB
Web Container
Other
Systems
jsp
servlet
Admin etc.
24
Architecture
25
Architecture
26
Architecture
27
JOnAS Architecture
28
WebSphere Architecture
29
Vendors
Oracle iAS
IBM WebSphere
BEA WebLogic
JBoss
GlassFish
Geronimo
JOnAS
SAP Netweaver
Pramati
ATG Dynamo
Tomcat
Jetty
http://en.wikipedia.org/wiki/Comparison_of_application_servers#Java
30
31
Servlets
Web application
Plain java
No visual representation
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class HelloWWW extends HttpServlet {
public void doGet(HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.println("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 " +
"Transitional//EN\">\n" +
"<HTML>\n" +
"<HEAD><TITLE>Hello WWW</TITLE></HEAD>\n" +
"<BODY>\n" +
"<H1>Hello WWW</H1>\n" +
"</BODY></HTML>");
}
}
32
JSP
Web application
Visual
pre-compiled to servlet
33
Jsp Examples
34
35
JDBC
import java.sql.*;
public class JdbcExample {
public static void main(String[] args) {
try {
DriverManager.registerDriver (new oracle.jdbc.driver.OracleDriver());
Connection conn = DriverManager.getConnection
("jdbc:oracle:thin:@oracle:1521:orcl","scott","tiger");
Statement stmt = conn.createStatement();
ResultSet r = stmt.executeQuery ("SELECT * FROM STD");
while (r.next())
System.out.println(r.getString(2) + " " + r.getString(4));
r.close();
stmt.close();
conn.close();
} catch (Exception e) {
e.printStackTrace(System.out);
}
}
}
36
EJB
37
Issues
38
Result
Framework 'hel'
Improvement of Java
EJB 3.0
Java Persistence
JSF
39
40
Struts
Apache Framework
de-facto Standard voor jsp development
Action based
Still alive
ADF v9
41
JSF
Visual
Component based
Java EE Standard
/WEB-INF/faces-config.xml
42
ADF Faces
JBoss RichFaces
IceFaces
MyFaces
Tobago
Trinidad
Quipukit
WebGalileoFaces
ILOG JSF tools
Jenia
Woodstock
...
43
Hibernate
44
45
We believe that:
We aim that:
46
Spring Projects
Spring Framework
Spring Web Flow
Spring Web Services
Spring Security (Acegi Security)
Spring Dynamic Modules For OSGi(tm) Service Platforms
Spring Batch
Spring Integration
Spring LDAP
Spring IDE
Spring Modules
Spring JavaConfig
Spring Rich Client
Spring .NET
Spring BeanDoc
48
ADF
49
SEAM
JBoss
Unify and integrate (o.a)
AJAX, JSF, EJB3, BPM
50
51
Open Source
Donations
ADF -> Trinidad
Apache
SourceForge
CodeHaus
52
Apache
Commons
Utility methods for text, collections, io, en/decoding, http, etc
Struts, JSP
MyFaces, JSF
Trinidad, JSF
Velocity, templating
Tuscany, SOA
Geronimo, AS
Lucene, searching
Tomcat, AS
Maven, build management
Harmony, Open Source Java SE
Synapse, ESB
...
53
54
55
The future
Jaca SE 7 - 2008
Java EE 6 - 2008
Java FX
Java everywhere
Framework shakeout?
Better Visual development
56
57