Discutie despre aplicatii enterprise

Cel putin pe aici sunt in mare parte pe .net si java. Dar nu cele mai noi versiuni. Cred ca mai sunt si in php.

Stiu ca cel putin pe java sunt proiecte scrise in vesiuni vechi, unde daca incerci sa faci update la limbaj, framework te trezesti ca nu mai merge mai nimic datorita unei incompatibilitati.

Aici putem discuta despre ele


Poate @iamntz muta aceste rapunsuri :grin:

Pare ca ar sta mai bine in acest thread dedicat.

Cum definim aplicațiile enterprise?
Să zicem după complexitate și valoarea adusă.
Să zicem că avem de dezvoltat o aplicație de asigurări, deci probabil ceva enterprise.
Și ne alegem o anumit stack pentru a rezolva problema.
Se chemă, că este o aplicație enterprise?
Depinde, de modul în care abordăm problema.
Că putem avea și o abordare hacky/crud style cu anumit framework/orm dar și una în care mai întâi de a scrie cod, se discută cu domain experts, și mai bine se vizualizează cu stickies notes pe un perete pentru a vedea big picture și conexiunile dintre modele, unde este bottleneck-ul etc.
Deci, în concluzie, nu stack-ul sau domeniul contează ci abordarea, arhitectura dacă vreți.

2 Likes

Aplicatiile pentru firme uriase/multinationale se dezvolta cu foarte multa birocratie si aprobari, procese de respectat. De obicei ai un stack care deja e folosit si usor de acceptat de tot felul de manageri de la fiecare nivel, daca vrei altceva decat ce se foloseste de obicei o sa ai obligatoriu meeting dupa meeting dupa meeting si o sa alergi dupa oameni care mai mult sunt indisponibili sau greu de satisfacut si cand ajungi sa le explici la ce lucrezi probabil ca nu o sa inteleaga din prima. (ca si manager la o echipa) Sunt multe standarde interne care trebuie respectate si fiecare raspuns pe care il dai managerilor de mai sus trebuie sa fie in concordanta cu ele.

4 Likes

Si sa nu uitam ca, de multe ori, se ia o anumita decizie pentru simplul motiv ca un tool are in spate un contract de support cu un jucator mare (IBM, Oracle, etc).

1 Like

Uneori este vorba si de costuri.

Costuri si resurse umane. Degeaba planuiesti sa iti scrii aplicatia enterprise in .net sau java si oriunde te uiti in domeniul tau aia se foloseste daca programatorii tai stiu doar php.

Intr-o lume perfecta intr-o firma se poate trece de la un limbaj la altul fara prea mult frecus. Un om este pus sa se documenteze si dupa o saptamana invata pe toti ceilalti sa il foloseasca.

In realitate nimeni nu intelege programarea, 90% intra in domeniu fara sa aiba vreo inclinatie spre programare, fiecare gandeste/intelege ce vrea si “enterprise-ul” vine cu un set de reguli sa stabilizeze tot haosul. Dar aplicand aceste reguli apare rigiditatea.

Conteaza ca folosesti PHP, Java, Ruby sau Go? Nu. Conteaza sa faci treaba buna. Iar cand programatorii sunt prin definitie rebelii societatii… Ah, I wish working on a project with similar-minded people…

2 Likes

Intrucat consider ca e greu de definit ce este o aplicatie enterprise sau mai degraba e subiectiv(ce inteleg eu prin “enterprise app” altul nu considera la fel) as vrea sa ma leg doar de anumite aspecte pe care le consider caracteristici ale unei aplicatii enterprise. Nu neaparat in ordinea importantei:

  1. Trebuie sa permita lucrul mai multor oameni concomitent(devi, qa, release manager, etc). Chiar mai multor echipe concomitent fara a se calca pe picioare.
  2. Automat daca avem punctul 1 ne trebuie si un delivery pipeline independent intre componente. Am avut de a face cu business care a cerut express acest lucru dupa ce in prealabil au avut un bottleneck la release in trecut.
  3. Sa aiba suport din partea unei entitati respectabile(companie, fundatie, oameni cunoscuti in comunitate), sa aiba un life-cycle predictibil(de ce credeti ca multe proiecte au implementat release-uri de tip LTS)
  4. O aplicatie enterprise este gandita de obicei long-term. Doar daca se intampla vreun dezastru, acel proiect nu ajunge a fii long-term. Din acest motiv, aplicatia trebuie sa coste cat mai putin de intretinut. La “cost” intra multe chestii: salariile oamenilor, costuri de hosting, costuri de suport, chirii, costuri cu recrutarea oamenilor care vor lucra la acel proiect(stiti cat de “usor” se gasesc programatori GO vs programatori Java de exemplu, sau .NET sau PHP ? :slight_smile: ). Cunosc proiecte care au murit in fasha pentru ca nu s-au gasit oameni care se lucreze la ele. Ma rog, asta e alta discutie. Ceea ce ma duce la punctul urmator…
  5. Indiferent ca ne place sau nu, remote work e foarte rar intalnita in enterprise, asa ca obligatoriu piata locala trebuie sa furnizeze suficienta resursa umana pentru buna desfasurare a proiectului. Si evident, la niste costuri rezonabile.

Si da, sunt limbaje/frameworkuri care sunt mai bune decat altele in a raspunde cerintelor de mai sus. Fara sa dau nume ca nu vreau flame war :slight_smile:

7 Likes