Java overview the piramide of success

33
Java overview: Java overview: the p the p y y ramid of success ramid of success Artem Bilan Artem Bilan CS Ltd. CS Ltd. Spring Spring Integration Integration commiter commiter Email: [email protected] Email: [email protected]

description

 

Transcript of Java overview the piramide of success

Page 1: Java overview the piramide of success

Java overview:Java overview:the pthe pyyramid of successramid of success

Artem BilanArtem Bilan

CS Ltd.CS Ltd.SpringSpring Integration Integration commiter commiter

Email: [email protected]: [email protected]

Page 2: Java overview the piramide of success

2

Who is Artem Bilan

http://forum.vingrad.ru/showuser-18365.html

https://github.com/artembilan

http://linkedin.com/in/cleric

[email protected]

Spring Integration Reference Manual

Mark Fisher…

Artem Bilan

Page 3: Java overview the piramide of success

3

Thorny path to the top

Page 4: Java overview the piramide of success

4

Agenda

• Java syntax

• Swing• Garbage collector

• Multi-Threading

• Data Bases

• WEB

• Development tools

• Frameworks

• WEB-Services

• Patterns

• Messaging

• Scripting

• Demo time

• Summary & Questions

Page 5: Java overview the piramide of success

5

Let’s build our own pyramid!

JAVA JAVA syntaxsyntax

Page 6: Java overview the piramide of success

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> {

Page 7: Java overview the piramide of success

7

Swing: the right way to start!

Page 8: Java overview the piramide of success

8

Swing: the right way to start!

Java Java SyntaxSyntax

ComponenComponentsts

SwingSwing

Page 9: Java overview the piramide of success

9

Garbage collector & memory model

-XX:+UseParallelGC-XX:+UseConcMarkSweepGC-XX:+UseG1GC

Page 10: Java overview the piramide of success

10

Garbage collector & memory model

Page 11: Java overview the piramide of success

11

Multi-Threading & Concurrency

Page 12: Java overview the piramide of success

12

Multi-Threading: Epic Fail

Page 13: Java overview the piramide of success

13

Multi-Threading & Concurrency

AtomicsAtomics

LocksLocks

VolatileVolatile SynchronizedSynchronized

ExecutorsExecutors

ForkJoinPoolForkJoinPoolPhaserPhaser

Page 14: Java overview the piramide of success

14

Data Bases: Persistence power

Select * from orders

From DB to JavaFrom DB to Java

Typical data issueTypical data issue

Be clever!Be clever!

Think different!Think different!

Page 15: Java overview the piramide of success

15

Data Bases: Persistence power

SqlSqlDataSourceDataSource

JPAJPA

XAXAOracleOracle

MongoDBMongoDB

LuceneLucene

Hybrid solutionsHybrid solutions

Key/ValueKey/Value

Page 16: Java overview the piramide of success

16

WEB: Globalize yourself!

Page 17: Java overview the piramide of success

17

Development & build tools

Page 18: Java overview the piramide of success

18

WEB & Development tools

Delicious results!Delicious results!

Page 19: Java overview the piramide of success

19

Frameworks: don’t reinvent the wheel!

• Good solutions

• New ideas

• Right things at the right place

• DRY

• KISS

• Postal Low

Don’t afraid experimentDon’t afraid experiment

++

++

Page 20: Java overview the piramide of success

20

Spring - the power of application

• Spring AMQP• Spring Batch• Spring BlazeDS• Spring Data • Spring Android• Spring Hadoop• Spring GemFire• Spring LDAP• Spring Mobile• Spring Roo• Spring Integration

• Spring IDE

• Spring OSGi

• Spring Rich Client

• Spring Security

• Spring Slices

• Spring Social

• Spring Web Flow

• Spring Web Services

• Spring.NET

• Etc.

Page 21: Java overview the piramide of success

21

JEE vs Spring

VSVS

VS

Page 22: Java overview the piramide of success

22

WEB-Services: Let’s start integrate!

Business here

Integrate them all!

Money there

Everything in one place

Page 23: Java overview the piramide of success

23

WEB-Services: Let’s start integrate!

SOAPSOAP RESTREST

XML JSON Etc.

Any withAny withHTTPHTTP

Page 24: Java overview the piramide of success

24

WEB-Services: Let’s start integrate!

You are the man

Page 25: Java overview the piramide of success

25

Patterns: developres’ langauge

Singleton Factory

Bridge

Strategy

Composite

Adapter

Observer

Builder

Page 26: Java overview the piramide of success

26

Messaging is everywhere

Page 27: Java overview the piramide of success

27

Scripting & DSLs

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

responseType: String)}

Groovy

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

Scala

XML

<http:outbound-gateway http-method="GET" expected-response-type="java.lang.String"

url="http://google.com/search?q={search}" request-channel="input">

<http:uri-variable name="search" expression="payload"/></http:outbound-gateway>

Page 28: Java overview the piramide of success

28

There is no limit to perfection

Page 29: Java overview the piramide of success

29

Demo time

iB2

WS

ABS Client-Bank

Processing Card-backoffice

POS JDBC

JavaOracle procedure

Page 30: Java overview the piramide of success

30

Demo time

Web Service

MagicMagicJAVAJAVA

Page 31: Java overview the piramide of success

31

Conclusions

is an unlimited IT universeis an unlimited IT universe

has growing communityhas growing community

is a flexible platformis a flexible platform

helps businesshelps business

makes Internet closermakes Internet closer

Page 32: Java overview the piramide of success