SlideShare uma empresa Scribd logo
1 de 37
Baixar para ler offline
Java
> where we were?
> where we are?
> where we’re going?
& know how
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
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
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
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)
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.
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.
Where we were?
Java Iterpreter
Java Virtual
Machine
Compiler
Operating System
Interpreter

Windows

Interpreter

Unix

Interpreter

MacOS
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
Where we were?
Java Development Kit 1.0 was released on
January 23, 1996
JDK API
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.
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
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
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
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?
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
Where we are?
Where we are? Java SE
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
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
Where we are?
Java FX: a platform for creating rich internet
applications using a lightweight user-interface
API
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
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
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

...
....
......
........
..........
...........
............
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
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
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
Where we’re going? Open Source
New languages build on JVM
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
Where we’re going? Open Source
New languages build on JVM
Where we’re going? Open Source
New languages build on JVM
Opportunity or concerns
Now, we have a problem to solve:
“there are too many choices”

How do we select now?
- Opportunity?
- Concern?
SW Engineering
Many factors are involved in SW engineering!
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
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
Know how!
- Avoid Lock-in: e.g. if SW has limitation, runs
on a certain Operative System or environment
- New versus existing software: reuse
Thank you for listening
contact@solidbeans.com
More Java? visit www.jdays.se
November, 26-27, Gothenburg

Mais conteúdo relacionado

Mais procurados (20)

JavaCro'15 - Java EE 8 - An instant snapshot - David Delabassee
JavaCro'15 - Java EE 8 - An instant snapshot - David DelabasseeJavaCro'15 - Java EE 8 - An instant snapshot - David Delabassee
JavaCro'15 - Java EE 8 - An instant snapshot - David Delabassee
 
Java Presentation
Java PresentationJava Presentation
Java Presentation
 
1 java introduction
1 java introduction1 java introduction
1 java introduction
 
Java withrealworldtechnology
Java withrealworldtechnologyJava withrealworldtechnology
Java withrealworldtechnology
 
Java (1)
Java (1)Java (1)
Java (1)
 
Better Career with Java
Better Career with JavaBetter Career with Java
Better Career with Java
 
From Java to Ruby...and Back
From Java to Ruby...and BackFrom Java to Ruby...and Back
From Java to Ruby...and Back
 
Introduction to Java
Introduction to JavaIntroduction to Java
Introduction to Java
 
Features of java
Features of javaFeatures of java
Features of java
 
Java Basics
Java BasicsJava Basics
Java Basics
 
Introduction To NetBeans IDE
Introduction To NetBeans IDEIntroduction To NetBeans IDE
Introduction To NetBeans IDE
 
JavaFX 8 everywhere; write once run anywhere by Mohamed Taman
JavaFX 8 everywhere; write once run anywhere by Mohamed TamanJavaFX 8 everywhere; write once run anywhere by Mohamed Taman
JavaFX 8 everywhere; write once run anywhere by Mohamed Taman
 
Scala
ScalaScala
Scala
 
Java (Part 2) unit 1
Java (Part 2) unit 1Java (Part 2) unit 1
Java (Part 2) unit 1
 
Java 1
Java 1Java 1
Java 1
 
Java fundamentals
Java fundamentalsJava fundamentals
Java fundamentals
 
Top 10 Dying Programming Languages in 2020 | Edureka
Top 10 Dying Programming Languages in 2020 | EdurekaTop 10 Dying Programming Languages in 2020 | Edureka
Top 10 Dying Programming Languages in 2020 | Edureka
 
Java Training at Gateway Software Solutions,Coimbatore
Java Training at Gateway Software Solutions,CoimbatoreJava Training at Gateway Software Solutions,Coimbatore
Java Training at Gateway Software Solutions,Coimbatore
 
Ch2
Ch2Ch2
Ch2
 
1 .java basic
1 .java basic1 .java basic
1 .java basic
 

Destaque

Advanced Pay Per Click
Advanced Pay Per ClickAdvanced Pay Per Click
Advanced Pay Per ClickShushant Jha
 
