2. Who Am I?
• Working at Wells Fargo when I first learned of Java
in 1995
• Joined NetDynamics in 1997
> the first Java application server - proprietary
• Acquired by Sun in 1998
> J2EE standardized the application server space
> Worked on the Reference Implementation
> Joined the tools group in 2005
3. Agenda
• Java
> Java Technology Background & Overview
> J2ME & Java Card
> J2EE & Web Services
> Cool Examples
• Sun and Free Open Source Software
• NetBeans IDE
4. 1991 –
Duke gets on
the stage with
Oak on *7 from
Project Green
1996 –
JavaOne
1999 –
J2 enters with
the “Family”
Servers
Servers
Java 2
Enterprise
Edition
(J2EE)
Java 2
Standard
Edition
(J2SE)
Optional
Packages
Optional
Packages
Java 2 Micro Edition (J2ME)
Java Virtual Machine KVM
CLDC
CDC
MIDP
Foundation Profile
Personal Profile
Java
Card
APIs
CardVM
Desktop
machines
Desktop
machines
High-end
consumer
devices
High-end
consumer
devices Low-end
consumer
devices
Low-end
consumer
devices
Smart-
cards
Smart-
cards
2002 –
J2ME, J2SE
J2EE leads the
adoption of WS
and Mobility
1995 –
The world
gets to know
about Java in
the form of
HotJava 2005 -
Java Turns
10
5. The Set-Top TV You Never Saw
*7 ("StarSeven")
● Green Team predicted convergence of digitally controlled consumer
devices and computers.
● Produced *7 App aimed at TV set-top box and video-on-demand
industries
● “Oak” processor-independent language for heterogeneous devices
built around networking
7. To Port Source code
• Some times the source code is portable – One source
can be compiled on different systems – different
flavors of Unix
• But, need to compile and test separately for each
supported platform
8. Java – Portable Code : WORA
Write Once Run Anywhere
Compile
Java
Source Java Byte
Code
Operating System
Hardware
Virtual Machine
Platform
Hardware
Operating System
13. Why did Java become Popular
• Familiar & Simple – like C, C++
• Object-Oriented language
• Portable -
> executes anywhere Java Virtual Machine exists
• Robust, Secure
• Garbage Collection – No memory leaks
• Distributed
> Network Ready
14. Java: Desktop Client Platform
• Java code executes anywhere JVM exists
> Browser
> Operating System
> Chip
• Implications
> Write it once, Run it anywhere
> The language itself is the platform!
23. MIDP 2.0 Game APIs
javax.microedition.lcdui.game
APIs for the development of rich
gaming content
Networked or single player
Optimized by device
25. Smart cards for digital identity
Plastic
card
Contact
pad
Gold wiring
Epoxy fill
ROM w/JVM
ROM,
Operating
system
EEPROM,
Application
Memory
CryptoProcessor
CPU
RAM
EEPROM
CPU + memory chip
for secure processing and storagee
Can be Used for security keys and
security algorithms
27. Java Card examples
• Belgium, Malaysia,Thailand:
Electronic National Identity card
• Switzerland: SWISSCOM GSM
operator 500,000 JavaCards
• Taiwan Health care Id
• Singapore's Road Toll
• U.S. Department of Defense
• American Express, Visa
30. J2EE™ Platform Specification
JNDI
J2SE
JMS
RMI/IIOP
JDBC
Database
App
Client
App Client
Container
HTTP/
HTTPS
J2SE
RMI
J2SE
JNDI
JMS
RMI/IIOP
JDBC
JTA
JavaMail
JAF
JNDI
JMS
RMI/IIOP
JDBC
JTA
JavaMail
JAF
HTTP/
HTTPS
Applet
Container
Applet JSP Servlet EJB
Web Container EJB™ Container
RMI
J2SE
Components
Components run within Container
Container.
Container
Container provides Runtime environment,
Runtime environment, J2SE
J2SE ™
™ & J2EE™
& J2EE™
APIs,
APIs, and remote communication
remote communication
31. eBay Architecture: How to Go…
Microsoft IIS
eBayISAPI.dll
MSXML
…to here?
From there…
J2EE™ Container
Web Container
Presentation Tier
EJB™
Container
Business Tier
Integration Tier
Services
Configuration
Logging
Security
Monolithic
Proprietary
Layered
Loosely coupled
Modular, Standards
based
32. Java + HTTP + XML
Portable, Networked Systems
code + data + transport
Java
XML
HTTP
Portable
Code
Portable
Data
Internet transport
33. • A method for loosely coupled integration
between applications
• Messaging and Interfaces to applications
• Example of Service Oriented Architecture
– Service Consumers
– Service Providers
What Are Web Services?
Inventory
WSDL
WSDL
SOAP
SOAP
XML
XML
Billing
Web
Services
Interface
Web
Services
Interface
Service Consumer Service Provider
SOAP
SOAP
34. • Patients ID
• Professional ID
• Provider Info
• Encounter
Information
Identification and treatment data
Brazilian National Health Project
Data and Information Captured
Point-of-Care
Device Servers
130M inhabitants
35. Mars Rovers Mission
Collaborative Information Portal
• Provide a central place to
access mission information
• Provide a Mars time clock
• Navigate, search, and view
mission data, plans, reports and
schedules from various
perspectives
• Provide notification of updates
of various mission data
36. Agenda
• Java
> Java Technology Background & Overview
> J2ME &Java Card
> J2EE & Web Services
> Cool Examples
• Sun and Free Open Source Software
• NetBeans IDE
37. What is Open Source
• Open Source != Open Standards
• Licensed to protect right to...
> Fork
> Modify
> Redistribute
• It's about Community
> Massive peer review means higher overall
quality
> Profit-driven (proprietary) software first exists not
to be excellent, but to make money
38. Sun and Open Source
• Contributed more to the OSS community then any
other vendor
>
>
>
>
Contributes on many others
42. Why Do I Care?
Because IDEs eliminate the tedious parts of
coding, allowing you to focus on solving the
problem.
43. How So?
• By being aware of your code syntax
• By showing errors as you type
44. How So?
• By understanding the Java APIs, even the
one's you create
45. How So?
• By:
>Compiling your code
>Automating repetitive tasks
>Automatically creating classes, methods
and properties
>Providing an interactive debugger
>Refactoring your code
>Integrating with source code repositories
>Integrating with application servers
46. What is NetBeans?
• Free Open Source Pure JavaTM
IDE
• Modular and Extensible
• Supports things you have to pay for in other IDEs
http://www.netbeans.org
48. NetBeans History
• Started in 1996 as a student project at Charles
Univeristy in Prague (originally called Xelfi)
• Most of these same students (now Sun employees)
are still working on NetBeans today.
49. NetBeans History
• The original plan was to develop network-enabled
JavaBeans, hence the name NetBeans.
• In 1999, Sun acquired NetBeans, and briefly
renamed it “Forte for Java”
• In 2000, Sun open sourced NetBeans.
> Although a large contributor to open source projects,
NetBeans was Sun's first sponsored project.
> netbeans.org web site was launched
• In 2001, The Platform was born
> A generic desktop application suitable for any purpose
50. NetBeans 4.1 – It Just Works
• Intuitive User Interface & Usability
• Supports the latest Java APIs (5.0)
• Your Ant script is your project
• Unit testing – a natural part of development
• Integrated CPU & Memory Profiler
• J2ME Mobility Support
• J2EE & Web Services Support
D
e
m
o
51. Resources
• Sun's Java Web sites
> http://java.com
> http://java.sun.com
> http://java.net
> http://www.netbeans.org
• The Story of Java Platform
> http://java.sun.com/java2/whatis/