SlideShare a Scribd company logo
1 of 52
Download to read offline
(Better)
Career in Java
   Mert ÇALIŞKAN
     March 2013



                   @ankarajug
                   #javaizmirde
AnkaraJUG
  first event @ November 2012...

  Founding Fathers:
    Barış BAL
    Çağatay ÇİVİCİ
    Mert ÇALIŞKAN

http://bit.ly/ankarajugKAYIT
    ankarajug.blogspot.com

    facebook.com/ankarajug

    twitter.com/ankarajug         @ankarajug
                                  #javaizmirde
Mert ÇALIŞKAN
             10+ years of experience w/ Java
              Coder @ T2.com.tr

Open Source Software Advocate, Founder, Implementor

Member of Apache Software
Foundation and OpenLogic Expert
Community

Author of
PrimeFaces Cookbook
from PacktPub

   tr.linkedin.com/in/mertcaliskan             @ankarajug
                                               #javaizmirde
To JAVA?             or NOT..? :)
Come to the Dark Side..!
                                          @ankarajug
                                          #javaizmirde
Agenda



History of Java
Versions of Java.. SE, EE and the others..
Java Web Frameworks
Better career w/ Java
Q&A
                                      @ankarajug
                                      #javaizmirde
YOU KNOW THIS TRANS-ATLANTIC?




                                @ankarajug
                                #javaizmirde
• RMS Titanic
  sank in North Atlantic Ocean
  on 15 April, 1912 on maiden voyage

  So Eventually Everything Dies...!
  Tragic analogy, ok :)


• You, Me, All of Us...
• Companies, Technologies...
• Key point is: You should avoid not making it like
  Titanic, which sunk in 2hrs and 40 minutes...!
                                                   @ankarajug
                                                   #javaizmirde
Where it all began...
                       Founded February 24, 1982

                       Sold to Oracle January 27, 2010
                       for $7.4 billion..!

Sun was mainly selling Hardware, but they also working
on computer software like Java, MySQL and NFS..



Founded in 1977 by Larry Ellison and a couple of clever
guys, their motivation is to compete with IBM’s System R,
which was a relational database.
                                                    @ankarajug
                                                    #javaizmirde
James Gosling... was the
      FATHER of Java



Age: 69


                                     Age: 58
                         $$$ makes you look
                             younger..!
                      Larry Ellison...
                          is the new BOSS
                                        @ankarajug
                                        #javaizmirde
History of JAVA
Java Language Project started in June 1991

(James Gosling and his fellas)

First named as: OAK                           The Duke
Running byteCode on Java Virtual Machine

WORA (Write Once, Run Anywhere)

First started with applets in the WEB world

With the dawn of Java Enterprise Edition, Servlets
made their way to rule the world.

                                                @ankarajug
                                                #javaizmirde
Editions of JAVA
Java Card: application on smart cards

Micro Edition (ME): mobile phones + set-top boxes

Standard Edition (SE): Cool Software Platform    The Duke
Enterprise Edition (EE): Oracle’s Enterprise Computing
Platform

Java DB: Oracle’s supported version of Apache Derby.

JavaFX: Aim was RIA (looks dead for me)

Personal Java: (discontinued) Java edition for mobile and
embedded systems based on Java 1.1.8
                                                    @ankarajug
                                                    #javaizmirde
CHRONOLOGY OF JAVA SE
  JDK 1.0           JDK 1.1               Introducing
January 23,    February 19, 1997    Abstract Window Toolkit
   1996

                                 J2SE 1.2
Swing was on Board           December 8, 1998

                                                 J2SE 1.3
               HotSpot JVM and JNDI
                                                May 8, 2000

 reg-ex, Java Web Start                J2SE 1.4
 embedded XML parser               February 6, 2002

   J2SE 1.5
                    New Cool Features on Language
 September 30,
     2004         Generics, AutoBoxing, var-args & etc...
                                                          @ankarajug
                                                          #javaizmirde
CHRONOLOGY OF JAVA SE
                    Renamed to Java SE instead of
  Java SE 6         J2SE from now on.
December 11, 2006   Support for running scripting
                    lang. like Rhino.


                       Dynamic lang. support like
    Java SE 7                    Groovy
    July 28, 2011
                        String in switch (finally!)


    Best is yet to come..!
    lambda expressions...       Java SE 8
     streaming..filtering..     Summer, 2013
          closures...                          @ankarajug
                                               #javaizmirde
Enterprise JAVA
    Java EE = Java Enterprise Edition

    Extends Java SE

   javax.faces.*              UI + JSF Related Stuff
  javax.servlet.*            Handling HTTP invocations
javax.enterprise.inject.*   CDI, Like Spring dependency
     javax.ejb.*                         Inj.
                                      EJB Stuff
 javax.validation.*                Bean Validation
javax.persistence.*                  Persistency
javax.transaction.*            Stuff for transactions
     javax.jms.*                  Messaging Stuff
                                                     @ankarajug
                                                     #javaizmirde
CHRONOLOGY OF JAVA EE
   J2EE 1.2            J2EE 1.3           J2EE 1.4
December 12, 1999     Sept. 12, 2001      Nov. 11, 2003

    Servlet 2.2       Servlet 2.3       Servlet 2.4


 JSP  JAX-WS          Java EE 5        Servlet 2.5
EJB   JAX-RS          May 11, 2006
 JMS   JAX-B
JTA     JPA
JAAS    JSTL          Java EE 6
 JSF any many       December 10, 2009 Servlet 3.0
 EL   more...
                                                      @ankarajug
                                                      #javaizmirde
Java Frameworks..

Ok you get to know the language in 4 years...

But you DEFINITELY NEED to learn the
frameworks. Java is mostly about frameworks
      (lots of open source ones).

I think you ask yourselves now.. Which one should
we go with?

They differ in context, if you want do WEB,
       here is a list what you can find around.


                                                 @ankarajug
                                                 #javaizmirde
Java Frameworks..
              UI                              Controller/Dep.Inj.
        JSF        Struts                   Spring          Guice         HiveMind

Spring MVC    WebWork        ZK               picoContainer          XWork

   Wicket      Tapestry      GWT
                                            Model/Persistence Layer
      Echo3     Cocoon       Vaadin
                                                 Hibernate          iBatis

     Integration                                         Toplink      KODO

Apache CXF    Apache Axis2              IDE                 EclipseLink

                                  Eclipse     IntelliJ
      Spring WS
                                               IDEA
                              JDeveloper
                                            NetBEANS
                                                                             @ankarajug
                                                                             #javaizmirde
One framework to rule them ALL...




          Spring

                                @ankarajug
                                #javaizmirde
