SlideShare a Scribd company logo
Java overview:
the pyramid of success
            Artem Bilan
               CS Ltd.
    Spring Integration commiter



   Email: clericsmail@gmail.com
Who is Artem Bilan


                      Spring Integration Reference Manual

                                                  Mark Fisher
                                                           …
                                                  Artem Bilan



                      https://github.com/artembilan

                      http://linkedin.com/in/cleric


cleric@csltd.com.ua   http://forum.vingrad.ru/showuser-18365.html




                                                        2
Thorny path to the top




                         3
Agenda


 • Java syntax           •   Patterns
 • Swing                 •   Messaging
 •   Garbage collector   •   Scripting
 •   Multi-Threading     •   Demo time
 •   Data Bases          •   Summary & Questions
 •   WEB
 •   Development tools
 •   Frameworks
 •   WEB-Services



                                                   4
Let’s build our own pyramid!




             JAVA syntax




                               5
Java starts from source

public static void main(String[] args) {
...
}

  public static <T> T argThat(Matcher<T> matcher) {
    return reportMatcher(matcher).<T>returnNull();
  }

@Entity
@Table(name = ‘USERS')
@SQLInsert(sql = 'insert into TMP_USERS (PASSWORD,
                       LOGIN, ID) values (?, ?, ?)')
@AccessType('field')
@XmlType(name = ‘User')
class User extends BaseEntity<Long> {

                                                6
Swing: the right way to start!




                                 7
Swing: the right way to start!




                     Swing




Components                        Java
                                 Syntax

                                          8
Garbage collector & memory model




          -XX:+UseParallelGC
          -XX:+UseConcMarkSweepGC
          -XX:+UseG1GC
                                    9
Garbage collector & memory model




                                   10
Multi-Threading & Concurrency




                                11
Multi-Threading: Epic Fail




                             12
Multi-Threading & Concurrency


    Phaser    ForkJoinPool


                 Executors

Atomics

                     Locks




  Volatile    Synchronized

                                13
Data Bases: Persistence power

                            Typical data issue




   From DB to Java


     Select * from orders                 Be clever!




                                       Think different!



                                                          14
Data Bases: Persistence power


                             Hybrid solutions

                                         Key/Value
                    MongoDB
                                            JPA
                    Lucene
                                                 XA
                    Oracle

                      DataSource           Sql


                                                 15
WEB: Globalize yourself!




                           16
Development & build tools




                            17
WEB & Development tools




                          Delicious results!




                                           18
Frameworks: don’t reinvent the wheel!

 • Good solutions
 • New ideas                   Don’t afraid experiment
 • Right things at the right
   place                                 +
 • DRY
 • KISS
 • Postal Low
                                         +




                                                   19
Spring - the power of application

   • Spring AMQP          • Spring IDE
   • Spring Batch         • Spring OSGi
   • Spring BlazeDS       • Spring Rich Client
   • Spring Data          • Spring Security
   • Spring Android       • Spring Slices
   • Spring Hadoop        • Spring Social
   • Spring GemFire       • Spring Web Flow
   • Spring LDAP          • Spring Web Services
   • Spring Mobile        • Spring.NET
   • Spring Roo           • Etc.
   • Spring Integration



                                                  20
JEE vs Spring




                VS
                VS


                VS




                     21
WEB-Services: Let’s start integrate!




       Business here              Money there




   Everything in one place     Integrate them all!
                                                     22
WEB-Services: Let’s start integrate!

      SOAP                          REST



                              XML      JSON    Etc.




                                    Any with
                                     HTTP


                                                      23
WEB-Services: Let’s start integrate!




    You are the man


                                       24
Patterns: developres’ langauge
    Singleton      Factory




    Builder         Bridge




    Strategy       Adapter




    Observer      Composite




                                 25
Messaging is everywhere




                          26
Scripting & DSLs

                 httpFlow {
                    httpGet(url:{"http://google.com/search?q=$it"},
Groovy                      responseType: String)
                 }


val httpFlow =
   http.GET[String]{
        search: String => "http://google.com/search?q="+search        Scala
   }


          <http:outbound-gateway http-method="GET"
                                  expected-response-type="java.lang.String"
                                  url="http://google.com/search?q={search}"
XML                               request-channel="input">
              <http:uri-variable name="search" expression="payload"/>
          </http:outbound-gateway>



                                                                          27
There is no limit to perfection




                                  28
Demo time

  ABS                                    Client-Bank

         Oracle procedure         Java

                            WS



                            iB2
             POS                  JDBC




Processing                          Card-backoffice

                                                 29
Demo time




  Web Service




                Magic
                JAVA
                        30
Conclusions




              is an unlimited IT universe
                 has growing community
                     is a flexible platform
                           helps business
                   makes Internet closer



                                      31
Java overview the piramide of success
More info

  •   Java Specification
  •   Cay S. Horstmann
  •   Joshua Bloch
  •   Bruce Eckel
  •   Martin Fowler
  •   Spring Framework
  •   Hibernate
  •   EIP
  •   Steve McConnell

                           33
Ad

Recommended

PDF
MongoDB
SPBRUBY
 
PDF
Ajax for-coldfusion-developers
Sudhakar Ganta
 
PPTX
Cross-Platform Mobile Apps & Drupal Web Services
Bob Sims
 
PPTX
Sharded By Business Line: Migrating to a Core Database using MongoDB and Solr
MongoDB
 
PDF
Joker'15 Java straitjackets for MongoDB
Alexey Zinoviev
 
PDF
Chris Lea - What does NoSQL Mean for You
Carsonified Team
 
PPTX
Spring & messaging
Artem Bilan
 
ODP
Spring integration integration, but not only...
Artem Bilan
 
PDF
New Ways To Engage With Tiempo 2011
Tiempo Development
 
PDF
Egl Rui Ajax World
rajivmordani
 
PDF
The spring 32 update final
Joshua Long
 
PDF
Spark IT 2011 - Java EE 6 Workshop
Arun Gupta
 
KEY
using Spring and MongoDB on Cloud Foundry
Joshua Long
 
PPTX
Enterprise Spring Building Scalable Applications
Gordon Dickens
 
PDF
Jazoon 2011 - Smart EAI with Apache Camel
Kai Wähner
 
PPTX
SPEC INDIA Java Case Study
SPEC INDIA
 
KEY
Survey Of Open Source
Matthew McCullough
 
PDF
Powering the Next Generation Services with Java Platform - Spark IT 2010
Arun Gupta
 
PDF
Java EE Technical Keynote - JavaOne India 2011
Arun Gupta
 
PDF
CloudFoundry and MongoDb, a marriage made in heaven
Patrick Chanezon
 
PDF
Spring Into the Cloud
Jennifer Hickey
 
PDF
Poly Source It Profile
moseskhedi
 
PDF
Polysource It Profile
elenarys
 
PDF
Cloud Foundry Demo SD Forum Cloud Sig Feb09
Chris Richardson
 
PDF
Spring Mvc
ifnu bima
 
PDF
Java EE 6 & GlassFish v3: Paving the path for the future - Tech Days 2010 India
Arun Gupta
 
PDF
20100907 fuse-community-evening-adrian-trenaman-no-logo
Adrian Trenaman
 
PPTX
The Magic's in the Glue: Daniela Florescu Presentation on XQuery and the Cloud
Dave Kellogg
 

More Related Content

Similar to Java overview the piramide of success (20)

PDF
New Ways To Engage With Tiempo 2011
Tiempo Development
 
PDF
Egl Rui Ajax World
rajivmordani
 
PDF
The spring 32 update final
Joshua Long
 
PDF
Spark IT 2011 - Java EE 6 Workshop
Arun Gupta
 
KEY
using Spring and MongoDB on Cloud Foundry
Joshua Long
 
PPTX
Enterprise Spring Building Scalable Applications
Gordon Dickens
 
PDF
Jazoon 2011 - Smart EAI with Apache Camel
Kai Wähner
 
PPTX
SPEC INDIA Java Case Study
SPEC INDIA
 
KEY
Survey Of Open Source
Matthew McCullough
 
PDF
Powering the Next Generation Services with Java Platform - Spark IT 2010
Arun Gupta
 
PDF
Java EE Technical Keynote - JavaOne India 2011
Arun Gupta
 
PDF
CloudFoundry and MongoDb, a marriage made in heaven
Patrick Chanezon
 
PDF
Spring Into the Cloud
Jennifer Hickey
 
PDF
Poly Source It Profile
moseskhedi
 
PDF
Polysource It Profile
elenarys
 
PDF
Cloud Foundry Demo SD Forum Cloud Sig Feb09
Chris Richardson
 
PDF
Spring Mvc
ifnu bima
 
PDF
Java EE 6 & GlassFish v3: Paving the path for the future - Tech Days 2010 India
Arun Gupta
 
PDF
20100907 fuse-community-evening-adrian-trenaman-no-logo
Adrian Trenaman
 
PPTX
The Magic's in the Glue: Daniela Florescu Presentation on XQuery and the Cloud
Dave Kellogg
 
New Ways To Engage With Tiempo 2011
Tiempo Development
 
Egl Rui Ajax World
rajivmordani
 
The spring 32 update final
Joshua Long
 
Spark IT 2011 - Java EE 6 Workshop
Arun Gupta
 
using Spring and MongoDB on Cloud Foundry
Joshua Long
 
Enterprise Spring Building Scalable Applications
Gordon Dickens
 
Jazoon 2011 - Smart EAI with Apache Camel
Kai Wähner
 
SPEC INDIA Java Case Study
SPEC INDIA
 
Survey Of Open Source
Matthew McCullough
 
Powering the Next Generation Services with Java Platform - Spark IT 2010
Arun Gupta
 
Java EE Technical Keynote - JavaOne India 2011
Arun Gupta
 
CloudFoundry and MongoDb, a marriage made in heaven
Patrick Chanezon
 
Spring Into the Cloud
Jennifer Hickey
 
Poly Source It Profile
moseskhedi
 
Polysource It Profile
elenarys
 
Cloud Foundry Demo SD Forum Cloud Sig Feb09
Chris Richardson
 
Spring Mvc
ifnu bima
 
Java EE 6 & GlassFish v3: Paving the path for the future - Tech Days 2010 India
Arun Gupta
 
20100907 fuse-community-evening-adrian-trenaman-no-logo
Adrian Trenaman
 
The Magic's in the Glue: Daniela Florescu Presentation on XQuery and the Cloud
Dave Kellogg
 

Java overview the piramide of success

  • 1. Java overview: the pyramid of success Artem Bilan CS Ltd. Spring Integration commiter Email: [email protected]
  • 2. Who is Artem Bilan Spring Integration Reference Manual Mark Fisher … Artem Bilan https://github.com/artembilan http://linkedin.com/in/cleric [email protected] http://forum.vingrad.ru/showuser-18365.html 2
  • 3. Thorny path to the top 3
  • 4. Agenda • Java syntax • Patterns • Swing • Messaging • Garbage collector • Scripting • Multi-Threading • Demo time • Data Bases • Summary & Questions • WEB • Development tools • Frameworks • WEB-Services 4
  • 5. Let’s build our own pyramid! JAVA syntax 5
  • 6. Java starts from source public static void main(String[] args) { ... } public static <T> T argThat(Matcher<T> matcher) { return reportMatcher(matcher).<T>returnNull(); } @Entity @Table(name = ‘USERS') @SQLInsert(sql = 'insert into TMP_USERS (PASSWORD, LOGIN, ID) values (?, ?, ?)') @AccessType('field') @XmlType(name = ‘User') class User extends BaseEntity<Long> { 6
  • 7. Swing: the right way to start! 7
  • 8. Swing: the right way to start! Swing Components Java Syntax 8
  • 9. Garbage collector & memory model -XX:+UseParallelGC -XX:+UseConcMarkSweepGC -XX:+UseG1GC 9
  • 10. Garbage collector & memory model 10
  • 13. Multi-Threading & Concurrency Phaser ForkJoinPool Executors Atomics Locks Volatile Synchronized 13
  • 14. Data Bases: Persistence power Typical data issue From DB to Java Select * from orders Be clever! Think different! 14
  • 15. Data Bases: Persistence power Hybrid solutions Key/Value MongoDB JPA Lucene XA Oracle DataSource Sql 15
  • 18. WEB & Development tools Delicious results! 18
  • 19. Frameworks: don’t reinvent the wheel! • Good solutions • New ideas Don’t afraid experiment • Right things at the right place + • DRY • KISS • Postal Low + 19
  • 20. Spring - the power of application • Spring AMQP • Spring IDE • Spring Batch • Spring OSGi • Spring BlazeDS • Spring Rich Client • Spring Data • Spring Security • Spring Android • Spring Slices • Spring Hadoop • Spring Social • Spring GemFire • Spring Web Flow • Spring LDAP • Spring Web Services • Spring Mobile • Spring.NET • Spring Roo • Etc. • Spring Integration 20
  • 21. JEE vs Spring VS VS VS 21
  • 22. WEB-Services: Let’s start integrate! Business here Money there Everything in one place Integrate them all! 22
  • 23. WEB-Services: Let’s start integrate! SOAP REST XML JSON Etc. Any with HTTP 23
  • 24. WEB-Services: Let’s start integrate! You are the man 24
  • 25. Patterns: developres’ langauge Singleton Factory Builder Bridge Strategy Adapter Observer Composite 25
  • 27. Scripting & DSLs httpFlow { httpGet(url:{"http://google.com/search?q=$it"}, Groovy responseType: String) } val httpFlow = http.GET[String]{ search: String => "http://google.com/search?q="+search Scala } <http:outbound-gateway http-method="GET" expected-response-type="java.lang.String" url="http://google.com/search?q={search}" XML request-channel="input"> <http:uri-variable name="search" expression="payload"/> </http:outbound-gateway> 27
  • 28. There is no limit to perfection 28
  • 29. Demo time ABS Client-Bank Oracle procedure Java WS iB2 POS JDBC Processing Card-backoffice 29
  • 30. Demo time Web Service Magic JAVA 30
  • 31. Conclusions is an unlimited IT universe has growing community is a flexible platform helps business makes Internet closer 31
  • 33. More info • Java Specification • Cay S. Horstmann • Joshua Bloch • Bruce Eckel • Martin Fowler • Spring Framework • Hibernate • EIP • Steve McConnell 33