SlideShare une entreprise Scribd logo
1  sur  52
Télécharger pour lire hors ligne
Java and NetBeans
Brian Leonard
Senior Software Engineer
Sun Microsystems, Inc.
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
Agenda
• Java
> Java Technology Background & Overview
> J2ME & Java Card
> J2EE & Web Services
> Cool Examples
• Sun and Free Open Source Software
• NetBeans IDE
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
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
Computing before Java
Operating System
Hardware
Compile
Executable
C or
Fortran
Source
Link
Relocatable
Platform
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
Java – Portable Code : WORA
Write Once Run Anywhere
Compile
Java
Source Java Byte
Code
Operating System
Hardware
Virtual Machine
Platform
Hardware
Operating System
HTML Portable Content for Browsers
Operating System
Hardware
Browser
HTML
Platform
Java + HTTP
 Portable, Networked Systems
code + transport
Java
HTTP
Portable
Code
Internet transport
Java: Portable code
• Executable portable browser code: Applet
> Stored on Server
> Executed on Client Browser
• Implications
> Platform Independent
> Revolution in Software Distribution
Sun
announces
Java and
HotJava at
SunWorld '95.
Netscape
announces its
intention to
license Java for
use in
Netscape
browser.
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
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!
Java: The Revolution
J2EE
Server
Component
Client
Desktop
Applet
Paradigm
1500+
600
~5
# Books
2,000,000
700,000
~30
#Programmers
1999
1997
1994
Java 2005
4,500,000
Web
Services &
Mobility
2500+
The Java™ Platform
High-End
Server
Java Technology
Enabled Desktop
Workgroup
Server
Java Technology
Enabled Devices
The Java
TM
Platform
Optional
Packages
Java 2
Enterprise
Edition
(J2EE)
Java 2
Standard
Edition
(J2SE)
JVM Card VM
Optional
Packages
Personal
Profile
Foundation Profile
CDC
MIDP
CLDC
KVM
Java 2 Platform Micro Edition
(J2METM
)
Java
Card
Personal
Basis Profile
The Java
TM
Platform
Optional
Packages
Java 2
Enterprise
Edition
(J2EE)
Java 2
Standard
Edition
(J2SE)
JVM Card VM
Optional
Packages
Personal
Profile
Foundation Profile
CDC
MIDP
CLDC
KVM
Java 2 Platform Micro Edition
(J2METM
)
Java
Card
Personal
Basis Profile
Example J2ME™ Technology
Wireless Device Stack
Mobile
Information
Device
Profile
KVM
KVM + J2ME Core APIs
DSP chip
(e.g., ARM)
J2ME core APIs
Your
MIDlet
Yellow Pages, train
schedules and ticketing,
games…
UI, HTTP
networking...
minimized Java™ Virtual
Machine
32-bit RISC, 256K ROM,
256K Flash, 64K RAM
J2ME apps
at java.com
Expense tracker,
Financial data,
auction bidding,
plane schedules,
online price checker,
yellow pages
games…
TV:
J2ME™ Devices Today
i85s
A009
A 008
I50sx
i55rx
i80s
i95cl
A388 T720
T280i
A820
V60i V66i
i90c
388c A835
E380
I58sr
T725
V600 V67
TP226
9290
7650
7210 3410 6310i
6600
3585 3590 6610
6800 3510i 3650 9210 9210i
8910i
665
0
N-Gage
SL45i SL42
M50 M46
C55
CT56 MT50
S56 S55
I300
SCH
X250
SCH
X350 Rainbow
SCH
460
N400 I330
Nexio
S300
SCH-X110 SCH
X120
SCH
X140
SCH
X570
SCH
X600
SCH
X700
SCH
X130
SCH
X230
SCH
S100
SPH
S4209 SO503i
Clie
P800
A3014S SO504i T62U
CX-300L
iBook
Cnain
2000 Ez-X1
5350 Cnain
2100
CX300L
G8000SD1100
SD2100
Info
Comm VX1
U10
I90c SE
5100
J2ME™ Devices Today
C452CA
Cassiopei
a
A3012CA
iPaq
F503is F503i F504i C451H
C3001H SH-P300 QCP 6035
C3002K
D503i D05 FOMA
D2101v D06
Trium
Eclipse
N503i N503is FOMA
N2002
N05 FOMA
N2051
N504i N504i
J-K51
P503i P503is
FOMA
P2101v
C3003P
J-P51
GD87 P2002
C3011SA
J-SA51
A3011SA
A3015SA
SCP-4900
SH07
Zaurus
SH08
SH51
SH0
9
SH5
2
2101V
GX10
T06
A3013T C5001T
T0
7
Blackberry
5810
Treo 280
i705
Blackberry
6510
Blackberry
6710
Details on these and other J2ME devices:
http://wireless.java.sun.com/device
MIDP 2.0 Game APIs
javax.microedition.lcdui.game
 APIs for the development of rich
