¿Qué significa "empresa" en relación con la arquitectura de software?

11

Veo que el término "empresa" se lanza mucho a los desarrolladores y programadores de software y parece que se usa de forma flexible.

en · ter · premio / ˈentərˌprīz /

Sustantivo: un proyecto o empresa, típicamente uno que es difícil o requiere esfuerzo. Iniciativa e ingenio.

¿Alguien puede aclarar qué abarca realmente este término? ¿"A nivel empresarial", "escala empresarial"? Incluso hay "ediciones empresariales" de cosas. ¿Qué significa exactamente? Obviamente, no tiene sentido juzgar por la definición anterior, así que más específicamente para el software, ¿qué significa uno cuando se usa la palabra empresa?

EDITAR:

Para agregar un giro a esto, ¿cómo encaja este término en frases como Enterprise Framework Model? ¿Qué tienen que ver el acceso a datos y el contexto de datos con las descripciones de toda la empresa?

SkonJeet
fuente
66
Pregunta muy similar: ¿Qué es exactamente el software empresarial?
Roc Martí
10
Básicamente significa que es lo suficientemente complicado, que puede construir negocios de consultoría a su alrededor ;-)
vartec
3
@SkonJeet: Las compañías como IBM y HP tienden a abusar del término "enterpise", y su modelo de negocio básicamente proporciona servicios de consultoría para implementar y mantener sus soluciones.
vartec
10
@vartec Pensé que significaba un software innecesariamente complicado y costoso que las empresas extremadamente grandes con presupuestos inflados de TI compran debido a todo el dinero que ahorraron reduciendo el personal de TI y esclavizando a los que quedan.
maple_shaft
1
@maple_shaft: sí, esa es una descripción bastante precisa ;-)
vartec

Respuestas:

11

Necesitas ampliar tu definición.

Desde http://dictionary.reference.com :

en · ter · premio  [en-ter-prahyz] sustantivo

  1. un proyecto emprendido o por emprender, especialmente uno que sea importante o difícil o que requiera audacia o energía: mantener la paz es una empresa difícil.
  2. un plan para tal proyecto.
  3. participación o compromiso en tales proyectos: Nuestro país fue formado por la empresa de hombres y mujeres decididos.
  4. audacia o disposición en la empresa; espiritu aventurero; ingenio.
  5. una empresa organizada con fines comerciales; Firma de negocios.

Según la quinta definición que he citado anteriormente, el software Enterprise o una Licencia Enterprise está destinado a proporcionar una solución para toda la empresa. Según la definición del diccionario del OP, el "Proyecto o Compromiso" en los casos citados por el OP es una empresa.

Una solución para toda la empresa significa que se utilizará en cualquier lugar donde una empresa tenga una oficina o un sitio. Por lo tanto, una licencia Enterprise proporcionará una solución para todos los sitios de una empresa. Esto difiere de una licencia de Sitio, que solo cubriría una ubicación perteneciente a una empresa, en lugar de todas. Otro uso del término Enterprise es simplemente para indicar una compañía completa, y no está necesariamente limitado en definición a algo relacionado con el software. Por lo tanto, puede tener software, recursos humanos o contabilidad, o incluso un suministro de Jelly Beans para "The Enterprise". Cuando se usa en cualquier caso, la palabra Enterprise en relación con el tamaño de una empresa no es relevante, ya que se aplica igualmente a una pequeña empresa, como lo hace a un megacorp.

Las ediciones empresariales de software están diseñadas para incluir el tipo de características que normalmente necesitaría para ofrecer una solución de servidor múltiple de varios sitios de algún tipo. En este caso, sin embargo, descubrirá que es probable que signifique que debe pagar más para obtener más de las funciones que probablemente no necesitaría en una "empresa" más pequeña, y por lo tanto, la palabra se convierte en tanto hipérbole de marketing como cualquier otra cosa.

Para responder a la parte editada de la respuesta del OP, Enterprise Framework es un nombre elegante para una API que admite la implementación de productos diseñados para comunicaciones y almacenamiento de datos distribuidos, generalmente necesarios para productos diseñados con un producto de sitios múltiples en mente. Por lo general, esto no está destinado a pequeñas empresas y, sin embargo, se puede utilizar para crear productos que se pueden escalar desde un único servidor / sitio a múltiples servidores / sitios. La idea es permitir que un producto crezca para satisfacer las necesidades cambiantes de una empresa (la Empresa) a medida que crece, como abrir oficinas en todo el mundo, pero compartir un sistema de correo común, por ejemplo.

Por lo tanto, el tema de la palabra que se usa "vagamente" o "libremente" no es realmente un problema, ya que el término Enterprise siempre tiene la intención de significar "en toda la empresa, independientemente de la cantidad de sitios que necesite atender" ... solo Enterprise es claramente mucho menos bocado que decir, y según los ejemplos que el OP ha enumerado, el significado de la palabra Enterprise sigue siendo claro.

S.Robins
fuente
Gracias por su respuesta, se ha aclarado mucho, y para ser honesto, siento que entiendo mejor la palabra empresa en un contexto de software. Sin embargo, parece ser una respuesta común que la empresa se utiliza para describir el software destinado a la escalabilidad de toda la empresa, pero ¿no está todo el software diseñado esencialmente para ser escalable? A menos que esté mal diseñado. Además, vea editar.
SkonJeet
1
@SkonJeet No necesariamente. La escalabilidad es una cuestión de muchos factores, y no diría que el software está mal diseñado si no cumple con las condiciones para las que nunca fue planeado o diseñado. ¿El software funciona distribuido en muchos servidores? ¿Se paraleliza bien su carga de trabajo? ¿Localiza el texto para que pueda usarse en muchos países? ¿Se construirá y se ejecutará en hardware diferente? ¿Hay muchos consultores / programadores que puedan usarlo / modificarlo? Todo esto y más son factores importantes en la utilidad de un software para una empresa, según las necesidades específicas de esa empresa.
CodexArcanum
6

