Skip to Content
Nueva versión 12 disponible 🎉
LicensingPlantillas de licenciaPropiedades de la licencia

Propiedades de la licencia

La sección Propiedades de la licencia de una plantilla de Babel Licensing define los atributos y las limitaciones concretos de las licencias que se generan a partir de la plantilla. Esta sección se divide en cuatro categorías: Ensamblados, Componentes, Campos y Funciones. Cada categoría cumple una finalidad distinta al definir el alcance y las características de la licencia.

Ensamblados

La pestaña Ensamblados especifica qué ensamblados .NET cubre la licencia. Es fundamental en el software compuesto por varios ensamblados, porque permite controlar con precisión qué partes del software tienen licencia.

Propiedades de los ensamblados

Cada entrada de ensamblado de una plantilla de licencia incluye la información siguiente:

  • Nombre: el nombre del ensamblado (por ejemplo, «MyCompany.ProductName»)
  • Versión: el número de versión del ensamblado (por ejemplo, «1.0.0.0»)
  • Configuración regional: la configuración regional del ensamblado (por ejemplo, «neutral» o códigos de configuración regional concretos)
  • Token de clave pública: el token de clave pública que verifica la identidad del ensamblado

Comodines de versión

Babel Licensing admite expresiones con comodines en las versiones de los ensamblados, de modo que una sola licencia puede cubrir varias versiones del mismo ensamblado:

  • Versión exacta: 1.0.0.0 (cubre solo la versión 1.0.0.0)
  • Comodín de versión principal: 1.* (cubre todas las versiones 1.x.x.x)
  • Comodín de versión principal y secundaria: 1.2.* (cubre todas las versiones 1.2.x.x)
  • Intervalo de versiones: [1.0.0.0-2.0.0.0] (cubre las versiones de la 1.0.0.0 a la 2.0.0.0, ambas incluidas)

Ejemplos

  1. Un solo ensamblado, versión exacta:

    Name: MyCompany.Core Version: 1.5.2.0 Culture: neutral Public Key Token: a5d85ef2c81d0f8a
  2. Un solo ensamblado, todas las versiones de una versión principal:

    Name: MyCompany.Core Version: 2.* Culture: neutral Public Key Token: a5d85ef2c81d0f8a
  3. Varios ensamblados con reglas de versión distintas:

    Name: MyCompany.Core Version: 3.* Culture: neutral Public Key Token: a5d85ef2c81d0f8a Name: MyCompany.Extensions Version: [1.0.0.0-2.5.0.0] Culture: neutral Public Key Token: a5d85ef2c81d0f8a

Componentes

La pestaña Componentes permite licenciar componentes o módulos concretos de un ensamblado, lo que da un control más fino sobre las licencias. Los componentes se representan como identificadores de cadena que el código de su aplicación puede comprobar.

Uso de los componentes

Los componentes se suelen usar cuando:

  • Su aplicación tiene módulos diferenciados que se pueden licenciar por separado
  • Desea habilitar o deshabilitar una funcionalidad concreta según el nivel de la licencia
  • Necesita implementar licencias basadas en funciones dentro de un único ensamblado

Propiedades

  • Nombre: un identificador de cadena del componente (por ejemplo, «ReportingEngine», «AdvancedEditor»)

Ejemplos

  1. Componentes por módulo:

    Name: DataAnalysis Name: Reporting Name: Visualization
  2. Componentes por nivel de funciones:

    Name: BasicFeatures Name: AdvancedFeatures Name: EnterpriseFeatures
  3. Componentes de integración:

    Name: SqlServerConnector Name: SapIntegration Name: RestApiClient

En el código de su aplicación puede comprobar si un componente concreto tiene licencia mediante la API de Babel Licensing:

if (license.Components.Contains("AdvancedFeatures")) { // Enable advanced features }

Campos

La pestaña Campos permite añadir pares clave-valor personalizados a la plantilla de licencia. Estos campos pueden almacenar información adicional que resulte pertinente para la validación de la licencia, para el seguimiento o para fines comerciales.

Usos habituales

  • Definir parámetros de licencia personalizados
  • Almacenar contraseñas cifradas de funciones
  • Incluir metadatos para la gestión de licencias

Propiedades

  • Nombre: el identificador del campo (por ejemplo, «Metadata», «ContractNumber»)
  • Valor: el valor asociado al campo

Ejemplos

  1. Campos específicos de la aplicación:

    Name: MaxConcurrentProjects Value: 10 Name: StorageQuota Value: 500GB
  2. Campos de configuración de funciones:

    Name: EncryptionLevel Value: AES256 Name: ApiRateLimit Value: 1000

Su aplicación puede acceder a estos campos mediante la API de Babel Licensing:

string encryptionLevel = license.Fields["EncryptionLevel"].Value; int apiRateLimit = int.Parse(license.Fields["ApiRateLimit"].Value);

Funciones

La pestaña Funciones define las funciones o capacidades concretas que la licencia habilita en su aplicación. A diferencia de los componentes, que son simples identificadores de cadena, las funciones pueden incluir datos adicionales que sirven para configurar la función.

Propiedades

  • Nombre: el identificador de la función (por ejemplo, «CloudSync», «BatchProcessing»)
  • Datos: datos binarios opcionales asociados a la función, que pueden almacenar parámetros de configuración, claves específicas de la función u otros datos

Ejemplos

  1. Habilitación básica de funciones:

    Name: AdvancedReporting Name: DataExport Name: CustomBranding
  2. Funciones con datos de configuración:

    Name: SecurityModule Data: [Encrypted configuration data] Name: DatabaseConnectors Data: [Serialized list of allowed connectors]
  3. Funciones por niveles:

    Name: UserQuota Data: [Serialized value representing maximum users] Name: PerformanceTier Data: [Encoded performance settings]

Su aplicación puede comprobar si una función está disponible y recuperar los datos asociados:

if (license.Features.Any(f => f.Name == "AdvancedReporting")) { // Enable advanced reporting features } var securityConfig = license.Features .FirstOrDefault(f => f.Name == "SecurityModule")?.Data; if (securityConfig != null) { // Initialize security module with the provided configuration }

Estrategia de integración

Al diseñar sus plantillas de licencia, tenga en cuenta cómo se combinan estas cuatro categorías de propiedades:

  1. Los ensamblados definen el alcance de los componentes de software que tienen licencia
  2. Los componentes aportan modularidad dentro de esos ensamblados
  3. Los campos añaden información y parámetros personalizados
  4. Las funciones habilitan capacidades concretas, que pueden llevar datos de configuración

Si estructura estas propiedades con cuidado, puede crear esquemas de licencia flexibles que se adaptan a las distintas necesidades de los clientes, modelos de negocio y ediciones del producto, sin perder el control sobre el uso y la distribución de su software.

Este planteamiento integral de las propiedades de la licencia en Babel Licensing le proporciona las herramientas para implementar estrategias de licencia sofisticadas, que protegen su propiedad intelectual y ofrecen a sus clientes una experiencia fluida.

Last updated on