ABONAMENTE VIDEO REDACȚIA
RO
EN
Numărul 148 Numărul 147 Numărul 146 Numărul 145 Numărul 144 Numărul 143 Numărul 142 Numărul 141 Numărul 140 Numărul 139 Numărul 138 Numărul 137 Numărul 136 Numărul 135 Numărul 134 Numărul 133 Numărul 132 Numărul 131 Numărul 130 Numărul 129 Numărul 128 Numărul 127 Numărul 126 Numărul 125 Numărul 124 Numărul 123 Numărul 122 Numărul 121 Numărul 120 Numărul 119 Numărul 118 Numărul 117 Numărul 116 Numărul 115 Numărul 114 Numărul 113 Numărul 112 Numărul 111 Numărul 110 Numărul 109 Numărul 108 Numărul 107 Numărul 106 Numărul 105 Numărul 104 Numărul 103 Numărul 102 Numărul 101 Numărul 100 Numărul 99 Numărul 98 Numărul 97 Numărul 96 Numărul 95 Numărul 94 Numărul 93 Numărul 92 Numărul 91 Numărul 90 Numărul 89 Numărul 88 Numărul 87 Numărul 86 Numărul 85 Numărul 84 Numărul 83 Numărul 82 Numărul 81 Numărul 80 Numărul 79 Numărul 78 Numărul 77 Numărul 76 Numărul 75 Numărul 74 Numărul 73 Numărul 72 Numărul 71 Numărul 70 Numărul 69 Numărul 68 Numărul 67 Numărul 66 Numărul 65 Numărul 64 Numărul 63 Numărul 62 Numărul 61 Numărul 60 Numărul 59 Numărul 58 Numărul 57 Numărul 56 Numărul 55 Numărul 54 Numărul 53 Numărul 52 Numărul 51 Numărul 50 Numărul 49 Numărul 48 Numărul 47 Numărul 46 Numărul 45 Numărul 44 Numărul 43 Numărul 42 Numărul 41 Numărul 40 Numărul 39 Numărul 38 Numărul 37 Numărul 36 Numărul 35 Numărul 34 Numărul 33 Numărul 32 Numărul 31 Numărul 30 Numărul 29 Numărul 28 Numărul 27 Numărul 26 Numărul 25 Numărul 24 Numărul 23 Numărul 22 Numărul 21 Numărul 20 Numărul 19 Numărul 18 Numărul 17 Numărul 16 Numărul 15 Numărul 14 Numărul 13 Numărul 12 Numărul 11 Numărul 10 Numărul 9 Numărul 8 Numărul 7 Numărul 6 Numărul 5 Numărul 4 Numărul 3 Numărul 2 Numărul 1
×
▼ LISTĂ EDIȚII ▼
Numărul 55
Abonament PDF

Sitecore: un studiu de caz

Andrei Avram
Developer @ Endava



PROGRAMARE


Începi să construiești o aplicație web. Cum ar trebui să procedezi? Este un Content Management System (CMS) necesar? Merită să avem aşa ceva? S-a publicat multă informaţie contradictorie sau inconsecventă pe acest subiect, iar, la drept vorbind, nu avem un răspuns definitiv la aceste întrebări. Există argumente foarte pertinente de ambele părți - atât în favoarea, cât și împotriva adoptării unui astfel de sistem.

Acest articol nu încearcă să epuizeze problematica, aşa cum nu încearcă nici să dea răspunsuri finale. E mai degrabă o descriere succintă a unei variante fezabile la pletora de soluţii existente.

A utiliza CMS sau a nu utiliza CMS ? Aceasta este întrebarea...

În zilele noastre, totul pare să se învârtă în jurul dezvoltării rapide şi a timpilor mici până la producţie. Un Content Management System vine cu promisiuni foarte tentante în această direcție.

În primul rând, preia responsabilitatea taskurilor plictisitoare şi repetitive de management al datelor (operaţii CRUD), permiţându-ne să ne axăm pe aspectele unice şi inovatoare ale aplicației noastre. Cele mai populare CMS-uri respectă această promisiune, ceea ce le face un punct de pornire viabil pentru orice fel de aplicaţie. Aplicaţiile se livrează repede, managementul datelor este bine gestionat (versionarea conţinutului, workflow-uri de publicare, etc.), iar abonaţii pot ei înşişi să menţină site-ul web actualizat.