gaming content
 Networked or single player
 Optimized by device
The Java
TM
Platform
Optional
Packages
Java 2
Enterprise
Edition
(J2EE)
Java 2
Standard
Edition
(J2SE)
JVM Card VM
Optional
Packages
Personal
Profile
Foundation Profile
CDC
MIDP
CLDC
KVM
Java 2 Platform Micro Edition
(J2METM
)
Java
Card
Personal
Basis Profile
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
1970
PDP-8/I
1/4 Mhz
8K of RAM
Less horsepower
than Java Card
5 Mhz
2 KB of RAM
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
The Java
TM
Platform
Optional
Packages
Java 2
Enterprise
Edition
(J2EE)
Java 2
Standard
Edition
(J2SE)
JVM Card VM
Optional
Packages
Personal
Profile
Foundation Profile
CDC
MIDP
CLDC
KVM
Java 2 Platform Micro Edition
(J2METM
)
Java
Card
Personal
Basis Profile
Client
Client
Client
Client
Client
Client
Tier
Enterprise
Information
Tier
Middle
Tier
Enterprise
Information
Systems (EIS):
Relational
Database,
Legacy
Applications,
ERP Systems
Enterprise
JavaBeans™
Enterprise
JavaBeans
Other Services:
JNDI, JMS,
JavaMail™
J2EE
Application
Server
Web
Server
JSP,
Servlets
Firewall
J2EE is End-to-End Solution
HTML/XML
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
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
Java + HTTP + XML
 Portable, Networked Systems
code + data + transport
Java
XML
HTTP
Portable
Code
Portable
Data
Internet transport
• 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
• 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
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
Agenda
• Java
> Java Technology Background & Overview
> J2ME &Java Card
> J2EE & Web Services
> Cool Examples
• Sun and Free Open Source Software
• NetBeans IDE
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
Sun and Open Source
• Contributed more to the OSS community then any
other vendor
>
>
>
>
Contributes on many others
Join java.net
Agenda
• Java
> Java Technology Background & Overview
> J2ME & Java Card
> J2EE & Web Services
> Cool Examples
• Sun and Free Open Source Software
• NetBeans IDE
What's an IDE?
Integrated Development Environment - a set
of tools that aid application development
Why Do I Care?
Because IDEs eliminate the tedious parts of
coding, allowing you to focus on solving the
problem.
How So?
• By being aware of your code syntax
• By showing errors as you type
How So?
• By understanding the Java APIs, even the
one's you create
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
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
Where is NetBeans?
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.
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
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
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/
Brian Leonard
bleonard@sun.com
Java and NetBeans

Contenu connexe

Similaire à JavaAndNetBeans.pdf

Azure en Nutanix: your journey to the hybrid cloud
Azure en Nutanix: your journey to the hybrid cloudAzure en Nutanix: your journey to the hybrid cloud
Azure en Nutanix: your journey to the hybrid cloudICT-Partners
 
Demystifying Software Defined Networking (SDN)
Demystifying Software Defined Networking (SDN)Demystifying Software Defined Networking (SDN)
Demystifying Software Defined Networking (SDN)Matt Bynum
 
Demystifying Software Defined Networking (SDN)
Demystifying Software Defined Networking (SDN)Demystifying Software Defined Networking (SDN)
Demystifying Software Defined Networking (SDN)Matt Bynum
 
01 java 2 micro edition
01 java 2 micro edition01 java 2 micro edition
01 java 2 micro editioncorneliuskoo
 
