Anexo II D
Novo Portal Sesc Rio
PLANEJAMENTO DO
DESENVOLVIMENTO E
INTEGRAÇÕES
Página 1 de 16
Tudo que for diferente do que foi citado nesse documento deverá ser aprovado
pela área de tecnologia do SESC.
As diretrizes básicas são:
1. Procurar sempre utilizar a forma nativa (out-of-box) utilizada no SharePoint. Evitar
customizações que necessitem desenvolvimento através de Visual Studio.
2. O padrão de nomenclatura dos objetos devem seguir as regras de formação de nomes
abaixo:
a.
Assemblies:
<Company>.<Component>[<Feature>].dll
(Exemplo:
SESC.Portal.WebParts.dll)
b. Namespaces: <Company>.(<Product>|<Technology>)[.<Feature>][.<Subnamespace]
(Exemplo: SESC.Portal.WebParts);
3. A Microsoft recomenda que a arquitetura de soluções com até 3 WSP. Dessa forma, o
ideal é que o mais próximo da arquitetura abaixo seja utilizada:
a. 1 WSP contendo objetos de escopo Global (Timer Jobs)
b. 1 WSP contendo objetos de escopo WebApplication (WebParts, EventReceivers,
Workflows, etc.)
c. 1 WSP contendo objetos de framework, classes de negócios e demais componentes
reutilizáveis.
4. Não poderá ser realizada nenhuma alteração diretamente nos arquivos e configurações
presentes no diretório de configuração do SharePoint denominado “15 hive” - C:\Program
Files\Common Files\Microsoft Shared\Web Server Extensions\15. Qualquer alteração no
sistema de arquivos só será permitida através de pacotes WSPs.
5. Toda instalação de objetos customizados (MasterPages, Páginas, Features, Event
Receivers, WebParts, etc.) deve ser realizada através do deploy de pacotes WSPs ou
utilizando PowerShell Scripts de forma automatizada.
6. Para evitar problemas de performance e instabilidade no ambiente, todo assembly
(*.dll) deve ser verificado e aprovado na ferramenta SharePoint Dispose Checker http://archive.msdn.microsoft.com/SPDisposeCheck. O relatório não deve ter erros e os
falsos positivos justificados deverão ser justificados.
7. Todo deploy deverá ser feito por funcionário do SESC utilizando um documento
descrevendo o procedimento a ser realizado (manual de instalação). Nenhum fornecedor
poderá ter acesso direto aos servidores para realização de procedimentos.
8. Nenhum arquivo poderá ser instalado diretamente no servidor. Todas as dependências
da aplicação devem ser instaladas através de pacotes WSPs e do modelo de deploy
definido
pela
Microsoft:
http://technet.microsoft.com/enus/library/cc262995(v=office.14).aspx.
9. O SharePoint Designer não poderá ser utilizado como ferramenta alternativa ou auxiliar
para deploy. Páginas, Master Pages, CSS e outros arquivos devem estar dentro do pacote
WSP.
10. Preferencialmente todos os objetos da aplicação (Listas, Bibliotecas, Content Types,
etc.) deverão ser criados através de features, Site Definitions, List definitions e outros
objetos relacionados.
11. Para primeira instalação da solução poderá ser utilizada a opção de Backup-Restore
utilizando as ferramentas administrativas do SharePoint.
Página 2 de 16
12. O fornecedor da solução deverá entregar ao final do projeto um Manual do Sistema
descrevendo os componentes da solução como WebParts, Javascripts customizados, Timer
Jobs e em quais partes do sistema eles estão associados.
Empacotamento e Instalação
Como política de controle de componentes desenvolvidos, controle de itens instalados e
capacidade de recuperação em caso de desastres, é vedada a instalação de itens de código
que não estejam empacotados em formato padrão do SharePoint. Instalação de
componentes como DLLs devem estar devidamente empacotadas em formato WSP, bem
como itens de aplicação como SharePoint Designer Workflows, BCS Definitions, Site
Templates, etc.
Procedimentos de configuração de Web.Config deve estar devidamente documentos e
serão aplicados manualmente pelo responsável pela operação do ambiente.
Procedimentos de configuração de serviço que não impactem diretamente na utilização de
recursos que necessitam de planejamento adicional devem ser automatizados via
PowerShell Script e disponibilizado em formato específico desta tecnologia – “PS1”. Todas
as variáveis de ambiente devem ser configuradas em formato de parâmetro para os
scripts de forma que o procedimento possa ser repetido nos ambientes de QA e produção
alterando-se apenas o parâmetro.
● Procedimentos automatizáveis: Configuração de serviço, criação de propriedades,
criação de listas, alteração de componentes de sites, configuração de busca, configuração
de repositório de perfil.
● Procedimentos não automatizáveis: Procedimentos que envolvam a criação de novos
sites/pools no IIS, criação de banco de dados, alteração de cota de disco para aplicações.
Sistemas compostos por DLLs devem sempre ser compilados com suporte à 64 bits e em
modo Release para ambiente de QA e PD.
É vedado qualquer tipo de ajuste de sistema em ambiente de QA já que o mesmo tem o
objetivo de validar não só as funcionalidades do sistema, mas também o procedimento de
publicação. Ajustes de sistema devem ser realizados diretamente em ambiente de DV e
novamente empacotadas para aplicação em QA.
Autenticação
É padrão para aplicações de acesso interno (ambiente intranet) a utilização de
autenticação integrada ao AD via NTLM. Casos específicos devem ser analisados pelo time
de arquitetura. 7
Página 3 de 16
Integração com sistemas externos
Por padrão, toda comunicação entre sistemas hospedados em ambiente SharePoint e
sistemas externos, seja via comunicação com banco de dados, Web Service ou qualquer
outro método, deve ser realizada via BCS – Business Connectivity Service.
Padrão de autenticação integrada
Todo processo de autenticação integrada de usuários (Single Sign-on) que necessite de
gerenciamento de credenciais (não implementado via ticket) deverá necessariamente fazer
uso do serviço de credenciais do SharePoint (Secure Store Service). Não é permitido o
armazenamento de credenciais de autenticação para acesso à outros sistemas em
qualquer outro repositório (listas, bancos de dados, XML, entre outros).
Arquitetura da Aplicação
De modo geral, o Microsoft SharePoint 2013 é uma plataforma organizacional baseada na
Web para colaboração de negócios e produtividade.
O SharePoint 2013 é construído com base no Microsoft .NET Framework 4.5, ASP.NET,
Internet Information Services (IIS) e banco de dados SQL Server.
Existem duas modalidades do SharePoint 2013, o SharePoint Foundation que constitui a
tecnologia base de todas as aplicações SharePoint. E o SharePoint Server que contém
todos os recursos do SharePoint Foundation, além de outras funcionalidades e capacidades
como gerenciamento de conteúdo corporativo, Business Intelligence, pesquisa corporativa
e perfis pessoais através de Meus Sites.
A solução desenvolvida será implantada em uma Web Application do SharePoint 2013, que
é hospedada em um website no IIS.
Figura 1 - SharePoint Technology Stack
Página 4 de 16
Com a evolução da plataforma Microsoft SharePoint, o seu modelo de customizações foi
drasticamente alterado e permite uma série de variações para atender melhor as soluções
em qualquer tipo de cenário: seja com servidores instalados no ambiente do cliente ou um
ambiente na nuvem (tanto privada quanto compartilhada - Office 365).
Como as possibilidades de customização da plataforma são enormes, cabe ao arquiteto o
trabalho de decidir qual tecnologia utilizar e como otimizá-la para atingir os resultados da
melhor forma possível.
Figura 2 - APIs de Desenvolvimento
Na metodologia deverá ser adotado sempre que possível a utilização de o máximo da
plataforma nativa (Out of the box) do SharePoint, evitando pontos de customização.
Quando for necessária alguma customização, utilizar os códigos server-side para proteger
regras de negócio do lado do servidor e, sempre que possível, utilizamos código client-side
para interação com os usuários do sistema.
O grande desafio é escolher a API certa para utilização de acordo com o projeto ou cenário
do cliente. A figura abaixo ressalta que é possível obter os mesmos resultados de forma
diferente. Assim sendo, o desenvolvedor/arquiteto tem mais liberdade de poder escolher a
ferramenta que ao mesmo tempo consiga elevar a produtividade e atender os requisitos
específicos de cada cliente.
Página 5 de 16
Figura 3 - Tipos de APIs
Aplicar as metodologias de desenvolvimento de mercado para padronização e organização
de código-fonte para gerar um código de qualidade e um produto que atenda aos critérios
de carga da aplicação.
Além de o SharePoint possuir uma grande variedade de APIs para sua customização, ele
disponibiliza serviços para que qualquer operação que você consiga fazer via browser
também seja possível ser executada através dessas “APIs de integração”.
Dessa forma, o SharePoint cria um proxy que faz a tradução das operações e as executa
internamente. Essas operações incluem: gerenciar listas (criar, editar e excluir itens),
gerenciar o site, consumir algum serviço (search, managed metadata) e etc.
Página 6 de 16
Figura 4 - Client APIs
Sendo assim, recomendamos que as funcionalidades sejam desenvolvidas da seguinte
maneira:
1. Sempre que possível usar o nativo (podendo customizar look and feel)
2. Interações com objetos Client deverão ser feitos por Javascript (ou bibliotecas: JQuery,
etc.).
3. Códigos Server-Side devem ser na linguagem C#, utilizando o Server Object Model do
SharePoint.
Estrutura do Site
Parte da metodologia do desenho de uma solução tecnológica consiste em montar uma
arquitetura técnica dos objetos que fazem parte do portal, dentre eles: Listas, Bibliotecas,
Páginas, Repositório de imagens e etc. Esse detalhamento, além dos tipos de contâiners,
descreve detalhamento cada tipo de coluna, seus valores possíveis e tipos de dados. Esses
dados estão disponíveis no documento Sesc Portal - Detalhamento de listas e bibliotecas.
Além do detalhamento de toda estrutura do site, a metodologia da contempla a criação de
um wireframe navegável. Esse wireframe é um protótipo visual que permite ao usuário a
compreensão de como o sistema ficará quando pronto.
Informações Gerais
A aplicação deverá prever a utilização em formato HTTPS, através de certificado digital de
responsabilidade do SESC.
Página 7 de 16
A solução deverá utilizar/prever alguma forma de coleta de métricas de utilização do
sistema. Recomendamos que a solução principal para esse requisito seja a utilização do
Google Analytics.
Integrações
O portal prevê integrações com as seguintes fontes:
● CtrlPAE / SAE
● Facebook
● Instagram
● Youtube
● Intranet
CtrlPAE / SAE
CtrlPAE (Controle de Programação Atividades e Eventos) é o sistema interno que contém
informações sobre os eventos do SESC. A Base de dados está no formato SQL Server.
As informações relativas às atividades assistemáticas e sistemáticas são gerenciadas por
esse sistema, entretanto, todas as programações oferecidas pelo SESC devem estar
cadastradas no CtrlPAE.
O Sesc possui também o Sistema de Atividades Esportivas (SAE) que controla as
inscrições dos alunos nas modalidades esportivas oferecidas pelo Sesc Rio. Desta forma,
em relação as atividades esportivas, haverá duplicidade de informação, devendo o
responsável pela publicação deste conteúdo no Portal fazer este filtro antes da publicação.
As informações de esporte para publicação no Portal deverão ser retiradas do sistema SAE
por possuir todas as informações necessárias.
As informações deverão ser consumidas conforme descrito no detalhamento abaixo, as
demais informações de atividades que não estão no CtrlPAE / SAE, serão gerenciadas e
cadastradas diretamente no SharePoint conforme a Especificação Funcional.
SAE é o Sistema de Atividade Esportivas, que contém os detalhes das programações. Esse
sistema é responsável pelos dados das programações sistemáticas referentes à
modalidade esportiva, e contém os dados abaixo:
As demais informações que não estão no SAE, serão gerenciadas e cadastradas
diretamente no SharePoint conforme a Especificação Funcional.
Página 8 de 16
O sistema SAE disponibilizará um WebService para essas informações e atualmente
encontra-se em desenvolvimento.
A query abaixo foi utilizada, como exemplo, para extração e demonstração dos dados que
serão apresentados no WebService do SAE.
SELECT DISTINCT
CE.Des_Nom_Unidade,
CM.Des_Nom_Modalidade,
CF.Des_Nom_Faixa_Etaria,
dbo.retornaDiasSemanaPorTurma(CT.Cod_Num_Turma) AS DIAS,
CA.Hor_Inicio_Aula,
CA.Hor_Fim_Aula, 14
Página 9 de 16
CTR.Val_Mensalidade,
CTR.Dat_Ini_Tarifario,
CTR.Nom_Categoria,
CTR.Cod_Num_Categoria
FROM
CURSO_ESTABELECIMENTO CE
INNER JOIN CURSO_TURMA CT ON CT.Cod_Num_Unidade = CE.Cod_Num_Unidade
INNER JOIN CURSO_MODALIDADE CM ON CT.Cod_Num_Modalidade =
CM.Cod_Num_Modalidade
INNER JOIN CURSO_FAIXA_ETARIA CF ON CF.Cod_Num_Faixa_Etaria =
CT.Cod_Num_Faixa_Etaria
INNER JOIN CURSO_AULAS CA ON CA.Cod_Num_Turma = CT.Cod_Num_Turma
INNER JOIN CURSO_TARIFARIO CTR ON CTR.Cod_Num_Modalidade =
CM.Cod_Num_Modalidade
WHERE
CTR.Dat_Ini_Tarifario = '2013-07-16 00:00:00.000'
AND CT.Sta_Turma = 'AT'
AND CTR.Cod_Num_Categoria IN (00,70)
ORDER BY CE.Des_Nom_Unidade,
CM.Des_Nom_Modalidade
Para as atrações “Não-sistemáticas” (Shows, Teatro, etc.), os dados são provenientes do
CtrlPAE. Utilizando a Query abaixo, conseguimos extrair os campos da revista para
alimentar as listas referentes a esse tipo de atração no SharePoint.
SELECT DISTINCT
B.PROG_NM_PROGRAMACAO
,B.PROG_DT_INICIAL
,B.PROG_DT_FINAL
,A.TEPR_DT_EXECUCAO
,A.TEPR_HR_INICIAL
,A.TEPR_HR_FINAL
,F.TUNI_NM_UNIDADE
,C.TLOC_NM_LOCAL
,D.TPPU_VL_PRECO
,E.TPUB_NM_PUBLICO 15
Página 10 de 16
,B.NM_FAIXA_ETARIA
,B.CD_CATEGORIA_REVISTA
,B.NM_DESCRICAO_REVISTA
,B.NM_OBS_REVISTA
,B.DT_REVISTA_EDITOR
,B.DT_REVISTA_REVISOR
,H.TEVE_CD_EVENTO
FROM CPAE_TEXECUCAO_PROGRAMACAO A
INNER JOIN CPAE_TPROGRAMACAO B
ON A.PROG_CD_PROGRAMACAO = B.PROG_CD_PROGRAMACAO
INNER JOIN CPAE_TLOCAL C
ON A.TLOC_CD_LOCAL = C.TLOC_CD_LOCAL
INNER JOIN CPAE_TPROG_PUBLICO D
ON A.PROG_CD_PROGRAMACAO = D.PROG_CD_PROGRAMACAO
INNER JOIN CPAE_TPUBLICO E
ON D.TPUB_CD_PUBLICO = E.TPUB_CD_PUBLICO
INNER JOIN CPAE_TUNIDADE F
ON C.TUNI_CD_UNIDADE = F.TUNI_CD_UNIDADE
LEFT JOIN CPAE_TUSUARIO G
ON B.TUSU_CD_USUARIO = G.TUSU_CD_USUARIO
LEFT JOIN ENT_TEVENTO H
ON G.TPER_CD_PERFIL = H.TPER_CD_PERFIL
WHERE TEVE_CD_EVENTO = 6
Programações com um dos campos abaixo preenchidos são da Revista, e por conseguinte
são assistemáticas.
B.CD_CATEGORIA_REVISTA
B.NM_DESCRICAO_REVISTA
B.NM_OBS_REVISTA
B.DT_REVISTA_EDITOR
B.DT_REVISTA_REVISOR
Esses campos são:
Página 11 de 16
Para cada tipo de público, será gerado um registro novo, repetindo todos os dados e
alterando apenas as colunas Tipo de Público e Valor.
As informações serão apenas consumidas e disponibilizadas no portal, ou seja, não existirá
uma interface para gravar dados nesses sistemas. Todas as alterações necessárias serão
feitas no SharePoint. Além disso, deverá existir um tratamento dos dados provenientes do
SAE e do CtrlPAE para que seja feito um “MERGE” e disponibilizado na estrutura que o
SharePoint espera receber essas informações.
Por questões de carga e quantidades de acesso, é recomendável a replicação somente dos
eventos “aprovados” para uma base de dados isolada para ser consumida pelo portal do
SharePoint.
Para eventos, aulas e cursos, a estrutura prevista do SharePoint precisará receber as
informações abaixo. Caso alguma das informações necessárias para o funcionamento do
sistema não esteja disponível no CtrlPAE / SAE, ele deverá fornecer o máximo que contiver
ou o SESC deverá prover alguma alternativa para alimentação desses dados.
Eventos
Página 12 de 16
Aulas e Cursos:
Página 13 de 16
Facebook
Será utilizado para compartilhamentos, seguidores e comentários. Todas essas
informações serão tratadas pelo Facebook e nenhuma informação ficará disponível no
portal.
Instagram
A integração com o Instagram está prevista para exibição de imagens em algumas áreas
do portal.
Youtube
É necessário a utilização de alguns vídeos do youtube no portal e, para isso, eles serão
adicionados no modelo de EMBED.
Intranet
O portal precisa consumir algumas informações da Intranet. Dentre elas:
Página 14 de 16
Licitações
Arquivos das Licitações
Central de Relacionamento com o Público
A página de Fale Conosco que contém o Formulário de Contato deve apresentar um
formulário adicionado no modelo de EMBED da Central de Relacionamento com Público,
que deverá atender pessoas físicas e jurídicas, contendo características específicas no
formulário para cada público de acordo com a opção a ser selecionada pelo usuário. Em
relação ao Chat online, ao clicar um pop-up com a identidade visual do Portal será
acionado e este serviço também será fornecido pela Central de Relacionamento com o
público.
Serviços utilizados
Está previsto na solução a utilização dos seguintes serviços do SharePoint:
● Search
● Managed Metadata Services
● User Profile Services
● Business Data Catalog
Browsers Suportados
Página 15 de 16
A Microsoft melhorou bastante a quantidade de browsers suportados e reduziu a
quantidade de recursos que dependem exclusivamente do Internet Explorer.
Na tabela abaixo listamos todos os browsers compatíveis com o SharePoint 2013.
Entretanto, alguns recursos Active X podem não funcionar em todos os browsers. Para
mais detalhes sobre isso, consultem o link da documentação oficial da Microsoft em Plano
de suporte do navegador no SharePoint 2013.
Autenticação dos Usuários
Como é um portal público, todas as áreas serão configuradas para permitir acesso
“anônimo”. Entretanto, o sistema deverá prever uma área administrativa isolada,
autenticada utilizando usuário do AD do Sesc para manutenção do portal e de seu
conteúdo. Essa área poderá ser publicada para que colaboradores do SESC possam fazer
essa manutenção remotamente.
Página 16 de 16
Download

CC 21.2015 - Desenvolvimento e Implantação da Extranet