În al doilea rând, oferă susținere pentru una din cele mai importante componente ale unei aplicaţii moderne web - securitatea și managementul accesului. Înainte de a trata subiectul în detaliu, e necesară o remarcă: adoptarea unui CMS creează o relație de depedență între acesta și aplicația noastră web. Problemele CMS-ului devin problemele noastre, vulnerabilităţile CMS-ului devin ale noastre. Cu toate acestea, problematica securității software e foarte complexă si adesea neplăcut de dificilă. În general, securitatea nu ar trebui abordată în "sistem DIY" decât dacă personale ştiu foarte bine ce fac. E mai bine să lăsăm lucrul acesta în seama oamenilor care au mai mult timp şi mai multe resurse pentru a face acest lucru, în loc să rezolvăm lucrurile în stil MacGyver.

În ultimul rând, cele mai populare CMS-uri expun seturi importante de funcţionalitate out of the box. Dacă aplicaţia are nevoie de workflow-uri întortocheate pentru publicarea conținutului, API-uri de căutare, versionare de conţinut, etc. există o şansă destul de mare ca CMS-ul ales să ofere deja suport pentru aceste lucruri. Este totuşi imposibil ca nevoile tuturor să fie acoperite de un astfel de sistem. Pentru a rezolva această problemă, platformele solide de content management expun servicii, permițând astfel adăugarea de pluginuri la funcţionalitatea deja existentă. După cum am menţionat anterior, nu există un răspuns definitiv la această întrebare. Dacă singurul lucru necesar este lansarea rapidă a unui MVP, nu aveţi mult conţinut de livrat şi nu intenţionaţi să actualizaţi conţinutul în mod regulat, atunci poate un CMS nu este soluţia pentru voi; o aplicație web statică e suficientă. Pentru orice alt scenariu mai complex, va fi nevoie, fără doar și poate, să vă asiguraţi aplicaţia pentru viitor, iar un CMS este un foarte bun loc de plecare.

Sitecore

Iată o soluţie pentru construirea aplicaţiilor robuste de nivel enterprise. Sitecore este în esență o soluţie CMS construită pentru administrarea conţinutului global şi în mai multe versiuni de limbă, fiind însă suficient de flexibil pentru a fi adaptat cerinţelor în continuă schimbare ale mediului enterprise. Valoarea acestui produs este recunoscută și prin poziționarea sa în zona de leader a cadranului magic Gartner pe 2016 în materie de Web Content Management, având cel mai mare scor la capacitatea de execuţie. Este un fapt cunoscut că Gartner nu susţine niciun furnizor, produs sau serviciu incluse în acest studiu şi publică rezultatele doar pe baza cercetărilor anterioare (cercetarea şi metodologia de ierarhizare sunt toate descrise în articolul publicat). Prin urmare, Sitecore se poziţionează excelent ca una dintre cele mai bune soluţii de management de conţinut actuale. Raportul Gartner nu trebuie luat drept broșură de recomandări, ci mai degrabă ca oferind o perspecitvă globală asupra universului CMS enterprise. Acest lucru este important deoarece nu veţi alege doar o platformă de management de conţinut, ci un partener pentru viitor. Vă datoraţi vouă şi clienţilor voştri să planificaţi atent şi să luaţi decizii bune încă de la început.

Sursa: Gartner (Septembrie 2016)

Arhitectură prietenoasă

Orice funcţionalitate poate fi extinsă, exclusă sau rescrisă. Cele mai multe aspecte ale sistemului sunt create ca o serie de procesoare legate într-un pipeline. Mai simplu spus, acest lucru presupune o structurare a CMS- ului ca o serie de paşi secvenţiali: outputul unui pas devine input pentru următorul. Acest pipeline poate fi modificat în orice mod - în primul rând premițând adăugarea unor pași custom în orice loc sau prin executarea de cod custom ca răspuns la un anumit eveniment.

Din perspectiva arhitecturii software, Sitecore este în esență o aplicaţie web .NET peste care se va adăuga codul custom. Oferă un API exhaustiv care permite codului aplicației să interacţioneze cu fiecare aspect al sistemului de management al conținutui. De exemplu, CMS-ul este puternic integrat cu Apache Lucene (pentru scenarii mai complexe Apache Solr poate fi utilizat) oferindu-i aplicației acces la o soluţie robustă de căutare şi indexare a conţinutului.