Tehran's 1st Android bootcamp - Part2
Tehran's 1st Android bootcamp - Part2Tehran's 1st Android bootcamp - Part2
Tehran's 1st Android bootcamp - Part2Mohsen Mirhoseini
 
Proposal Finished
Proposal  FinishedProposal  Finished
Proposal FinishedTrevor Moon
 
WS-* Specifications Update 2007
WS-* Specifications Update 2007WS-* Specifications Update 2007
WS-* Specifications Update 2007Jorgen Thelin
 
eMagic-Data Center Management System
eMagic-Data Center Management SystemeMagic-Data Center Management System
eMagic-Data Center Management SystemSandesh Sonar
 
Nokia Qt SDK in action - Qt developer days 2010
Nokia Qt SDK in action - Qt developer days 2010Nokia Qt SDK in action - Qt developer days 2010
Nokia Qt SDK in action - Qt developer days 2010Nokia
 
Building a Reliable Remote Communication Device with Java ME8 [CON2285]
Building a Reliable Remote Communication Device with Java ME8 [CON2285]Building a Reliable Remote Communication Device with Java ME8 [CON2285]
Building a Reliable Remote Communication Device with Java ME8 [CON2285]Leonardo De Moura Rocha Lima
 
Introduction to java
Introduction to java Introduction to java
Introduction to java Java Lover
 
Slides bootcamp21
Slides bootcamp21Slides bootcamp21
Slides bootcamp21dxsaki
 
Hybrid Mobile Development with Apache Cordova and Java EE 7 (JavaOne 2014)
Hybrid Mobile Development with Apache Cordova and Java EE 7 (JavaOne 2014)Hybrid Mobile Development with Apache Cordova and Java EE 7 (JavaOne 2014)
Hybrid Mobile Development with Apache Cordova and Java EE 7 (JavaOne 2014)Ryan Cuprak
 
AAI-1304 Technical Deep-Dive into IBM WebSphere Liberty
AAI-1304 Technical Deep-Dive into IBM WebSphere LibertyAAI-1304 Technical Deep-Dive into IBM WebSphere Liberty
AAI-1304 Technical Deep-Dive into IBM WebSphere LibertyWASdev Community
 

Similaire à JavaAndNetBeans.pdf (20)

Azure en Nutanix: your journey to the hybrid cloud
Azure en Nutanix: your journey to the hybrid cloudAzure en Nutanix: your journey to the hybrid cloud
Azure en Nutanix: your journey to the hybrid cloud
 
Android architechture
Android architechtureAndroid architechture
Android architechture
 
Demystifying Software Defined Networking (SDN)
Demystifying Software Defined Networking (SDN)Demystifying Software Defined Networking (SDN)
Demystifying Software Defined Networking (SDN)
 
Demystifying Software Defined Networking (SDN)
Demystifying Software Defined Networking (SDN)Demystifying Software Defined Networking (SDN)
Demystifying Software Defined Networking (SDN)
 
01 java 2 micro edition
01 java 2 micro edition01 java 2 micro edition
01 java 2 micro edition
 
Tehran's 1st Android bootcamp - Part2
Tehran's 1st Android bootcamp - Part2Tehran's 1st Android bootcamp - Part2
Tehran's 1st Android bootcamp - Part2
 
SunMicroSystems
SunMicroSystemsSunMicroSystems
SunMicroSystems
 
Java withrealworldtechnology
Java withrealworldtechnologyJava withrealworldtechnology
Java withrealworldtechnology
 
Proposal Finished
Proposal  FinishedProposal  Finished
Proposal Finished
 
WS-* Specifications Update 2007
WS-* Specifications Update 2007WS-* Specifications Update 2007
WS-* Specifications Update 2007
 
Symbian os
Symbian osSymbian os
Symbian os
 
eMagic-Data Center Management System
eMagic-Data Center Management SystemeMagic-Data Center Management System
eMagic-Data Center Management System
 
Nokia Qt SDK in action - Qt developer days 2010
Nokia Qt SDK in action - Qt developer days 2010Nokia Qt SDK in action - Qt developer days 2010
Nokia Qt SDK in action - Qt developer days 2010
 
