Java overview the piramide of success
-
Upload
artem-bilan -
Category
Documents
-
view
1.127 -
download
0
description
Transcript of Java overview the piramide of success
![Page 1: Java overview the piramide of success](https://reader035.fdocuments.net/reader035/viewer/2022062417/54b902904a7959313c8b4607/html5/thumbnails/1.jpg)
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](https://reader035.fdocuments.net/reader035/viewer/2022062417/54b902904a7959313c8b4607/html5/thumbnails/2.jpg)
2
Who is Artem Bilan
http://forum.vingrad.ru/showuser-18365.html
https://github.com/artembilan
http://linkedin.com/in/cleric
Spring Integration Reference Manual
Mark Fisher…
Artem Bilan
![Page 3: Java overview the piramide of success](https://reader035.fdocuments.net/reader035/viewer/2022062417/54b902904a7959313c8b4607/html5/thumbnails/3.jpg)
3
Thorny path to the top
![Page 4: Java overview the piramide of success](https://reader035.fdocuments.net/reader035/viewer/2022062417/54b902904a7959313c8b4607/html5/thumbnails/4.jpg)
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](https://reader035.fdocuments.net/reader035/viewer/2022062417/54b902904a7959313c8b4607/html5/thumbnails/5.jpg)
5
Let’s build our own pyramid!
JAVA JAVA syntaxsyntax
![Page 6: Java overview the piramide of success](https://reader035.fdocuments.net/reader035/viewer/2022062417/54b902904a7959313c8b4607/html5/thumbnails/6.jpg)
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](https://reader035.fdocuments.net/reader035/viewer/2022062417/54b902904a7959313c8b4607/html5/thumbnails/7.jpg)
7
Swing: the right way to start!
![Page 8: Java overview the piramide of success](https://reader035.fdocuments.net/reader035/viewer/2022062417/54b902904a7959313c8b4607/html5/thumbnails/8.jpg)
8
Swing: the right way to start!
Java Java SyntaxSyntax
ComponenComponentsts
SwingSwing
![Page 9: Java overview the piramide of success](https://reader035.fdocuments.net/reader035/viewer/2022062417/54b902904a7959313c8b4607/html5/thumbnails/9.jpg)
9
Garbage collector & memory model
-XX:+UseParallelGC-XX:+UseConcMarkSweepGC-XX:+UseG1GC
![Page 10: Java overview the piramide of success](https://reader035.fdocuments.net/reader035/viewer/2022062417/54b902904a7959313c8b4607/html5/thumbnails/10.jpg)
10
Garbage collector & memory model
![Page 11: Java overview the piramide of success](https://reader035.fdocuments.net/reader035/viewer/2022062417/54b902904a7959313c8b4607/html5/thumbnails/11.jpg)
11
Multi-Threading & Concurrency
![Page 12: Java overview the piramide of success](https://reader035.fdocuments.net/reader035/viewer/2022062417/54b902904a7959313c8b4607/html5/thumbnails/12.jpg)
12
Multi-Threading: Epic Fail
![Page 13: Java overview the piramide of success](https://reader035.fdocuments.net/reader035/viewer/2022062417/54b902904a7959313c8b4607/html5/thumbnails/13.jpg)
13
Multi-Threading & Concurrency
AtomicsAtomics
LocksLocks
VolatileVolatile SynchronizedSynchronized
ExecutorsExecutors
ForkJoinPoolForkJoinPoolPhaserPhaser
![Page 14: Java overview the piramide of success](https://reader035.fdocuments.net/reader035/viewer/2022062417/54b902904a7959313c8b4607/html5/thumbnails/14.jpg)
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](https://reader035.fdocuments.net/reader035/viewer/2022062417/54b902904a7959313c8b4607/html5/thumbnails/15.jpg)
15
Data Bases: Persistence power
SqlSqlDataSourceDataSource
JPAJPA
XAXAOracleOracle
MongoDBMongoDB
LuceneLucene
Hybrid solutionsHybrid solutions
Key/ValueKey/Value
![Page 16: Java overview the piramide of success](https://reader035.fdocuments.net/reader035/viewer/2022062417/54b902904a7959313c8b4607/html5/thumbnails/16.jpg)
16
WEB: Globalize yourself!
![Page 17: Java overview the piramide of success](https://reader035.fdocuments.net/reader035/viewer/2022062417/54b902904a7959313c8b4607/html5/thumbnails/17.jpg)
17
Development & build tools
![Page 18: Java overview the piramide of success](https://reader035.fdocuments.net/reader035/viewer/2022062417/54b902904a7959313c8b4607/html5/thumbnails/18.jpg)
18
WEB & Development tools
Delicious results!Delicious results!
![Page 19: Java overview the piramide of success](https://reader035.fdocuments.net/reader035/viewer/2022062417/54b902904a7959313c8b4607/html5/thumbnails/19.jpg)
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](https://reader035.fdocuments.net/reader035/viewer/2022062417/54b902904a7959313c8b4607/html5/thumbnails/20.jpg)
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](https://reader035.fdocuments.net/reader035/viewer/2022062417/54b902904a7959313c8b4607/html5/thumbnails/21.jpg)
21
JEE vs Spring
VSVS
VS
![Page 22: Java overview the piramide of success](https://reader035.fdocuments.net/reader035/viewer/2022062417/54b902904a7959313c8b4607/html5/thumbnails/22.jpg)
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](https://reader035.fdocuments.net/reader035/viewer/2022062417/54b902904a7959313c8b4607/html5/thumbnails/23.jpg)
23
WEB-Services: Let’s start integrate!
SOAPSOAP RESTREST
XML JSON Etc.
Any withAny withHTTPHTTP
![Page 24: Java overview the piramide of success](https://reader035.fdocuments.net/reader035/viewer/2022062417/54b902904a7959313c8b4607/html5/thumbnails/24.jpg)
24
WEB-Services: Let’s start integrate!
You are the man
![Page 25: Java overview the piramide of success](https://reader035.fdocuments.net/reader035/viewer/2022062417/54b902904a7959313c8b4607/html5/thumbnails/25.jpg)
25
Patterns: developres’ langauge
Singleton Factory
Bridge
Strategy
Composite
Adapter
Observer
Builder
![Page 26: Java overview the piramide of success](https://reader035.fdocuments.net/reader035/viewer/2022062417/54b902904a7959313c8b4607/html5/thumbnails/26.jpg)
26
Messaging is everywhere
![Page 27: Java overview the piramide of success](https://reader035.fdocuments.net/reader035/viewer/2022062417/54b902904a7959313c8b4607/html5/thumbnails/27.jpg)
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](https://reader035.fdocuments.net/reader035/viewer/2022062417/54b902904a7959313c8b4607/html5/thumbnails/28.jpg)
28
There is no limit to perfection
![Page 29: Java overview the piramide of success](https://reader035.fdocuments.net/reader035/viewer/2022062417/54b902904a7959313c8b4607/html5/thumbnails/29.jpg)
29
Demo time
iB2
WS
ABS Client-Bank
Processing Card-backoffice
POS JDBC
JavaOracle procedure
![Page 30: Java overview the piramide of success](https://reader035.fdocuments.net/reader035/viewer/2022062417/54b902904a7959313c8b4607/html5/thumbnails/30.jpg)
30
Demo time
Web Service
MagicMagicJAVAJAVA
![Page 31: Java overview the piramide of success](https://reader035.fdocuments.net/reader035/viewer/2022062417/54b902904a7959313c8b4607/html5/thumbnails/31.jpg)
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](https://reader035.fdocuments.net/reader035/viewer/2022062417/54b902904a7959313c8b4607/html5/thumbnails/32.jpg)
![Page 33: Java overview the piramide of success](https://reader035.fdocuments.net/reader035/viewer/2022062417/54b902904a7959313c8b4607/html5/thumbnails/33.jpg)
33
More info
• Java Specification
• Cay S. Horstmann
• Joshua Bloch
• Bruce Eckel
• Martin Fowler
• Spring Framework
• Hibernate
• EIP
• Steve McConnell