Your SlideShare is downloading. ×
Maze Enterprise: front-end e back-end. Trova la miglior soluzione!
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Introducing the official SlideShare app

Stunning, full-screen experience for iPhone and Android

Text the download link to your phone

Standard text messaging rates apply

Maze Enterprise: front-end e back-end. Trova la miglior soluzione!

935
views

Published on

La presentazione di K-Tech all'evento Codemotion del 5 marzo a Roma http://www.codemotion.it/ …

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.

Published in: Technology

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
935
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. aMazing Enterprisefront-end & back-end Ecco la miglior soluzione! Roma 5 Marzo, 2011
  • 2. Simone Federici s.federici@k-tech.it
  • 3. Si fanno cosi le applicazioni?
  • 4. Sempre e comunque... la stessa storia?
  • 5. ... usiamo una combinazione magica di framework.... oketi poketi oketi wa...
  • 6. Prima chiediamoci... Cosa dobbiamo realizzare? e per chi?
  • 7. Time to market Mobile in crescita (+ device) Presentation Logic -> Client side (ajax) Backends -> nuovi orizzonti (nosql db) Produttività -> KISS limitare la complessità
  • 8. Di cosa abbiamo bisogno? Quali le possibilità?
  • 9. J2EE ...una certezza...
  • 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 JMSDatabase mono-connection (transactional?)CPU 200% per le XML trasformationsSOA XML-JOINsEJB extend BufferOutputStreamKeep alive 120secServlet throw threads E tutti quei… componenti andranno perduti nel tempo… Come… lacrime… nella pioggia…
  • 11. Lo strumento non costruisce i professionisti
  • 12. Lo strumento non costruisce i professionistiSono 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
  • 15. LHTTP Session è un dramma meglio stateless
  • 16. 87% Letture10% Scritture 3% Transazioni
  • 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
  • 18. Sviluppo front-endNoi scegliamo un ambiente dinamico
  • 19. >>> import thisThe Zen of Python, by Tim PetersBeautiful 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 arent 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 youre Dutch.Now is better than never.Although never is often better than *right* now.If the implementation is hard to explain, its a bad idea.If the implementation is easy to explain, it may be a good idea.Namespaces are one honking great idea -- lets 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 arent 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 youre Dutch. Now is better than never. Although never is often better than *right* now. If the implementation is hard to explain, its a bad idea. If the implementation is easy to explain, it may be a good idea. Namespaces are one honking great idea -- lets do more of those!
  • 21. refactoring..coding easy..Oggi al codemotion:Estrazione 5 Licenzee coupons al 50%
  • 22. eggvirtualenveasy_installmod_wsgibasta solo apache ...
  • 23. HA ClustersFailover Clusters Vi avevano detto che è un problema complesso?
  • 24. Better Failover... E avete mai considerato NOSQL?
  • 25. Sviluppo back-endcon tanta attenzione a non sbagliare strada
  • 26. Java IntegrationEmbedded Systems XA Transactions remote services
  • 27. EJB scalabilità
  • 28. JMS TODO list o event driven?
  • 29. SOA niente da perdere
  • 30. CLOUD C ERLANG JAVA LUA PERL PHP PYTHON RUBY in forte concorrenza
  • 31. XMLSOAPTransport ProtocolWSDL Standard FormatUDDI and XML Standard FormatsAttachmentsAuthentication(e kilometri di standard) Ma spesso non basta HTTP? REST?
  • 32. WebServices suds / SOAPpy / jsonrcpRemote Invocation PyRo / RPyCDistribuite Task CeleryMessaging Stomp / JMS Bridge
  • 33. www.k-tech.itQuestions?s.federici@k-tech.it