{"id":22661,"date":"2023-08-27T22:47:00","date_gmt":"2023-08-27T22:47:00","guid":{"rendered":"https:\/\/qa-site.axamit.com\/?p=3082"},"modified":"2026-06-22T06:13:36","modified_gmt":"2026-06-22T06:13:36","slug":"kluczowe-elementy-architektury-adobe-experience-manager","status":"publish","type":"post","link":"https:\/\/axamit.com\/pl\/blog\/adobe-experience-manager\/kluczowe-elementy-architektury-adobe-experience-manager\/","title":{"rendered":"Kluczowe elementy Architektury Adobe Experience Manager"},"content":{"rendered":"<div class=\"custom-toc\"><ul><li class=\"h2-toc\"><a href=\"#aem-architecture-a-basic-overview\">Architektura AEM: Podstawowy przegl\u0105d<\/a><\/li><li class=\"h2-toc\"><a href=\"#aem-as-a-cloud-service-architecture-differences\">R\u00f3\u017cnice w architekturze AEM as a Cloud Service<\/a><\/li><li class=\"h2-toc\"><a href=\"#aem-technology-stack\">Stos technologiczny AEM<\/a><\/li><li class=\"h2-toc\"><a href=\"#conclusion\">Podsumowanie<\/a><\/li><li class=\"h2-toc\"><a href=\"#faq\">FAQ<\/a><\/li><\/ul><\/div>\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-8f761849 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<p class=\"wp-block-paragraph\">Powiedzmy, \u017ce Twoja strona w\u0142a\u015bnie uruchomi\u0142a ogromn\u0105 mi\u0119dzynarodow\u0105 promocj\u0119. Trzeba utworzy\u0107 strony, przechowywa\u0107 nowe zasoby, a klienci szturmuj\u0105 Twoj\u0105 witryn\u0119. A potem\u2026 Twoja strona si\u0119 poddaje. To ostatnia rzecz, jakiej potrzebujesz.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Aby Tw\u00f3j system zarz\u0105dzania stron\u0105 radzi\u0142 sobie p\u0142ynnie niezale\u017cnie od obci\u0105\u017cenia, potrzebuje architektury, kt\u00f3ra dzia\u0142a jak dobrze naoliwiona maszyna. Ale je\u015bli nie masz pewno\u015bci, jak wygl\u0105da architektura Twojej strony, trudno oceni\u0107 jej odporno\u015b\u0107.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"http:\/\/axamit.com\/blog\/adobe-experience-manager\/aem-features\/\" data-type=\"post\" data-id=\"458\">Funkcje AEM<\/a> oferuj\u0105 architektur\u0119 zdoln\u0105 do rozwoju wraz z Tob\u0105 i s\u0105 doskona\u0142ym przyk\u0142adem tej dobrze naoliwionej maszyny. Wi\u0119c przyjrzyjmy si\u0119 jej pod lup\u0105 i zobaczmy, co j\u0105 nap\u0119dza!<\/p>\n<\/div>\n<\/div>\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-8f761849 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<h2 class=\"wp-block-heading\" id=\"aem-architecture-a-basic-overview\">Architektura AEM: Podstawowy przegl\u0105d<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Patrz\u0105c szeroko na <a href=\"https:\/\/experienceleague.adobe.com\/docs\/experience-manager-learn\/cloud-service\/introduction\/architecture.html?lang=en\" target=\"_blank\" rel=\"noopener\">architektur\u0119 Adobe Experience Manager<\/a>, platforma sk\u0142ada si\u0119 z czterech podstawowych komponent\u00f3w architektonicznych:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Autor<\/li>\n\n\n\n<li>Publikator<\/li>\n\n\n\n<li>Dyspozytor<\/li>\n\n\n\n<li>Modu\u0142 r\u00f3wnowa\u017cenia obci\u0105\u017cenia<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">Komponenty te wsp\u00f3\u0142pracuj\u0105 ze sob\u0105, aby zapewni\u0107 p\u0142ynne uruchamianie nowej zawarto\u015bci strony oraz bezproblemowe i szybkie \u0142adowanie dla u\u017cytkownik\u00f3w Twojej witryny.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Nie b\u0119dziemy zag\u0142\u0119bia\u0107 si\u0119 w szczeg\u00f3\u0142y techniczne, ale przyjrzyjmy si\u0119 z wysokiego poziomu, za co odpowiada ka\u017cdy z tych komponent\u00f3w.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"author\">Autor<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/experienceleague.adobe.com\/docs\/experience-manager-screens\/user-guide\/administering\/author-publish\/author-publish-architecture-overview.html?lang=en\" target=\"_blank\" rel=\"noopener\">Warstwa autorska<\/a> AEM to miejsce, w kt\u00f3rym pracuje Tw\u00f3j zesp\u00f3\u0142 produkuj\u0105cy tre\u015bci. Zasadniczo jest to \u015brodowisko, w kt\u00f3rym wszystkie Twoje strony internetowe b\u0119d\u0105 tworzone, organizowane i aktualizowane. To tak\u017ce tutaj b\u0119d\u0105 przesy\u0142ane wszystkie media, kt\u00f3rych planujesz u\u017cy\u0107 na swojej stronie, takie jak obrazy, filmy itp.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Warstwa autorska nigdy nie jest widoczna dla u\u017cytkownik\u00f3w ko\u0144cowych, co oznacza, \u017ce wszystko, nad czym tu pracujesz, jest niewidoczne, dop\u00f3ki nie zdecydujesz si\u0119 tego zatwierdzi\u0107 i opublikowa\u0107. Daje to tw\u00f3rcom tre\u015bci swobod\u0119 w kszta\u0142towaniu i przekszta\u0142caniu, pisaniu i przepisywaniu, projektowaniu i przeprojektowywaniu, a\u017c stworz\u0105 stron\u0119, kt\u00f3r\u0105 b\u0119d\u0105 gotowi zaprezentowa\u0107 swoim klientom.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"publish\">Publikacja<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Je\u015bli szukasz tej cz\u0119\u015bci AEM, kt\u00f3r\u0105 widz\u0105 odwiedzaj\u0105cy Twoj\u0105 witryn\u0119, to jest w\u0142a\u015bnie to. <a href=\"https:\/\/experienceleague.adobe.com\/docs\/experience-manager-screens\/user-guide\/administering\/author-publish\/author-publish-architecture-overview.html?lang=en\" target=\"_blank\" rel=\"noopener\">Warstwa publikacji<\/a> to miejsce, w kt\u00f3rym znajduje si\u0119 ca\u0142a zatwierdzona i gotowa tre\u015b\u0107 Twojej witryny, dost\u0119pna publicznie.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Po zatwierdzeniu czego\u015b do publikacji w warstwie autorskiej, przejdzie to do warstwy publikacji i b\u0119dzie dost\u0119pne dla ka\u017cdego.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"dispatcher\">Dyspozytor<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Prawdopodobnie jedna z najwa\u017cniejszych funkcji architektury AEM, <a href=\"http:\/\/axamit.com\/blog\/adobe-experience-manager\/aem-dispatcher\/\" data-type=\"post\" data-id=\"2473\">dyspozytorzy<\/a> s\u0105 odpowiedzialni za kierowanie ruchu w Twojej witrynie \u015bcie\u017ckami, kt\u00f3re zapewniaj\u0105 najszybsze dzia\u0142anie witryny.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Dyspozytorzy wykonuj\u0105 dwa g\u0142\u00f3wne zadania, kt\u00f3re pomagaj\u0105 Twojej witrynie dzia\u0142a\u0107 tak szybko, jak to mo\u017cliwe: Buforowanie i r\u00f3wnowa\u017cenie obci\u0105\u017cenia.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"http:\/\/axamit.com\/blog\/adobe-experience-manager\/dispatcher-cache\/\" data-type=\"post\" data-id=\"2487\">Dyspozytor buforuje<\/a> stron\u0119 po pierwszej wizycie u\u017cytkownika. Kolejni odwiedzaj\u0105cy otrzymuj\u0105 wersj\u0119 z bufora. Odbywa si\u0119 to w celu przyspieszenia dzia\u0142ania Twojej witryny i zmniejszenia bezpo\u015bredniego obci\u0105\u017cenia serwer\u00f3w.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Dodatkowo, dyspozytorzy r\u00f3wnomiernie roz\u0142o\u017c\u0105 ruch sieciowy kierowany do serwer\u00f3w, aby \u017caden serwer nie zosta\u0142 przeci\u0105\u017cony \u017c\u0105daniami.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"load-balancer\">R\u00f3wnowa\u017cnik obci\u0105\u017cenia<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Opr\u00f3cz zada\u0144 r\u00f3wnowa\u017cenia obci\u0105\u017cenia realizowanych przez dyspozytora, istnieje dodatkowy r\u00f3wnowa\u017cnik obci\u0105\u017cenia, kt\u00f3ry r\u00f3wnomiernie rozprasza ruch tw\u00f3rc\u00f3w tre\u015bci i u\u017cytkownik\u00f3w ko\u0144cowych pomi\u0119dzy instancje autorskie, publikacyjne i dyspozytor\u00f3w (gdy jest ich wiele).<\/p>\n<\/div>\n<\/div>\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-8f761849 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<h2 class=\"wp-block-heading\" id=\"aem-as-a-cloud-service-architecture-differences\">R\u00f3\u017cnice w architekturze AEM as a Cloud Service<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Architektura AEM Cloud Service ma podobie\u0144stwa do <a href=\"http:\/\/axamit.com\/blog\/adobe-experience-manager\/aem-6-5\/\" data-type=\"post\" data-id=\"425\">AEM 6.5<\/a> (lokalnie), ale ma r\u00f3wnie\u017c zauwa\u017calne r\u00f3\u017cnice.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Te r\u00f3\u017cnice mo\u017cna zaobserwowa\u0107 zar\u00f3wno w architekturze \u015brodowiska uruchomieniowego AEM (wewn\u0119trzne zachowanie oprogramowania z jego komponentami), jak i w architekturze wdro\u017ceniowej (spos\u00f3b zmiany kodu oprogramowania).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Przyjrzyjmy si\u0119 szybko, jak architektury \u015brodowiska uruchomieniowego i wdro\u017ceniowego s\u0105 skonfigurowane konkretnie w <a href=\"http:\/\/axamit.com\/blog\/adobe-experience-manager\/aem-as-a-cloud\/\" data-type=\"post\" data-id=\"576\">AEM as a Cloud Service<\/a>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"runtime-architecture\">Architektura \u015brodowiska uruchomieniowego<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">W AEMaaCS istniej\u0105 \u201cwarstwy\u201d autora, wydawcy i dyspozytora, tak jak w klasycznym AEM. W ka\u017cdej warstwie mo\u017ce istnie\u0107 wiele instancji autora, wydawcy i dyspozytora. Zazwyczaj ka\u017cda warstwa ma minimum dwie instancje.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Jedn\u0105 z g\u0142\u00f3wnych r\u00f3\u017cnic i zalet architektury AEM Cloud jest to, \u017ce te instancje autora, wydawcy i dyspozytora mog\u0105 niesko\u0144czenie skalowa\u0107 si\u0119 wraz z zapotrzebowaniem wynikaj\u0105cym z ruchu na Twojej stronie.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Kolejn\u0105 istotn\u0105 r\u00f3\u017cnic\u0105 w architekturze AEMaaCS jest w\u0142\u0105czenie dedykowanej \u201cwarstwy podgl\u0105du.\u201d To tutaj ca\u0142a zawarto\u015b\u0107, kt\u00f3r\u0105 tw\u00f3rcy przygotowuj\u0105 w warstwie autora, mo\u017ce zosta\u0107 wy\u015bwietlona w podgl\u0105dzie przed ostateczn\u0105 publikacj\u0105. Posiadanie oddzielnej warstwy dla tego procesu sprawia, \u017ce przegl\u0105danie zmian na stronie i nowych stron jest \u0142atwiejsze i szybsze.<\/p>\n\n\n\n<figure data-wp-context=\"{&quot;imageId&quot;:&quot;6ac554da18769&quot;}\" data-wp-interactive=\"core\/image\" data-wp-key=\"6ac554da18769\" class=\"wp-block-image size-full wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"2000\" height=\"1809\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on--pointerdown=\"actions.preloadImage\" data-wp-on--pointerenter=\"actions.preloadImageWithDelay\" data-wp-on--pointerleave=\"actions.cancelPreload\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"http:\/\/axamit.com\/wp-content\/uploads\/2023\/08\/AEM-Application-Architecture-Diagram.webp\" alt=\"\" class=\"wp-image-6458\" srcset=\"https:\/\/axamit.com\/wp-content\/uploads\/2023\/08\/AEM-Application-Architecture-Diagram.webp 2000w, https:\/\/axamit.com\/wp-content\/uploads\/2023\/08\/AEM-Application-Architecture-Diagram-300x271.webp 300w, https:\/\/axamit.com\/wp-content\/uploads\/2023\/08\/AEM-Application-Architecture-Diagram-1024x926.webp 1024w, https:\/\/axamit.com\/wp-content\/uploads\/2023\/08\/AEM-Application-Architecture-Diagram-768x695.webp 768w, https:\/\/axamit.com\/wp-content\/uploads\/2023\/08\/AEM-Application-Architecture-Diagram-1536x1389.webp 1536w\" sizes=\"auto, (max-width: 2000px) 100vw, 2000px\" \/><button\n\t\t\tclass=\"lightbox-trigger\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\tdata-wp-bind--aria-label=\"state.thisImage.triggerButtonAriaLabel\"\n\t\t\tdata-wp-init=\"callbacks.initTriggerButton\"\n\t\t\tdata-wp-on--click=\"actions.showLightbox\"\n\t\t\tdata-wp-style--right=\"state.thisImage.buttonRight\"\n\t\t\tdata-wp-style--top=\"state.thisImage.buttonTop\"\n\t\t>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewBox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" \/>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"deployment-architecture\">Architektura wdro\u017ceniowa<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Architektura wdro\u017ceniowa AEMaaCS dzia\u0142a bardzo odmiennie ni\u017c w klasycznym AEM. Ta ca\u0142kowicie nowa funkcjonalno\u015b\u0107 przyczynia si\u0119 do jednej z najwi\u0119kszych zalet AEMaaCS:\u00a0<strong>Brak przestoj\u00f3w<\/strong>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Niezale\u017cnie od tego, czy wprowadzasz aktualizacje kodu swojej aplikacji AEMaaCS, czy to Adobe wdra\u017ca automatyczne aktualizacje, proces jest taki sam:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Cloud Manager utworzy now\u0105 (nieopublikowan\u0105) wersj\u0119 Twojej aplikacji.<\/li>\n\n\n\n<li>Zmiany w kodzie zostan\u0105 wprowadzone do tej nowej wersji.<\/li>\n\n\n\n<li>Rygorystyczne testy b\u0119d\u0105 uruchamiane automatycznie w tle, aby upewni\u0107 si\u0119, \u017ce wszystko dzia\u0142a poprawnie w zaktualizowanej wersji.<\/li>\n\n\n\n<li>Nast\u0119pnie Cloud Manager prze\u0142\u0105cza si\u0119 na now\u0105 wersj\u0119.<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">Podczas prze\u0142\u0105czania na now\u0105 wersj\u0119 aplikacji AEM, Cloud Manager wykorzystuje\u00a0<strong>wzorzec stopniowej aktualizacji<\/strong>. Oznacza to, \u017ce jednocze\u015bnie aktualizuje tylko kilka cz\u0119\u015bci aplikacji, dzi\u0119ki czemu wi\u0119kszo\u015b\u0107 pozosta\u0142ych cz\u0119\u015bci pozostaje aktywna i funkcjonalna.<\/p>\n\n\n\n<figure data-wp-context=\"{&quot;imageId&quot;:&quot;6ac554da18d9b&quot;}\" data-wp-interactive=\"core\/image\" data-wp-key=\"6ac554da18d9b\" class=\"wp-block-image size-full wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"2000\" height=\"1555\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on--pointerdown=\"actions.preloadImage\" data-wp-on--pointerenter=\"actions.preloadImageWithDelay\" data-wp-on--pointerleave=\"actions.cancelPreload\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"http:\/\/axamit.com\/wp-content\/uploads\/2023\/08\/AEM-as-a-Cloud-Service-Updates-Deployment.webp\" alt=\"\" class=\"wp-image-6459\" srcset=\"https:\/\/axamit.com\/wp-content\/uploads\/2023\/08\/AEM-as-a-Cloud-Service-Updates-Deployment.webp 2000w, https:\/\/axamit.com\/wp-content\/uploads\/2023\/08\/AEM-as-a-Cloud-Service-Updates-Deployment-300x233.webp 300w, https:\/\/axamit.com\/wp-content\/uploads\/2023\/08\/AEM-as-a-Cloud-Service-Updates-Deployment-1024x796.webp 1024w, https:\/\/axamit.com\/wp-content\/uploads\/2023\/08\/AEM-as-a-Cloud-Service-Updates-Deployment-768x597.webp 768w, https:\/\/axamit.com\/wp-content\/uploads\/2023\/08\/AEM-as-a-Cloud-Service-Updates-Deployment-1536x1194.webp 1536w\" sizes=\"auto, (max-width: 2000px) 100vw, 2000px\" \/><button\n\t\t\tclass=\"lightbox-trigger\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\tdata-wp-bind--aria-label=\"state.thisImage.triggerButtonAriaLabel\"\n\t\t\tdata-wp-init=\"callbacks.initTriggerButton\"\n\t\t\tdata-wp-on--click=\"actions.showLightbox\"\n\t\t\tdata-wp-style--right=\"state.thisImage.buttonRight\"\n\t\t\tdata-wp-style--top=\"state.thisImage.buttonTop\"\n\t\t>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewBox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" \/>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Jest to wyra\u017anie odmienne od AEM 6.5, gdzie aktualizacje kodu musz\u0105 by\u0107 wykonywane r\u0119cznie i cz\u0119sto stanowi\u0105 skomplikowane zadania dla zespo\u0142u technicznego. Ponadto, aktualizacje AEM 6.5 zazwyczaj wymagaj\u0105 pewnego okresu przestoju, aby mog\u0142y zosta\u0107 wdro\u017cone. Jak mo\u017cna sobie wyobrazi\u0107, utrudnia to zapewnienie, \u017ce zawsze korzystasz z najnowszej wersji.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Architektura wdro\u017ceniowa AEMaaCS w szczeg\u00f3lno\u015bci zapewnia, \u017ce zawsze masz najnowsz\u0105 wersj\u0119 oprogramowania, poniewa\u017c Cloud Manager mo\u017ce automatycznie instalowa\u0107 aktualizacje oprogramowania w tle bez \u017cadnych przerw.<\/p>\n<\/div>\n<\/div>\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-8f761849 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<h2 class=\"wp-block-heading\" id=\"aem-technology-stack\">Stos technologiczny AEM<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Ka\u017cda wspania\u0142a platforma jest wspierana przez solidny\u00a0<a href=\"https:\/\/docs.mktossl.com\/docs\/experience-manager-learn\/cloud-service\/underlying-technology\/introduction-architecture.html?lang=en\" target=\"_blank\" rel=\"noopener\">stos<\/a>\u00a0framework\u00f3w i narz\u0119dzi, kt\u00f3re pomagaj\u0105 jej dzia\u0142a\u0107 bezproblemowo, a AEM nie jest wyj\u0105tkiem.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">AEM wymaga\u0142 specyficznego zestawu wiod\u0105cych technologii ci\u0119\u017cko pracuj\u0105cych, aby zapewni\u0107 sta\u0142\u0105 szybko\u015b\u0107 witryny, jej niezawodno\u015b\u0107 oraz p\u0142ynne tworzenie i publikowanie tre\u015bci.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Zatem, bez dalszych ceregieli, rzucimy \u015bwiat\u0142o na niekt\u00f3rych z g\u0142\u00f3wnych graczy dzia\u0142aj\u0105cych za kulisami.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"apache-sling-framework\">Framework Apache Sling<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">G\u0142\u00f3wn\u0105 odpowiedzialno\u015bci\u0105\u00a0<a href=\"https:\/\/experienceleague.adobe.com\/docs\/experience-manager-learn\/cloud-service\/underlying-technology\/introduction-sling.html?lang=en\" target=\"_blank\" rel=\"noopener\">Apache Sling<\/a>\u00a0w ramach AEM jest zarz\u0105dzanie sposobem dostarczania tre\u015bci witryny publiczno\u015bci. Sk\u0142ada si\u0119 to z kilku kluczowych funkcji:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Udost\u0119pnianie u\u017cytkownikom strony internetowej, do kt\u00f3rej pr\u00f3buj\u0105 uzyska\u0107 dost\u0119p.<\/li>\n\n\n\n<li>Dopasowywanie prawid\u0142owego adresu URL do prawid\u0142owej strony internetowej.<\/li>\n\n\n\n<li>\u0141adowanie w\u0142a\u015bciwej tre\u015bci (obraz\u00f3w, tekstu itp.) na stron\u0119, na kt\u00f3rej ma si\u0119 znajdowa\u0107.<\/li>\n\n\n\n<li>Wprowadzanie zmian w istniej\u0105cej tre\u015bci (utworzonej przez Tw\u00f3j zesp\u00f3\u0142).<\/li>\n\n\n\n<li>Ochrona stron przeznaczonych wy\u0142\u0105cznie dla wybranych os\u00f3b przed nieautoryzowanymi u\u017cytkownikami.<\/li>\n\n\n\n<li>Dodawanie niestandardowych funkcji do platformy AEM.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Bez Apache Sling, AEM nie by\u0142oby w stanie wy\u015bwietla\u0107 poprawnych stron, tre\u015bci ani dopasowanych adres\u00f3w URL nikomu, kto odwiedza Twoj\u0105 witryn\u0119, co czyni go integralnym elementem og\u00f3lnej funkcjonalno\u015bci AEM.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"osgi-framework\">Struktura OSGi<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Podczas gdy Apache Sling zajmuje si\u0119 dostarczaniem Twojej tre\u015bci,\u00a0<a href=\"https:\/\/experienceleague.adobe.com\/docs\/experience-manager-learn\/cloud-service\/underlying-technology\/introduction-osgi.html?lang=en\" target=\"_blank\" rel=\"noopener\">OSGi<\/a>\u00a0zajmuje si\u0119 kodem i zasobami, kt\u00f3re umo\u017cliwiaj\u0105 og\u00f3lne dzia\u0142anie aplikacji AEM.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Grupujekomponenty rdzenia AEM w mniejsze, \u0142atwiejsze do zarz\u0105dzania\u00a0<strong>pakiety<\/strong>, kt\u00f3re w tym kontek\u015bcie s\u0105 plikami archiwum JavaScript. Utrzymuje r\u00f3wnie\u017c organizacj\u0119 i porz\u0105dek mi\u0119dzy tymi pakietami.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">OSGi utrzymuje porz\u0105dek w kodzie AEM poprzez:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Izolowanie pakiet\u00f3w od siebie, tak aby zmiany w jednym nie zak\u0142\u00f3ca\u0142y dzia\u0142ania innych.<\/li>\n\n\n\n<li>U\u0142atwianie dodawania i usuwania pakiet\u00f3w podczas dzia\u0142ania AEM, bez konieczno\u015bci ponownego uruchamiania.<\/li>\n\n\n\n<li>Monitorowanie us\u0142ug \u015bwiadczonych przez poszczeg\u00f3lne pakiety, aby AEM m\u00f3g\u0142 \u0142atwiej je znale\u017a\u0107 i wykorzysta\u0107 do realizacji potrzebnych funkcji.<\/li>\n\n\n\n<li>Przechowywanie alternatywnych wersji tego samego pakietu, aby AEM zachowa\u0142 kompatybilno\u015b\u0107 wsteczn\u0105.<\/li>\n\n\n\n<li>Nadzorowanie zale\u017cno\u015bci mi\u0119dzy pakietami i zapewnienie, \u017ce pakiety wsp\u00f3\u0142zale\u017cne s\u0105 u\u017cywane razem.<\/li>\n\n\n\n<li>Zarz\u0105dzanie aktywacj\u0105 i dezaktywacj\u0105 pakiet\u00f3w w ca\u0142ym ich cyklu \u017cycia.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"granite-ui\">Granite UI<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">W AEM,\u00a0<a href=\"https:\/\/developer.adobe.com\/experience-manager\/reference-materials\/6-5\/granite-ui\/api\/jcr_root\/libs\/granite\/ui\/index.html\" target=\"_blank\" rel=\"noopener\">Granite UI<\/a>\u00a0to technologia, za pomoc\u0105 kt\u00f3rej Tw\u00f3j zesp\u00f3\u0142 b\u0119dzie tworzy\u0142 r\u00f3\u017cne interfejsy u\u017cytkownika na Twojej stronie. Stanowi ona podstaw\u0119 w warstwie autorskiej i odpowiada za takie rzeczy jak:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Dostarczanie narz\u0119dzi potrzebnych autorom tre\u015bci do tworzenia niestandardowych komponent\u00f3w w AEM.<\/li>\n\n\n\n<li>Strukturyzowanie, definiowanie i interpretowanie danych wej\u015bciowych z formularzy wbudowanych w Twoj\u0105 witryn\u0119.<\/li>\n\n\n\n<li>Konfigurowanie i zarz\u0105dzanie dialogami, kt\u00f3re s\u0105 komponentami wchodz\u0105cymi w interakcj\u0119 z u\u017cytkownikami witryny lub \u017c\u0105daj\u0105cymi od nich danych.<\/li>\n\n\n\n<li>Umo\u017cliwianie szerokiej personalizacji interfejsu u\u017cytkownika, dla \u0142atwego dostosowania do unikalnych projekt\u00f3w.<\/li>\n\n\n\n<li>Usprawnianie procesu tworzenia tre\u015bci poprzez zapewnienie bardziej przyjaznego dla u\u017cytkownika interfejsu.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"java-content-repository\">Repozytorium Tre\u015bci Java<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">W ramach swoich stron internetowych wi\u0119kszo\u015b\u0107 du\u017cych firm mo\u017ce spodziewa\u0107 si\u0119 niemal niesko\u0144czonej biblioteki zasob\u00f3w. A kiedy przesy\u0142asz te <a href=\"http:\/\/axamit.com\/pl\/?page_id=19728\" data-type=\"page\" data-id=\"7459\">zasoby do AEM<\/a>, wszystkie musz\u0105 gdzie\u015b trafi\u0107.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Na szcz\u0119\u015bcie, w\u0142a\u015bnie do tego s\u0142u\u017cy\u00a0<a href=\"https:\/\/experienceleague.adobe.com\/docs\/experience-manager-learn\/cloud-service\/underlying-technology\/introduction-jcr.html?lang=en\" target=\"_blank\" rel=\"noopener\">Java Content Repository<\/a>\u00a0(JCR). Repozytorium Tre\u015bci Java w Adobe Experience Manager funkcjonuje jako Tw\u00f3j g\u0142\u00f3wny system przechowywania i organizacji dla ka\u017cdego rodzaju zasob\u00f3w, kt\u00f3rych mo\u017cesz potrzebowa\u0107 na swojej stronie. Obejmuje to obrazy, filmy, tekst, audio i wiele innych.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">JCR jest si\u0142\u0105 nap\u0119dow\u0105 stoj\u0105c\u0105 za:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Przechowywanie i katalogowanie wszystkich tre\u015bci.<\/li>\n\n\n\n<li>Organizowanie tre\u015bci w hierarchii.<\/li>\n\n\n\n<li>\u015aledzenie r\u00f3\u017cnych wersji tre\u015bci.<\/li>\n\n\n\n<li>Przypisywanie metadanych do tre\u015bci.<\/li>\n\n\n\n<li>Rozbudowane mo\u017cliwo\u015bci wyszukiwania, kt\u00f3re umo\u017cliwiaj\u0105 szybkie znajdowanie tre\u015bci.<\/li>\n\n\n\n<li>Zapewnienie, \u017ce tylko u\u017cytkownicy z dost\u0119pem do tre\u015bci mog\u0105 j\u0105 zobaczy\u0107.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"apache-jackrabbit-oak\">Apache Jackrabbit Oak<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Dzia\u0142aj\u0105c w tandemie z JCR,\u00a0<a href=\"https:\/\/experienceleague.adobe.com\/docs\/experience-manager-65\/deploying\/introduction\/platform.html?lang=en\" target=\"_blank\" rel=\"noopener\">Apache Jackrabbit Oak<\/a>\u00a0jest odpowiedzialny za prawid\u0142ow\u0105 implementacj\u0119 JCR w AEM. Podczas gdy sam JCR jest jak nadrz\u0119dna lista wytycznych dla funkcjonalno\u015bci repozytorium tre\u015bci, Apache Jackrabbit Oak odpowiada za ich realizacj\u0119.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Apache Jackrabbit Oak dodaje r\u00f3wnie\u017c pewne dodatkowe mo\u017cliwo\u015bci do repozytorium tre\u015bci AEM.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Co najwa\u017cniejsze, jest kluczowym motorem zwi\u0119kszonej skalowalno\u015bci w JCR i umo\u017cliwia jednoczesne przechowywanie, organizowanie i interpretowanie wi\u0119kszych wolumen\u00f3w tre\u015bci.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Apache Jackrabbit Oak umo\u017cliwia r\u00f3wnie\u017c lepsz\u0105 mo\u017cliwo\u015b\u0107 dostosowania JCR do unikalnych potrzeb zarz\u0105dzania tre\u015bci\u0105.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Kontener Apache Felix OSGi<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Kontener Apache Felix OSGi s\u0142u\u017cy jako podstawowa struktura wspieraj\u0105ca modu\u0142ow\u0105 architektur\u0119 Adobe Experience Manager (AEM).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Umo\u017cliwia to AEM wysok\u0105 adaptacyjno\u015b\u0107, pozwalaj\u0105c programistom dodawa\u0107 lub usuwa\u0107 funkcjonalno\u015bci, znane jako \u201epakiety\u201d (bundles), bez konieczno\u015bci restartowania ca\u0142ego systemu.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ta elastyczno\u015b\u0107 zapewnia, \u017ce AEM mo\u017ce ewoluowa\u0107 wraz z potrzebami Twojej organizacji, umo\u017cliwiaj\u0105c p\u0142ynne aktualizacje i skalowalno\u015b\u0107 bez zak\u0142\u00f3cania bie\u017c\u0105cych operacji.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Przetwarzanie \u017c\u0105da\u0144 Sling<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Przetwarzanie \u017c\u0105da\u0144 Sling to komponent odpowiedzialny za zarz\u0105dzanie przychodz\u0105cymi \u017c\u0105daniami z przegl\u0105darek internetowych i kierowanie ich do odpowiedniej tre\u015bci w AEM.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Wykorzystuje mechanizm mapowania do lokalizowania \u017c\u0105danej tre\u015bci na podstawie adres\u00f3w URL i t\u0142umaczy te \u017c\u0105dania na dynamiczne strony internetowe, korzystaj\u0105c z repozytorium tre\u015bci AEM.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Dzi\u0119ki dynamicznemu sk\u0142adaniu tre\u015bci, Sling zapewnia u\u017cytkownikom spersonalizowane i responsywne do\u015bwiadczenia webowe, dopasowane do ich konkretnych \u017c\u0105da\u0144 i preferencji.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Sightly (HTL)<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Sightly, znany r\u00f3wnie\u017c jako HTML Template Language (HTL), to j\u0119zyk szablon\u00f3w u\u017cywany w AEM do tworzenia stron internetowych i komponent\u00f3w.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Zapewnia ustrukturyzowane i bezpieczne podej\u015bcie do tworzenia stron internetowych, wymuszaj\u0105c separacj\u0119 zagadnie\u0144 mi\u0119dzy warstwami tre\u015bci a prezentacji.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Programi\u015bci mog\u0105 pisa\u0107 czysty i \u0142atwy w utrzymaniu kod za pomoc\u0105 Sightly, zmniejszaj\u0105c ryzyko luk bezpiecze\u0144stwa, takich jak Cross-Site Scripting (XSS), oraz zwi\u0119kszaj\u0105c og\u00f3ln\u0105 stabilno\u015b\u0107 i wydajno\u015b\u0107 stron internetowych opartych na AEM.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">GraphQL<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">GraphQL to j\u0119zyk zapyta\u0144 i \u015brodowisko wykonawcze dla interfejs\u00f3w API, kt\u00f3re umo\u017cliwia klientom \u017c\u0105danie okre\u015blonych danych z system\u00f3w backendowych AEM.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">W przeciwie\u0144stwie do tradycyjnych interfejs\u00f3w API RESTful, GraphQL umo\u017cliwia klientom definiowanie struktury danych, kt\u00f3rych potrzebuj\u0105, zmniejszaj\u0105c nadmierne i niedostateczne pobieranie informacji.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Umo\u017cliwiaj\u0105c klientom \u017c\u0105danie wy\u0142\u0105cznie niezb\u0119dnych danych, GraphQL optymalizuje wydajno\u015b\u0107 sieci i poprawia responsywno\u015b\u0107 aplikacji opartych na AEM, co zwi\u0119ksza og\u00f3lne wra\u017cenia u\u017cytkownika.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"aem-modules-core-components-\">Modu\u0142y AEM (komponenty podstawowe)<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Interfejs autorski AEM zosta\u0142 zaprojektowany z my\u015bl\u0105 o \u0142atwej u\u017cyteczno\u015bci, solidnych mo\u017cliwo\u015bciach i elastyczno\u015bci konfiguracji. Kiedy autorzy ci\u0119\u017cko pracuj\u0105 nad tworzeniem lub edytowaniem stron internetowych w AEM, nie b\u0119d\u0105 pracowa\u0107 na minimalistycznej, pustej platformie.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">W interfejsie autorskim AEM znajduje si\u0119 trzydzie\u015bci\u00a0<a href=\"http:\/\/axamit.com\/blog\/adobe-experience-manager\/aem-core-components\/\" data-type=\"post\" data-id=\"480\">komponent\u00f3w podstawowych<\/a>, z kt\u00f3rych wszystkie s\u0105 zaprojektowane z my\u015bl\u0105 o niezawodnym u\u017cytkowaniu i mo\u017cliwo\u015bciach dostosowania. Oto kr\u00f3tki przegl\u0105d najwi\u0119kszych korzy\u015bci p\u0142yn\u0105cych ze wszystkich komponent\u00f3w:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Mo\u017cliwo\u015bci chmurowe, kt\u00f3re zapewniaj\u0105 niezawodne dzia\u0142anie komponent\u00f3w.<\/li>\n\n\n\n<li>Wszechstronno\u015b\u0107, kt\u00f3ra pozwala autorom tre\u015bci tworzy\u0107 nieograniczone uk\u0142ady stron.<\/li>\n\n\n\n<li>Przyjazno\u015b\u0107 dla SEO, kt\u00f3ra wzmacnia strony poprzez semantyczne wyj\u015bcie HTML.<\/li>\n\n\n\n<li>Mo\u017cliwo\u015b\u0107 wersjonowania, kt\u00f3ra chroni Twoj\u0105 witryn\u0119 przed awariami podczas aktualizacji komponent\u00f3w.<\/li>\n\n\n\n<li>Dost\u0119pno\u015b\u0107 jako open-source, kt\u00f3ra otwiera drzwi deweloperom do ulepszania istniej\u0105cych rozwi\u0105za\u0144.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Je\u015bli to sprawia, \u017ce chcesz wypr\u00f3bowa\u0107 interfejs autorski AEM, rozumiemy to. To pot\u0119\u017cne narz\u0119dzie, kt\u00f3re przenosi tworzenie stron na wy\u017cszy poziom i sprawia, \u017ce AEM mo\u017ce by\u0107 tak prosty lub tak z\u0142o\u017cony, jak tego potrzebujesz.<\/p>\n<\/div>\n<\/div>\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-8f761849 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<h2 class=\"wp-block-heading\" id=\"conclusion\">Podsumowanie<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Do tej pory powiniene\u015b mie\u0107 ca\u0142o\u015bciowy obraz ka\u017cdego z czterech kluczowych element\u00f3w architektury AEM, a tak\u017ce stosu technologicznego, kt\u00f3ry sk\u0142ada si\u0119 na podstawowe funkcje AEM.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Zw\u0142aszcza, gdy firmy rosn\u0105, rozszerzaj\u0105 dzia\u0142alno\u015b\u0107 na wiele oddzia\u0142\u00f3w i poszerzaj\u0105 swoje horyzonty, AEM jest zbudowany tak, aby rozwija\u0107 si\u0119 razem z nimi. Niezale\u017cnie od tego, czy masz wiele potrzeb zwi\u0105zanych z tworzeniem tre\u015bci naraz, wiele \u017c\u0105da\u0144 stron, czy te\u017c skarby zasob\u00f3w do przechowywania, rozwi\u0105zanie CMS oparte na\u00a0<a href=\"http:\/\/axamit.com\/pl\/?page_id=18086\" data-type=\"page\" data-id=\"648\">Adobe Experience Cloud<\/a>\u00a0dostosowuje si\u0119 bez wahania.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">A w dzisiejszym skomplikowanym i szybko zmieniaj\u0105cym si\u0119 krajobrazie internetowym, jest to to, czego najbardziej potrzebuj\u0105 zar\u00f3wno marketerzy, jak i projektanci interfejsu u\u017cytkownika.<\/p>\n<\/div>\n<\/div>\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-8f761849 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<h2 class=\"wp-block-heading\" id=\"faq\">FAQ<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"what-language-is-aem-written-in-\">W jakim j\u0119zyku jest napisany AEM?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">AEM jest zbudowany w oparciu o Jav\u0119.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"what-are-the-java-design-patterns-used-in-aem-\">Jakie wzorce projektowe Java s\u0105 u\u017cywane w AEM?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Ze wzgl\u0119du na modu\u0142owe mo\u017cliwo\u015bci OSGi, obs\u0142ugiwane s\u0105 liczne wzorce projektowe Java, w tym (ale nie tylko): Singleton, Whiteboard, Adapter, Resource Adapter, Decorator i Observer.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"does-aem-have-an-api-\">Czy AEM posiada API?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Tak, AEM wykorzystuje r\u00f3\u017cnorodne interfejsy API, w tym (ale nie tylko): JCR API, Apache Sling API, RESTful API i Javascript API.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"does-aem-use-spring-\">Czy AEM u\u017cywa Springa?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">AEM nie jest z natury oparty na frameworku Java Spring; jednak mo\u017ce by\u0107 zintegrowany z niestandardowym kodem zbudowanym w Springu lub niestandardowymi rozszerzeniami.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"where-does-aem-store-content-\">Gdzie AEM przechowuje zawarto\u015b\u0107?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Zawarto\u015b\u0107 jest przechowywana w repozytorium tre\u015bci Java AEM, kt\u00f3re wykorzystuje Apache Jackrabbit Oak.<\/p>\n<\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Architektura AEM: Podstawowy przegl\u0105d R\u00f3\u017cnice w architekturze AEM as a Cloud Service Stos technologiczny AEM Podsumowanie FAQ Powiedzmy, [&hellip;]<\/p>\n","protected":false},"author":11,"featured_media":5015,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"categories":[157],"tags":[],"class_list":["post-22661","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-adobe-experience-manager"],"acf":{"cta":"Give Us a Call","phone":"+1 (438) 383-6878","meta-description":"Aby zrozumie\u0107 imponuj\u0105ce mo\u017cliwo\u015bci i szybko\u015b\u0107 AEM, warto pozna\u0107 architektur\u0119 i stos technologiczny, kt\u00f3ry nap\u0119dza ten system CMS, zw\u0142aszcza bior\u0105c pod uwag\u0119 jego natywn\u0105 wersj\u0119 chmurow\u0105."},"_links":{"self":[{"href":"https:\/\/axamit.com\/pl\/wp-json\/wp\/v2\/posts\/22661","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/axamit.com\/pl\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/axamit.com\/pl\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/axamit.com\/pl\/wp-json\/wp\/v2\/users\/11"}],"replies":[{"embeddable":true,"href":"https:\/\/axamit.com\/pl\/wp-json\/wp\/v2\/comments?post=22661"}],"version-history":[{"count":1,"href":"https:\/\/axamit.com\/pl\/wp-json\/wp\/v2\/posts\/22661\/revisions"}],"predecessor-version":[{"id":22662,"href":"https:\/\/axamit.com\/pl\/wp-json\/wp\/v2\/posts\/22661\/revisions\/22662"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/axamit.com\/pl\/wp-json\/wp\/v2\/media\/5015"}],"wp:attachment":[{"href":"https:\/\/axamit.com\/pl\/wp-json\/wp\/v2\/media?parent=22661"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/axamit.com\/pl\/wp-json\/wp\/v2\/categories?post=22661"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/axamit.com\/pl\/wp-json\/wp\/v2\/tags?post=22661"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}