En mi experiencia, la palabra "empresa" en una configuración de software con mayor frecuencia se refiere al software que se escribe para una gran corporación. También a menudo se refiere al software interno, en lugar del software orientado al cliente.

Esto puede parecer una línea arbitraria para trazar (y, por supuesto, qué es exactamente "grande"), pero habiendo escrito software para una variedad de diferentes tipos de compañías, puedo decirle que las necesidades de las grandes empresas son muy diferentes a las necesidades de las pequeñas empresas, lo que nuevamente es muy diferente a las necesidades de los individuos.

Entre los problemas que a menudo son irrelevantes (o más bien, no vale la pena invertir) para muchas pequeñas empresas se incluyen:

  • Alta disponibilidad / conmutación por error sin interrupciones
  • Redundancia / recuperación ante desastres
  • Privacidad de los datos del cliente.
  • Cumplimiento de las leyes y reglamentos.
  • Monitoreo en tiempo real, rica información de rastreo para la resolución de problemas
  • Un enfoque en la presentación de informes (que generalmente permite una administración inteligente)

Me arriesgaría a suponer que esto se debe a que los gastos generales y las ganancias de una gran empresa están en una escala completamente diferente a la de una gran empresa. Si las nóminas de una pequeña empresa se desconectan, puede pagar a mano o pedir disculpas a todos personalmente. Si sucede en una gran empresa, hay un levantamiento. Una vez he tenido un banco que arroja números de varios millones de dólares que se pierden por hora hasta que se encuentra un error: pone la perspectiva de las cosas. La confiabilidad es una gran cosa para la mayoría de las grandes empresas (bueno, al menos en papel).

Daniel B
fuente
5

El uso es bastante vago, pero normalmente significa software que se espera que funcione en grandes organizaciones, por ejemplo, multinacionales.

Oded
fuente
Gracias por su respuesta, pero parece que ese no es el único uso normal de la palabra. Mirando el enlace que Roc ha proporcionado (en los comentarios sobre el OP) puede ver que hay muchos usos diferentes para la palabra. Una cosa que realmente me molesta es que, a nivel junior, eliminar el desarrollo y las tecnologías es lo suficientemente difícil sin palabras como esta volando por la industria para causar confusión.
SkonJeet
3
@SkonJeet - Exactamente por qué afirmo que el término es vago.
Oded
Es por eso que +1, y probablemente se marcará como respuesta. Es como si en la comunidad de programación (incluso se puede ver dentro de SO) hay casi un tipo de pretensión con las palabras utilizadas, diseñadas por aquellos en un nivel superior para mostrar su conocimiento y excluir a aquellos que no lo poseen.
SkonJeet
1
@SkonJeet - "Ágil" es otra de esas palabras.
Oded
1
@ S.Robins - Estoy respetuosamente en desacuerdo. El uso en este contexto es vago y depende de quién está hablando. Es principalmente un término de marketing y no tiene un significado exacto.
Oded
2

En teoría, la "solución empresarial" es cualquier tipo de solución que sea lo suficientemente adecuada para negocios corporativos a gran escala. En la práctica, sin embargo, significa soluciones desarrolladas con la mentalidad de "nadie es despedido por contratar a IBM" .

Por otro lado, hay compañías como Google, Facebook, Amazon, etc. que han construido su negocio en soluciones que tradicionalmente no se consideraban "nivel empresarial". Por ejemplo, inicialmente usaban hardware CotS barato . El software que están utilizando es de código abierto, con un gran papel desempeñado por los lenguajes dinámicos, que tampoco se consideran tradicionalmente "listos para la empresa" (a pesar de que son ampliamente utilizados por las empresas).

vartec
fuente
"eso es lo suficientemente apto para negocios corporativos a gran escala", ¿qué solución no está diseñada originalmente para la escalabilidad? Aquí es donde radica mi confusión.
SkonJeet
1
Una gran cantidad de software está diseñado para funcionar primero, escalar en segundo lugar. La escalabilidad es YAGNI para muchas soluciones.
Eoin Carroll
¿Por qué has usado el acrónimo YAGNI? 9/10 personas probablemente no saben lo que eso significa y tienen que buscarlo en Google.
SkonJeet
2
@SkonJeet 9/10 los no desarrolladores no saben lo que significa YAGNI, pero la mayoría de los desarrolladores lo saben (o deberían), es un acrónimo bastante común que aparece mucho (junto con DRY, SOLID, etc.). Y no hay nada de malo en buscar un acrónimo en Google, aprendiste algo nuevo al hacerlo.
Yannis
2

Las definiciones son buenas y buenas. En el software, esto parece asociarse como un término de marketing, una palabra de código que dice "compre esto para su negocio, este es un software serio donde puede obtener soporte". Si eso es cierto o no depende del producto, pero ese es el mensaje que el marketing está tratando de enviar. La parte de soporte de eso es importante para muchas empresas: quieren a alguien al otro lado del teléfono cuando llaman con un problema.

En este contexto, es un término de marketing.

luego
fuente
1

El software empresarial generalmente es:

  • Cara interna;
  • Misión crítica y / o utilizada por muchas personas en todo el negocio; y
  • Integrado con otros sistemas de revestimiento interno y / o externo.

El software empresarial no necesariamente tiene que implementarse en una gran empresa. Un ejemplo podría ser un sistema de registros médicos electrónicos en un consultorio médico pequeño que está integrado con los sistemas de laboratorio del hospital y los sistemas de procesamiento de reclamos de seguros.

Acantilado
fuente