Java Frameworks..
                                         Spring

      Spring Security          SpringSource OSGi Test Stubs
     Spring Web Flow             Spring Security Kerberos
   Spring Web Services                   Extension                 Spring Social Twitter
 Spring Dynamic Modules          SpringSource dm Server           Spring.NET CodeConfig
    Spring Integration            SpringSource dm Kernel         Spring.NET REST Client
        Spring Batch             SpringSource dm Server             Spring.NET Social
    Spring Batch Admin                    Samples              Spring.NET Social Dropbox
         Spring.NET                Spring Data Commons         Spring.NET Social LinkedIn
       Spring AMQP                      Spring Data             Spring.NET Social Twitter
     Spring AMQP.NET                 Spring Data JDBC         Spring.NET Visual Studio 2010
      Spring GemFire                  Spring Data JPA                   Extension
 Spring GemFire for .NET             Spring Data Redis            Spring Social Yammer
        Spring LDAP                   Spring Data Solr                 Spring Shell
       Spring Social                   Spring Mobile               Spring Data GemFire
    Spring for Android             Spring Data MongoDB          Spring Migration Analyzer
         Spring IDE                  Spring Data Neo4j          Spring Integration Splunk
Spring BlazeDS Integration             Spring Gemfire             Spring Integration Print
  SpringSource Bundlor              Spring Data Hadoop            Spring Security SAML
         Spring Roo               Spring Social Facebook
       Spring Python               Spring Social LinkedIn
                                                                                 @ankarajug
                                                                                 #javaizmirde
Java Frameworks..
                                         Spring

      Spring Security          SpringSource OSGi Test Stubs
     Spring Web Flow             Spring Security Kerberos
   Spring Web Services                   Extension                 Spring Social Twitter
 Spring Dynamic Modules          SpringSource dm Server           Spring.NET CodeConfig
    Spring Integration            SpringSource dm Kernel         Spring.NET REST Client
        Spring Batch             SpringSource dm Server             Spring.NET Social




                                   53
    Spring Batch Admin                    Samples              Spring.NET Social Dropbox
         Spring.NET                Spring Data Commons         Spring.NET Social LinkedIn
       Spring AMQP                      Spring Data             Spring.NET Social Twitter
     Spring AMQP.NET                 Spring Data JDBC         Spring.NET Visual Studio 2010
      Spring GemFire                  Spring Data JPA                   Extension
 Spring GemFire for .NET             Spring Data Redis            Spring Social Yammer
        Spring LDAP                   Spring Data Solr                 Spring Shell
       Spring Social                   Spring Mobile               Spring Data GemFire
    Spring for Android             Spring Data MongoDB          Spring Migration Analyzer
         Spring IDE                  Spring Data Neo4j          Spring Integration Splunk
Spring BlazeDS Integration             Spring Gemfire             Spring Integration Print
  SpringSource Bundlor              Spring Data Hadoop            Spring Security SAML
         Spring Roo               Spring Social Facebook
       Spring Python               Spring Social LinkedIn
                                                                                 @ankarajug
                                                                                 #javaizmirde
Head Start...!
PrimeFaces       CXF                 Hamcrest Mockito
                          Spring
JPA     Hibernate                           jUnit


                     DEMO
https://github.com/mulderbaba/testinfected

             AppFuse
             is a full-stack framework for building webapp
             on the JVM.
             http://appfuse.org/display/APF/AppFuse+QuickStart
                                                      @ankarajug
                                                      #javaizmirde
Open Source Licenses

            Question here is:
But how do they license these frameworks?
    How can I use them in a free way?




         Open Source Initiative

                                       @ankarajug
                                       #javaizmirde
Open Source Licenses
Academic Free License 3.0 (AFL-3.0)                                     MirOS Licence (MirOS)
Affero GNU Public License: See "GNU Affero General Public License       Microsoft Public License (MS-PL)
3.0 (AGPL-3.0)"                                                         Microsoft Reciprocal License (MS-RL)

                 Question here is:
Adaptive Public License (APL-1.0)
Apache License 2.0 (Apache-2.0)
Apple Public Source License (APSL-2.0)
                                                                        MIT license (MIT)
                                                                        Motosoto License (Motosoto)
                                                                        Mozilla Public License 2.0 (MPL-2.0)

     But how do they license these frameworks?
Artistic license 2.0 (Artistic-2.0)
Attribution Assurance Licenses (AAL)
BSD 3-Clause "New" or "Revised" License (BSD-3-Clause)
                                                                        Multics License (Multics)
                                                                        NASA Open Source Agreement 1.3 (NASA-1.3)
                                                                        NTP License (NTP)


         How can I use them in a free way?