Why add new Procedures to my Medical Practive
Why add new Procedures to my Medical PractiveWhy add new Procedures to my Medical Practive
Why add new Procedures to my Medical PractiveEmpire Medical Training
 
Front Office Fundamentals for the Aesthetic Practice
Front Office Fundamentals for the Aesthetic PracticeFront Office Fundamentals for the Aesthetic Practice
Front Office Fundamentals for the Aesthetic PracticeEmpire Medical Training
 
2481 Barrington Rd
2481 Barrington Rd2481 Barrington Rd
2481 Barrington RdMike Scott
 
The vortex job2.0_cambiamento_04102014
The vortex job2.0_cambiamento_04102014The vortex job2.0_cambiamento_04102014
The vortex job2.0_cambiamento_04102014Roberto Fuso Nerini
 
HTTP 2.0 & Java: Current Status", Part 1, jDays 2015 Speaker: "Simone Bordet
HTTP 2.0 & Java: Current Status", Part 1, jDays 2015 Speaker: "Simone BordetHTTP 2.0 & Java: Current Status", Part 1, jDays 2015 Speaker: "Simone Bordet
HTTP 2.0 & Java: Current Status", Part 1, jDays 2015 Speaker: "Simone Bordethamidsamadi
 
JCache is here. Say goodbye to proprietary Caching API's", jDays 2015 Speaker...
JCache is here. Say goodbye to proprietary Caching API's", jDays 2015 Speaker...JCache is here. Say goodbye to proprietary Caching API's", jDays 2015 Speaker...
JCache is here. Say goodbye to proprietary Caching API's", jDays 2015 Speaker...hamidsamadi
 
The vortex job2.0_digitale e lavoro_04102014
The vortex job2.0_digitale e lavoro_04102014The vortex job2.0_digitale e lavoro_04102014
The vortex job2.0_digitale e lavoro_04102014Roberto Fuso Nerini
 
Una nuova dimensione della comunicazione - Bergamo 15/11/2014
Una nuova dimensione della comunicazione - Bergamo 15/11/2014 Una nuova dimensione della comunicazione - Bergamo 15/11/2014
Una nuova dimensione della comunicazione - Bergamo 15/11/2014 Roberto Fuso Nerini
 
The Vortex - Presentazione Istituzionale
The Vortex - Presentazione IstituzionaleThe Vortex - Presentazione Istituzionale
The Vortex - Presentazione IstituzionaleRoberto Fuso Nerini
 
Home Staging Seminar Slide Share
Home Staging Seminar Slide ShareHome Staging Seminar Slide Share
Home Staging Seminar Slide ShareMike Scott
 

Destaque (15)

Advanced Pay Per Click
Advanced Pay Per ClickAdvanced Pay Per Click
Advanced Pay Per Click
 
Why add new Procedures to my Medical Practive
Why add new Procedures to my Medical PractiveWhy add new Procedures to my Medical Practive
Why add new Procedures to my Medical Practive
 
Presentazione taff projects
Presentazione taff projectsPresentazione taff projects
Presentazione taff projects
 
Front Office Fundamentals for the Aesthetic Practice
Front Office Fundamentals for the Aesthetic PracticeFront Office Fundamentals for the Aesthetic Practice
Front Office Fundamentals for the Aesthetic Practice
 
2481 Barrington Rd
2481 Barrington Rd2481 Barrington Rd
2481 Barrington Rd
 
The vortex job2.0_cambiamento_04102014
The vortex job2.0_cambiamento_04102014The vortex job2.0_cambiamento_04102014
The vortex job2.0_cambiamento_04102014
 
HTTP 2.0 & Java: Current Status", Part 1, jDays 2015 Speaker: "Simone Bordet
HTTP 2.0 & Java: Current Status", Part 1, jDays 2015 Speaker: "Simone BordetHTTP 2.0 & Java: Current Status", Part 1, jDays 2015 Speaker: "Simone Bordet
HTTP 2.0 & Java: Current Status", Part 1, jDays 2015 Speaker: "Simone Bordet
 