Building a Reliable Remote Communication Device with Java ME8 [CON2285]
Building a Reliable Remote Communication Device with Java ME8 [CON2285]Building a Reliable Remote Communication Device with Java ME8 [CON2285]
Building a Reliable Remote Communication Device with Java ME8 [CON2285]
 
Introduction to java
Introduction to java Introduction to java
Introduction to java
 
Sunstate
SunstateSunstate
Sunstate
 
Slides bootcamp21
Slides bootcamp21Slides bootcamp21
Slides bootcamp21
 
Hybrid Mobile Development with Apache Cordova and Java EE 7 (JavaOne 2014)
Hybrid Mobile Development with Apache Cordova and Java EE 7 (JavaOne 2014)Hybrid Mobile Development with Apache Cordova and Java EE 7 (JavaOne 2014)
Hybrid Mobile Development with Apache Cordova and Java EE 7 (JavaOne 2014)
 
JavaOne 2010 Keynote
JavaOne 2010 Keynote JavaOne 2010 Keynote
JavaOne 2010 Keynote
 
AAI-1304 Technical Deep-Dive into IBM WebSphere Liberty
AAI-1304 Technical Deep-Dive into IBM WebSphere LibertyAAI-1304 Technical Deep-Dive into IBM WebSphere Liberty
AAI-1304 Technical Deep-Dive into IBM WebSphere Liberty
 

Dernier

Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Mater
 
Odoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 EnterpriseOdoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 Enterprisepreethippts
 
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...Akihiro Suda
 
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)jennyeacort
 
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesŁukasz Chruściel
 
英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作qr0udbr0
 
Salesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZSalesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZABSYZ Inc
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based projectAnoyGreter
 
Cyber security and its impact on E commerce
Cyber security and its impact on E commerceCyber security and its impact on E commerce
Cyber security and its impact on E commercemanigoyal112
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaHanief Utama
 
VK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web DevelopmentVK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web Developmentvyaparkranti
 
Precise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalPrecise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalLionel Briand
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfAlina Yurenko
 
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptx
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptxReal-time Tracking and Monitoring with Cargo Cloud Solutions.pptx
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptxRTS corp
 
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company OdishaBalasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odishasmiwainfosol
 
Powering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsPowering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsSafe Software
 
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...confluent
 
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Natan Silnitsky
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesPhilip Schwarz
 

Dernier (20)

Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)
 
Odoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 EnterpriseOdoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 Enterprise
 
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...
 
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
 
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New Features
 
英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作
 
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort ServiceHot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
 
Salesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZSalesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZ
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based project
 
Cyber security and its impact on E commerce
Cyber security and its impact on E commerceCyber security and its impact on E commerce
Cyber security and its impact on E commerce
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief Utama
 
VK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web DevelopmentVK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web Development
 
Precise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalPrecise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive Goal
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
 
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptx
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptxReal-time Tracking and Monitoring with Cargo Cloud Solutions.pptx
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptx
 
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company OdishaBalasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
 
Powering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsPowering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data Streams
 
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
 
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a series
 

