CoreLib

Todas as aplicações desenvolvidas em .NET na PRIMAVERA beneficiariam da existência de um conjunto de livrarias com funcionalidades comuns que pudessem ser usadas independentemente da evolução dessas aplicações ou das plataformas da PRIMAVERA.

Tradicionalmente, este tipo de componentes transversais (cross-cutting) foram incluídos nas versões da Framework Athena ou, depois, da Plataforma Elevation. No entanto, isso traduz-se num problema porque qualquer aplicação que pretenda usar uma determinada versão de um desses componentes tem que usar a respetiva versão da plataforma na sua plenitude, o que muitas vezes é impossível porque há evoluções na plataforma que não podem ser incorporadas.

Por outro lado, qualquer evolução nesses componentes dependia da release de uma nova versão da Plataforma, o que muitas vezes correspondia a ela não poder ser feita em tempo útil.

Na estratégia definida para a construção e evolução da Plataforma Elevation definiu-se que deveria existir uma livraria de componentes independente da versão da Plataforma, que deve incluir todos os componentes deste tipo, aqueles que podem ser usados em qualquer aplicação, independentemente do seu propósito ou da versão que esteja a usar da Plataforma.

A essa livraria chamou-se CoreLib e resulta da “deslocação” dos componentes Primavera.Core da Plataforma Elevation para uma build autónoma. Estes componentes evoluirão a partir daqui segundo um calendário próprio, que se espera mais estático que o da plataforma, e substituirão progressivamente os existentes na plataforma (porque não podem ser movidos todos de uma vez).

A livraria Primavera.CoreLib inicia-se na versão 3.0 e será utilizada em primeiro lugar pela versão 3.0 da Plataforma Elevation. As versões anteriores da Plataforma não serão afetadas.

Livrarias

  • Primavera.CoreLib.dll - Livraria principal dos componentes mais básicos.
  • Primavera.CoreLib.Caching.Redis.dll - Implementação do serviço de caching que usa Redis.
  • Primavera.CoreLib.DesignTime.UnitTesting.dll - Tipos e helpers utilizados em design-time para desenvolvimento de testes unitários.
  • Primavera.CoreLib.Documents.DocumentDB.dll - Implementação do serviço de armazenamento de documentos que usa DocumentDB.
  • Primavera.CoreLib.EventDriven.Azure.dll - Implementação do Event Bus que usa Azure Service Bus Topics.
  • Primavera.CoreLib.Interop.dll - Tipos relacionados com COM Interop.
  • Primavera.CoreLib.Rules.dll - Modelo de definição de regras de validação usado na framework de modelação.
  • Primavera.CoreLib.Security.dll - Tipos relacionados com segurança e validação de passwords. Compatível com .NET 4.0.
  • Primavera.CoreLib.SqlBuilder.dll - Componente que permite a geração de SQL através de uma API fluente.
  • Primavera.CoreLib.Storage.Azure.dll - Implementação dos serviços de storage que usa os serviços do Azure (Blob Storage e Table Storage).
  • Primavera.CoreLib.Telemetry.Azure.dll - Implementação do serviço de telemetria que use Azure Application Insights.
  • Primavera.CoreLib.Telemetry.Mvc.dll - Components do serviço de telemetria para ASP.NET MVC.
  • Primavera.CoreLib.ViewBuilder.dll - Modelo de definição de views HTML5 utilizado pela Shell da Plataforma Elevation.
  • Primavera.CoreLib.Windows.Forms.dll - Tipos e helpers que dependem de System.Windows.Forms
  • Primavera.CoreLib.Windows.Presentation.dll - Tipos e helpers que dependem de System.Windows (WPF).

Componentes Fundamentais

Os seguintes componentes estão documentados em design references.

Funcionalidades Adicionais

As restantes funcionalidades mais importantes da CoreLib são descritas pelos seguintes documentos:

Existem, no entanto, vários outros tipos que implementam outras funcionalidades relevantes. Para mais informação deve consultar-se a documentação de referência.