Java
This slide is a shot overview to Java from start up to now. Where we were? Where we are? Where we’re going? Know how. Was hold in Lindholmen October, 2013 http://www.lindholmen.se/en/node/35950
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
Java overview 20131022
1. Java
> where we were?
> where we are?
> where we’re going?
& know how
2. About me:
se.linkedin.com/in/hamidsamadi/
Java developer since 1995
CEO Solid Beans AB www.solidbeans.com
CEO Matchup AB www.matchup.se
Java Instructor for www.informator.se
PrimeFaces Nordic agent www.primefaces.org
Event organizer jDays www.jdays.se
Event organizer Android Forum Göteborg
3. Where we were?
In June 1991:
James Gosling starts working
on an interpreter (called "Oak"),
which, several years later is
renamed "Java."
Source
File
Compiler
Executable
File
4. Where we were?
In August 1991:
- A small group of Sun engineers called the
"Green Team“, led by James Gosling,
demonstrates basic user interface ideas and
graphics system to Suns co-founders
- They believed that the
next wave in computing
was the union of digital
consumer devices and
computers
5. Where we were?
From 1991 to 1995:
Events & evolution such as:
- Mosaic 1.0, the first graphical browser for
the Internet, is released
- Interactive Cable TV
- Java compiler in Java has been
implemented (James had previously
implemented it in C)
- Java compatible browsers (Netscape)
6. Where we were?
From 1991 to 1995:
This concept was too much advanced for the
industry at the time BUT it was just right for
the Internet, which was just starting to take
off. In 1995, the team announced that the
Netscape Navigator Internet browser would
integrate with Java technology.
7. Where we were?
So:
- The first programming language was created,
a cross-platform computing environment NOT
tied to any particular operating system or
microprocessor!
- Applications written in Java will run anywhere
- Eliminating incompatibility between operating
systems and versions of operating systems.
8. Where we were?
Java Iterpreter
Java Virtual
Machine
Compiler
Operating System
Interpreter
Windows
Interpreter
Unix
Interpreter
MacOS
9. Where we were?
Java Technology consists of:
- Java Language: used to develop software
for mobile devices, browser-run applets,
games, desktop, enterprise (server-side), and
scientific applications
- Java Platform: consists of Java Virtual
Machine (JVM) responsible for hardware
abstraction
- Java Tools: like java compiler
10. Where we were?
Java Development Kit 1.0 was released on
January 23, 1996
JDK API
11. Where we were?
JDK releases:
- 1995 Alpha & Beta
- 1996 JDK 1.0 > Basic support for AWT
- 1997 JDK 1.1 > JavaBeans, RMI, AWT,
JDBC, servlets, JNDI, EJB
- 1998 Java 1.2 > Reflection, Swing, Java
Collections Framework, plug-in, …
Becomes known as Java 2, Port to Linux.
12. Where we were?
- 1999 XML support, JavaServer Pages,
Java Editions (J2ME, J2SE, J2EE) …
- 2000 J2SE 1.3 RMI/CORBA, JavaSound, …
- 2002 J2SE 1.4 …
- 2004 J2SE 5 New languages futures, @ …
- 2006 Java SE 6
- 2011 Java SE 7
- 2014/01/23 Java SE 8 Final Release
Candidate
13. Where we are?
- 9 Million Java Developers Worldwide
- #1 Choice for Developers
- #1 Development Platform
- 3 Billion Mobile Phones Run Java
- 100 Percent of Blu-ray Disc Players Ship with Java
- 97 Percent of Enterprise Desktops Run Java
- 5 Billion Java Cards in use
- 7 Billion Java Cards sold
- 89% of desktops run java
- 125 million TV devices run java
Source: JavaOne 2013 Strategy Keynote
14. Where we are?
Also Many embedded devices are based on Java:
set-top boxes, printers, web cams, games, car
navigation systems, lottery terminals, medical
devices, parking payment stations, etc
15. Where we are?
- Java is not a new programming language any more.
- From early 1995 until now we have seen how it has
developed from a JDK (Java Development Kit) to
Java EE (Enterprise Edition) and new Java Open
Source frameworks and technologies.
- At the beginning, Java was about a few packages
and APIs you could use to solve small problems. But,
what about now, when Java has branched out into
several technologies and Open Source frameworks?
16. Where we are?
There are four Java Platforms:
1) Java Standard Edition (Java SE)
2) Java Enterprise Edition (Java EE)
3) Java Micro Edition (Java ME)
4) JavaFX
ME
SE
EE
JavaFX
19. Where we are? Java EE
Built on top of the Java SE
platform, for developing
and running large-scale,
multi-tiered, scalable,
reliable, and secure
network applications
20. Where we are? Java ME
- APIs & small virtual machine for running
java programming language applications on
small devices, like mobile phones.
- A subset of the JavaSE
API
- Java ME applications
are often clients of Java
EE platform services
21. Where we are?
Java FX: a platform for creating rich internet
applications using a lightweight user-interface
API
22. Where we’re going? Open Source
Many APIs & tools
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
Ajax
AOP
Bloggers
Build system
Business Intelligent
ByteCode Libraries
CMS (Content Management
System)
Cache Solutions
Charting & Reporting Tools
Chat servers
Code analyzer
Code Coverage Tools
Collection Libraries
Command line interpreters
Database Connection Pools
ERP & CRM Software
Eclipse plugins
Expressions language
Spring
Primefaces
Hibernate
...
OPEN SOURCE
23. Where we’re going? Open Source
Many APIs & tools
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
Financial Software
Forum Software
HTML parsers
IDEs
Tracking software
JEE frameworks
JDBC drivers
JMS
JMX tools
scheduler
Localization &
Internationalization Tools
Logging tools
Mail clients
Network clients/servers
NoSQL Databases
PDF Libraries
Parser Generators
Persistence Frameworks
Portals
24. Where we’re going? Open Source
Many APIs & tools
o
o
o
o
o
o
o
o
o
o
o
o
Project management tools
SQL clients
Scripting Languages
Search engine
Security & Cryptography tools
Control Tools
Swing Frameworks & Components
Template Engines
Testing tools
Text processing
UML & Modeling
Validation frameworks
o Web frameworks
o
o
o
o
o
o
o
Web mail clients
Web servers
Web services tools
Web testing tools
Wiki engines
XML parser
XML UI Toolkits
o
o
o
o
o
o
o
...
....
......
........
..........
...........
............
25. Where we’re going? Open Source
Many APIs & tools
Open Source Web frameworks
Struts
JPublish
Turbine
Jucas
Tapestry
MyFaces
WebWork (Struts 2)
WebOnSwing
Cocoon
VRaptor
Spring MVC
IceFaces (JSF library)
Maverick
RichFaces (JSF library)
Echo
PrimeFaces (JSF library)
Play!
Swinglets
SOFIA
Wicket
Verge
Swingweb
26. Where we’re going? Open Source
Many APIs & tools
Open Source Web frameworks
Trimpath Junction
Brill
Macaw
jZeno
Makumba
ztemplates
Calyxo
Aranea Web Framework
RIFE
Google Web Toolkit
DWR
Hamlets
JOSSO
Aurora
JAT
ThinWire
OpenXava
Pustefix
Click
RSF
Stripes
Roma Meta Framework
27. Where we’re going? Open Source
Many APIs & tools
Open Source Web frameworks
Mentawai
wingS
fleXive
Helma
jWic
Vaadin
Flower framework
Wro4j
Vroom
Anvil
Induction
Japple
Sombrero
...
AribaWeb
JVx
Pandora
SK
29. Where we’re going? Open Source
New languages build on JVM
Why Scala over Java:
- Increased productivity due to reduced
verbosity
- Developers can mix and match
imperative and functional programming
paradigms as needed
- Built-in functionality for parallelism and
concurrency
34. Know how!
- Usability: focusing on end users
- Focusing on problems: not technologies, tools
and platforms, select the easiest ones
- Be realistic: obtainable competence
- Make a list of what is important for your
Software lifecycle. Identify/prioritize them &
then select
- You can change your mind: most of your
technology choices can change
35. Know how!
- Easy & Quick: select a SW that you know to
be easier and quicker to prototype.
- Standard vs. Open Source: check the open
source products licenses.
Open Source != Free Software
- Start with capabilities, not implementations
- Cost: consider the total cost
- Involve your team early
- Testing and deployment: software that makes
testing difficult should be avoided
36. Know how!
- Avoid Lock-in: e.g. if SW has limitation, runs
on a certain Operative System or environment
- New versus existing software: reuse
37. Thank you for listening
contact@solidbeans.com
More Java? visit www.jdays.se
November, 26-27, Gothenburg