Extensibilitate şi comunitate

După cum am menţionat, Sitecore este construit în jurul unei arhitecturi foarte deschise şi prietenoase pentru programator. Principala consecință a aceastei abordări este sistemul de plugin devenit unul din principalele moduri de extindere a funcționalităților out of the box. Conținutul şi codul custom pot fi uşor "împachetate" într-un plugin, permițând astfel replicarea muncii de dezvoltare extrem de ușor pe un număr oricât de mare de instanțe.

Ușurința acestui model de dezvoltare a pluginurilor a dus la închegarea unei excelente comunităţi tehnice. Pluginurile produse în această comunitate extind funcţionalitatea Sitecore existentă şi adaugă feature-uri utile ce pot fi ușor instalate și folosite într-o varietate de aplicații. Un astfel de exemplu este pachetul Sitecore Powershell Extensions care face să pară manipularea activităţilor obositoare de conţinut floare la ureche.

Multisite şi Multilanguage

Majoritatea clienților de tip enteprise au în administrare mai multe site-uri, iar a crea conținut de la zero pentru fiecare dintre acestea înseamnă pierdere de timp și resurse. Sitecore poate fi utilizat drept un CMS centralizat care permite distribuirea conţinutului pe mai multe site-uri. Pentru a face posibilă livrarea conținutului mai multor aplicații web, Sitecore va trebui (în cele mai multe cazuri) publicat într-un mediu distribuit. Din fericire, "scalabilitatea" este considerată un element de primă clasă în universul Sitecore, fapt ce face să fie extrem de uşoară adăugarea de noduri atât pentru managementul conținutului cât și pentru livrarea acestuia.

Mai mult, Sitecore vine cu suport out of the box pentru site-uri web în mai multe limbi adăugând şi workflow-uri de traducere. Un lucru interesant de menţionat este că în procesul de traducere se poate folosi un serviciu de traducere automată, ceea ce face conţinutul să fie gata pentru clienţi în timp cât mai scurt.

Marketing şi Analytics

Extinzând componenta de management de conţinut, Sitecore oferă, de asemenea, o suită de tooluri orientate spre marketing în mediul digital. În primul rând, vizitatorii nu sunt tratați în mod egal - există posibilitatea de a optimiza conţinutul pentru a utilizatorului o experienţă personalizată în funcţie de o multitudine de factori (aceşti indicatori sunt construiţi dinamic în funcţie de preferinţele utilizatorilor, interacţiunea lor cu aplicația, locul lor, tipul preferat de conţinut şi nu numai). Cu alte cuvinte, utilizatorii vor vedea conţinutul care este cel mai relevant pentru ei, şi nu doar informaţie generală, ne-personalizată. Acest aspect este important în primul rând pentru că publicul ţintă nu este omogen şi static. Sistemul trebuie să se poată adapta şi creşte în același ritm cu businessul, păstrând totul nou şi relevant.

Procesul de optimizare a experienţei este extins cu suport pentru testare de tip A/B şi multivariate. Acest lucru permite testarea diferitor combinații de conținut pentru a decide care sunt cele mai eficiente în atingerea scopului aplicației. Sitecore va calcula în timp ce aceste teste sunt active rata lor de eficiență, oferind o perspectivă largă și suficient de bine informată asupra problemei în cauză.

Concluzie

Sitecore nu este o soluţie perfectă, aşa cum nu este nici răspunsul ultim la întrebarea noastră. Cu toate acestea, multitudinea de lucruri făcute "așa cum trebuie" i-au câștigat reputația de CMS preferat al multor companii globale.

Merită încercat! S-ar putea să fie un foarte bun punct de pornire în următorul proiect.

LANSAREA NUMĂRULUI 149

Marți, 26 Octombrie, ora 18:00

sediul Cognizant

Facebook Meetup StreamEvent YouTube

NUMĂRUL 147 - Automotive

Sponsori

  • Accenture
  • BT Code Crafters
  • Accesa
  • Bosch
  • Betfair
  • MHP
  • BoatyardX
  • .msg systems
  • P3 group
  • Ing Hubs
  • Cognizant Softvision
  • Colors in projects