{"id":27623,"date":"2024-07-09T15:08:22","date_gmt":"2024-07-09T13:08:22","guid":{"rendered":"https:\/\/www.codemotion.com\/magazine\/?p=27623"},"modified":"2024-07-09T15:08:50","modified_gmt":"2024-07-09T13:08:50","slug":"cell-based-architecture-un-salto-nel-buio","status":"publish","type":"post","link":"https:\/\/www.codemotion.com\/magazine\/it\/backend-it\/cell-based-architecture-un-salto-nel-buio\/","title":{"rendered":"Cell based architecture, un salto nel buio"},"content":{"rendered":"\n<p>Alcune settimane fa avevo <a href=\"https:\/\/www.codemotion.com\/magazine\/it\/backend-it\/architettura-del-software\/cose-larchitettura-platformless\/\" target=\"_blank\" aria-label=\" (opens in a new tab)\" rel=\"noreferrer noopener\" class=\"ek-link\">pubblicato un articolo<\/a> che menzionava l&#8217;architettura basata su cellule, vorrei scendere nel dettaglio di quello che questa architettura prevede e come possa essere implementata con alcune informazioni ulteriori.<\/p>\n\n\n\n<h2 class=\"gb-headline gb-headline-e55ba540 gb-headline-text\">La cellula<\/h2>\n\n\n\n<p>Sin dalla scuola primaria ai bambini viene insegnato che la cellula \u00e8 il pi\u00f9 piccolo organismo vivente, una cellula \u00e8 composta di vari elementi che le permettono di eseguire le funzioni di base come ad esempio nutrirsi, respirare, immagazzinare risorse&#8230;.<\/p>\n\n\n\n<p>Una cellula \u00e8 costruita per poter essere completamente indipendente, pu\u00f2 cooperare con altre cellule per creare organismi pi\u00f9 grandi, <strong>ed \u00e8 strutturata per mantenere intatte le proprie caratteristiche ed applica una difesa di base verso gli agenti esterni<\/strong>.<\/p>\n\n\n\n<p>Una cellula espleta funzioni basilari, solo l&#8217;insieme di diverse cellule (e la conseguente creazione di organismi complessi) permette di implementare funzioni pi\u00f9 complesse: una cellula non ha le capacit\u00e0 di afferrare un oggetto, ma l&#8217;insieme delle cellule che formano la nostra mano rendono questa funzione disponibile al corpo umano.<\/p>\n\n\n\n<figure class=\"gb-block-image gb-block-image-4f11c5a8\"><img decoding=\"async\" class=\"gb-image gb-image-4f11c5a8\" src=\"https:\/\/i.postimg.cc\/SR9bfVr9\/cell.jpg\"\/><\/figure>\n\n\n\n<h2 class=\"gb-headline gb-headline-12237dc6 gb-headline-text\">Il monolite<\/h2>\n\n\n\n<p>Avendo avuto a che fare con diverse realt\u00e0 di business, mi sono trovato negli anni ad affrontare il problema degli applicativi <em>monolitici<\/em>: programmi che erano sviluppati per poter dare all&#8217;utente finale un&#8217;interfaccia che lo connettesse in maniera diretta con il dato che deve trattare.<\/p>\n\n\n\n<p>Per iniziare a smembrare i monoliti nel corso degli anni sono stati definiti diversi pattern come ad esempio <strong>MVC (Model View Controller) che<\/strong> iniziava a definire 3 componenti differenti che possono essere sviluppate in maniera indipendente e che interagiscono tra di loro attraverso protocolli standard di comunicazione.<\/p>\n\n\n\n<p>Questo ha permesso di analizzare e suddividere in maniera sempre pi\u00f9 capillare le diverse componenti di ogni applicativo, proprio come gli scienziati hanno studiato gli esseri viventi e, tramite l&#8217;uso di appositi strumenti scientifici, ne hanno individuato le componenti di base.<\/p>\n\n\n\n<h2 class=\"gb-headline gb-headline-a01207d9 gb-headline-text\">Iniziare dall&#8217;elemento centrale<\/h2>\n\n\n\n<figure class=\"gb-block-image gb-block-image-753bb72d\"><img decoding=\"async\" class=\"gb-image gb-image-753bb72d is-style-editorskit-rounded\" src=\"https:\/\/i.postimg.cc\/t4jp2084\/a9fd0422-5ea9-4c6d-8379-66e765136804.jpg\"\/><\/figure>\n\n\n\n<p>La definizione di un&#8217;architettura capillare per implementare una soluzione di business permette di applicare ad ogni singolo componente le pratiche standard in termini di:<\/p>\n\n\n\n<p style=\"--ek-indent:20px\" class=\"has-ek-indent\"><strong>Scalabilit\u00e0<\/strong> per poter estendere le risorse necessarie ad ogni singolo elemento<\/p>\n\n\n\n<p style=\"--ek-indent:20px\" class=\"has-ek-indent\"><strong>Governance<\/strong> in modo da avere costantemente sotto controllo il corretto funzionamento del singolo elemento<\/p>\n\n\n\n<p style=\"--ek-indent:20px\" class=\"has-ek-indent\"><strong>Manutenzione<\/strong> per ogni singolo elemento viene definita una versione ed il relativo processo di sviluppo e rilascio negli ambienti di dev, test e produzione<\/p>\n\n\n\n<p>Ogni cellula non definisce al proprio interno queste componenti, ma interagisce con gli organismi che le implementano.<\/p>\n\n\n\n<h3 class=\"gb-headline gb-headline-cba1633e gb-headline-text\">Componenti della cella<\/h3>\n\n\n\n<p>Ogni cella \u00e8 un insieme di diverse componenti che sono necessarie a renderla un elemento unico e indipendente gli elementi all&#8217;interno della cellula possono comunicare tra direttamente tra di loro in maniera proprietaria.<\/p>\n\n\n\n<p>La cellula espone i propri sevizi attraverso protocolli standard che vengono dichiarati da una documentazione che supporti nozioni comune per la definizione delle interfacce.<\/p>\n\n\n\n<p>Gli organismi esterni alla cellula non conoscono gli elementi interni e non sanno con quale singolo componente interagiscano, ma si interfacciano con le risorse della cella per mezzo di un gateway che agisce sul perimetro della cellula stessa.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><img decoding=\"async\" src=\"https:\/\/github.com\/wso2\/reference-architecture\/raw\/master\/media\/ra-gw-communication-v3-20.png\" alt=\"\" style=\"aspect-ratio:1.2090301003344481;width:732px;height:auto\"\/><\/figure>\n\n\n\n<h3 class=\"gb-headline gb-headline-0bad8b05 gb-headline-text\">Antibiotici<\/h3>\n\n\n\n<p>Proprio come ogni cellula del corpo umano pu\u00f2 essere attaccata da un virus, anche questo componente architetturale ha la necessit\u00e0 di difendersi da agenti patogeni. Occorre quindi definire gli opportuni criteri di autorizzazione e di sicurezza per difendere gli elementi (applicativi e dati) interni.<\/p>\n\n\n\n<p>L&#8217;accesso tramite le API pubblicate sul gateway viene quindi autorizzato per mezzo di un Identity Provider (che pu\u00f2 essere anch&#8217;esso definito all&#8217;esterno della cellula stessa) e la dichiarazione di appositi scopes per la distinzione dei ruoli.<\/p>\n\n\n\n<p>Il dominio delle identit\u00e0 che accedono dall&#8217;esterno pu\u00f2 differire da quello necessario all&#8217;interno della cellula stessa, dove quindi si pu\u00f2 provvedere a sostituire il token di accesso alle singole risorse interne.<\/p>\n\n\n\n<h2 class=\"gb-headline gb-headline-c58ee073 gb-headline-text\">Prodotti<\/h2>\n\n\n\n<p>Di seguito alcuni elementi che possono essere utilizzati per comporre le singole cellule ed il loro scopo.<\/p>\n\n\n\n<h3 class=\"gb-headline gb-headline-abd329fd gb-headline-text\">API gateway<\/h3>\n\n\n\n<p>Il layer di API che la cellula richiede anch&#8217;esso una governance per la manutenzione legata alle evoluzioni applicative e la redazione della relativa documentazione da pubblicare per i fruitori esterni.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" src=\"https:\/\/apim.docs.wso2.com\/en\/4.3.0\/assets\/img\/learn\/apim-overview.png\" alt=\"\"\/><\/figure>\n\n\n\n<p><a href=\"https:\/\/wso2.com\/api-manager\/\" class=\"ek-link\">WSO2 API Manager<\/a> \u00e8 il prodotto per la definizione delle API, la gestione del ciclo di vita e la dichiarazione dei criteri di sicurezza sulle singole risorse. Il profilo <a href=\"https:\/\/wso2.com\/micro-integrator\/\" target=\"_blank\" aria-label=\" (opens in a new tab)\" rel=\"noreferrer noopener\" class=\"ek-link\">Micro Integrator<\/a> permette di implementare le logiche di integrazione e trasformazione basate sui microservizi disponibili.<\/p>\n\n\n\n<h3 class=\"gb-headline gb-headline-03a5910b gb-headline-text\">Sicurezza<\/h3>\n\n\n\n<p>In ottica security by design occorre approcciare questo argomento da diversi punti di vista. L&#8217;accesso alle API pu\u00f2 essere validato per mezzo di un Identity Provider, l&#8217;integrazione di <a aria-label=\" (opens in a new tab)\" href=\"https:\/\/wso2.com\/identity-server\/\" target=\"_blank\" rel=\"noreferrer noopener\" class=\"ek-link\">WSO2 Identity Server<\/a> \u00e8 di aiuto per la definizione delle logiche di autenticazione ed autorizzazione ed integra connettori per svariati IdP esterni.<\/p>\n\n\n\n<p>Per non fermarsi alla sicurezza perimetrale una soluzione \u00e8 quella di integrare <a href=\"https:\/\/42crunch.com\/\" target=\"_blank\" aria-label=\" (opens in a new tab)\" rel=\"noreferrer noopener\" class=\"ek-link\">42Crunch<\/a>, un prodotto che effettua una scansione sulla definizione delle API per individuare eventuali falle di sicurezza e fornisce un servizio di Firewall che pu\u00f2 essere deployato in modalit\u00e0 sydecar per validare le API a runtime.<\/p>\n\n\n\n<p>La piattaforma 42Crunch protegge automaticamente le API dalle 10 principali vulnerabilit\u00e0 di sicurezza OWASP, si pu\u00f2 integrare nativamente con gli IDE di sviluppo, i tools di CI\/CD ed il runtime delle API in modo da avere una verifica costante sulle eventuali falle di sicurezza.<\/p>\n\n\n\n<h2 class=\"gb-headline gb-headline-a4292d70 gb-headline-text\"><\/h2>\n","protected":false},"excerpt":{"rendered":"<p>Alcune settimane fa avevo pubblicato un articolo che menzionava l&#8217;architettura basata su cellule, vorrei scendere nel dettaglio di quello che questa architettura prevede e come possa essere implementata con alcune informazioni ulteriori. La cellula Sin dalla scuola primaria ai bambini viene insegnato che la cellula \u00e8 il pi\u00f9 piccolo organismo vivente, una cellula \u00e8 composta&#8230; <a class=\"more-link\" href=\"https:\/\/www.codemotion.com\/magazine\/it\/backend-it\/cell-based-architecture-un-salto-nel-buio\/\">Read more<\/a><\/p>\n","protected":false},"author":237,"featured_media":27246,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_editorskit_title_hidden":false,"_editorskit_reading_time":0,"_editorskit_is_block_options_detached":false,"_editorskit_block_options_position":"{}","_uag_custom_page_level_css":"","_genesis_hide_title":false,"_genesis_hide_breadcrumbs":false,"_genesis_hide_singular_image":false,"_genesis_hide_footer_widgets":false,"_genesis_custom_body_class":"","_genesis_custom_post_class":"","_genesis_layout":"","footnotes":""},"categories":[10263],"tags":[10246,12115],"collections":[11708],"class_list":{"0":"post-27623","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-backend-it","8":"tag-architettura-cloud","9":"tag-software-architecture-it","10":"collections-dalla-community","11":"entry"},"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v26.9 (Yoast SEO v27.5) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Cell based architecture, un salto nel buio - Codemotion Magazine<\/title>\n<meta name=\"description\" content=\"Scopri come questa innovativa architettura consente la realizzazione di funzioni complesse attraverso la cooperazione di unit\u00e0 semplici.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.codemotion.com\/magazine\/it\/backend-it\/cell-based-architecture-un-salto-nel-buio\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Cell based architecture, un salto nel buio\" \/>\n<meta property=\"og:description\" content=\"Scopri come questa innovativa architettura consente la realizzazione di funzioni complesse attraverso la cooperazione di unit\u00e0 semplici.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.codemotion.com\/magazine\/it\/backend-it\/cell-based-architecture-un-salto-nel-buio\/\" \/>\n<meta property=\"og:site_name\" content=\"Codemotion Magazine\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/Codemotion.Italy\/\" \/>\n<meta property=\"article:published_time\" content=\"2024-07-09T13:08:22+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-07-09T13:08:50+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2024\/04\/DALL\u00b7E-2024-04-23-12.57.53-A-conceptual-digital-magazine-cover-image-for-an-article-about-structural-design-patterns-in-software-development.-The-image-should-represent-abstract.webp\" \/>\n\t<meta property=\"og:image:width\" content=\"1792\" \/>\n\t<meta property=\"og:image:height\" content=\"1024\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/webp\" \/>\n<meta name=\"author\" content=\"gabroglio\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@CodemotionIT\" \/>\n<meta name=\"twitter:site\" content=\"@CodemotionIT\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"gabroglio\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"5 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/it\\\/backend-it\\\/cell-based-architecture-un-salto-nel-buio\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/it\\\/backend-it\\\/cell-based-architecture-un-salto-nel-buio\\\/\"},\"author\":{\"name\":\"gabroglio\",\"@id\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/#\\\/schema\\\/person\\\/b432d9b2d57b861b6fc205a1f767112c\"},\"headline\":\"Cell based architecture, un salto nel buio\",\"datePublished\":\"2024-07-09T13:08:22+00:00\",\"dateModified\":\"2024-07-09T13:08:50+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/it\\\/backend-it\\\/cell-based-architecture-un-salto-nel-buio\\\/\"},\"wordCount\":833,\"publisher\":{\"@id\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/it\\\/backend-it\\\/cell-based-architecture-un-salto-nel-buio\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/wp-content\\\/uploads\\\/2024\\\/04\\\/DALL\u00b7E-2024-04-23-12.57.53-A-conceptual-digital-magazine-cover-image-for-an-article-about-structural-design-patterns-in-software-development.-The-image-should-represent-abstract.webp\",\"keywords\":[\"architettura cloud\",\"Software Architecture\"],\"articleSection\":[\"Backend\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/it\\\/backend-it\\\/cell-based-architecture-un-salto-nel-buio\\\/\",\"url\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/it\\\/backend-it\\\/cell-based-architecture-un-salto-nel-buio\\\/\",\"name\":\"Cell based architecture, un salto nel buio - Codemotion Magazine\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/it\\\/backend-it\\\/cell-based-architecture-un-salto-nel-buio\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/it\\\/backend-it\\\/cell-based-architecture-un-salto-nel-buio\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/wp-content\\\/uploads\\\/2024\\\/04\\\/DALL\u00b7E-2024-04-23-12.57.53-A-conceptual-digital-magazine-cover-image-for-an-article-about-structural-design-patterns-in-software-development.-The-image-should-represent-abstract.webp\",\"datePublished\":\"2024-07-09T13:08:22+00:00\",\"dateModified\":\"2024-07-09T13:08:50+00:00\",\"description\":\"Scopri come questa innovativa architettura consente la realizzazione di funzioni complesse attraverso la cooperazione di unit\u00e0 semplici.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/it\\\/backend-it\\\/cell-based-architecture-un-salto-nel-buio\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/it\\\/backend-it\\\/cell-based-architecture-un-salto-nel-buio\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/it\\\/backend-it\\\/cell-based-architecture-un-salto-nel-buio\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/wp-content\\\/uploads\\\/2024\\\/04\\\/DALL\u00b7E-2024-04-23-12.57.53-A-conceptual-digital-magazine-cover-image-for-an-article-about-structural-design-patterns-in-software-development.-The-image-should-represent-abstract.webp\",\"contentUrl\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/wp-content\\\/uploads\\\/2024\\\/04\\\/DALL\u00b7E-2024-04-23-12.57.53-A-conceptual-digital-magazine-cover-image-for-an-article-about-structural-design-patterns-in-software-development.-The-image-should-represent-abstract.webp\",\"width\":1792,\"height\":1024,\"caption\":\"design pattern strutturali con java. Una guida. cell based architecture\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/it\\\/backend-it\\\/cell-based-architecture-un-salto-nel-buio\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Backend\",\"item\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/it\\\/backend-it\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Cell based architecture, un salto nel buio\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/#website\",\"url\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/\",\"name\":\"Codemotion Magazine\",\"description\":\"We code the future. Together\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/#organization\",\"name\":\"Codemotion\",\"url\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/wp-content\\\/uploads\\\/2019\\\/11\\\/codemotionlogo.png\",\"contentUrl\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/wp-content\\\/uploads\\\/2019\\\/11\\\/codemotionlogo.png\",\"width\":225,\"height\":225,\"caption\":\"Codemotion\"},\"image\":{\"@id\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/Codemotion.Italy\\\/\",\"https:\\\/\\\/x.com\\\/CodemotionIT\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/#\\\/schema\\\/person\\\/b432d9b2d57b861b6fc205a1f767112c\",\"name\":\"gabroglio\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/wp-content\\\/uploads\\\/2024\\\/03\\\/1653294311388-100x100.jpeg\",\"url\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/wp-content\\\/uploads\\\/2024\\\/03\\\/1653294311388-100x100.jpeg\",\"contentUrl\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/wp-content\\\/uploads\\\/2024\\\/03\\\/1653294311388-100x100.jpeg\",\"caption\":\"gabroglio\"},\"sameAs\":[\"https:\\\/\\\/www.linkedin.com\\\/in\\\/gabroglio\\\/\"],\"url\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/author\\\/gabroglio\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Cell based architecture, un salto nel buio - Codemotion Magazine","description":"Scopri come questa innovativa architettura consente la realizzazione di funzioni complesse attraverso la cooperazione di unit\u00e0 semplici.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.codemotion.com\/magazine\/it\/backend-it\/cell-based-architecture-un-salto-nel-buio\/","og_locale":"en_US","og_type":"article","og_title":"Cell based architecture, un salto nel buio","og_description":"Scopri come questa innovativa architettura consente la realizzazione di funzioni complesse attraverso la cooperazione di unit\u00e0 semplici.","og_url":"https:\/\/www.codemotion.com\/magazine\/it\/backend-it\/cell-based-architecture-un-salto-nel-buio\/","og_site_name":"Codemotion Magazine","article_publisher":"https:\/\/www.facebook.com\/Codemotion.Italy\/","article_published_time":"2024-07-09T13:08:22+00:00","article_modified_time":"2024-07-09T13:08:50+00:00","og_image":[{"width":1792,"height":1024,"url":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2024\/04\/DALL\u00b7E-2024-04-23-12.57.53-A-conceptual-digital-magazine-cover-image-for-an-article-about-structural-design-patterns-in-software-development.-The-image-should-represent-abstract.webp","type":"image\/webp"}],"author":"gabroglio","twitter_card":"summary_large_image","twitter_creator":"@CodemotionIT","twitter_site":"@CodemotionIT","twitter_misc":{"Written by":"gabroglio","Est. reading time":"5 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.codemotion.com\/magazine\/it\/backend-it\/cell-based-architecture-un-salto-nel-buio\/#article","isPartOf":{"@id":"https:\/\/www.codemotion.com\/magazine\/it\/backend-it\/cell-based-architecture-un-salto-nel-buio\/"},"author":{"name":"gabroglio","@id":"https:\/\/www.codemotion.com\/magazine\/#\/schema\/person\/b432d9b2d57b861b6fc205a1f767112c"},"headline":"Cell based architecture, un salto nel buio","datePublished":"2024-07-09T13:08:22+00:00","dateModified":"2024-07-09T13:08:50+00:00","mainEntityOfPage":{"@id":"https:\/\/www.codemotion.com\/magazine\/it\/backend-it\/cell-based-architecture-un-salto-nel-buio\/"},"wordCount":833,"publisher":{"@id":"https:\/\/www.codemotion.com\/magazine\/#organization"},"image":{"@id":"https:\/\/www.codemotion.com\/magazine\/it\/backend-it\/cell-based-architecture-un-salto-nel-buio\/#primaryimage"},"thumbnailUrl":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2024\/04\/DALL\u00b7E-2024-04-23-12.57.53-A-conceptual-digital-magazine-cover-image-for-an-article-about-structural-design-patterns-in-software-development.-The-image-should-represent-abstract.webp","keywords":["architettura cloud","Software Architecture"],"articleSection":["Backend"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.codemotion.com\/magazine\/it\/backend-it\/cell-based-architecture-un-salto-nel-buio\/","url":"https:\/\/www.codemotion.com\/magazine\/it\/backend-it\/cell-based-architecture-un-salto-nel-buio\/","name":"Cell based architecture, un salto nel buio - Codemotion Magazine","isPartOf":{"@id":"https:\/\/www.codemotion.com\/magazine\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.codemotion.com\/magazine\/it\/backend-it\/cell-based-architecture-un-salto-nel-buio\/#primaryimage"},"image":{"@id":"https:\/\/www.codemotion.com\/magazine\/it\/backend-it\/cell-based-architecture-un-salto-nel-buio\/#primaryimage"},"thumbnailUrl":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2024\/04\/DALL\u00b7E-2024-04-23-12.57.53-A-conceptual-digital-magazine-cover-image-for-an-article-about-structural-design-patterns-in-software-development.-The-image-should-represent-abstract.webp","datePublished":"2024-07-09T13:08:22+00:00","dateModified":"2024-07-09T13:08:50+00:00","description":"Scopri come questa innovativa architettura consente la realizzazione di funzioni complesse attraverso la cooperazione di unit\u00e0 semplici.","breadcrumb":{"@id":"https:\/\/www.codemotion.com\/magazine\/it\/backend-it\/cell-based-architecture-un-salto-nel-buio\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.codemotion.com\/magazine\/it\/backend-it\/cell-based-architecture-un-salto-nel-buio\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.codemotion.com\/magazine\/it\/backend-it\/cell-based-architecture-un-salto-nel-buio\/#primaryimage","url":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2024\/04\/DALL\u00b7E-2024-04-23-12.57.53-A-conceptual-digital-magazine-cover-image-for-an-article-about-structural-design-patterns-in-software-development.-The-image-should-represent-abstract.webp","contentUrl":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2024\/04\/DALL\u00b7E-2024-04-23-12.57.53-A-conceptual-digital-magazine-cover-image-for-an-article-about-structural-design-patterns-in-software-development.-The-image-should-represent-abstract.webp","width":1792,"height":1024,"caption":"design pattern strutturali con java. Una guida. cell based architecture"},{"@type":"BreadcrumbList","@id":"https:\/\/www.codemotion.com\/magazine\/it\/backend-it\/cell-based-architecture-un-salto-nel-buio\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.codemotion.com\/magazine\/"},{"@type":"ListItem","position":2,"name":"Backend","item":"https:\/\/www.codemotion.com\/magazine\/it\/backend-it\/"},{"@type":"ListItem","position":3,"name":"Cell based architecture, un salto nel buio"}]},{"@type":"WebSite","@id":"https:\/\/www.codemotion.com\/magazine\/#website","url":"https:\/\/www.codemotion.com\/magazine\/","name":"Codemotion Magazine","description":"We code the future. Together","publisher":{"@id":"https:\/\/www.codemotion.com\/magazine\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.codemotion.com\/magazine\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.codemotion.com\/magazine\/#organization","name":"Codemotion","url":"https:\/\/www.codemotion.com\/magazine\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.codemotion.com\/magazine\/#\/schema\/logo\/image\/","url":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/11\/codemotionlogo.png","contentUrl":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/11\/codemotionlogo.png","width":225,"height":225,"caption":"Codemotion"},"image":{"@id":"https:\/\/www.codemotion.com\/magazine\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/Codemotion.Italy\/","https:\/\/x.com\/CodemotionIT"]},{"@type":"Person","@id":"https:\/\/www.codemotion.com\/magazine\/#\/schema\/person\/b432d9b2d57b861b6fc205a1f767112c","name":"gabroglio","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2024\/03\/1653294311388-100x100.jpeg","url":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2024\/03\/1653294311388-100x100.jpeg","contentUrl":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2024\/03\/1653294311388-100x100.jpeg","caption":"gabroglio"},"sameAs":["https:\/\/www.linkedin.com\/in\/gabroglio\/"],"url":"https:\/\/www.codemotion.com\/magazine\/author\/gabroglio\/"}]}},"featured_image_src":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2024\/04\/DALL\u00b7E-2024-04-23-12.57.53-A-conceptual-digital-magazine-cover-image-for-an-article-about-structural-design-patterns-in-software-development.-The-image-should-represent-abstract-600x400.webp","featured_image_src_square":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2024\/04\/DALL\u00b7E-2024-04-23-12.57.53-A-conceptual-digital-magazine-cover-image-for-an-article-about-structural-design-patterns-in-software-development.-The-image-should-represent-abstract-600x600.webp","author_info":{"display_name":"gabroglio","author_link":"https:\/\/www.codemotion.com\/magazine\/author\/gabroglio\/"},"uagb_featured_image_src":{"full":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2024\/04\/DALL\u00b7E-2024-04-23-12.57.53-A-conceptual-digital-magazine-cover-image-for-an-article-about-structural-design-patterns-in-software-development.-The-image-should-represent-abstract.webp",1792,1024,false],"thumbnail":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2024\/04\/DALL\u00b7E-2024-04-23-12.57.53-A-conceptual-digital-magazine-cover-image-for-an-article-about-structural-design-patterns-in-software-development.-The-image-should-represent-abstract-150x150.webp",150,150,true],"medium":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2024\/04\/DALL\u00b7E-2024-04-23-12.57.53-A-conceptual-digital-magazine-cover-image-for-an-article-about-structural-design-patterns-in-software-development.-The-image-should-represent-abstract-300x171.webp",300,171,true],"medium_large":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2024\/04\/DALL\u00b7E-2024-04-23-12.57.53-A-conceptual-digital-magazine-cover-image-for-an-article-about-structural-design-patterns-in-software-development.-The-image-should-represent-abstract-768x439.webp",768,439,true],"large":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2024\/04\/DALL\u00b7E-2024-04-23-12.57.53-A-conceptual-digital-magazine-cover-image-for-an-article-about-structural-design-patterns-in-software-development.-The-image-should-represent-abstract-1024x585.webp",1024,585,true],"1536x1536":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2024\/04\/DALL\u00b7E-2024-04-23-12.57.53-A-conceptual-digital-magazine-cover-image-for-an-article-about-structural-design-patterns-in-software-development.-The-image-should-represent-abstract-1536x878.webp",1536,878,true],"2048x2048":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2024\/04\/DALL\u00b7E-2024-04-23-12.57.53-A-conceptual-digital-magazine-cover-image-for-an-article-about-structural-design-patterns-in-software-development.-The-image-should-represent-abstract.webp",1792,1024,false],"small-home-featured":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2024\/04\/DALL\u00b7E-2024-04-23-12.57.53-A-conceptual-digital-magazine-cover-image-for-an-article-about-structural-design-patterns-in-software-development.-The-image-should-represent-abstract-100x100.webp",100,100,true],"sidebar-featured":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2024\/04\/DALL\u00b7E-2024-04-23-12.57.53-A-conceptual-digital-magazine-cover-image-for-an-article-about-structural-design-patterns-in-software-development.-The-image-should-represent-abstract-180x128.webp",180,128,true],"genesis-singular-images":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2024\/04\/DALL\u00b7E-2024-04-23-12.57.53-A-conceptual-digital-magazine-cover-image-for-an-article-about-structural-design-patterns-in-software-development.-The-image-should-represent-abstract-896x504.webp",896,504,true],"archive-featured":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2024\/04\/DALL\u00b7E-2024-04-23-12.57.53-A-conceptual-digital-magazine-cover-image-for-an-article-about-structural-design-patterns-in-software-development.-The-image-should-represent-abstract-400x225.webp",400,225,true],"gb-block-post-grid-landscape":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2024\/04\/DALL\u00b7E-2024-04-23-12.57.53-A-conceptual-digital-magazine-cover-image-for-an-article-about-structural-design-patterns-in-software-development.-The-image-should-represent-abstract-600x400.webp",600,400,true],"gb-block-post-grid-square":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2024\/04\/DALL\u00b7E-2024-04-23-12.57.53-A-conceptual-digital-magazine-cover-image-for-an-article-about-structural-design-patterns-in-software-development.-The-image-should-represent-abstract-600x600.webp",600,600,true]},"uagb_author_info":{"display_name":"gabroglio","author_link":"https:\/\/www.codemotion.com\/magazine\/author\/gabroglio\/"},"uagb_comment_info":0,"uagb_excerpt":"Alcune settimane fa avevo pubblicato un articolo che menzionava l&#8217;architettura basata su cellule, vorrei scendere nel dettaglio di quello che questa architettura prevede e come possa essere implementata con alcune informazioni ulteriori. La cellula Sin dalla scuola primaria ai bambini viene insegnato che la cellula \u00e8 il pi\u00f9 piccolo organismo vivente, una cellula \u00e8 composta&#8230;&hellip;","lang":"it","_links":{"self":[{"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/posts\/27623","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/users\/237"}],"replies":[{"embeddable":true,"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/comments?post=27623"}],"version-history":[{"count":3,"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/posts\/27623\/revisions"}],"predecessor-version":[{"id":28624,"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/posts\/27623\/revisions\/28624"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/media\/27246"}],"wp:attachment":[{"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/media?parent=27623"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/categories?post=27623"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/tags?post=27623"},{"taxonomy":"collections","embeddable":true,"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/collections?post=27623"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}