Cosa significa "impresa" in relazione all'architettura software?


11

Vedo che il termine "impresa" viene spesso gettato intorno agli sviluppatori e ai programmatori di software e sembra usato in modo approssimativo.

it · ter · premio / entərˌprīz /

Sostantivo: un progetto o un'impresa, in genere difficile o che richiede impegno. Iniziativa e intraprendenza.

Qualcuno può chiarire cosa comprende effettivamente questo termine? "A livello aziendale", "scala aziendale"? Ci sono persino "edizioni aziendali" di cose. cosa significa esattamente? Ovviamente non ha senso giudicare dalla definizione di cui sopra in modo più specifico per il software cosa si intende quando si usa la parola impresa?

MODIFICARE:

Per aggiungere una svolta a questo: come si inserisce questo termine in frasi come Enterprise Framework Model? Che cosa hanno a che fare l'accesso ai dati e il loro contesto con le descrizioni a livello aziendale?



10
Fondamentalmente significa che è abbastanza complicato, che puoi costruire attività di consulenza intorno ad esso ;-)
vartec

3
@SkonJeet: aziende come IBM e HP tendono ad abusare del termine "enterpise" e il loro modello di business sostanzialmente fornisce servizi di consulenza per implementare e mantenere le loro soluzioni.
vartec,

10
@vartec Ho pensato che significasse un software inutilmente complicato e costoso che le società estremamente grandi con budget IT gonfiati acquistano a causa di tutti i soldi che hanno risparmiato ridimensionando il loro personale IT e guidando quelli che rimangono?
maple_shaft

1
@maple_shaft: sì, è una descrizione abbastanza accurata ;-)
vartec

Risposte:


11

Devi ampliare la tua definizione.

Da http://dictionary.reference.com :

en · ter ·  award [en-ter-prahyz] sostantivo

  1. un progetto intrapreso o da intraprendere, in particolare uno che è importante o difficile o che richiede audacia o energia: mantenere la pace è un'impresa difficile.
  2. un piano per tale progetto.
  3. partecipazione o impegno a tali progetti: il nostro paese è stato formato dall'impresa di uomini e donne risoluti.
  4. audacia o prontezza nell'impresa; spirito avventuroso; ingegno.
  5. una società organizzata per scopi commerciali; ditta di affari.

Secondo la quinta definizione che ho citato sopra, il software Enterprise o una Licenza Enterprise intende fornire una soluzione a livello aziendale. Secondo la definizione del dizionario del PO, il "Progetto o Impegno" nei casi citati dal PO è una società.

Una soluzione a livello aziendale significa che verrà utilizzata ovunque un'azienda abbia un ufficio o un sito. Quindi una licenza Enterprise fornirà una soluzione per tutti i siti di un'azienda. Ciò differisce da una licenza del sito, che coprirebbe solo una posizione appartenente a una società, invece di tutte. Un altro uso del termine Enterprise è semplicemente quello di indicare un'intera azienda, e non è necessariamente limitato nella definizione a qualcosa che riguarda il software. In questo modo puoi avere software, risorse umane o contabilità o persino una fornitura di Jelly Beans per "The Enterprise". Se utilizzata in entrambi i casi, la parola Enterprise in relazione alle dimensioni di un'azienda non è rilevante, poiché si applica ugualmente a una piccola impresa, come a un megacorp.

Le edizioni aziendali di software sono pensate per essere ricche del tipo di funzionalità che in genere è necessario aggiungere una soluzione multi-server multi-sito di qualche tipo. In questo caso, tuttavia, scoprirai che è altrettanto probabile che tu debba pagare di più per ottenere più funzioni che probabilmente non ti serviranno in una "impresa" più piccola, e quindi la parola diventa come molta iperbole di marketing come niente.

Per rispondere alla parte modificata della risposta del PO, un Enterprise Framework è un nome di fantasia per un'API che supporta l'implementazione di prodotti progettati per l'archiviazione e le comunicazioni di dati distribuiti, in genere necessari per i prodotti progettati tenendo presente un prodotto multi-sito. Questo non è in genere destinato alle piccole imprese e tuttavia può essere utilizzato per creare prodotti che possono scalare da un singolo server / sito a più server / siti. L'idea è quella di consentire a un prodotto di crescere per soddisfare le mutevoli esigenze di un'azienda (l'Enterprise) man mano che cresce, come l'apertura di uffici in tutto il mondo, ma condividendo ad esempio un sistema di posta comune.

Quindi il problema della parola usata "vagamente" o "vagamente" è in realtà un po 'un problema, dal momento che il termine Enterprise è sempre inteso come "a livello aziendale, indipendentemente dal numero di siti che devi servire" ... solo Enterprise è chiaramente molto meno di un boccone da dire, e secondo gli esempi che l'OP ha elencato, il significato della parola Enterprise rimane chiaro.


Grazie per la tua risposta, è chiarito molto - e ad essere sincero, mi sento come se avessi una migliore comprensione della parola impresa in un contesto software. Tuttavia, sembra essere una risposta comune che l'impresa venga utilizzata per descrivere il software destinato alla scalabilità a livello aziendale - ma non è tutto il software essenzialmente progettato per essere scalabile? A meno che non sia mal progettato. Inoltre, vedi modifica.
SkonJeet

1
@SkonJeet No necessariamente. La scalabilità è una questione di molti fattori e non definirei un software mal progettato se non soddisfacesse condizioni che non è mai stato pianificato o progettato per soddisfare. Il software funziona distribuito su molti server? Parallelizza bene il suo carico di lavoro? Localizza il testo in modo che possa essere utilizzato in molti paesi? Costruirà e funzionerà su hardware diverso? Ci sono molti consulenti / programmatori che possono usarlo / modificarlo? Tutto questo e molto altro sono fattori importanti per quanto utile sia un software per un'azienda, a seconda delle esigenze specifiche di quella società.
CodexArcanum,

