PLATANUM – Conhecendo a Solução SkeletonApp.Net

A solução SkeletonApp.Net contém toda a camada visual do sistema, arquitetura das páginas, HTML, CSS, JS, imagens, etc.

O framework de camada visual Web utiliza o padrão Web Application / Forms do Microsoft .Net 4.0.

A solução está criada sobre Visual Studio 2012. Não é necessário possuir uma licença paga do Visual Studio para desenvolver sobre a plataforma, você poderá utilizar as versões do Visual Studio Express da Microsoft.

Projetos da Solução SkeletonApp.Net

Aqui vamos descrever como está estruturado a solução SkeletonApp.Net, definindo o papel de cada projeto na Solução.

Projeto SpecialistBO

É um projeto com papel de negócio, ou seja, tem objetivo de manter todas as classes relacionadas com regras de negócio da aplicação.

Toda classe Entity deve-se ter uma classe BO referente, para utilizar os métodos bases como persistência, validações, e desenvolvimento específico de regra de negócio.

Qualquer desenvolvimento de regras de negócios deverão estar neste projeto.

Dependências importantes

  • KPAttributes
  • KPBO
  • KPCore
  • KPEntity
  • KPEnumerator
  • NHibernate
  • SpecialistData
  • SpecialistEntity
  • SpecialistEnumerator

Projeto SpecialistData

É um projeto de configuração de dados, com objetivo de manter a extensão do projeto KPData na solução KPFramework.Net.

Neste projeto será encontrado o arquivo [ActiveRecord.xml] que manterá a configuração de conexão com o banco de dados.

Como a camada de persistência utiliza o NHibernate, as configurações seguem o mesmo padrão.

<activerecord>
  <config>
     <add key="connection.provider" value="NHibernate.Connection.DriverConnectionProvider" />
     <add key="connection.driver_class" value="NHibernate.Driver.SqlClientDriver" />
     <add key="connection.connection_string" value="Data Source=LOCALHOST\SQLEXPRESS;Database=SKELETON;Integrated Security=true;" />
     <add key="dialect" value="NHibernate.Dialect.MsSql2008Dialect" />
     <add key="proxyfactory.factory_class" value="NHibernate.ByteCode.LinFu.ProxyFactoryFactory, NHibernate.ByteCode.LinFu" />
     <add key="show_sql" value="true" />
     <add key="format_sql" value="true" />
     <add key="isWeb" value="true" />
     <add key="isDebug" value="true" />
  </config>
</activerecord>

Dependências importantes

  • ActiveRecord
  • KPData
  • NHibernate
  • ByteCode.Castle
  • ByteCode.LinFu
  • Validator

Projeto SpecialistEntity

Tem objetivo de manter somente as classes de entidades MER (modelo de entidade e relacionamento), servindo para mapear uma classe objeto de acordo com sua tabela do banco de dados. Também neste projeto, podemos criar classes de visualização de dados (views) ou conceito de VO – View Object.

A plataforma PLATANUM já possui várias entidades existentes nos cadastros de controle de acesso, porém estes estão no projeto KPEntity da solução do KPFramework.Net

Dependências importantes

  • ActiveRecord
  • KPAttributes
  • KPCore
  • KPEntity
  • KPEnumerator
  • NHibernate
  • Validator
  • SpecialistEnumerator

Projeto SpecialistEnumerator

Tem objetivo de manter apenas os enumeradores utilizando em todo projeto.

Dependências importantes

  • KPAttributes

Projeto WebProject

Este projeto tem objetivo de manter toda a camada visual do sistema, como: HTML, CSS, JS, imagens, telas aspx, master pages, etc.

Todo recurso visual deverá permanecer neste projeto, bem como desenvolvimento a nível de tela/página.

Dependências importantes

  • AjaxControlToolkit
  • ActiveRecord
  • KPAttributes
  • KPBO
  • KPComponents
  • Core
  • KPCore
  • KPData
  • KPEntity
  • KPEnumerator
  • KPGlobalization
  • NHibernate
  • Validator
  • SpecialistBO
  • SpecialistData
  • SpecialistEntity
  • SpecialistEnumerator