La presentazione di K-Tech all'evento Codemotion del 5 marzo a Roma http://www.codemotion.it/
Puzzle davvero complesso l'Enterprise. Il Client Tier cresce, il web evolve e il business si ritira. Il cliente è più esigente. La scalabilità verticale è ferma. L'HTTP Session è un dramma. XML è un bug. I DB vengono messi in discussione. JMS è saturo. SOA un bluff. In questo talk presenteremo dei casi di successo per ottenere un buon time to market e aumentare la produttività. Parleremo di una diversa filosofia per le architetture. JEE e Python, come prendere il meglio da ambo le parti.
7. Time to market
Mobile in crescita (+ device)
Presentation Logic -> Client side (ajax)
Backends -> nuovi orizzonti (nosql db)
Produttività -> KISS limitare la complessità
10. io ne ho viste cose...
...che voi umani non potreste immaginarvi…
HTTP Session Replication (100+)
OutOfMemoryE (GC, Leak, perm gen, ecc)
Response time (30sec+)
Kilomentri di code JMS
Database mono-connection (transactional?)
CPU 200% per le XML trasformations
SOA XML-JOINs
EJB extend BufferOutputStream
Keep alive 120sec
Servlet throw threads
E tutti quei… componenti andranno perduti nel tempo…
Come… lacrime… nella pioggia…
12. Lo strumento non costruisce i
professionisti
Sono i professionisti che scelgono
il proprio strumento
13. Java non è multiprocesso....
La JVM corre da sola...
14. Un solo nodo per server...
-Xms == -Xmx == 512Mb
passiamo a 1GB, 2 o 3?
blocchi del server di 120sec+
Aggiungo altre CPU?
Ma ne ho già 8 e il sistema ne usa una sola al 30%
Compro un server più grande?
La scalabilità verticale è ferma
17. World Wide Web
applicazione stateless
cluster in HA (failover)
leggera
multi-processo (tanti e concorrenti)
facile da deployare
facile da manutenere nel codice e nella produzione
accesso a database prevalentemente in lettura
strumenti di sviluppo rapidi
strumenti per misurare le qualità interne
tenere un alta produttiva
19. >>> import this
The Zen of Python, by Tim Peters
Beautiful is better than ugly.
Explicit is better than implicit.
Simple is better than complex.
Complex is better than complicated.
Flat is better than nested.
Sparse is better than dense.
Readability counts.
Special cases aren't special enough to break the rules.
Although practicality beats purity.
Errors should never pass silently.
Unless explicitly silenced.
In the face of ambiguity, refuse the temptation to guess.
There should be one-- and preferably only one --obvious way to do it.
Although that way may not be obvious at first unless you're Dutch.
Now is better than never.
Although never is often better than *right* now.
If the implementation is hard to explain, it's a bad idea.
If the implementation is easy to explain, it may be a good idea.
Namespaces are one honking great idea -- let's do more of those!
20. >>> import this
The Zen of Python, by Tim Peters
Beautiful is better than ugly.
Explicit is better than implicit.
Simple is better than complex.
Complex is better than complicated.
Flat is better than nested.
Sparse is better than dense.
Readability counts.
Special cases aren't special enough to break the rules.
Although practicality beats purity.
Errors should never pass silently.
Unless explicitly silenced.
In the face of ambiguity, refuse the temptation to guess.
There should be one-- and preferably only one --obvious way to do it.
Although that way may not be obvious at first unless you're Dutch.
Now is better than never.
Although never is often better than *right* now.
If the implementation is hard to explain, it's a bad idea.
If the implementation is easy to explain, it may be a good idea.
Namespaces are one honking great idea -- let's do more of those!
30. CLOUD
C
ERLANG
JAVA
LUA
PERL
PHP
PYTHON
RUBY
in forte concorrenza
31. XML
SOAPTransport Protocol
WSDL Standard Format
UDDI and XML Standard Formats
Attachments
Authentication
(e kilometri di standard)
Ma spesso non basta HTTP?
REST?