Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

4 - Architetture Software - Architecture Portfolio


Published on

Published in: Technology, Business
  • Be the first to comment

4 - Architetture Software - Architecture Portfolio

  1. 1. A portfolio of softwarearchitectural descriptions Paolo Ciancarini
  2. 2. Agenda•  The visualization of software architectures•  Basic architectures•  Reference architectures•  Middleware architectures•  Model-driven architectures
  3. 3. Goal of this lecture•  Show a number of practical, real examples of software architectures•  Compare visualization styles•  Elicit (common) architectural patterns
  4. 4. Software architecture•  In most successful software projects, the developers working on that project have a shared understanding of the system design; this shared understanding is called architecture .•  This understanding includes how the system is divided into components and how the components interact through interfaces. These components are usually composed of smaller components, but the architecture only includes the components and interfaces that are understood by all the developers Ralph Johnson
  5. 5. Software architecture•  The global organization of a software system•  A software structure decomposable in subsystems –  Define their interfaces –  Define how they interact
  6. 6. Software architectsBill Gates, CSA Microsoft till 2006 Ray Ozzie, CSA MS 2006-2010 Kevin Lynch, CSA Adobe Nora Denzel, former CSA HP Vishal Sikka, CSA SAP Don Ferguson, former CSA IBM
  7. 7. The role of the Software Architect•  The role of the software architect involves not just technical activities, but others that are more political and strategic in nature, and more like those of a consultant•  Not all good technologists have the skills that make them good architects•  The best architects are good technologists, that command respect in the technical community, but also are good strategists, organizational politicians and leaders 8
  8. 8. A (useless) SA description•  Ci sono 4 elementi, che sono connessi in qualche modo, i tre in basso hanno qualcosa in Control Process comune (CP)•  Natura degli elementi?•  Loro responsabilità?•  Significato delle connessioni?•  Significato della struttura? Loss Reverb Noise Model Model Model (MODP) (MODR) (MODN)
  9. 9. A portfolio•  The following pictures are taken from the Web•  I used queries related to the concept of software architecture of typical software systems, like editors, compilers, operating systems, software tools•  They are examples of our main topic•  Ask yourself: what do I see?
  10. 10. Editor
  11. 11. Expert system
  12. 12. Mathematica
  13. 13. JVM
  14. 14. Applet architecture
  15. 15. J2EE
  16. 16. Tomcat
  17. 17. JINIarchitectural example
  18. 18. A game engine
  19. 19. Classic Unix
  20. 20. Monolithic vsmicrokernel
  21. 21. Linux
  22. 22. Windows NT
  23. 23. Minix
  24. 24. Windows 95and 98
  25. 25. Windows 2000
  26. 26. Windows XPWin 32-bit Win 32-bit Win 32-bit Win 32-bit App App App App Win32 Subsytem (Win32 API) User Mode Kernel Mode Executive Services Security Virtual Plug and Window I/O IPC Process Power Reference Memory Play ManagerManager Manager Manager Manager Monitor Manager Manager and GDI Object Manager Graphics File DeviceSystems Device Drivers Microkernel Drivers Hardware Abstraction Layer (HAL) Computer Hardware
  27. 27. MS Windows Vista
  28. 28. MS Office
  29. 29. MS Office: structure of documents MS Word MS Powerpoint
  30. 30. Mac OS
  31. 31. Symbian
  32. 32. Android
  33. 33. Data Distribution Service
  34. 34. Content Delivery Network
  35. 35. Eclipse
  36. 36. X Windows
  37. 37. Mozilla + Gecko
  38. 38. Flock browser
  39. 39. MSExchange(email)Server
  40. 40. Spam Firewall Architecture
  41. 41. Apache server
  42. 42. Concurrency on Apache Unix
  43. 43. MVC style architectures
  44. 44. MS Silverlight
  45. 45. Adobe AIR
  46. 46. Ruby on Rails
  47. 47. AJAX intreraction style
  48. 48. Searcharchitecture
  49. 49. Google
  50. 50. CORBA
  51. 51. J2EE
  52. 52. J2EE operating environment
  53. 53. Java web application
  54. 54. JBossapplication server
  55. 55. Web services architecture
  56. 56. Grid-likearchitecture
  57. 57. SOA
  58. 58. SOA
  59. 59. AmazonSOA
  60. 60. IBM WebSphere
  61. 61. DRMarchitecture
  62. 62. Business architecture
  63. 63. MS BizTalk
  64. 64. Social network architecture
  65. 65. What is a software architecture?•  An architecture defines structure•  An architecture defines behavior•  An architecture focuses on significant elements•  An architecture balances stakeholders needs•  An architecture conforms to an architectural style•  An architecture is influenced by its environment•  An architecture influences its environment•  An architecture influences its development team structure
  66. 66. Architectures and entitiesThe definition of a business entity is one ofthe most difficult things in the softwarearchitecture world. The problem that wehave is this combination of words business and entity , the first depictssomething very complicated and the secondstates for something simple – so we aretrying to define something like complicated-simplicity … Adam Boczek
  67. 67. Self test questions•  What do these representations have in common?•  Do they focus more on the structure or on the behavior of software architectures?•  Which analyses, reasoning and evaluations are possible on these pictures?•  Would it be possible to have a uniform architectural representation model?•  Have you recognized patterns or styles?•  Can you imagine architectural alternatives?
  68. 68. Readings• eeles/index.html!•!• !
  69. 69. Questions?