JavaAndNetBeans.pdf

  • 1. Java and NetBeans Brian Leonard Senior Software Engineer Sun Microsystems, Inc.
  • 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
  • 6. Computing before Java Operating System Hardware Compile Executable C or Fortran Source Link Relocatable Platform
  • 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
  • 9. HTML Portable Content for Browsers Operating System Hardware Browser HTML Platform
  • 10. Java + HTTP  Portable, Networked Systems code + transport Java HTTP Portable Code Internet transport
  • 11. Java: Portable code • Executable portable browser code: Applet > Stored on Server > Executed on Client Browser • Implications > Platform Independent > Revolution in Software Distribution
  • 12. Sun announces Java and HotJava at SunWorld '95. Netscape announces its intention to license Java for use in Netscape browser.
  • 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!
  • 15. Java: The Revolution J2EE Server Component Client Desktop Applet Paradigm 1500+ 600 ~5 # Books 2,000,000 700,000 ~30 #Programmers 1999 1997 1994 Java 2005 4,500,000 Web Services & Mobility 2500+
  • 16. The Java™ Platform High-End Server Java Technology Enabled Desktop Workgroup Server Java Technology Enabled Devices
  • 17. The Java TM Platform Optional Packages Java 2 Enterprise Edition (J2EE) Java 2 Standard Edition (J2SE) JVM Card VM Optional Packages Personal Profile Foundation Profile CDC MIDP CLDC KVM Java 2 Platform Micro Edition (J2METM ) Java Card Personal Basis Profile
  • 18. The Java TM Platform Optional Packages Java 2 Enterprise Edition (J2EE) Java 2 Standard Edition (J2SE) JVM Card VM Optional Packages Personal Profile Foundation Profile CDC MIDP CLDC KVM Java 2 Platform Micro Edition (J2METM ) Java Card Personal Basis Profile
  • 19. Example J2ME™ Technology Wireless Device Stack Mobile Information Device Profile KVM KVM + J2ME Core APIs DSP chip (e.g., ARM) J2ME core APIs Your MIDlet Yellow Pages, train schedules and ticketing, games… UI, HTTP networking... minimized Java™ Virtual Machine 32-bit RISC, 256K ROM, 256K Flash, 64K RAM
  • 20. J2ME apps at java.com Expense tracker, Financial data, auction bidding, plane schedules, online price checker, yellow pages games… TV:
  • 21. J2ME™ Devices Today i85s A009 A 008 I50sx i55rx i80s i95cl A388 T720 T280i A820 V60i V66i i90c 388c A835 E380 I58sr T725 V600 V67 TP226 9290 7650 7210 3410 6310i 6600 3585 3590 6610 6800 3510i 3650 9210 9210i 8910i 665 0 N-Gage SL45i SL42 M50 M46 C55 CT56 MT50 S56 S55 I300 SCH X250 SCH X350 Rainbow SCH 460 N400 I330 Nexio S300 SCH-X110 SCH X120 SCH X140 SCH X570 SCH X600 SCH X700 SCH X130 SCH X230 SCH S100 SPH S4209 SO503i Clie P800 A3014S SO504i T62U CX-300L iBook Cnain 2000 Ez-X1 5350 Cnain 2100 CX300L G8000SD1100 SD2100 Info Comm VX1 U10 I90c SE 5100
  • 22. J2ME™ Devices Today C452CA Cassiopei a A3012CA iPaq F503is F503i F504i C451H C3001H SH-P300 QCP 6035 C3002K D503i D05 FOMA D2101v D06 Trium Eclipse N503i N503is FOMA N2002 N05 FOMA N2051 N504i N504i J-K51 P503i P503is FOMA P2101v C3003P J-P51 GD87 P2002 C3011SA J-SA51 A3011SA A3015SA SCP-4900 SH07 Zaurus SH08 SH51 SH0 9 SH5 2 2101V GX10 T06 A3013T C5001T T0 7 Blackberry 5810 Treo 280 i705 Blackberry 6510 Blackberry 6710 Details on these and other J2ME devices: http://wireless.java.sun.com/device
  • 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
  • 24. The Java TM Platform Optional Packages Java 2 Enterprise Edition (J2EE) Java 2 Standard Edition (J2SE) JVM Card VM Optional Packages Personal Profile Foundation Profile CDC MIDP CLDC KVM Java 2 Platform Micro Edition (J2METM ) Java Card Personal Basis Profile
  • 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
  • 26. 1970 PDP-8/I 1/4 Mhz 8K of RAM Less horsepower than Java Card 5 Mhz 2 KB of RAM
  • 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
  • 28. The Java TM Platform Optional Packages Java 2 Enterprise Edition (J2EE) Java 2 Standard Edition (J2SE) JVM Card VM Optional Packages Personal Profile Foundation Profile CDC MIDP CLDC KVM Java 2 Platform Micro Edition (J2METM ) Java Card Personal Basis Profile
  • 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
  • 40. Agenda • Java > Java Technology Background & Overview > J2ME & Java Card > J2EE & Web Services > Cool Examples • Sun and Free Open Source Software • NetBeans IDE
  • 41. What's an IDE? Integrated Development Environment - a set of tools that aid application development
  • 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/