BSD 2-Clause "Simplified" or "FreeBSD" License (BSD-2-Clause)            Naumen Public License (Naumen)
Boost Software License (BSL-1.0)                                        Nethack General Public License (NGPL)
Computer Associates Trusted Open Source License 1.1 (CATOSL-1.1)        Nokia Open Source License (Nokia)
Common Development and Distribution License 1.0 (CDDL-1.0)              Non-Profit Open Software License 3.0 (NPOSL-3.0)
Common Public Attribution License 1.0 (CPAL-1.0)                        OCLC Research Public License 2.0 (OCLC-2.0)
CUA Office Public License Version 1.0 (CUA-OPL-1.0)                      Open Font License 1.1 (OFL-1.1)
EU DataGrid Software License (EUDatagrid)                               Open Group Test Suite License (OGTSL)
Eclipse Public License 1.0 (EPL-1.0)                                    Open Software License 3.0 (OSL-3.0)
Educational Community License, Version 2.0 (ECL-2.0)                    PHP License 3.0 (PHP-3.0)
Eiffel Forum License V2.0 (EFL-2.0)                                     The PostgreSQL License (PostgreSQL)
Entessa Public License (Entessa)                                        Python License (Python-2.0) (overall Python license)
European Union Public License, Version 1.1 (EUPL-1.1) (links to every   CNRI Python license (CNRI-Python) (CNRI portion of Python License)
language's version on their site)                                       Q Public License (QPL-1.0)
Fair License (Fair)                                                     RealNetworks Public Source License V1.0 (RPSL-1.0)
Frameworx License (Frameworx-1.0)                                       Reciprocal Public License 1.5 (RPL-1.5)
GNU Affero General Public License v3 (AGPL-3.0)                         Ricoh Source Code Public License (RSCPL)
GNU General Public License version 2.0 (GPL-2.0)                        Simple Public License 2.0 (SimPL-2.0)
GNU General Public License version 3.0 (GPL-3.0)                        Sleepycat License (Sleepycat)
GNU Library or "Lesser" General Public License version 2.1 (LGPL-2.1)   Sun Public License 1.0 (SPL-1.0)
GNU Library or "Lesser" General Public License version 3.0              Sybase Open Watcom Public License 1.0 (Watcom-1.0)
(LGPL-3.0)                                                              University of Illinois/NCSA Open Source License (NCSA)
Historical Permission Notice and Disclaimer (HPND)                      Vovida Software License v. 1.0 (VSL-1.0)
IBM Public License 1.0 (IPL-1.0)                                        W3C License (W3C)
IPA Font License (IPA)
ISC License (ISC)                  Open Source Initiative               wxWindows Library License (WXwindows)
                                                                        X.Net License (Xnet)
LaTeX Project Public License 1.3c (LPPL-1.3c)                           Zope Public License 2.0 (ZPL-2.0)
Lucent Public License Version 1.02 (LPL-1.02)                           zlib/libpng license (Zlib)


                                                                                                                           @ankarajug
                                                                                                                           #javaizmirde
Open Source Licenses
Academic Free License 3.0 (AFL-3.0)                                     MirOS Licence (MirOS)
Affero GNU Public License: See "GNU Affero General Public License       Microsoft Public License (MS-PL)
3.0 (AGPL-3.0)"                                                         Microsoft Reciprocal License (MS-RL)

                 Question here is:
Adaptive Public License (APL-1.0)
Apache License 2.0 (Apache-2.0)
Apple Public Source License (APSL-2.0)
                                                                        MIT license (MIT)
                                                                        Motosoto License (Motosoto)
                                                                        Mozilla Public License 2.0 (MPL-2.0)

     But how do they license these frameworks?
Artistic license 2.0 (Artistic-2.0)
Attribution Assurance Licenses (AAL)
BSD 3-Clause "New" or "Revised" License (BSD-3-Clause)
                                                                        Multics License (Multics)
                                                                        NASA Open Source Agreement 1.3 (NASA-1.3)
                                                                        NTP License (NTP)


         How can I use them in a free way?
BSD 2-Clause "Simplified" or "FreeBSD" License (BSD-2-Clause)            Naumen Public License (Naumen)
Boost Software License (BSL-1.0)                                        Nethack General Public License (NGPL)




                                                      69
Computer Associates Trusted Open Source License 1.1 (CATOSL-1.1)        Nokia Open Source License (Nokia)
Common Development and Distribution License 1.0 (CDDL-1.0)              Non-Profit Open Software License 3.0 (NPOSL-3.0)
Common Public Attribution License 1.0 (CPAL-1.0)                        OCLC Research Public License 2.0 (OCLC-2.0)
CUA Office Public License Version 1.0 (CUA-OPL-1.0)                      Open Font License 1.1 (OFL-1.1)
EU DataGrid Software License (EUDatagrid)                               Open Group Test Suite License (OGTSL)
Eclipse Public License 1.0 (EPL-1.0)                                    Open Software License 3.0 (OSL-3.0)
Educational Community License, Version 2.0 (ECL-2.0)                    PHP License 3.0 (PHP-3.0)
Eiffel Forum License V2.0 (EFL-2.0)                                     The PostgreSQL License (PostgreSQL)
Entessa Public License (Entessa)                                        Python License (Python-2.0) (overall Python license)
European Union Public License, Version 1.1 (EUPL-1.1) (links to every   CNRI Python license (CNRI-Python) (CNRI portion of Python License)
language's version on their site)                                       Q Public License (QPL-1.0)
Fair License (Fair)                                                     RealNetworks Public Source License V1.0 (RPSL-1.0)
Frameworx License (Frameworx-1.0)                                       Reciprocal Public License 1.5 (RPL-1.5)
GNU Affero General Public License v3 (AGPL-3.0)                         Ricoh Source Code Public License (RSCPL)
GNU General Public License version 2.0 (GPL-2.0)                        Simple Public License 2.0 (SimPL-2.0)
GNU General Public License version 3.0 (GPL-3.0)                        Sleepycat License (Sleepycat)
GNU Library or "Lesser" General Public License version 2.1 (LGPL-2.1)   Sun Public License 1.0 (SPL-1.0)
GNU Library or "Lesser" General Public License version 3.0              Sybase Open Watcom Public License 1.0 (Watcom-1.0)
(LGPL-3.0)                                                              University of Illinois/NCSA Open Source License (NCSA)
Historical Permission Notice and Disclaimer (HPND)                      Vovida Software License v. 1.0 (VSL-1.0)
IBM Public License 1.0 (IPL-1.0)                                        W3C License (W3C)
IPA Font License (IPA)
ISC License (ISC)                  Open Source Initiative               wxWindows Library License (WXwindows)
                                                                        X.Net License (Xnet)
LaTeX Project Public License 1.3c (LPPL-1.3c)                           Zope Public License 2.0 (ZPL-2.0)
Lucent Public License Version 1.02 (LPL-1.02)                           zlib/libpng license (Zlib)


                                                                                                                           @ankarajug
                                                                                                                           #javaizmirde
Must Read Books...




                     @ankarajug
                     #javaizmirde
Must Read Books...




                     @ankarajug
                     #javaizmirde
Must Read Books...




                     @ankarajug
                     #javaizmirde
Must Read Books...




                     @ankarajug
                     #javaizmirde
Must Read Books...




                     @ankarajug
                     #javaizmirde
The Java Magazine...
http://www.oracle.com/technetwork/java/
             javamagazine/



       bi-monthly since 2011..!!!
             For Free..!!!




                                     @ankarajug
                                     #javaizmirde
Google Summer of Code



For the love of code since 2005...
around 6000 students meet 3000 mentors of OSS from over
100 countries...

Mutual benefits : you get ~5000$, you can use the stuff for
summer internship and google gets the OSS support.

              http://bit.ly/GSOC2013                 @ankarajug
                                                     #javaizmirde
Resume Preparation
People skim resumes... So make
it to the point as much as
possible

It’s not what you know.
It’s what you’ve done with
what you know...

Keep it short
1 to 3 sentences, 1 to 3 pages
at most

                                 @ankarajug
                                 #javaizmirde
Where can I work on Java?
X
        X X
        X           XX
                    X         X            X
                                   X
        X        X                     X

                X        XX


    Currently 18 technoparks located in Turkey...

                                               @ankarajug
                                               #javaizmirde
Career in JAVA
  Participate in Open Source

  Be a Contributor / or better: be a Committer

  Learn the Language from inside out...

  Oracle Certifications are one way to go...

         Java SE 7 Programmer
  Java EE6 Web Component Developer
Java EE6 Enterprise JavaBeans Developer
Java EE6 Java Persistence API Developer
    Java EE6 Web Services Developer
     Java EE 6 Enterprise Architect
                                                 @ankarajug
                                                 #javaizmirde
Will it Compile???




   int €i = 1;
YUP...! Literals can start with letter,
 connecting character like "_", and
          currency character.



                                     @ankarajug
                                     #javaizmirde
Will it Compile???


   int €i = 1;
YUP...! Literals can start with letter,
 connecting character like "_", and
          currency character.



                                     @ankarajug
                                     #javaizmirde
Will it Compile???




float f this one's double by
Nope..won't compile, = 320.0;
            default.



                           @ankarajug
                           #javaizmirde
Will it Compile???

float f = 320.0;
Nope..won't compile, this one's double by
                default.



                                     @ankarajug
                                     #javaizmirde
Will it Compile???




     char c = -80;
Nope... you cannot assign int to char and
 char is between 0-65535, so you will
          get gibberish output.


                                   @ankarajug
                                   #javaizmirde
Will it Compile???

     char c = -80;
Nope... you cannot assign int to char and
 char is between 0-65535, so you will
          get gibberish output.


                                   @ankarajug
                                   #javaizmirde
public final class String implements
java.io.Serializable,
java.lang.Comparable<java.lang.String>,
 Can you extend String???
java.lang.CharSequence {
....
....
}


                                          @ankarajug
                                          #javaizmirde
Can you extend String???
public final class String implements
java.io.Serializable,
java.lang.Comparable<java.lang.String>,
java.lang.CharSequence {
....
....
}


                                          @ankarajug
                                          #javaizmirde
For better career...



  Experience           Communication

               Knowledge

Professionalism            Creativity




                                        @ankarajug
                                        #javaizmirde
For better career...

              Know broad... Know deep...


            Experience           Communication

                         Knowledge

          Professionalism            Creativity

If you know Java then dive into the frameworks.. If you
know all of them go through scripting languages...
Know you stuff very well...                        @ankarajug
                                                   #javaizmirde
For better career...

Stay Current... Use your knowledge...


   Experience            Communication

                Knowledge

 Professionalism            Creativity



  Practice... Practice... Practice...
                                         @ankarajug
                                         #javaizmirde
For better career...
              Be Open-Minded...


        Experience           Communication

                     Knowledge

      Professionalism            Creativity


 Listen to people’s thoughts.. They’re more
valuable than you think.. You CANNOT know
               everything..!               @ankarajug
                                              #javaizmirde
For better career...

      Reject the status quo...


  Experience           Communication

               Knowledge

Professionalism            Creativity


Don’t be a rebellion but don’t kill
    the rebellion inside you...
                                        @ankarajug
                                        #javaizmirde
For better career...
Take and accept the responsibility...


   Experience           Communication

                Knowledge

 Professionalism            Creativity



   Make it all in a classy way...
                                         @ankarajug
                                         #javaizmirde
To sum up on career...
You are the one that will be building
your OWN career.

Work for your employer and work for yourself also...

Take the time to build your skills:
your knowledge, your communication skills, your
experience.

And don’t kill the child inside you, make it creative as
always...

Act Professional, because you have to be a ONE..!

                                                 @ankarajug
                                                 #javaizmirde
To sum up...

JAVA is still HOT TOPIC...

Read Read Read...

Participate...Be Active...Be a part of JAVA :)

Oracle is investing on Java so best is yet to come.

Take a leap,
        dive into Java,
               build your career on it.

                                                 @ankarajug
                                                 #javaizmirde
JUST DO IT
             @ankarajug
             #javaizmirde
E0F


@ankarajug
#javaizmirde
               @ankarajug
               #javaizmirde

More Related Content

What's hot

BMO - Intelligent Projects with Maven
BMO - Intelligent Projects with MavenBMO - Intelligent Projects with Maven
BMO - Intelligent Projects with MavenMert Çalışkan
 
Future of Java EE with Java SE 8
Future of Java EE with Java SE 8Future of Java EE with Java SE 8
Future of Java EE with Java SE 8Hirofumi Iwasaki
 
Springboot introduction
Springboot introductionSpringboot introduction
Springboot introductionSagar Verma
 
Spring Framework Presantation Part 1-Core
Spring Framework Presantation Part 1-CoreSpring Framework Presantation Part 1-Core
Spring Framework Presantation Part 1-CoreDonald Lika
 
itft-Java evolution
itft-Java evolutionitft-Java evolution
itft-Java evolutionAtul Sehdev
 
Jdc 2010 - Maven, Intelligent Projects
Jdc 2010 - Maven, Intelligent ProjectsJdc 2010 - Maven, Intelligent Projects
Jdc 2010 - Maven, Intelligent ProjectsMert Çalışkan
 
Project Presentation on Advance Java
Project Presentation on Advance JavaProject Presentation on Advance Java
Project Presentation on Advance JavaVikas Goyal
 
Spring framework
Spring frameworkSpring framework
Spring frameworkAircon Chen
 
MicroProfile for MicroServices
MicroProfile for MicroServicesMicroProfile for MicroServices
MicroProfile for MicroServicesMert Çalışkan
 
Engage 2015 - 10 Mistakes You and Every XPages Developer Make. Yes, I said YOU!
Engage 2015 - 10 Mistakes You and Every XPages Developer Make. Yes, I said YOU!Engage 2015 - 10 Mistakes You and Every XPages Developer Make. Yes, I said YOU!
Engage 2015 - 10 Mistakes You and Every XPages Developer Make. Yes, I said YOU!Serdar Basegmez
 
Fun with EJB 3.1 and Open EJB
Fun with EJB 3.1 and Open EJBFun with EJB 3.1 and Open EJB
Fun with EJB 3.1 and Open EJBArun Gupta
 
Node.js Development with Apache NetBeans
Node.js Development with Apache NetBeansNode.js Development with Apache NetBeans
Node.js Development with Apache NetBeansRyan Cuprak
 

What's hot (20)

BMO - Intelligent Projects with Maven
BMO - Intelligent Projects with MavenBMO - Intelligent Projects with Maven
BMO - Intelligent Projects with Maven
 
Future of Java EE with Java SE 8
Future of Java EE with Java SE 8Future of Java EE with Java SE 8
Future of Java EE with Java SE 8
 
Springboot introduction
Springboot introductionSpringboot introduction
Springboot introduction
 
Spring Framework Presantation Part 1-Core
Spring Framework Presantation Part 1-CoreSpring Framework Presantation Part 1-Core
Spring Framework Presantation Part 1-Core
 
Core java
Core java Core java
Core java
 
itft-Java evolution
itft-Java evolutionitft-Java evolution
itft-Java evolution
 
1 java introduction
1 java introduction1 java introduction
1 java introduction
 
Jdc 2010 - Maven, Intelligent Projects
Jdc 2010 - Maven, Intelligent ProjectsJdc 2010 - Maven, Intelligent Projects
Jdc 2010 - Maven, Intelligent Projects
 
Java - At a glance
Java - At a glanceJava - At a glance
Java - At a glance
 
Project Presentation on Advance Java
Project Presentation on Advance JavaProject Presentation on Advance Java
Project Presentation on Advance Java
 
Play framework
Play frameworkPlay framework
Play framework
 
Spring framework
Spring frameworkSpring framework
Spring framework
 
JAVA FEATURES
JAVA FEATURESJAVA FEATURES
JAVA FEATURES
 
MicroProfile for MicroServices
MicroProfile for MicroServicesMicroProfile for MicroServices
MicroProfile for MicroServices
 
Engage 2015 - 10 Mistakes You and Every XPages Developer Make. Yes, I said YOU!
Engage 2015 - 10 Mistakes You and Every XPages Developer Make. Yes, I said YOU!Engage 2015 - 10 Mistakes You and Every XPages Developer Make. Yes, I said YOU!
Engage 2015 - 10 Mistakes You and Every XPages Developer Make. Yes, I said YOU!
 
The Evolution of Java
The Evolution of JavaThe Evolution of Java
The Evolution of Java
 
React native
React nativeReact native
React native
 
Fun with EJB 3.1 and Open EJB
Fun with EJB 3.1 and Open EJBFun with EJB 3.1 and Open EJB
Fun with EJB 3.1 and Open EJB
 
Java part1
Java part1Java part1
Java part1
 
Node.js Development with Apache NetBeans
Node.js Development with Apache NetBeansNode.js Development with Apache NetBeans
Node.js Development with Apache NetBeans
 

Viewers also liked

Viewers also liked (6)

JAVA Career
JAVA CareerJAVA Career
JAVA Career
 
Core Java Career Essentials
Core Java Career EssentialsCore Java Career Essentials
Core Java Career Essentials
 
Career in java
Career in javaCareer in java
Career in java
 
Retail POS opportunities
Retail POS opportunitiesRetail POS opportunities
Retail POS opportunities
 
Capital Campaign
Capital CampaignCapital Campaign
Capital Campaign
 
Droptrax
DroptraxDroptrax
Droptrax
 

Similar to Better Career with Java

Introduction to Basic Java Versions and their features
Introduction to Basic Java Versions and their featuresIntroduction to Basic Java Versions and their features
Introduction to Basic Java Versions and their featuresAkash Badone
 
Basics of JAVA programming
Basics of JAVA programmingBasics of JAVA programming
Basics of JAVA programmingElizabeth Thomas
 
Introduction to java
Introduction to java Introduction to java
Introduction to java Sandeep Rawat
 
what is java.pdf
what is java.pdfwhat is java.pdf
what is java.pdfXanGwaps
 
All the Java ADF beginners need to know - part1
All the Java ADF beginners need to know - part1All the Java ADF beginners need to know - part1
All the Java ADF beginners need to know - part1Markus Eisele
 
Java: Rumours of my demise are greatly exaggerated
Java: Rumours of my demise are greatly exaggeratedJava: Rumours of my demise are greatly exaggerated
Java: Rumours of my demise are greatly exaggeratedSteve Dalton
 
Object Oriented Programming-JAVA
Object Oriented Programming-JAVAObject Oriented Programming-JAVA
Object Oriented Programming-JAVAHome
 
Powering the Next Generation Services with Java Platform - Spark IT 2010
Powering the Next Generation Services with Java Platform - Spark IT 2010Powering the Next Generation Services with Java Platform - Spark IT 2010
Powering the Next Generation Services with Java Platform - Spark IT 2010Arun Gupta
 
Chapter 1. java programming language overview
Chapter 1. java programming language overviewChapter 1. java programming language overview
Chapter 1. java programming language overviewJong Soon Bok
 

Similar to Better Career with Java (20)

Java basics
Java basicsJava basics
Java basics
 
Introduction to Basic Java Versions and their features
Introduction to Basic Java Versions and their featuresIntroduction to Basic Java Versions and their features
Introduction to Basic Java Versions and their features
 
Basics of JAVA programming
Basics of JAVA programmingBasics of JAVA programming
Basics of JAVA programming
 
Introduction to java
Introduction to java Introduction to java
Introduction to java
 
Chapter 1 (1).pptx
Chapter 1 (1).pptxChapter 1 (1).pptx
Chapter 1 (1).pptx
 
what is java.pdf
what is java.pdfwhat is java.pdf
what is java.pdf
 
All the Java ADF beginners need to know - part1
All the Java ADF beginners need to know - part1All the Java ADF beginners need to know - part1
All the Java ADF beginners need to know - part1
 
Java: Rumours of my demise are greatly exaggerated
Java: Rumours of my demise are greatly exaggeratedJava: Rumours of my demise are greatly exaggerated
Java: Rumours of my demise are greatly exaggerated
 
1 .java basic
1 .java basic1 .java basic
1 .java basic
 
Java
JavaJava
Java
 
Java
JavaJava
Java
 
Java
JavaJava
Java
 
Java
JavaJava
Java
 
Java
JavaJava
Java
 
Java
JavaJava
Java
 
Object Oriented Programming-JAVA
Object Oriented Programming-JAVAObject Oriented Programming-JAVA
Object Oriented Programming-JAVA
 
Introducing Java 7
Introducing Java 7Introducing Java 7
Introducing Java 7
 
INTRO TO JAVA.pdf
INTRO TO JAVA.pdfINTRO TO JAVA.pdf
INTRO TO JAVA.pdf
 
Powering the Next Generation Services with Java Platform - Spark IT 2010
Powering the Next Generation Services with Java Platform - Spark IT 2010Powering the Next Generation Services with Java Platform - Spark IT 2010
Powering the Next Generation Services with Java Platform - Spark IT 2010
 
Chapter 1. java programming language overview
Chapter 1. java programming language overviewChapter 1. java programming language overview
Chapter 1. java programming language overview
 

More from Mert Çalışkan

Intelligent Projects with Maven - DevFest Istanbul
Intelligent Projects with Maven - DevFest IstanbulIntelligent Projects with Maven - DevFest Istanbul
Intelligent Projects with Maven - DevFest IstanbulMert Çalışkan
 
JavaOne - 10 Tips for Java EE 7 with PrimeFaces
JavaOne - 10 Tips for Java EE 7 with PrimeFacesJavaOne - 10 Tips for Java EE 7 with PrimeFaces
JavaOne - 10 Tips for Java EE 7 with PrimeFacesMert Çalışkan
 
Gelecex - Maven ile Akilli Projeler
Gelecex - Maven ile Akilli ProjelerGelecex - Maven ile Akilli Projeler
Gelecex - Maven ile Akilli ProjelerMert Çalışkan
 
Enterprise Java Web Application Frameworks Sample Stack Implementation
Enterprise Java Web Application Frameworks   Sample Stack ImplementationEnterprise Java Web Application Frameworks   Sample Stack Implementation
Enterprise Java Web Application Frameworks Sample Stack ImplementationMert Çalışkan
 

More from Mert Çalışkan (6)

Intelligent Projects with Maven - DevFest Istanbul
Intelligent Projects with Maven - DevFest IstanbulIntelligent Projects with Maven - DevFest Istanbul
Intelligent Projects with Maven - DevFest Istanbul
 
JavaOne - 10 Tips for Java EE 7 with PrimeFaces
JavaOne - 10 Tips for Java EE 7 with PrimeFacesJavaOne - 10 Tips for Java EE 7 with PrimeFaces
JavaOne - 10 Tips for Java EE 7 with PrimeFaces
 
Test Infected
Test InfectedTest Infected
Test Infected
 
Gelecex - Maven ile Akilli Projeler
Gelecex - Maven ile Akilli ProjelerGelecex - Maven ile Akilli Projeler
Gelecex - Maven ile Akilli Projeler
 
Fikrim Acik Kodum Acik
Fikrim Acik Kodum AcikFikrim Acik Kodum Acik
Fikrim Acik Kodum Acik
 
Enterprise Java Web Application Frameworks Sample Stack Implementation
Enterprise Java Web Application Frameworks   Sample Stack ImplementationEnterprise Java Web Application Frameworks   Sample Stack Implementation
Enterprise Java Web Application Frameworks Sample Stack Implementation
 

Recently uploaded

Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Alkin Tezuysal
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality AssuranceInflectra
 
Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024TopCSSGallery
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentPim van der Noll
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationKnoldus Inc.
 
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...itnewsafrica
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical InfrastructureVarsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructureitnewsafrica
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsNathaniel Shimoni
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsRavi Sanghani
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersNicole Novielli
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI AgeCprime
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS:  6 Ways to Automate Your Data IntegrationBridging Between CAD & GIS:  6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integrationmarketing932765
 

Recently uploaded (20)

Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
 
Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog Presentation
 
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical InfrastructureVarsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directions
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and Insights
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software Developers
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI Age
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS:  6 Ways to Automate Your Data IntegrationBridging Between CAD & GIS:  6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integration
 

Better Career with Java

  • 1. (Better) Career in Java Mert ÇALIŞKAN March 2013 @ankarajug #javaizmirde
  • 2. AnkaraJUG first event @ November 2012... Founding Fathers: Barış BAL Çağatay ÇİVİCİ Mert ÇALIŞKAN http://bit.ly/ankarajugKAYIT ankarajug.blogspot.com facebook.com/ankarajug twitter.com/ankarajug @ankarajug #javaizmirde
  • 3. Mert ÇALIŞKAN 10+ years of experience w/ Java Coder @ T2.com.tr Open Source Software Advocate, Founder, Implementor Member of Apache Software Foundation and OpenLogic Expert Community Author of PrimeFaces Cookbook from PacktPub tr.linkedin.com/in/mertcaliskan @ankarajug #javaizmirde
  • 4. To JAVA? or NOT..? :) Come to the Dark Side..! @ankarajug #javaizmirde
  • 5. Agenda History of Java Versions of Java.. SE, EE and the others.. Java Web Frameworks Better career w/ Java Q&A @ankarajug #javaizmirde
  • 6. YOU KNOW THIS TRANS-ATLANTIC? @ankarajug #javaizmirde
  • 7. • RMS Titanic sank in North Atlantic Ocean on 15 April, 1912 on maiden voyage So Eventually Everything Dies...! Tragic analogy, ok :) • You, Me, All of Us... • Companies, Technologies... • Key point is: You should avoid not making it like Titanic, which sunk in 2hrs and 40 minutes...! @ankarajug #javaizmirde
  • 8. Where it all began... Founded February 24, 1982 Sold to Oracle January 27, 2010 for $7.4 billion..! Sun was mainly selling Hardware, but they also working on computer software like Java, MySQL and NFS.. Founded in 1977 by Larry Ellison and a couple of clever guys, their motivation is to compete with IBM’s System R, which was a relational database. @ankarajug #javaizmirde
  • 9. James Gosling... was the FATHER of Java Age: 69 Age: 58 $$$ makes you look younger..! Larry Ellison... is the new BOSS @ankarajug #javaizmirde
  • 10. History of JAVA Java Language Project started in June 1991 (James Gosling and his fellas) First named as: OAK The Duke Running byteCode on Java Virtual Machine WORA (Write Once, Run Anywhere) First started with applets in the WEB world With the dawn of Java Enterprise Edition, Servlets made their way to rule the world. @ankarajug #javaizmirde
  • 11. Editions of JAVA Java Card: application on smart cards Micro Edition (ME): mobile phones + set-top boxes Standard Edition (SE): Cool Software Platform The Duke Enterprise Edition (EE): Oracle’s Enterprise Computing Platform Java DB: Oracle’s supported version of Apache Derby. JavaFX: Aim was RIA (looks dead for me) Personal Java: (discontinued) Java edition for mobile and embedded systems based on Java 1.1.8 @ankarajug #javaizmirde
  • 12. CHRONOLOGY OF JAVA SE JDK 1.0 JDK 1.1 Introducing January 23, February 19, 1997 Abstract Window Toolkit 1996 J2SE 1.2 Swing was on Board December 8, 1998 J2SE 1.3 HotSpot JVM and JNDI May 8, 2000 reg-ex, Java Web Start J2SE 1.4 embedded XML parser February 6, 2002 J2SE 1.5 New Cool Features on Language September 30, 2004 Generics, AutoBoxing, var-args & etc... @ankarajug #javaizmirde
  • 13. CHRONOLOGY OF JAVA SE Renamed to Java SE instead of Java SE 6 J2SE from now on. December 11, 2006 Support for running scripting lang. like Rhino. Dynamic lang. support like Java SE 7 Groovy July 28, 2011 String in switch (finally!) Best is yet to come..! lambda expressions... Java SE 8 streaming..filtering.. Summer, 2013 closures... @ankarajug #javaizmirde
  • 14. Enterprise JAVA Java EE = Java Enterprise Edition Extends Java SE javax.faces.* UI + JSF Related Stuff javax.servlet.* Handling HTTP invocations javax.enterprise.inject.* CDI, Like Spring dependency javax.ejb.* Inj. EJB Stuff javax.validation.* Bean Validation javax.persistence.* Persistency javax.transaction.* Stuff for transactions javax.jms.* Messaging Stuff @ankarajug #javaizmirde
  • 15. CHRONOLOGY OF JAVA EE J2EE 1.2 J2EE 1.3 J2EE 1.4 December 12, 1999 Sept. 12, 2001 Nov. 11, 2003 Servlet 2.2 Servlet 2.3 Servlet 2.4 JSP JAX-WS Java EE 5 Servlet 2.5 EJB JAX-RS May 11, 2006 JMS JAX-B JTA JPA JAAS JSTL Java EE 6 JSF any many December 10, 2009 Servlet 3.0 EL more... @ankarajug #javaizmirde
  • 16. Java Frameworks.. Ok you get to know the language in 4 years... But you DEFINITELY NEED to learn the frameworks. Java is mostly about frameworks (lots of open source ones). I think you ask yourselves now.. Which one should we go with? They differ in context, if you want do WEB, here is a list what you can find around. @ankarajug #javaizmirde
  • 17. Java Frameworks.. UI Controller/Dep.Inj. JSF Struts Spring Guice HiveMind Spring MVC WebWork ZK picoContainer XWork Wicket Tapestry GWT Model/Persistence Layer Echo3 Cocoon Vaadin Hibernate iBatis Integration Toplink KODO Apache CXF Apache Axis2 IDE EclipseLink Eclipse IntelliJ Spring WS IDEA JDeveloper NetBEANS @ankarajug #javaizmirde
  • 18. One framework to rule them ALL... Spring @ankarajug #javaizmirde
  • 19. Java Frameworks.. Spring Spring Security SpringSource OSGi Test Stubs Spring Web Flow Spring Security Kerberos Spring Web Services Extension Spring Social Twitter Spring Dynamic Modules SpringSource dm Server Spring.NET CodeConfig Spring Integration SpringSource dm Kernel Spring.NET REST Client Spring Batch SpringSource dm Server Spring.NET Social Spring Batch Admin Samples Spring.NET Social Dropbox Spring.NET Spring Data Commons Spring.NET Social LinkedIn Spring AMQP Spring Data Spring.NET Social Twitter Spring AMQP.NET Spring Data JDBC Spring.NET Visual Studio 2010 Spring GemFire Spring Data JPA Extension Spring GemFire for .NET Spring Data Redis Spring Social Yammer Spring LDAP Spring Data Solr Spring Shell Spring Social Spring Mobile Spring Data GemFire Spring for Android Spring Data MongoDB Spring Migration Analyzer Spring IDE Spring Data Neo4j Spring Integration Splunk Spring BlazeDS Integration Spring Gemfire Spring Integration Print SpringSource Bundlor Spring Data Hadoop Spring Security SAML Spring Roo Spring Social Facebook Spring Python Spring Social LinkedIn @ankarajug #javaizmirde
  • 20. Java Frameworks.. Spring Spring Security SpringSource OSGi Test Stubs Spring Web Flow Spring Security Kerberos Spring Web Services Extension Spring Social Twitter Spring Dynamic Modules SpringSource dm Server Spring.NET CodeConfig Spring Integration SpringSource dm Kernel Spring.NET REST Client Spring Batch SpringSource dm Server Spring.NET Social 53 Spring Batch Admin Samples Spring.NET Social Dropbox Spring.NET Spring Data Commons Spring.NET Social LinkedIn Spring AMQP Spring Data Spring.NET Social Twitter Spring AMQP.NET Spring Data JDBC Spring.NET Visual Studio 2010 Spring GemFire Spring Data JPA Extension Spring GemFire for .NET Spring Data Redis Spring Social Yammer Spring LDAP Spring Data Solr Spring Shell Spring Social Spring Mobile Spring Data GemFire Spring for Android Spring Data MongoDB Spring Migration Analyzer Spring IDE Spring Data Neo4j Spring Integration Splunk Spring BlazeDS Integration Spring Gemfire Spring Integration Print SpringSource Bundlor Spring Data Hadoop Spring Security SAML Spring Roo Spring Social Facebook Spring Python Spring Social LinkedIn @ankarajug #javaizmirde
  • 21. Head Start...! PrimeFaces CXF Hamcrest Mockito Spring JPA Hibernate jUnit DEMO https://github.com/mulderbaba/testinfected AppFuse is a full-stack framework for building webapp on the JVM. http://appfuse.org/display/APF/AppFuse+QuickStart @ankarajug #javaizmirde
  • 22. Open Source Licenses Question here is: But how do they license these frameworks? How can I use them in a free way? Open Source Initiative @ankarajug #javaizmirde
  • 23. Open Source Licenses Academic Free License 3.0 (AFL-3.0) MirOS Licence (MirOS) Affero GNU Public License: See "GNU Affero General Public License Microsoft Public License (MS-PL) 3.0 (AGPL-3.0)" Microsoft Reciprocal License (MS-RL) Question here is: Adaptive Public License (APL-1.0) Apache License 2.0 (Apache-2.0) Apple Public Source License (APSL-2.0) MIT license (MIT) Motosoto License (Motosoto) Mozilla Public License 2.0 (MPL-2.0) But how do they license these frameworks? Artistic license 2.0 (Artistic-2.0) Attribution Assurance Licenses (AAL) BSD 3-Clause "New" or "Revised" License (BSD-3-Clause) Multics License (Multics) NASA Open Source Agreement 1.3 (NASA-1.3) NTP License (NTP) How can I use them in a free way? BSD 2-Clause "Simplified" or "FreeBSD" License (BSD-2-Clause) Naumen Public License (Naumen) Boost Software License (BSL-1.0) Nethack General Public License (NGPL) Computer Associates Trusted Open Source License 1.1 (CATOSL-1.1) Nokia Open Source License (Nokia) Common Development and Distribution License 1.0 (CDDL-1.0) Non-Profit Open Software License 3.0 (NPOSL-3.0) Common Public Attribution License 1.0 (CPAL-1.0) OCLC Research Public License 2.0 (OCLC-2.0) CUA Office Public License Version 1.0 (CUA-OPL-1.0) Open Font License 1.1 (OFL-1.1) EU DataGrid Software License (EUDatagrid) Open Group Test Suite License (OGTSL) Eclipse Public License 1.0 (EPL-1.0) Open Software License 3.0 (OSL-3.0) Educational Community License, Version 2.0 (ECL-2.0) PHP License 3.0 (PHP-3.0) Eiffel Forum License V2.0 (EFL-2.0) The PostgreSQL License (PostgreSQL) Entessa Public License (Entessa) Python License (Python-2.0) (overall Python license) European Union Public License, Version 1.1 (EUPL-1.1) (links to every CNRI Python license (CNRI-Python) (CNRI portion of Python License) language's version on their site) Q Public License (QPL-1.0) Fair License (Fair) RealNetworks Public Source License V1.0 (RPSL-1.0) Frameworx License (Frameworx-1.0) Reciprocal Public License 1.5 (RPL-1.5) GNU Affero General Public License v3 (AGPL-3.0) Ricoh Source Code Public License (RSCPL) GNU General Public License version 2.0 (GPL-2.0) Simple Public License 2.0 (SimPL-2.0) GNU General Public License version 3.0 (GPL-3.0) Sleepycat License (Sleepycat) GNU Library or "Lesser" General Public License version 2.1 (LGPL-2.1) Sun Public License 1.0 (SPL-1.0) GNU Library or "Lesser" General Public License version 3.0 Sybase Open Watcom Public License 1.0 (Watcom-1.0) (LGPL-3.0) University of Illinois/NCSA Open Source License (NCSA) Historical Permission Notice and Disclaimer (HPND) Vovida Software License v. 1.0 (VSL-1.0) IBM Public License 1.0 (IPL-1.0) W3C License (W3C) IPA Font License (IPA) ISC License (ISC) Open Source Initiative wxWindows Library License (WXwindows) X.Net License (Xnet) LaTeX Project Public License 1.3c (LPPL-1.3c) Zope Public License 2.0 (ZPL-2.0) Lucent Public License Version 1.02 (LPL-1.02) zlib/libpng license (Zlib) @ankarajug #javaizmirde
  • 24. Open Source Licenses Academic Free License 3.0 (AFL-3.0) MirOS Licence (MirOS) Affero GNU Public License: See "GNU Affero General Public License Microsoft Public License (MS-PL) 3.0 (AGPL-3.0)" Microsoft Reciprocal License (MS-RL) Question here is: Adaptive Public License (APL-1.0) Apache License 2.0 (Apache-2.0) Apple Public Source License (APSL-2.0) MIT license (MIT) Motosoto License (Motosoto) Mozilla Public License 2.0 (MPL-2.0) But how do they license these frameworks? Artistic license 2.0 (Artistic-2.0) Attribution Assurance Licenses (AAL) BSD 3-Clause "New" or "Revised" License (BSD-3-Clause) Multics License (Multics) NASA Open Source Agreement 1.3 (NASA-1.3) NTP License (NTP) How can I use them in a free way? BSD 2-Clause "Simplified" or "FreeBSD" License (BSD-2-Clause) Naumen Public License (Naumen) Boost Software License (BSL-1.0) Nethack General Public License (NGPL) 69 Computer Associates Trusted Open Source License 1.1 (CATOSL-1.1) Nokia Open Source License (Nokia) Common Development and Distribution License 1.0 (CDDL-1.0) Non-Profit Open Software License 3.0 (NPOSL-3.0) Common Public Attribution License 1.0 (CPAL-1.0) OCLC Research Public License 2.0 (OCLC-2.0) CUA Office Public License Version 1.0 (CUA-OPL-1.0) Open Font License 1.1 (OFL-1.1) EU DataGrid Software License (EUDatagrid) Open Group Test Suite License (OGTSL) Eclipse Public License 1.0 (EPL-1.0) Open Software License 3.0 (OSL-3.0) Educational Community License, Version 2.0 (ECL-2.0) PHP License 3.0 (PHP-3.0) Eiffel Forum License V2.0 (EFL-2.0) The PostgreSQL License (PostgreSQL) Entessa Public License (Entessa) Python License (Python-2.0) (overall Python license) European Union Public License, Version 1.1 (EUPL-1.1) (links to every CNRI Python license (CNRI-Python) (CNRI portion of Python License) language's version on their site) Q Public License (QPL-1.0) Fair License (Fair) RealNetworks Public Source License V1.0 (RPSL-1.0) Frameworx License (Frameworx-1.0) Reciprocal Public License 1.5 (RPL-1.5) GNU Affero General Public License v3 (AGPL-3.0) Ricoh Source Code Public License (RSCPL) GNU General Public License version 2.0 (GPL-2.0) Simple Public License 2.0 (SimPL-2.0) GNU General Public License version 3.0 (GPL-3.0) Sleepycat License (Sleepycat) GNU Library or "Lesser" General Public License version 2.1 (LGPL-2.1) Sun Public License 1.0 (SPL-1.0) GNU Library or "Lesser" General Public License version 3.0 Sybase Open Watcom Public License 1.0 (Watcom-1.0) (LGPL-3.0) University of Illinois/NCSA Open Source License (NCSA) Historical Permission Notice and Disclaimer (HPND) Vovida Software License v. 1.0 (VSL-1.0) IBM Public License 1.0 (IPL-1.0) W3C License (W3C) IPA Font License (IPA) ISC License (ISC) Open Source Initiative wxWindows Library License (WXwindows) X.Net License (Xnet) LaTeX Project Public License 1.3c (LPPL-1.3c) Zope Public License 2.0 (ZPL-2.0) Lucent Public License Version 1.02 (LPL-1.02) zlib/libpng license (Zlib) @ankarajug #javaizmirde
  • 25. Must Read Books... @ankarajug #javaizmirde
  • 26. Must Read Books... @ankarajug #javaizmirde
  • 27. Must Read Books... @ankarajug #javaizmirde
  • 28. Must Read Books... @ankarajug #javaizmirde
  • 29. Must Read Books... @ankarajug #javaizmirde
  • 30. The Java Magazine... http://www.oracle.com/technetwork/java/ javamagazine/ bi-monthly since 2011..!!! For Free..!!! @ankarajug #javaizmirde
  • 31. Google Summer of Code For the love of code since 2005... around 6000 students meet 3000 mentors of OSS from over 100 countries... Mutual benefits : you get ~5000$, you can use the stuff for summer internship and google gets the OSS support. http://bit.ly/GSOC2013 @ankarajug #javaizmirde
  • 32. Resume Preparation People skim resumes... So make it to the point as much as possible It’s not what you know. It’s what you’ve done with what you know... Keep it short 1 to 3 sentences, 1 to 3 pages at most @ankarajug #javaizmirde
  • 33. Where can I work on Java? X X X X XX X X X X X X X X XX Currently 18 technoparks located in Turkey... @ankarajug #javaizmirde
  • 34. Career in JAVA Participate in Open Source Be a Contributor / or better: be a Committer Learn the Language from inside out... Oracle Certifications are one way to go... Java SE 7 Programmer Java EE6 Web Component Developer Java EE6 Enterprise JavaBeans Developer Java EE6 Java Persistence API Developer Java EE6 Web Services Developer Java EE 6 Enterprise Architect @ankarajug #javaizmirde
  • 35. Will it Compile??? int €i = 1; YUP...! Literals can start with letter, connecting character like "_", and currency character. @ankarajug #javaizmirde
  • 36. Will it Compile??? int €i = 1; YUP...! Literals can start with letter, connecting character like "_", and currency character. @ankarajug #javaizmirde
  • 37. Will it Compile??? float f this one's double by Nope..won't compile, = 320.0; default. @ankarajug #javaizmirde
  • 38. Will it Compile??? float f = 320.0; Nope..won't compile, this one's double by default. @ankarajug #javaizmirde
  • 39. Will it Compile??? char c = -80; Nope... you cannot assign int to char and char is between 0-65535, so you will get gibberish output. @ankarajug #javaizmirde
  • 40. Will it Compile??? char c = -80; Nope... you cannot assign int to char and char is between 0-65535, so you will get gibberish output. @ankarajug #javaizmirde
  • 41. public final class String implements java.io.Serializable, java.lang.Comparable<java.lang.String>, Can you extend String??? java.lang.CharSequence { .... .... } @ankarajug #javaizmirde
  • 42. Can you extend String??? public final class String implements java.io.Serializable, java.lang.Comparable<java.lang.String>, java.lang.CharSequence { .... .... } @ankarajug #javaizmirde
  • 43. For better career... Experience Communication Knowledge Professionalism Creativity @ankarajug #javaizmirde
  • 44. For better career... Know broad... Know deep... Experience Communication Knowledge Professionalism Creativity If you know Java then dive into the frameworks.. If you know all of them go through scripting languages... Know you stuff very well... @ankarajug #javaizmirde
  • 45. For better career... Stay Current... Use your knowledge... Experience Communication Knowledge Professionalism Creativity Practice... Practice... Practice... @ankarajug #javaizmirde
  • 46. For better career... Be Open-Minded... Experience Communication Knowledge Professionalism Creativity Listen to people’s thoughts.. They’re more valuable than you think.. You CANNOT know everything..! @ankarajug #javaizmirde
  • 47. For better career... Reject the status quo... Experience Communication Knowledge Professionalism Creativity Don’t be a rebellion but don’t kill the rebellion inside you... @ankarajug #javaizmirde
  • 48. For better career... Take and accept the responsibility... Experience Communication Knowledge Professionalism Creativity Make it all in a classy way... @ankarajug #javaizmirde
  • 49. To sum up on career... You are the one that will be building your OWN career. Work for your employer and work for yourself also... Take the time to build your skills: your knowledge, your communication skills, your experience. And don’t kill the child inside you, make it creative as always... Act Professional, because you have to be a ONE..! @ankarajug #javaizmirde
  • 50. To sum up... JAVA is still HOT TOPIC... Read Read Read... Participate...Be Active...Be a part of JAVA :) Oracle is investing on Java so best is yet to come. Take a leap, dive into Java, build your career on it. @ankarajug #javaizmirde
  • 51. JUST DO IT @ankarajug #javaizmirde
  • 52. E0F @ankarajug #javaizmirde @ankarajug #javaizmirde