Rakenduste arhitektuurid

Allikas: Teadmusbaas

Iga tarkvararakenduse struktuur koosneb tarkvara elementidest (moodulid), nendevahelistest seostest ja elementide kui ka seoste omadustest. Rakenduste arhitektuuri raamistikku kirjeldab ISO/IEC/IEEE 42010 standard, mis määratleb raamistiku järgmiselt:

"Arhitektuuriraamistik kehtestab tavapraktika arhitektuurikirjelduste loomiseks, tõlgendamiseks, analüüsimiseks ja kasutamiseks konkreetses rakenduste valdkonnas või huvigruppide seltskonnas". Tarkvaratoode kavandamisel ja tellijaga läbirääkimistel on esimeseks abivahendiks loodava süsteemi ülesehitus e arhitektuur analoogselt hoonete arhitektuuriga

Arhitektuuriraamistike näideteks on: MODAF, TOGAF, Kruchten'i 4+1 vaatemudel (View Model), RM-ODP. By Original:MddVector:Wikimpan - Based on File:4+1 Architectural View Model.jpg by User:Mdd, CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=50144028

Arhitektuurimustrid on üldised, taaskasutatavad lahendused tavaliselt ettetulevate probleemide lahendamiseks tarkvara arhitektuuris e ülesehituses etteantud kontekstis e käsitluses. Nad sarnanevad disainimustritele, kuid on suurema ulatusega e üldisemad.

Mustriteegid:

  1. Kolmetasemeline (Three-tier) arhitektuur
  2. Mitmekihiline arhitektuur (Multilayered architecture)
  3. Mudel-vaade-regulaator (Model-view-controller (MVC))
  4. Valdkonnapõhine disain (Domain Driven Design)
  5. Mikrotuum (Micro-kernel)
  6. Musta tahvli muster (Blackboard pattern)
  7. Tajur-regulaator-täitur (Sensor-controller-actuator)
  8. Esitlus-üldistus-reguleerimine (Presentation–abstraction–control)

Analüüsimeetodite kasutamine ja äriintelligentsus (BI):

  1. Andmetehingute aruandlus (Transactional reporting)
  2. Tehingute analüüsid (Operational analytics)
  3. Äritegevuste analüüsid (Business analytics)
  4. Ennustavad analüüsid (Predictive analytics)
  5. Ettekirjutavad analüüsid (Prescriptive analytics)
  6. Voogude analüüsid (Streaming analytics)
  7. Andmeteadus ja keerukamad analüüsid (Data science and advanced analytics)
  8. Loomuliku keele genereerimine (Natural language generation NLP)

Hõivamismustrid (Allocation Patterns)

  1. Kaardista ja taanda (Map-reduce pattern)
  2. Mitmetasemeline (Multi-tier Pattern)


Stiiliteegid

  1. Struktuursed e ülesehituslikud
  2. Mälujaotusega
  3. Sõnumivahetusega
  4. Kohanduvad süsteemid
  5. Hajussüsteemid

On terve rida tuntud arhitektuurilisi mustreid ja stiile:

  1. Must tahvel (Blackboard).
  2. Klient-server (Client-server (2-tier, 3-tier, n-tier))
  3. Komponentidest koosnev (Component-based).
  4. Andmetekeskne (Data-centric).
  5. Sündmuskäivituv (Event-driven (or Implicit invocation))
  6. Kihiline (Layered (or Multilayered architecture))
  7. Monoliitne e ühes tükis (Monolithic application).
  8. Kollegilt kolleegile (Peer-to-peer (P2P))
  9. Konveier e "Torud ja filtrid" (Pipes and filters)
  10. Pistikprogrammid (Plug-ins)
  11. Esindusseisundi ülekandmine ja edastamine (Representational state transfer (REST))
  12. Reeglipärane (Rule-based)
  13. Teenusele keskenduv (Service-oriented)
  14. Mikroteenuste arhitektuur (Microservices architecture)
  15. Mittejagav e sõltumatute sõlmedega hajusrakendus (Shared nothing architecture)
  16. Ruumipõhine (Space-based architecture)
  17. Andmete tuletamine, teisendamine ja laadimine (Data Extraction Transformation & Loading ETL)
  18. Hallatud failiülekanne (MFT)
  19. Ettevõtte andmete lõimimine ja ettevõtte teenuste ühtne jaotamispunkt (EAI/ESB)
  20. Tehinguandmete laod (Transaction Data Stores (TDS/OLTP)
  21. Algandmete ladu (Master Data Store)
  22. Tööandmete ladu (Operational Data Store)
  23. Andmevakk (Data Mart)
  24. Andmeait (Data Warehouse)
  25. Andmetehingute aruandlus (Transactional Reporting)
  26. Tööandmete aruandlus (Operational Reporting)
  27. Analüüsiandmete aruandlus (Analytical Reporting)
  28. Algandmete jaotuspunkt (Master Data Hub)
  29. Andmeaida andmete modelleerimine (Dimensional Data Modeling)
  30. Olemi-seose mudeli andmete modelleerimine (E-R Data Modeling)
  31. Maakler (Broker pattern)
  32. Model-view-controller, Presentation-abstraction-control, Model-view-presenter, and Model-view-viewmodel
  33. Olemi osade süsteem (Entity–component–system)
  34. Paljad objektid (Naked objects)
  35. Töötav andmeladu (Operational Data Store (ODS))
  36. Avalda (kirjasta)-telli (Publish–subscribe pattern)
  37. Muud (Kompetentsikeskus, ..)


Tagasi

Allikad:

  1. Tarkvara arhitektuur inglisekeelses Wikis
  2. Arhitektuurimustrid inglisekeelses Wikis
  3. Tarkvara arhitektuuri üldine artikkel
  4. Tarkvaraahitektuuri kirjeldus inglisekeelses Wikis
  5. Marin Fowler Command Query Responsibility Segregation
  6. Arhitektuuride näited