Modelli applicativi per il Cloud Computing - Part 1 - Edition 2014

335 views
246 views

Published on

Some history developing applications, starting from OOP and three tier. The limitations, and some mistakes. Prepare moving to new architectures for Cloud Computing...in part 2

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
335
On SlideShare
0
From Embeds
0
Number of Embeds
4
Actions
Shares
0
Downloads
7
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Modelli applicativi per il Cloud Computing - Part 1 - Edition 2014

  1. 1. Modelli applicativi per il Cloud Compunting/#1 Edizione 2014 Marco Parenzan
  2. 2. MANUTENIBILITÀ VS. PERFORMANCES
  3. 3. Cos’è una applicazione? Per l’utente un «monolito» Soluzione Applicativa «vede una Interfaccia utente» Un’icona da clikkare Un programma da eseguire Un file .exe sul disco Utente
  4. 4. Programmazione Orientata agli Oggetti  Modellare la realtà, ma anche no  È un paradigma, alla pari della programmazione imperativa e della programmazione funzionale  È una tecnologia, non una filosofia  Attenzione i linguaggi:  Statically typed, strongly typed, class based (Java, C#)  Class-based (Ruby, Python)  Non Class-based (Javascript)
  5. 5. Cos’è una applicazione? Per la OOP…  È un insieme di oggetti  …tra l’altro, non si può più dire «è un insieme di classi»
  6. 6. Three Tier
  7. 7. Design Patterns per i tiers dell’applicazione  Come scrivo gli oggetti?  Alla fine li posso classificare in alcune categorie  Derivano dall’esperienza di scrive «oggetti»
  8. 8. Entità  Cos’è una entità?  Rapprentazione (astrazione) di qualcosa di reale  Non è detto che sia concreto neppure nel mondo reale (un metodo, una procedura, ...)  Esempi  Ordine  Bolla  Fattura  Articolo  Utente  Caratterizzate da  Stato: insieme delle sue proprietà  Interazione  Con le entità «circostanti»
  9. 9. Three Tier + 1
  10. 10. Three Tier Contracts  Contratto: qualcosa per cui due si mettono d’accordo  Due layer comunicano: si accordano su come comunicare.  Tipicamente uno definisce una funzionalità e uno la consume
  11. 11. Cos’è una interfaccia  Definisce in Object Orientation COSA fare, ma non il come  Es.  Persistenza di entità  GetAll  GetSingle  Update  Delete
  12. 12. Modelli applicativi per il Cloud Compunting/#1 Criticità
  13. 13. A single model cannot solve every problem  A single model cannot be appropriate for reporting, searching, and transactional behaviors…
  14. 14. Anemic model  No actions on object  Only Values (and accessor methods)  A persistence-focused approach
  15. 15. Il database non è un buon punto di partenza  Non si deve scegliere a priori  Come qualsiasi altra tecnologia, bisogna valutare quali funzionalità mette a disposizione  Altrimenti diventa un vincolo di progetto
  16. 16. Tecnologie di accesso ai dati  SQL (Specifico)  SQL (standard)  xdbc  ORM  NoSql  Web Services  REST
  17. 17. Modelli applicativi per il Cloud Compunting/#1 Un assaggio di futuro
  18. 18.  A method that returns data should not change the state of the object itself
  19. 19.  A method that change the state should not return any information
  20. 20.  “Every method should either be a command that performs an action, or a query that returns data to the caller, but not both.”
  21. 21. Different models for different needs Write Model Read Model
  22. 22. Modelli applicativi per il Cloud Compunting/#1 Edizione 2014 Marco Parenzan

×