JCache is here. Say goodbye to proprietary Caching API's", jDays 2015 Speaker...
JCache is here. Say goodbye to proprietary Caching API's", jDays 2015 Speaker...JCache is here. Say goodbye to proprietary Caching API's", jDays 2015 Speaker...
JCache is here. Say goodbye to proprietary Caching API's", jDays 2015 Speaker...
 
The vortex job2.0_digitale e lavoro_04102014
The vortex job2.0_digitale e lavoro_04102014The vortex job2.0_digitale e lavoro_04102014
The vortex job2.0_digitale e lavoro_04102014
 
#2 4 ps of marketing
#2 4 ps of marketing#2 4 ps of marketing
#2 4 ps of marketing
 
Una nuova dimensione della comunicazione - Bergamo 15/11/2014
Una nuova dimensione della comunicazione - Bergamo 15/11/2014 Una nuova dimensione della comunicazione - Bergamo 15/11/2014
Una nuova dimensione della comunicazione - Bergamo 15/11/2014
 
app-eventi-verona
app-eventi-veronaapp-eventi-verona
app-eventi-verona
 
The Vortex - Presentazione Istituzionale
The Vortex - Presentazione IstituzionaleThe Vortex - Presentazione Istituzionale
The Vortex - Presentazione Istituzionale
 
Easy Tools for Expo 2015
Easy Tools for Expo 2015Easy Tools for Expo 2015
Easy Tools for Expo 2015
 
Home Staging Seminar Slide Share
Home Staging Seminar Slide ShareHome Staging Seminar Slide Share
Home Staging Seminar Slide Share
 

Semelhante a Java overview 20131022 (20)

Introduction of java
Introduction  of javaIntroduction  of java
Introduction of java
 
TechSearchWeb Tutorials.pdf
TechSearchWeb Tutorials.pdfTechSearchWeb Tutorials.pdf
TechSearchWeb Tutorials.pdf
 
TechSearchWeb.pdf
TechSearchWeb.pdfTechSearchWeb.pdf
TechSearchWeb.pdf
 
Technology Tutorial.pdf
Technology Tutorial.pdfTechnology Tutorial.pdf
Technology Tutorial.pdf
 
Java Basic.pdf
Java Basic.pdfJava Basic.pdf
Java Basic.pdf
 
Basics of Java
Basics of JavaBasics of Java
Basics of Java
 
Java 2 computer science.pptx
Java 2 computer science.pptxJava 2 computer science.pptx
Java 2 computer science.pptx
 
Basics of JAVA programming
Basics of JAVA programmingBasics of JAVA programming
Basics of JAVA programming
 
Open Source and java
Open Source and javaOpen Source and java
Open Source and java
 
S L S
S L SS L S
S L S
 
what is java.pdf
what is java.pdfwhat is java.pdf
what is java.pdf
 
Java
JavaJava
Java
 
Java
JavaJava
Java
 
Java
JavaJava
Java
 
Java
JavaJava
Java
 
Java
JavaJava
Java
 
Java
JavaJava
Java
 
Java Notes .pdf
Java Notes .pdfJava Notes .pdf
Java Notes .pdf
 
Java application-development
Java application-developmentJava application-development
Java application-development
 
Java Tutorial to Learn Java Programming
Java Tutorial to Learn Java ProgrammingJava Tutorial to Learn Java Programming
Java Tutorial to Learn Java Programming
 

Último

2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessPixlogix Infotech
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 

Último (20)

2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
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
  • 18. Where we are? Java SE
  • 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
  • 28. Where we’re going? Open Source New languages build on JVM
  • 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
  • 30. Where we’re going? Open Source New languages build on JVM
  • 31. Where we’re going? Open Source New languages build on JVM
  • 32. Opportunity or concerns Now, we have a problem to solve: “there are too many choices” How do we select now? - Opportunity? - Concern?
  • 33. SW Engineering Many factors are involved in SW engineering!
  • 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