6

Nella mia esperienza, la parola "impresa" in un ambiente software si riferisce spesso al software scritto per una grande azienda. Si riferisce spesso anche al software interno, piuttosto che al software rivolto al cliente.

Può sembrare una linea arbitraria da tracciare (e ovviamente ciò che è esattamente "grande"), ma avendo scritto software per una varietà di diversi tipi di aziende, posso dirti che le esigenze delle grandi aziende sono molto diverse da esigenze delle piccole imprese, che è di nuovo molto diverso dalle esigenze dei singoli.

I problemi che sono spesso irrilevanti (o meglio, in cui non vale la pena investire) per molte piccole aziende includono:

  • Alta disponibilità / failover continuo
  • Ridondanza / disaster recovery
  • Privacy dei dati dei clienti
  • Conformità a leggi e regolamenti
  • Monitoraggio in tempo reale, informazioni dettagliate sulla traccia per la risoluzione dei problemi
  • Un focus sul reporting (che in genere consente una gestione intelligente)

Immagino che questo sia dovuto al fatto che le spese generali e i profitti di una grande azienda sono su una scala completamente diversa da una grande azienda. Se i salari di una piccola azienda vanno offline, puoi pagare a mano o scusarti con tutti personalmente. Se succede in una grande azienda, c'è una rivolta. Una volta ho fatto un giro in banca per la perdita di numeri di diversi milioni di dollari all'ora fino a quando non è stato trovato un bug - questo mette la prospettiva sulle cose. L'affidabilità è una cosa importante per la maggior parte delle grandi aziende (beh, almeno sulla carta).


5

L'uso è piuttosto vago ma normalmente indica software che dovrebbe funzionare in grandi organizzazioni, ad esempio quelle multinazionali.


Grazie per la tua risposta, ma sembra che non sia l'unico uso normale della parola. Guardando il link fornito da Roc (nei commenti sull'OP) puoi vedere che ci sono molti usi diversi per la parola. Una cosa che mi infastidisce davvero è che a livello junior - sostenere lo sviluppo e le tecnologie è abbastanza difficile senza parole come questa che volano nel settore per creare confusione.
SkonJeet

3
@SkonJeet - Esattamente perché dichiaro che il termine è vago.
Oded,

Ecco perché +1, e probabilmente sarà contrassegnato come risposta. È come se nella comunità dei programmatori (che può anche essere vista all'interno di SO) ci sia quasi un tipo di pretenziosità con le parole usate - progettate da persone di livello senior per mostrare le loro conoscenze ed escludere coloro che non le possiedono.
SkonJeet

1
@SkonJeet - "Agile" è un'altra parola del genere.
Oded,

1
@ S.Robins - Rispetto rispettosamente. L'uso in questo contesto è vago e dipende da chi sta parlando. È principalmente un termine di marketing e non ha un significato esatto.
Oded,

2

In teoria, la "soluzione aziendale" è qualsiasi tipo di soluzione adatta a grandi aziende. In pratica, tuttavia, significa soluzioni sviluppate con mentalità "nessuno viene licenziato per aver assunto IBM" .

D'altra parte ci sono aziende come Google, Facebook, Amazon ecc. Che hanno costruito la propria attività su soluzioni non tradizionalmente considerate "a livello aziendale". Ad esempio inizialmente utilizzavano hardware CotS economico . Il software che stanno utilizzando è Open Source, con un ruolo importante svolto dai linguaggi dinamici, che tradizionalmente non sono considerati "pronti per l'impresa" (anche se sono ampiamente utilizzati dalle imprese).


"che è abbastanza adatto per le grandi aziende" - quale soluzione non è stata originariamente progettata per la scalabilità? Questo è dove sta la mia confusione.
SkonJeet

1
Un sacco di software è progettato per funzionare prima, scalare secondo. La scalabilità è YAGNI per molte soluzioni.
Eoin Carroll,

Perché hai usato l'acronimo YAGNI? 9/10 persone probabilmente non sanno cosa significhi e devono cercarlo su Google.
SkonJeet

2
@SkonJeet 9/10 non sviluppatori non sanno cosa significhi YAGNI, ma la maggior parte degli sviluppatori lo sa (o dovrebbe), è un acronimo abbastanza comune che emerge molto (insieme a DRY, SOLID, ecc.). E niente di male nel cercare su Google un acronimo, hai imparato qualcosa di nuovo facendolo.
yannis,

2

Le definizioni sono buone e buone. Nel software questo sembra essere associato come un termine di marketing, una parola in codice che dice "acquista questo per la tua azienda, questo è un software serio dove puoi ottenere supporto". Se questo è vero dipende dal prodotto, ma questo è il messaggio che il marketing sta cercando di inviare. La parte di supporto è importante per molte aziende: vogliono qualcuno dall'altra parte del telefono quando chiamano con un problema.

In questo contesto, è un termine di marketing.


1

Il software aziendale in genere è:

  • Rivestimento interno;
  • O mission-critical e / o utilizzato da molte persone in tutto il business; e
  • Integrato con altri sistemi di rivestimento interni e / o esterni

Il software aziendale non deve necessariamente essere implementato in una grande azienda. Un esempio potrebbe essere un sistema di cartelle cliniche elettroniche presso un piccolo studio medico integrato con i sistemi dei laboratori ospedalieri e i sistemi di elaborazione dei reclami assicurativi.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.