Você está na página 1de 115

Integrao On-line com Sharepoint

2004 / 2005

1990309 - Jos Miguel de Bessa Carvalho

Departamento de Engenharia Informtica

Integrao On-line com Sharepoint

2004 / 2005

1990309 - Jos Miguel de Bessa Carvalho

Departamento de Engenharia Informtica


2004
Orientador ISEP: Eng. Paulo Proena
Supervisor myPartner: Eng. Rui Cardoso

minha famlia

Integrao On-Line com Sharepoint

Agradecimentos
Comeo por agradecer a todos os professores que tive, desde a
primria faculdade, pois sem eles, no poderia ter adquirido os
conhecimentos que me foram fundamentais para o curso, para o estgio e
para a vida.
Quero dar todo o meu apreo a toda a equipa da myPartner, a
empresa que me acolheu nos ltimos cinco meses e me fizeram sempre
sentir em casa.
A toda a minha famlia, minha namorada, e aos meus amigos, pela
pacincia, ajuda e compreenso dadas.
Ao supervisor da myPartner, Eng. Rui Cardoso, por me ter
acompanhado e ajudado imenso em todas as situaes, mas principalmente
por me ter dado esta oportunidade.
Ao Carlos Alberto e ao Eduardo Nogueira, por todo o desafio a que me
sujeitaram e por todas as oportunidades dadas.
Ao estagirio Jos Miguel Oliveira pela entreajuda que existiu durante
este estgio.
A toda a equipa da myPartner, pela simpatia e boa disposio
mostrada todos estes cinco meses passados e por terem tido a
disponibilidade para mesmo nas situaes mais bsicas me poderem ajudar.
Ao

meu

orientador

de

estgio,

Eng.

Paulo

Proena,

pela

disponibilidade demonstrada.
Quero tambm dar um agradecimento especial ao ISEP Instituto
Superior de Engenharia do Porto, por me ter posto ao dispor o Laboratrio
.NET.

A todos um muito obrigado,


Miguel Carvalho
2005
vii

Integrao On-Line com Sharepoint

Resumo
O objectivo deste projecto consiste no estudo da aplicao Microsoft
Windows

Sharepoint

Services,

no

desenvolvimento

de

vrias

solues/aplicaes possveis de realizar dentro do mesmo, tendo sido


desenvolvida a integrao entre aplicaes distintas, neste caso entre o
prprio Sharepoint, o Microsoft Business Solutions Navision, e o Microsoft
Office 2003, integrao com Infopath e Excel.

O ponto fulcral do estgio centra-se na anlise exaustiva do Microsoft


Windows Sharepoint Services.

Para a integrao com Microsoft Business Solutions - Navision, foi necessrio


desenvolver vrios WebServices que servissem de intermedirio entre as
duas aplicaes.

Foram tambm desenvolvidos vrios sites e aplicaes dentro do Sharepoint,


capazes de satisfazerem as necessidades pretendidas por vrios clientes a
que a myPartner quis apresentar o produto.

Finalmente, de salientar a satisfao do estagirio relativamente ao


trabalho desenvolvido, tendo sido alcanados os requisitos inicialmente
previstos.

ix

Integrao On-Line com Sharepoint

ndice
Agradecimentos ......................................................................vii
Resumo ................................................................................. ix
ndice ................................................................................... xi
ndice de Figuras .....................................................................xv
Notao e Glossrio ............................................................... xvii
1 Introduo............................................................................ 1
1.1. Enquadramento ........................................................................1

1.2

Apresentao do estgio ..........................................................2

1.3

Tecnologias utilizadas .............................................................3

1.4

Apresentao da Empresa ........................................................4

1.4.1

Organigrama: .............................................................................. 6

1.4.2

Localizao da myPartner: .............................................................. 7

1.5

Contributos deste trabalho .......................................................7

1.6

Organizao do relatrio..........................................................8

Contexto........................................................................... 9
2.1

O que o Sharepoint? .............................................................9

2.2

Histria do Sharepoint.............................................................9

2.3

Windows Sharepoint Services (WSS).......................................... 11

2.4

Arquitectura ....................................................................... 12

2.5

IIS 6.0 ............................................................................... 17

2.6

Segurana .......................................................................... 18

2.6.1

Autenticao de utilizador .............................................................19

2.6.2

Autenticao Annima ..................................................................19

2.6.3

Autenticao Bsica .....................................................................19

2.6.4

Autenticao Integrada Windows .....................................................20

xi

Integrao On-Line com Sharepoint

2.6.5

SSL..........................................................................................20

2.7

Grupo de Administrao do Sharepoint...................................... 20

2.8

Grupos de Site..................................................................... 21

2.8.1

Segurana da porta de administrao ................................................21

2.8.2

Segurana da ligao SQL Server ......................................................22

2.8.3

Proteco Firewall.......................................................................22

2.9

Funcionalidades................................................................... 22

2.9.1

Listas.......................................................................................23

2.9.2

Bibliotecas ................................................................................24

2.9.3

Quadros de Discusso ...................................................................25

2.9.4

Surveys ....................................................................................25

2.10

Customizao de um site SharePoint......................................... 25

2.11

WebParts ........................................................................... 26

2.12

Sharepoint Portal Server (SPS) ................................................ 28

2.12.1

WSS vs SPS .............................................................................30

2.12.2

Requisitos Mnimos ...................................................................31

2.13

Windows Server 2003............................................................ 32

2.13.1

Segurana ..............................................................................32

2.13.2

Flexibilidade...........................................................................32

2.13.3

Servios WEB ..........................................................................33

2.14

Microsoft .NET..................................................................... 33

2.14.1

Framework 1.1 ........................................................................34

2.14.2

Common Language Runtime ........................................................34

2.14.3

CLR Arquitectura .....................................................................35

2.14.4

Bibliotecas .............................................................................35

2.15

Microsoft Visual Studio .NET 2003 ............................................ 36

2.15.1

2.16

C# .......................................................................................36

Microsoft Business Solutions-Navision 4.0................................... 38

2.16.1

Sobre a Microsoft Business Solutions ..............................................42

xii

Integrao On-Line com Sharepoint

2.16.2

Microsoft Business Solutions Navision Developers Toolkit...................42

2.16.3

C/SIDE ..................................................................................43

2.16.4

NAS......................................................................................45

2.17

Microsoft FrontPage 2003 SP1 ................................................. 46

2.18

Microsoft InfoPath 2003 SP1 ................................................... 46

2.19

Web Services ...................................................................... 49

2.19.1

SOAP ....................................................................................50

2.19.2

WSDL....................................................................................51

2.19.2.1
2.19.3

XML .....................................................................................51

2.19.4

XSL (Etensible Stylesheet Language) ..............................................52

2.19.5

XSD (XML Schema Definition) .......................................................53

2.19.6

XML DOM ...............................................................................53

2.20

3.

Estrutura de um documento WSDL .............................................51

Microsoft Message Queuing (MSMQ)........................................... 55

Descrio Tcnica ..............................................................57


3.1

Desenho da Aplicao ........................................................... 57

3.2

Ligao InfoPath Web Service................................................ 57

3.3

Ligao Navision Web Service................................................ 60

3.4

Web Service ....................................................................... 62

3.4.1

Web Methods .............................................................................63

3.4.2

Message Queues ..........................................................................69

3.4.3

Navision ...................................................................................70

3.5

Relatrio de Despesas myPartner ............................................. 83

3.6

Web Part EEE (Linha de Encomendas) ....................................... 84

Concluses .......................................................................85
4.1

Objectivos realizados ............................................................ 85

4.2

Outros trabalhos realizados .................................................... 85

4.3

Limitaes e trabalho futuro................................................... 86

xiii

Integrao On-Line com Sharepoint

4.4

Apreciao final................................................................... 86

Bibliografia............................................................................88
ANEXOS.................................................................................89
Anexo 1 Calendarizao do Estgio .................................................. 90
Anexo 2 Aspecto Bsico do WSS ...................................................... 91
Anexo 3 Site desenvolvido para a EEE .............................................. 92
Anexo 4 Frum de Discusso (EEE) .................................................. 93
Anexo 5 Galeria de Fotos (EEE)....................................................... 94
Anexo 6 Site desenvolvido para Bulhosa Livreiros ............................... 95
Anexo 7 Questionrios (Surveys) ..................................................... 96
Anexo 8 Estatsticas de Questionrio................................................ 97
Anexo 9 Desenvolvimento C# para CRM ............................................ 98

xiv

Integrao On-Line com Sharepoint

ndice de Figuras
Figura 1 - Organigrama da Empresa myPartner...............................................................................6
Figura 2 Localizao da myPartner .................................................................................................7
Figura 3 Windows Sharepoint Services..........................................................................................11
Figura 4 Arquitectura do Windows Sharepoint Services(WSS)..................................................12
Figura 5 - Configurao Web Farm ..................................................................................................13
Figura 6 Diferentes tipos de Bases de Dados ...............................................................................14
Figura 7 Coleco de sites num servidor virtual.........................................................................15
Figura 8 Estrutura da Framework .NET ........................................................................................34
Figura 9 Arquitectura genrica NAS ..............................................................................................45
Figura 10 Esquema da comunicao entre aplicaes................................................................49
Figura 11 Estrutura do protocolo SOAP ........................................................................................50
Figura 12 Lgica da tecnologia MSMQ ...........................................................................................55
Figura 13 Formulrio de Encomendas Bulhosa Livreiros ...........................................................58
Figura 14 Comunicao InfoPath Web Service ..........................................................................60
Figura 15 - Processo de comunicao entre Navision e web service ..........................................61
Figura 16 Relatrio de Despesas myPartner ................................................................................83
Figura 17 Webpart de linhas de encomeda (EEE) ......................................................................84
Figura 18 - Calendarizao do Estgio.............................................................................................90
Figura 19 - Grfico de Gantt .............................................................................................................90
Figura 20 - Site base Windows Sharepoint Services ......................................................................91
Figura 21 - Site EEE .............................................................................................................................92
Figura 22 - Frum de Discusso (EEE) ..............................................................................................93
Figura 23 - Galeria de Fotos EEE ......................................................................................................94
Figura 24 - Site Bulhosa Livreiros.....................................................................................................95
Figura 25 - Questionrio Bulhosa......................................................................................................96
Figura 26 - Estatsticas do questionrio..........................................................................................97
Figura 27 - Aplicao desenvolvida para integrao em CRM .....................................................98

xv

Integrao On-Line com Sharepoint

ndice de Tabelas
Tabela 1 Comparao entre WSS e SPS.........................................................................................30
Tabela 2 Requisitos Mnimos ..........................................................................................................31
Tabela 3 Mdulos e seces do Navision.......................................................................................41
Tabela 4 Utilizao da tecnologia XML, pelo InfoPath ..............................................................48
Tabela 5 Objectos XML DOM ...........................................................................................................54

xvi

Integrao On-Line com Sharepoint

Notao e Glossrio

WSS

Windows Sharepoint Services

SPS

Sharepoint Portal Server

STS

Sharepoint Team Services

ERP

Enterprise Resource Planning

IIS

Internet Information Service

XML

eXtensible Markup Language

HTML

Hypertext Markup Language

SMTP

Simple Mail Transfer Protocol

HTTP

Hypertext Transfer Protocol

SQL

Structured Query Language

MSDN

Microsoft Developer Network

SOAP

Simple Object Access Protocol

URL

Uniform Resource Locator

xvii

Integrao On-Line com Sharepoint

1 Introduo
Este documento apresenta um relatrio sucinto do trabalho desenvolvido
pelo aluno Jos Miguel de Bessa Carvalho, enquanto estagirio na empresa
myPartner Consultoria Informtica Lda., no desenvolvimento do estgio
realizado no mbito da cadeira de Projecto/Estgio do 3 ano do
Bacharelato em Engenharia Informtica do Instituto Superior de Engenharia
do Porto, no segundo semestre do ano lectivo de 2004/2005.

1.1. Enquadramento
A realizao do estgio envolveu uma anlise exaustiva sobre as diferentes
solues que iriam ser implementadas, pelo que a maior parte do tempo
dispendido durante o mesmo, focou-se na execuo da tarefa de anlise.
Foram desenvolvidas diversas aplicaes, sites, relatrios, entre outros
nomeadamente para a prpria empresa myPartner, para a EEE Empresa de
Equipamento Elctrico, para a Bulhosa Livreiros.
Para a myPartner, foi desenvolvido um portal que pudesse ser funcional
dentro da prpria empresa, funcionando como uma intranet. Relatrios de
despesas a serem preenchidos pelos colaboradores e aprovados pelos
directores, questionrios, livrarias de documentos, imagens entre outros.
Para a EEE e para a Bulhosa, foram desenvolvidos portais semelhantes que
pudessem de certa forma mostrar s empresas as funcionalidades e
potencialidades do Sharepoint. Desde toda a gama de templates existentes,
integrao com Navision, para tal desenvolveram-se, para alm dos
templates existentes, vrias webparts capazes de integrarem o Sharepoint e
serem funcionais em funo do pretendido.

Jos Miguel de Bessa Carvalho

Integrao On-Line com Sharepoint

1.2

Apresentao do estgio

No decorrer do estgio, foram asseguradas ao Estagirio todas as condies


normalmente disponibilizadas aos funcionrios da empresa. Em particular,
foi-lhe concedido um acesso rede interna da myPartner, com integral
partilha de recursos, o que lhe permitiu ter acesso Intranet e acesso
ilimitado Internet. Foi-lhe, tambm, concedida uma conta de correio
electrnico e todos os programas necessrios, que se revelaram essenciais
na evoluo do projecto desenvolvido. Adoptando a poltica interna da
empresa, foi criada uma pasta especfica para o projecto, localizada no
servidor da empresa. Foram ainda oferecidos, ao Estagirio, todos os
recursos logsticos

indispensveis sua ocupao, como acesso a

impressoras, consumveis de escritrio e posto fsico de trabalho. Todas


estas facilidades contriburam de forma significante para a rpida
integrao no ambiente de trabalho.
O

estgio

foi

desenvolvido

utilizando

vrias

ferramentas,

algumas

desconhecidas partida pelo Estagirio como o caso do prprio Microsoft


Windows Sharepoint e do Microsoft Virtual PC 2004. A anlise da
tecnologia foi sem dvida o ponto fulcral do estgio, tornando-se numa
grande componente didctica, tendo sido necessrio despender de bastante
tempo para a realizao do trabalho de pesquisa e de investigao,
permitindo, assim, aprofundar os conhecimentos.
Na comunicao com o gestor do projecto (supervisor da myPartner) foi
utilizado o Microsoft Project 2003, onde desde o incio do Projecto, foi
delineado um Planeamento com etapas muito minuciosas e com prazos
devidamente estipulados.

Jos Miguel de Bessa Carvalho

Integrao On-Line com Sharepoint

1.3

Tecnologias utilizadas

Microsoft Windows Sharepoint Services

Microsoft Windows Server 2003

Microsoft Virtual PC 2004

Microsoft SQL SERVER 2000

Microsoft Business Solutions Navision 4.0

Navision 4.0

WebServices XML desenvolvidos no Microsoft Visual


Studio .NET 2003

Microsoft Office 2003

Microsoft Visual Studio .NET 2003

Jos Miguel de Bessa Carvalho

Integrao On-Line com Sharepoint

1.4

Apresentao da Empresa

O Projecto Empresarial da myPartner:


A myPartner Consultoria Informtica est vocacionada para a oferta de
solues globais de sistemas de informao, com foco em solues de
software de gesto. A misso da empresa centra-se no sistema de
informao como factor diferenciador do negcio das empresas e em dotar
os gestores de meios que reforcem o conhecimento e a capacidade de
deciso.
A myPartner tem para oferecer:

Solues Software Gesto (ERM Navision)


o Solues de Parceiros;
o Solues Verticais;
o Solues de Mobilidade;
o Business Intelligence (Cognos);

Servios de Consultoria
o Consultoria de gesto e de negcio (Melhoria de processos,
Aumento de eficincia e Reduo de custos);
o Servios de implementao e desenvolvimento de solues
software de gesto (Formao, Implementao, Suporte
continuado e Desenvolvimento aplicacional);
o Desenho de projectos de sistemas de informao (Elaborao
de cadernos de encargos, apoio seleco de solues e
avaliao de ROI dos Investimentos);
o Outsourcing (Global ou parcial, Gesto operacional e Gesto
Estratgica);

Tecnologias de Sistemas de Informao


o Redes e infra-estruturas locais e alargadas;
o Equipamento de Micro-Informtica;
o Armazenamento de dados e backup & recovery;
o Solues de Segurana;

Jos Miguel de Bessa Carvalho

Integrao On-Line com Sharepoint

Servios de Tecnologias de Sistemas de Informao


o Servios de instalao e configuraes de tecnologias e infraestruturas informticas (Instalao e configurao de solues
e Formao na utilizao de tecnologias);
o Desenho de projectos de sistemas de informao (Diagnstico
de infra-estruturas tecnolgicas, Recomendaes e Desenho de
solues);
o Outsourcing (Global ou parcial, Gesto operacional e Gesto
Tctica);

Ao nvel das solues de gesto, o principal parceiro a Microsoft. A


myPartner desenvolveu competncias para a implementao do ERP
Navision e para a implementao do MS CRM, como soluo de gesto de
relacionamento com clientes, baseada em Outlook. Da mesma forma, tem
disponvel uma soluo de Mobilidade para ERP Mobile, 100% integrada com
o ERP Navision e com o Outlook.

Ao nvel da informao de gesto, e no sentido de levar as solues ao maior


nmero possvel de empresas, a myPartner tem como escolha preferencial
as solues da Cognos, para a qual h um importante apoio da Sinfic, que
representa a Cognos em Portugal.

Tem tambm algumas parcerias especializadas, orientadas para mercados


verticais ou nichos de mercado, complementando a oferta com solues e
capacidade de implementao amplamente comprovadas. Por exemplo,
para a rea de recursos humanos, para a indstria txtil, para redes de lojas
de retalho ou restaurao que necessitem de solues de front-office e
backoffice integradas.

Na rea das tecnologias os principais parceiros so a HP e a IBM, assim como


a Microsoft.

Jos Miguel de Bessa Carvalho

Integrao On-Line com Sharepoint

O mais recente parceiro, a Sybari, o lder do mercado de fornecimento de


solues inovadoras contra as ameaas de vrus e para a segurana dos
programas de utilizao em rede. Esta parceria fruto da procura constante
de solues tecnolgicas com valor acrescentado adequadas s necessidades
dos clientes.

1.4.1 Organigrama:

Eduardo Nogueira

Carlos Gonalves

Marketing & Vendas


Tecnologias SI

Solues e Servios

Gesto Executiva

Marketing & Vendas

Tecnologias de SI

(4 colaboradores)

( 3 colaboradores)

Solues Empresariais
(16 colaboradores)

Marketing

Projectos de TSI

Consultoria de Aplicaes

Solues Empresariais

Servios de Suporte

rea Tcnica e de Desenvolvimento

Tecnologias de SI

Servios de Suporte

Figura 1 - Organigrama da Empresa myPartner

Jos Miguel de Bessa Carvalho

Integrao On-Line com Sharepoint

1.4.2 Localizao da myPartner:

Figura 2 Localizao da myPartner

1.5

Contributos deste trabalho

A caracterstica primordial do projecto desenvolvido, foi o facto de este se


tratar do estudo de uma aplicao recente, com vista a ser implementada
na empresa e nos seus clientes. Este tipo de aplicaes comea a ganhar
cada vez mais destaque no nosso quotidiano.
Este projecto vai ser posteriormente integrado totalmente na empresa,
permitindo uma facilidade na consulta de diferentes tipos de relatrios,
contactos da empresa, relatrios de despesas, questionrios a funcionrios,
entre outras funcionalidades, em qualquer lugar e a qualquer momento,
satisfazendo de uma forma mais rpida e eficiente os funcionrios e clientes
da empresa.

Jos Miguel de Bessa Carvalho

Integrao On-Line com Sharepoint

1.6

Organizao do relatrio

No primeiro captulo ser feita uma apresentao do trabalho, o seu


enquadramento, onde foi realizado, os contributos e as tecnologias
utilizadas.
No segundo captulo ser descrito o trabalho realizado, o estudo e
desenvolvimento das aplicaes. Para cada aplicao ser feita uma anlise
dos objectivos e seguidamente descrito o seu desenvolvimento.
Da anlise constar a informao essencial para a compreenso do projecto
e das aplicaes. Conter ainda toda a informao relevante reunida at a
altura como as diferentes tecnologias usadas, o porqu da sua escolha e a
sua implementao.
Na

descrio

do

desenvolvimento

sero

mencionadas

as

principais

funcionalidades das aplicaes e como foram implementadas. As figuras que


mostram o interface grfico com o utilizador permitiro ao leitor ficar com
uma ideia das aplicaes e do seu funcionamento.
No terceiro captulo ser feita uma concluso final que tentar reflectir o
balano do estgio. Haver lugar a uma lista de possveis melhoramentos e
alteraes s aplicaes a serem realizadas no futuro. Ainda neste captulo
ser mencionado o trabalho realizado na empresa que no tenha estado
directamente ligado ao projecto.

Jos Miguel de Bessa Carvalho

Integrao On-Line com Sharepoint

Contexto

No actual mundo empresarial, essencial existir uma forma eficiente de


partilhar o conhecimento, colaborar e coordenar.
A ferramenta Sharepoint da Microsoft disponibiliza, sob a forma uma
plataforma de ltima gerao para uma intranet/extranet, um sistema que
potencia a inter conectividade, as equipas e o conhecimento de uma
maneira intuitiva e altamente eficiente.

2.1

O que o Sharepoint?

A oferta Sharepoint, composta por duas aplicaes (Windows Sharepoint


Services e Sharepoint Portal Server) que permitem s organizaes a
implementao de ferramentas de colaborao e a partilha de informao.
desde j indispensvel, fazer uma pequena distino entre os dois
diferentes tipos do dito Sharepoint, Sharepoint Portal Server e Windows
Sharepoint Services.

2.2

Histria do Sharepoint

Organizar e gerir, informao e actividades, so questes com que todas as


empresas se deparam. Na tentativa de satisfazer as necessidades de um
pequeno departamento, um grupo dentro da Microsoft criou um portal que
satisfizesse estes problemas. Visto que os criadores deste produto eram
responsveis pelo Office, este foi construdo com base em FrontPage Server
Extensions1.

FrontPage Server Extensions - Conjunto de programas e scripts que suportam o


FrontPage e extendem a funcionalidade do servidor Web.

Jos Miguel de Bessa Carvalho

Integrao On-Line com Sharepoint

Esta aplicao tornava a criao de sites locais mais rpida, menos custosa e
mais fcil de manter. Este produto mais tarde denominou-se Sharepoint
Team Services (STS), foi desenvolvido usando extenses, de proprietrio,
ISAPI2. Devido a um conjunto limitado de ferramentas, customizar e
extender STS sites tornava-se difcil.
O Windows Sharepoint Services uma verso aperfeioada desta primeira
verso, que foi construdo tendo como base a framework .NET. Isto permitiu
ter uma melhor extensibilidade e customizabilidade, devido ao facto de ser
possvel criar Web Parts3 utilizando o Visual Studio .NET, com as linguagens
C# ou Visual Basic, e poder, criar novos sites com as mesmas.
Outro problema resolvido na nova verso do Sharepoint foi a escalabilidade,
podendo assim ter um ambiente (Web Farm) que suporta vrios utilizadores
e vrios sites Web.
Curiosamente o WSS incompatvel com as FrontPage Server Extensions.

Internet Server API API usada no IIS, aplicaes desenvolvidas usando ISAPI so mais
rpidas do que as desenvolvidas usando CGI, pois tira melhor partido de apontadores de
memria e no precisa de ser reiniciada para processar novos pedidos de dados.

WebPart - Unidade de informao modular consituda por uma barra de ttulo, uma frame
e contedo. Web Parts so as fundaes de uma pgina de Web Parts. Todo o site
Sharepoint constitudo por estas Web Parts. Uma Web Part a combinao de um ficheiro
de descrio (.dwp) e um ficheiro assembly (.dll), sendo todas as Web Parts baseadas em
Web Custom Controls.
Jos Miguel de Bessa Carvalho

10

Integrao On-Line com Sharepoint

2.3

Windows Sharepoint Services (WSS)

O WSS permite criar sites prprios de colaborao para centralizar e


partilhar documentos.

Figura 3 Windows Sharepoint Services

Para tal, fornece os componentes necessrios para a elaborao de sites em


equipa intranets/extranets dedicados partilha de informaes e de
documentos, e enriquece tambm as aplicaes de servio (entre outras)
facilitando o trabalho em grupo.

Jos Miguel de Bessa Carvalho

11

Integrao On-Line com Sharepoint

2.4

Arquitectura

O WSS faz parte do sistema operativo Windows Server 2003, e fornece uma
framework para a construo de sites, de uma forma relativamente simples,
que possibilitam a partilha de documentos e informao entre equipas,
departamentos e organizaes. O WSS tem total integrao com o Microsoft
Office 2003, sendo assim possvel guardar, editar e criar qualquer
documento Office 2003 a partir de um site Sharepoint.
A framework do WSS est construda em cima do Windows Server 2003, do
IIS4 6.0 e do ASP.NET. A figura 3 mostra a forma como os componentes da
framework do Windows Sharepoint Services, se encadeiam.

Figura 4 Arquitectura do Windows Sharepoint Services(WSS)

Ao contrrio do Sharepoint Team Services, cuja arquitectura era baseada em


servidores Web de estado, no Windows Sharepoint Services toda a
informao de um site Web armazenada numa base de dados em Microsoft
SQL Server. Desta forma possvel fazer a distribuio de servidores Web

Jos Miguel de Bessa Carvalho

12

Integrao On-Line com Sharepoint

WSS, havendo assim uma expanso eficiente num ambiente de Web Farm e
resolvendo o problema de escalabilidade do STS.

Figura 5 - Configurao Web Farm

Existem dois tipos de base de dados usados pelo Windows Sharepoint


Services. Uma base de dados de configurao, nica para cada distribuio,
que contm toda a informao de configurao para cada servidor Web
fsico, servidor virtual IIS e site WSS, e outra base de dados, de contedo,
que armazena todos os dados relativos a sites WSS.
A constituio de uma base de dados de distribuio pode variar entre, um
nico servidor a correr os componentes do servidor Web WSS e o SQL Server
com ambas as bases de dados, e um cenrio de Web Farm com mltiplos
servidores Web e/ou mltiplos servidores de bases de dados.

IIS - Internet Information Server servidor Web usado pela famlia de sistemas operativos
servidores da Microsoft.

Jos Miguel de Bessa Carvalho

13

Integrao On-Line com Sharepoint

Figura 6 Diferentes tipos de Bases de Dados

Por defeito o WSS usa a conta NT AUTHORITY\NETWORK SERVICE para correr


aplicaes IIS. necessrio conceder permisses a esta conta de modo a
poder criar e configurar bases de dados no SQL Server, caso contrrio iro
verificar-se erros na instalao e configurao do WSS.
No interior de um servidor virtual possvel a criao de coleces de sites,
que no passam de um conjunto de sites cujo proprietrio o mesmo. Como
o contedo e configurao dos sites Sharepoint so armazenados em bases
de dados em SQL Server, as coleces de sites podem ser usadas como
unidades de backup e restaurao do sistema, sendo assim possvel restaurar
ou distribuir coleces de sites, no mesmo servidor Web ou em servidores
diferentes.
Uma coleco constituda por um site de alto nvel, que criado
automaticamente, cujo URL o mesmo que a prpria coleco. Esta pode
conter outros sites secundrios, que se relacionam com o primeiro de uma
forma pai-filho, como possvel ver na figura 5. Todos os sites de uma
coleco so armazenados na mesma base de dados.

Jos Miguel de Bessa Carvalho

14

Integrao On-Line com Sharepoint

Figura 7 Coleco de sites num servidor virtual

O objectivo fundamental de um site ser um contentor de informao. No


WSS esta informao armazenada em forma de listas, bibliotecas de
documentos e sites filho. Esta informao pode ser restringida ou
disponibilizada a um conjunto, configurvel, de utilizadores. Estas
configuraes podem ser herdadas de um site pai, ou podem ser nicas para
cada site. Cada utilizador de um site utiliza uma conta Windows definida no
domnio da Active Directory5, numa base de dados de contas local. Existe
um conjunto de grupos e permisses que definem o nvel de acessibilidade
de cada utilizador a listas ou bibliotecas de documentos de um site.
Ao nvel do interface possvel, de acordo com o nvel de permisses do
utilizador, alterar o aspecto e estrutura de navegao usando o browser ou
o FrontPage 2003. Os proprietrios ou Web designers, podem customizar um
site adicionando ou removendo Web Parts. Programadores podem tambm
criar novas Web Parts, usando o Visual Studio .NET 2003, de modo a
extender as potencialidades do Sharepoint, sendo estas Web Parts guardadas
na base de dados de contedo.

Jos Miguel de Bessa Carvalho

15

Integrao On-Line com Sharepoint

Em cada site, o WSS suporta a criao de 3 tipos diferentes de pginas Web:

Basic Page cria uma nova pgina simples com a capacidade de


adicionar texto, imagens e tabelas, usando o browser;

Web Part Page cria uma pgina Web Part que possibilita ter uma ou
mais Web Parts na mesma pgina;

Sites and Workspaces cria um site ou workspace filho sob o site


inicial. As permisses podem ser herdadas do site pai ou podem ser
nicas. Existem vrios templates para criao destes sites:
o Team Site cria um site que inclui uma biblioteca de
documentos, e listas do tipo Announcements, Events, Contacts,
Links, e correspondentes hyperlinks de acesso.
o Blank Site cria um site em branco.
o Document Workspace este template providencia uma
biblioteca de documentos, uma lista do tipo Task e uma lista
do tipo Links.
o Basic Meeting Workspace contm uma biblioteca de
documentos e listas do tipo Objectives, Attendees e Agenda.
o Blank Meeting Wrokspace cria um espao em branco.
o Decision Meeting Workspace contm o mesmo contedo que
uma Basic Meeting Workspace com a adio da lista Decisions.
o Social Meeting Workspace cria um espao onde possvel
encontrar listas do tipo Attendees, Directions, Things To Bring,
tal como uma biblioteca de imagens e uma Web Part que
contm uma imagem ou logotipo da empresa.
o

Multipage Meeting Workspace este template baseado no


template Basic Meeting Workspace, podendo-se no entanto ter
mais duas pginas de reunio para customizao.

A nvel tcnico um workspace um site normal, no entanto tem um


objectivo mais focado em reunies. Embora a reunio em si seja conduzida

Active Directory Base de dados que armazena informao sobre utilizadores, grupos,
passwords, segurana, entre outros, em plataformas Windows Server 2000 ou Windows

Jos Miguel de Bessa Carvalho

16

Integrao On-Line com Sharepoint

por pessoa, telefone, ou atravs de um programa de conferncia via


Internet, numa Meeting Workspace possvel acompanhar o progresso da
reunio, visualizar objectivos, documentos necessrios para a reunio,
conceder permisses a utilizadores para participarem, podendo tambm,
funcionar como um registo completo de uma reunio para futura referncia.
Visto estes sites terem capacidade para ser completamente alterados,
possvel criar templates a partir de um site.

2.5

IIS 6.0

O IIS um servidor Web que suporta pginas ASP, Web Services XML, ISAPI e
tecnologias ASP.NET. Na sua instalao criado um Web site IIS (Default
Web Site), que se encontra escuta de pedidos HTTP na porta 80, possvel
modificar as portas de escuta, nomes de sites e criar novos sites. neste
ponto que comea a configurao de um site WSS, podendo-se assim definir
que utilizadores tm acesso aos sites, tempo de time out, formato de
logging, endereo IP, entre outras funcionalidades encontradas em
programas de servidor Web.
Cada site IIS visto pelo Sharepoint como um servidor virtual. Para que um
site WSS possa correr necessrio extender, com WSS, o servidor virtual
correspondente, sendo tambm possvel extender o WSS para outro servidor
virtual, usando o site de administrao, (Sharepoint Central Administration).
Ao contrrio do ASP.NET o WSS no cria um directrio virtual IIS para cada
site, em vez disso, criada uma nova entrada na base de dados de
configurao e na base de dados de contedo apropriada. Desta forma o IIS
no necessita de saber se uma extenso WSS contm um ou mais sites,
obtendo-se assim uma melhor escalabilidade e manuteno.
Existe a possibilidade de se querer correr sites WSS e aplicaes ASP e
ASP.NET no mesmo servidor virtual. O WSS torna isto possvel usando um
filtro ISAPI que, intercepta cada pedido enviado para o servidor virtual onde

Server 2003.
Jos Miguel de Bessa Carvalho

17

Integrao On-Line com Sharepoint

se encontram o(s) site(s), e aps a inspeco do URL do pedido e a base de


dados de configurao, determina quem dever processar o pedido, se o
WSS ou o IIS. Estes URLs so especificados nas configuraes de servidores
virtuais (managed paths), se os URLs se encontrarem nos caminhos includos
(included paths) so processados pelo WSS, caso se encontrem nos caminhos
excludos (excluded paths) so processados pelo IIS.
Ao ser extendido num servidor virtual, o Windows Sharepoint Services
adiciona um ficheiro de configurao, web.config, ao directrio raz do
servidor virtual anfitrio. Este ficheiro proporciona opes de configurao
para todas as aplicaes ASP.NET e sites WSS, podendo-se assim definir o
nvel de segurana usado para correr o cdigo das aplicaes.

2.6

Segurana

Ao ser criado um novo site, possvel atribuir diferentes permisses por


utilizador, podendo-se notificar cada utilizador, via e-mail, dos seus novos
direitos. Num mesmo site, cada biblioteca de documentos, lista, quadros de
discusso ou surveys podem conter permisses diferentes.
Existem quatro tipos diferentes permisses possveis:

Reader tem apenas acesso de leitura;

Contributor pode adicionar contedo a bibliotecas de documentos e


listas;

Web Designer pode criar listas e bibliotecas, e customizar pginas


Web no site;

Administrator tem controlo completo do site.

No WSS o acesso a sites controlado atravs de um sistema de membros,


pelo qual cada utilizador , directa ou indirectamente, associado com uma
permisso que controla as aces especficas que este pode efectuar. Este
controlo feito atravs de autenticao de utilizadores, grupo de

Jos Miguel de Bessa Carvalho

18

Integrao On-Line com Sharepoint

administradores do Sharepoint, grupos de sites, segurana da porta de


administrao, segurana de ligao de SQL Server e proteco da Firewall.

2.6.1 Autenticao de utilizador


A autenticao para o Windows Sharepoint Services baseada nos mtodos
de autenticao do IIS. Existem quatro tipos de autenticao, autenticao
annima, bsica, Windows ou SSL. A escolha do mtodo feita no prprio
IIS, no podendo ser alterada pelas ferramentas de administrao do
Sharepoint.

2.6.2 Autenticao Annima


Este tipo de autenticao providencia acesso a utilizadores que no tenham
contas Windows NT server no servidor, como o caso de visitantes Web. O
IIS cria uma conta annima denominada IUSR_nomecomputador, e ao
receber um pedido annimo, personifica uma conta annima. O acesso
annimo pode ser configurado para um servidor virtual em particular ou
para um site situado neste. Para um site Sharepoint permitir acesso annimo
necessrio primeiro configurar o IIS para permitir este tipo de acesso, e
posteriormente configurar o prprio site no Sharepoint.

2.6.3 Autenticao Bsica


A autenticao bsica um protocolo de autenticao suportado pela
maioria dos browsers e servidores Web. Embora transmita utilizadores e
passwords em texto facilmente descodificado, tem algumas vantagens em
relao a mtodos mais seguros pelo facto de, funcionar atravs de uma
firewall de um servidor proxy e assegurar que o site acessvel pela maioria
dos browsers. A combinao da autenticao bsica com autenticao SSL,
pode no entanto ajudar a tornar a informao do utilizador mais segura.

Jos Miguel de Bessa Carvalho

19

Integrao On-Line com Sharepoint

2.6.4 Autenticao Integrada Windows


Este mtodo mais seguro do que a autenticao bsica devido ao facto de
encriptar,

utilizadores

passwords,

numa

interaco

de

mltiplas

transaces entre cliente e servidor. No entanto, no efectuado atravs


de uma firewall do servidor proxy e alguns browsers no suportam este tipo
de

autenticao.

Existe

tambm

possibilidade

de

utilizar

esta

autenticao em combinao com a autenticao bsica, deixando a escolha


da autenticao a cabo do browser.

2.6.5 SSL
A Security Sockets Layer fornece privacidade de comunicaes, autenticao
e integridade de mensagens para uma ligao TCP/IP. Desta forma clientes
e servidores podem comunicar de modo a prevenir a alterao, visualizao
e acesso a mensagens. Este tipo de autenticao proporciona uma maior
segurana na administrao do Windows Sharepoint Services.

2.7

Grupo de Administrao do Sharepoint

necessrio pertencer-se ao grupo da Domain ADMINS ou ADMINISTRATORS


caso o servidor se encontre num domnio, para se poder instalar o Windows
Sharepoint Server. Este grupo concede permisses aos seus membros, para
poderem controlar as pginas de Administrao Central do Sharepoint e a
ferramenta, de linha de comandos, de administrao stsadmn.exe. Para
alm dos administradores locais, possvel identificar um grupo de domnio
especfico que tenha permisses para aceder rea administrativa do WSS.
Assim sendo separam-se os utilizadores que tm acesso administrativo ao
WSS dos que tm acesso administrativo ao servidor local. Os membros do
grupo de administrao do Sharepoint embora tenham nvel administrativo
no Sharepoint no podem extender servidores virtuais, gerir caminhos,
modificar grupos de administrao do Sharepoint, mudar configuraes das

Jos Miguel de Bessa Carvalho

20

Integrao On-Line com Sharepoint

bases de dados ou usar a ferramenta stsadmn.exe. Em contrapartida os


administradores locais no tm quaisquer restries administrativas.

2.8

Grupos de Site

Os grupos de site so usados para agrupar utilizadores com permisses


idnticas,

a um site. A gesto dos

utilizadores delegada dos

administradores do servidor para os administradores e proprietrios do site


em questo. Os administradores de um site controlam os direitos e acesso a
este, e podem modificar os membros de um determinado grupo do site.
Os proprietrios, principais e secundrios, podem ser membros do grupo de
administrao do site deles, no entanto so identificados separadamente na
base de dados de configurao como proprietrios duma coleco de sites.
Este estatuto pode ser alterado usando ou site de Administrao Central, ou
usando a ferramenta stsadmn.exe, no entanto se um proprietrio for
removido do grupo de administrao de um site, o proprietrio continua a
poder efectuar tarefas de administrador no site, pois como utilizador isolado
continua a ter direitos de administrao.

2.8.1 Segurana da porta de administrao


No caso de um utilizador obter acesso porta de administrao, esse
utilizador pode bloquear outros utilizadores de acederem aos sites deles,
mudar ou apagar contedo desses sites ou at mesmo incapacitar o servidor
Web. Na instalao do WSS esta porta gerada aleatoriamente. Como esta
medida no suficiente para proteger o acesso, existem outros mtodos de
segurana, como o caso de:

SSL;

Firewall ou IIS para restringir o acesso externo de certos domnios;

Grupo de administradores do Sharepoint de modo a restringir acesso


interno;

Autenticao Windows no lugar da autenticao bsica;

Jos Miguel de Bessa Carvalho

21

Integrao On-Line com Sharepoint

Impossibilitar o acesso annimo.

2.8.2 Segurana da ligao SQL Server


Existem dois tipos de mtodos de segurana para a interaco entre o SQL
Server e o WSS:

Autenticao integrada Windows NT este mtodo o mais seguro


dos dois e o colocado por defeito durante a instalao do WSS. A
ligao ao SQL Server estabelecida atravs de uma application pool6
do IIS que guardada na base de metadados do IIS;

Autenticao SQL Server utiliza as credenciais estabelecidas nos


controlos administrativos do WSS para estabelecer a ligao com o
SQL Server. Como a password de administrao enviada pela rede
recomendado usar a autenticao Windows.

2.8.3 Proteco Firewall


O WSS suporta a ligao atravs de firewalls, sendo necessrio que as portas
80 e 443 estejam abertas. Visto que a autenticao Windows no pode ser
usada juntamente com uma firewall, necessrio utilizar a autenticao
bsica.

2.9

Funcionalidades

Para alm da integrao com o Microsoft Office 2003, o WSS disponibiliza


bibliotecas de documentos e listas, possibilidade de efectuar checkout/check-in de documentos, criar verses do mesmo documento, alertar
utilizadores sobre aces efectuadas numa biblioteca, definir quotas de
site, bloquear determinados ficheiros e integrar com um sistema de instant
messaging caso esteja instalado no sistema o Microsoft Office Live Meeting.

Application pool - Grupo de URLs servidos por um processo

Jos Miguel de Bessa Carvalho

22

Integrao On-Line com Sharepoint

As listas, bibliotecas de documentos e discusses so algumas das Web Parts


que se encontram de raiz no Windows Sharepoint Services, sendo estas Web
Parts a base de um site WSS.

2.9.1 Listas
Existem vrios tipos de listas definidas de base, sendo possvel customizar
estas listas, tal como cri-las, import-las ou export-las, baseadas em
folhas de clculo do Microsoft Excel 2003. Quaisquer alteraes no Excel
resultam na actualizao da lista original no site Sharepoint.
As listas comuns aos Team sites e aos Workspaces so:

Announcements lista de anncios que possibilita a disponibilizao


de informao a uma equipe;

Contacts lista de contactos que armazena informao como nome


nmero de telephone, e-mail, morada. Esta lista oferece a
possibilidade de importar os contactos existentes no Office Outlook
2003, tal como adicionar uma nova pasta de contactos neste;

Events a lista de eventos permite definir uma agenda de


acontecimentos, onde possvel guardar datas importantes como
reunies e prazos. Tal como a lista de contactos possvel
estabelecer uma ligao com o Outlook 2003. Contm duas vistas,
uma de lista e outra de calendrio;

Links lista que possibilita adicionar hyperlinks;

Tasks esta lista possibilita definir tarefas a cumprir, podendo


configurar a prioridade e estado das tarefas;

Issues permite a gesto de problemas ou questes, podendo-se


assim atribuir, priorizar um problema assim como monitorizar o seu
estado, desde o seu inicio at ao seu fim;

As seguintes listas encontram-se acessveis apenas aos Meetings Workspaces:

Agenda lista que identifica os tpicos que necessitam de ser vistos,


quem sero os supervisores de cada tpico e a hora de marcao da
reunio;

Jos Miguel de Bessa Carvalho

23

Integrao On-Line com Sharepoint

Decisions permite, aos utilizadores, acompanhar as decises


resultantes de uma reunio. Caso haja discrepncias, os utilizadores
podem rever as decises e actualiz-las conformemente;

Objectives disponibiliza uma rea com o propsito de listar os


objectivos de uma reunio;

Text Box possibilita a adio de um bloco de texto num site


workspace, podendo-se alterar o texto com funcionalidades bsicas
de um processador de texto;

Things To Bring lista de objectos a levar para um reunio;

2.9.2 Bibliotecas
O WSS possibilita a criao de coleces de ficheiros, podendo estes ser
documentos, imagens ou formulrios. Uma biblioteca lista para cada
ficheiro, propriedades e um hyperlink para o ficheiro, podendo desta forma,
caso se tenha o Microsoft Office 2003, abrir o ficheiro, no programa
referente ao template7 da biblioteca.
Uma biblioteca de documentos permite conter todo o tipo de documentos,
podendo no entanto definir-se um template de modo a, ao criar um novo
documento via Sharepoint, o programa usado pelo template abrir-se-,
podendo-se posteriormente guardar o ficheiro para esta mesma biblioteca.
tambm possvel guardar vistas, listas e bibliotecas em documentos, se
estes forem guardados como pginas Web. Os templates pr-definidos so
de documentos Word, FrontPage, Excel, PowerPoint, pgina Web ou pgina
de Web Parts.
Criando uma biblioteca de imagens possvel visualizar uma galeria de
imagens, onde pode conter uma pequena descrio dessa imagem. Existem
vrias vistas para esta biblioteca nomeadamente Details, Thumbnails e
FilmStrip, podendo-se tambm visualizar as imagens como slideshow, envilas por e-mail e edit-las.

Template - Modelo de ficheiro que define um padro. Todos os ficheiros criados pelo
mesmo modelo, partilham caractersticas idnticas.

Jos Miguel de Bessa Carvalho

24

Integrao On-Line com Sharepoint

Uma biblioteca de formulrios idntica a uma biblioteca de documentos


com a excepo de usar o Microsoft Office InfoPath 2003, para criao de
formulrios.
2.9.3 Quadros de Discusso
Os Quadros de Discusso possibilitam a criao de fruns, com vista tipo
newsgroups, de conversao. Contm funcionalidades de gesto de threads
nomeadamente quem pode editar ou visualizar certos posts, e se um
determinado post foi aprovado para visualizao.
2.9.4 Surveys
A Web Part Surveys permite a construo de questionrios. Estes
questionrios podem conter respostas do tipo escolha mltipla, matriz de
escolha, escrita, nmeros, informao contida no site e resposta de sim ou
no. Caso seja resposta de escolha existe a possibilidade de definir se
obrigatrio

responder,

se

as

opes

so

vistas

como

checkboxes,

radiobuttons ou drop-down menus, se permitido fill-in de respostas e se


contm valores pr-definidos. De acordo com as respostas dadas criado um
grfico automaticamente e possvel definir se possvel um utilizador
visualizar s as suas respostas, nenhuma ou todas.

2.10 Customizao de um site SharePoint


Existem vrias formas de customizar um site Sharepoint. Pode-se efectuar
esta operao utilizando o browser ou o Microsoft Office FrontPage 2003,
que proporciona mais opes.
Usando o browser pode-se aplicar temas, criar vistas de informao e
adicionar, mover ou remover Web Parts numa pgina.
No caso da utilizao do FrontPage na customizao de um site, as
possibilidades extendem-se. Para alm de se dispor das mesmas capacidades
que o browser disponibiliza para customizao de um site, existe tambm a
possibilidade de modificar o layout, estrutura e contedo de um site da
mesma forma que a um site HTML normal, e de criar Web Parts.

Jos Miguel de Bessa Carvalho

25

Integrao On-Line com Sharepoint

2.11 WebParts
Ao inluir Web Parts e pginas Web Part o WSS disponibiliza uma infraestrutura de gerao de interfaces de utilizador (UI). Uma Web Part um
controlo ASP.NET que tem como objectivo expor informao. Estas so
inseridas em zonas Web Part que por sua vez se encontram em pginas Web
Part. Uma zona Web Part um contentor para agrupar, organizar Web Parts
e providenciar um conjunto de propriedades de configurao das Web Parts.
Por sua vez uma pgina Web Part armazena zonas Web Part de modo a criar
portais de informao dinmica.
Web Parts podem ser adicionadas, movidas ou removidas, directamente no
browser e preenchidas por outras Web Parts. possvel assim, usando os
templates existentes no WSS, construir aplicaes Web dinmicas sem ter de
escrever cdigo.
As Web Parts disponveis no Windows Sharepoint Services incluem:

Content Editor Web Part expe contedo Web no estruturado


como por exemplo texto ou imagens;

Image Web Part expe imagens;

Form Web Part permite aos utilizadores adicionar formurios HTML;

Members lista os membros de um determinado site e o seu estado,


se se encontram online ou offline;

Page Viewer Web Part expe contedo ligado como por exemplo
ficheiros, pastas ou pginas Web. Esste contedo encontra-se isolado
do restante encontrado na pgina Web Part;

XML Web Part utilizado para expor XML e transformaes XSL;

E as Web Parts referidas no ponto Caractersticas;

Existem quatro tipos de galerias de Web Parts:

Web Part Page Gallery galeria que disponibiliza Web Parts


especficas de uma pgina Web Part, mas que so encontram
inactivas. O fecho de uma Web Part numa pgina, move essa Web
Part para esta galeria;

Jos Miguel de Bessa Carvalho

26

Integrao On-Line com Sharepoint

Site Collecion Web Part Gallery galeria central da coleco de sites.


Contm as Web Parts encontradas no site, juntamente com as cinco
primeiras Web Part referidas acima;

Virtual Server Web Part Gallery galeria central de todos os sites


num servidor. nesta galeria que so disponibilizadas Web Parts
customizadas.

Online Web Part Gallery armazena o conjunto de Web Parts que se


encontram disponveis num servio Web. Deste modo vrios
servidores podem partilhar acesso a uma coleco de Web Parts.

Existem duas formas de customizar Web Parts, utilizando o FrontPage 2003


ou utilizando o Visual Studio .NET 2003.
A utilizao do FrontPage torna o processo mais simples pois este j contm
templates e funcionalidades de criao de Web Parts semelhantes
construo de uma pgina HTML. O FrontPage utiliza XML e XSLT para criar
sites que possibilitam a busca de informao de base de dados, documentos
XML, Web Services, listas Sharepoint ou mesmo scripts do servidor. Embora
isto possa ser feito do modo grfico, existe tambm um modo de cdigo que
possibilita a alterao do cdigo gerado. Um problema da utilizao do
FrontPage o facto de todo o cdigo ser declarativo, podendo ser visto por
qualquer utilizador que tenha acesso ao site.
Utilizando o Visual Studio .NET perde-se um pouco a simplicidade de
implementao, visto a componente grfica de um site ter de ser toda
programada. No entanto ganha-se em extensibilidade, podendo-se utilizar
todo o poder da plataforma .NET.
No caso da utilizao do Visual Studio .NET para criao de Web Parts
necessrio registar as Web Parts como seguras de modo ao Sharepoint poder
utiliz-las. Para tal necessrio instal-las na GAC8.

Jos Miguel de Bessa Carvalho

27

Integrao On-Line com Sharepoint

2.12 Sharepoint Portal Server (SPS)


O Sharepoint Portal Server, baseado na Microsoft Digital Dashboard
Framework, fornece ferramentas, fceis de utilizar e manter, para criao
de portais corporativos e integrao de gesto e pesquisa documental.
O SPS extende as capacidades do Windows Sharepoint Services. O SPS tem o
objectivo de agregar sites WSS, informao e aplicaes num nico portal.
construdo no topo da camada do WSS e ao ser construdo um novo site SPS,
na realidade est a ser construda um nova coleco de sites WSS. No
entanto o SPS utiliza o WSS duma forma restritiva. O SPS cria um novo site
pai numa coleco nova, mas ao ser criado um novo site pessoal, por um
utilizador, o SPS cria tambm um novo site pai numa coleco nova. Esta
estratgia facilita o backup e restauro de sites pessoais e partilhados.
O SPS introduz ao WSS reas, listagens. Estas so usadas pelos gestores de
sites portal com vista a agregar informao de outros locais. Uma rea um
contentor de listagens e sub-reas, As listagens contm links para contedo
fora do portal como documentos, pginas Web ou listas WSS localizadas na
rede, funcionando assim como ligaes entre utilizadores e informao fora
do portal.
O SharePoint Portal Server 2003 tambm permite que os utilizadores
encontrem, de forma rpida, informaes relevantes por meio da
individualizao e personalizao do contedo e do layout do portal, bem
como pela definio do pblico-alvo. A definio de um pblico-alvo tem
como objectivo informar e actualizar indivduos com base na sua funo
organizacional, participao na equipa, interesse, grupo de segurana ou
qualquer outro critrio de participao que pode ser definido com o uso de
notificaes ou de Web Parts.
Esta soluo acenta numa estrutura de pastas e subpastas web para
armazenamento de informao, definida com base nos contedos dos
documentos, controlo de acessos e critrios de publicao.

GAC - (Global Assembly Cache) rea de memria reservada para o armazenamento dos

Jos Miguel de Bessa Carvalho

28

Integrao On-Line com Sharepoint

Paralelamente, cada documento classificado por categorias, ficando


associado a uma estrutura virtual de armazenamento estrutura de
categorias e subcategorias definidas com base nas caractersticas dos
contedos dos documentos.
Cada documento fica assim associado a duas estruturas que permitem, por
um lado, a fcil introduo e manuteno de documentos, atravs de uma
estrutura lgica de pastas, virada para o Autor de informao e por outro, a
fcil pesquisa atravs da navegao por uma estrutura lgica de categorias,
virada para o Leitor.
Para alm da estrutura de categorias, referida anteriormente, esta soluo
da Microsoft, apresenta ainda um eficiente motor de pesquisa, que tem em
linha de conta todos os campos associados a cada documento, apresentando
os resultados por ordem de importncia. Em cada pesquisa so analisados, o
nome do ficheiro, as propriedades associadas atravs do Perfil do
Documento, as categorias e o contedo dos documentos.
Outra das funcionalidades de extrema relevncia na procura de informao
prende-se com a possibilidade de subscrever documentos, pastas, categorias
ou resultados de pesquisa. Desta forma cada utilizador poder ser notificado
no s de alteraes de informao existente como da existncia de novos
documentos que correspondam aos seus critrios de subscrio.
Enquanto portal de informao, permite ainda navegar de uma forma
intuitiva por informao de interesse geral da Empresa, bem como executar
toda a gesto documental em ambiente amigvel.
O Portal, composto por Web Parts personalizveis, permite sem grandes
exigncias tcnicas ao nvel do desenvolvimento, criar componentes no
sentido de facilitar a disseminao e pesquisa de informao, como so
exemplos as janelas sobre bases de dados ou a colocao directa de
relatrios ou folhetos.

assemblies utilizados por aplicaes .NET.


Jos Miguel de Bessa Carvalho

29

Integrao On-Line com Sharepoint

2.12.1

WSS vs SPS

O seguinte quadro ilustra as principais diferenas existentes entre o WSS e o


SPS.
Funcionalidades

Alertas
Customizao de um site no browser
Quadros de discusso
Bibliotecas de documentos
Document Workspace
Meeting Workspace
Listas
Integrao com BizTalk
Integrao com Microsoft FrontPage 2003
Integrao com Microsoft InfoPath 2003
Surveys (Questionrios)
Templates
Pginas Web Part
Categorizao automtica
Audincias
reas de tpicos
Notcias
Sites pessoais
Servios partilhados
Single sign-on
Directrios de site
Perfis de utilizador
Capacidade de Pesquisa
Pesquisa avanada (Indexao, Topic Assistant)

Windows

SharePoint

SharePoint

Portal Server

Services

2003

5
5
5
5
5
5
5
6
5
5
5
5
5
6
6
6
6
6
6
6
6
6
5
6

5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5

Tabela 1 Comparao entre WSS e SPS

Jos Miguel de Bessa Carvalho

30

Integrao On-Line com Sharepoint

2.12.2

Requisitos Mnimos

Componentes

Descrio

Hardware do

Intel Pentium III-compatible processor

Servidor

512 megabytes (MB) of RAM


550 MB of available hard disk drive space

Software do
Servidor

Sistemas Operativos:
Windows Server 2003, Standard Edition
Windows Server 2003, Enterprise Edition
Windows Server 2003, Datacenter Edition
Windows Server 2003, Web Edition (Necessita da verso completa do Microsoft
SQL Server)
Servidor Web:
Microsoft ASP.NET
Internet Information Services (IIS) 6.0 com:
Common files
Simple Mail Transfer Protocol (SMTP) service
World Wide Web service

Bases de Dados do
Servidor

SQL Server 2000, SP3


SQL Server 2000 Enterprise Edition, SP3
SQL Server 2000 Desktop Engine (MSDE 2000)
SQL Server 2000 Desktop Engine (Windows) (WMSDE)

Rede

necessrio que as configuraes de mltiplos servidores sejam membros do


domnio Microsoft Windows NT 4.0, Windows 2000 ou Windows Server 2003.

Browser Cliente

Microsoft Internet Explorer 5.01 with Service Pack 2


Internet Explorer 5.5 with Service Pack 2
Internet Explorer 6
Netscape Navigator 6.2 ou posterior
Mozilla 1.4 ou posterior

Tabela 2 Requisitos Mnimos


Estes requisitos so identificativos, devendo de acordo com cada
implementao ser ajustados ao ambiente onde ser implementado.
Jos Miguel de Bessa Carvalho

31

Integrao On-Line com Sharepoint

2.13 Windows Server 2003


Windows Server 2003 o sistema operativo de ltima gerao para
servidores de aplicaes da Microsoft.
Um servidor de aplicaes uma plataforma de software concebida para
simplificar a concepo, desenvolvimento e execuo de aplicaes multiutilizadores.
Lanado em Abril de 2003, Windows Server 2003 props um largo inventrio
de novas funcionalidades e tecnologias teis ao desenvolvimento de
aplicaes e administrao.
A estrutura deste software aplicativo , com efeito, igualmente um dos
servidores de aplicaes mais fcil a compreender e utilizar.

2.13.1

Segurana

Para aumentar o nvel de segurana por defeito do Windows Server 2003, um


certo nmero de servios no so instalados de base e devem ser activados
manualmente. por exemplo o caso do IIS e das extenses ASP.NET.
Por fim, duas firewalls bsicas esto integradas com o sistema operativo.

2.13.2

Flexibilidade

Com o Windows Server 2003, agora possvel para os programadores


trabalhar directamente no servidor de aplicaes, com a ajuda de "services
web" e do cdigo gerido, depois executar as aplicaes a partir de qualquer
plataforma web.
O Windows Server 2003 permite usar dados mveis e securizados e difundir o
contedo multimdia para uma grande variedade de perifricos ligados
(PDA, telemveis...).
Concebido a partir dos standards da indstria, permite que as empresas
continuem a utilizar e melhorar as suas aplicaes existentes e desenvolver

Jos Miguel de Bessa Carvalho

32

Integrao On-Line com Sharepoint

novas.
Apoia-se na tecnologia .NET e utiliza largamente o princpio dos servios
WEB que so possveis de associar s aplicaes tradicionais.

2.13.3

Servios WEB

Um servio WEB pe disposio dum site web uma funo especfica e


possibilita que uma aplicao automaticamente disponibilidade na internet,
sendo os dados trocados carregados por ele. As duas principais vantagens
dos servios web so a no necessidade de desenvolver completamente toda
a estrutura envolvente a esta troca de dados e a no necessidade de
preocupao com o sistema operativo ou com a linguagem de programao
usada graas a um protocolo de trocas standarderizado.
As trocas fazem-se por transaces de dados entre computadores e um
servidor remoto.
No servidor remoto, geralmente instalado uma base de dados que vai
trabalhar as informaes enviadas pelos computadores clientes que depois
lhes responde.
Tambm o XML uma linguagem utilizada para a descrio de informaes.
Outras linguagens so utilizadas para descrever os interfaces (WSDL por
exemplo) ou executar remotamente as tarefas (protocolo SOAP).

2.14 Microsoft .NET


O Microsoft .NET uma aplicao desenhada com o intuito de unificar
sistemas, dispositivos e informao, e consiste em:

Framework .NET 1.1;


Microsoft Visual Studio 2003;
Conjunto de servidores e software cliente.

Jos Miguel de Bessa Carvalho

33

Integrao On-Line com Sharepoint

2.14.1

Framework 1.1

A Framework .NET um componente Windows cujo objectivo construir e


correr todo o tipo de software, incluindo aplicaes Web, Web Services XML
e aplicaes Windows. Suporta mais de vinte linguagens de programao
diferentes

todas

as

fase

de

produo

de

software,

desde

desenvolvimento, passando pelo debugging e distribuio at manuteno.


constituda pelo Common Language Runtime(CLR) e um conjunto de
bibliotecas como possvel visualizar na figura 8.

Figura 8 Estrutura da Framework .NET

2.14.2

Common Language Runtime

O Common Language Runtime responsvel pela execuo de aplicaes e


servios em tempo real, tal como integrao de linguagens, reforo de
segurana e gesto de memria e processos. Outras das suas funcionalidades
so a gesto de tempo de ciclo, strong naming, manipulao de excepes
entre linguagens e binding dinmico, que reduzem a quantia de cdigo a ser
programado.

Jos Miguel de Bessa Carvalho

34

Integrao On-Line com Sharepoint

2.14.3

CLR Arquitectura

Class Loader Gere a metadata e o carregamento das classes


necessrias;

MSIL9 to Native Compilers(JIT10) - Converte cdigo MSIL para cdigo


nativo optimizado;

Code Manager - Controla a execuo do cdigo;

Garbage Collector (GC) - Gesto de memria;

Security

Engine

Procedimentos

de

segurana

baseados

na

identificao do utilizador e na localizao do cdigo;

Debug Engine - Permite fazer debug da aplicao;

Type Checker - Impede converses inadequadas e gere o acesso s


variveis;

Exception Manager - Tratamento de erros;

Thread Support - Fornece classes e interfaces para utilizao de


threads;

COM Marshaler - Sequencia a distribuio dos componentes;

Base Class Library (.NET Framework) Support - Faz a integrao com a


.NET Framework class library;

2.14.4

Bibliotecas

Funcionalidades

standard

como

input/output,

gesto

de

segurana,

manipulao de strings, comunicao de rede, gesto de texto e thread, e


interfaces de utilizador so providenciadas por classes base, disponveis na
Framework .NET.
As classes ADO.NET providenciam a interaco com XML atravs de
interfaces OLE DB, ODBC, Oracle ou SQL Server. As classes XML permitem a
manipulao, procura e traduo de ficheiros XML. As aplicaes Web e os

MSIL - Microsoft Intermediate Language linguagem independente de CPU gerada pelo


.NET a partir das linguagens disponveis. gerada antes ou durante a execuo de um
programa pelo Virtual Execution System, que parte integrante do mdulo CLR.

10

JIT - Just-in-Time compilador que gera cdigo mquina durante a execuo de um


programa

Jos Miguel de Bessa Carvalho

35

Integrao On-Line com Sharepoint

Web Services so suportados pelas classes ASP.NET, enquanto que as classes


Windows Forms possibilitam o desenvolvimento de aplicaes smart client11.
Estas classes encontram-se disponveis para todas as linguagens suportadas
pela Framework .NET.

2.15 Microsoft Visual Studio .NET 2003


O Microsoft Visual Studio .NET 2003, utilizando as linguagens que
disponibiliza, permite o desenvolvimento de aplicaes para o Microsoft
Windows, Web e dispositivos mveis e contm um conjunto de designers e
ferramentas visuais. O suporte para Web Services XML e designers visuais
para aplicaes mveis permite a extenso de aplicaes para outros
sistemas e dispositivos.
O Windows Forms, compatvel com todas as linguagens disponveis,
permitem

herana

visual,

permitindo

reutilizao

de

lgica

de

programao e interface de utilizador atravs duma soluo. possvel criar


forms cujo tamanho ajustvel e criar menus dentro destes.
um poderoso editor de programao que permite desde debugging por
passos, visualizao de valores de variveis ao longo da execuo de uma
aplicao e permite o acesso a todas as potencialidades da Framework .NET.

2.15.1

C#

O C# uma linguagem baseada em C/C++ com inspirao no Java.


Um programa C# ao ser compilado, cria outro programa em Common
Intermediate

Language

(CIL).

Common

Language

Runtime

implementao da Microsoft do CIL. Um programa C# compilado tambm


contm um bloco de metadados, denominado manifest que facilita
capacidades de reflexo. A passagem de cdigo CIL a cdigo executvel

11

Smart Client - Aplicao que utiliza Web Services XML como forma de comunicao,
processamento local e pode ser distribuda e actualizada num servidor central.

Jos Miguel de Bessa Carvalho

36

Integrao On-Line com Sharepoint

nativo pode ser posteriormente efectuada durante a instalao da aplicao


ou de um modo Just-in-time.
O C# suporta, tal como Java tipos de referncia, modelo de herana e
garbage collector, e, tal como C++, tipos de valor, overloading de
operadores, namespaces12, implementao de interface explicita, e os
mtodos no so virtuais por defeito. Tenta resolver alguns problemas do
Java e no est restringido a compatibilidades anteriores como por exemplo
C++ est com o C.
As expresses numricas seguem as regras de precedncia e associatividade
do C/C++/Java, existindo tambm a capacidade de detectar overflow de
inteiros. Para alm das declaraes condicionais if/while/for/do existe
tambm o suporte para a declarao foreach, que pode ser utilizada para
iterar um array, ou outro tipo de dados que suporte a interface correcta,
no sendo possvel a converso de um tipo no booleano para true/false.
Nas declaraes switch cada case necessita de terminar com uma
declarao break, return, throw ou goto. O C# no permite mtodos globais,
estes necessitam de ser declarado numa estrutura ou classe.
O C# distingue claramente tipos de valor de tipos de referncia. As
instncias de tipo de valor residem na stack e so utilizadas directamente,
enquanto

que

as

referncias

residem

na

heap

so

utilizadas

indirectamente.
Entre os tipos de valor podem ser encontrados as estruturas e enumeraes,
cujo acesso aos campos privado, overloading de operadores, que
necessitam de ser mtodos pblicos e estticos, propriedades, que permite
a declarao do acesso de leitura/escrita a um campo lgico sem quebrar a
encapsulao, e indexers que permitem o uso de um tipo definido pelo
utilizador, como se de um array tratasse.
A nvel de tipos de referncia encontram-se as classes, que permitem a
definio

de

outras

Jos Miguel de Bessa Carvalho

referncias,

construtores,

destrutores,

campos,

37

Integrao On-Line com Sharepoint

propriedades, indexers e operadores, tal como strings, arrays e boxing que


uma cpia de um valor numa heap que nunca despoleta uma excepo.
O C# permite o mesmo modelo de heranas que o Java, uma classe pode
extender no mximo outra classe. Uma estrutura no pode actuar como um
tipo base nem pode ser derivada de um e, tal como C++, os mtodos,
indexers, propriedades e eventos no so virtuais. possvel no C# declarar
destrutores numa classe, no tendo no entanto acesso a modificadores de
acesso ou a parmetros.

2.16 Microsoft Business Solutions-Navision 4.0


O Microsoft Business Solutions Navision um ERP13 que especificamente
desenhado para empresas de mdia dimenso, procurando uma soluo para
ajudar a aumentar a produtividade, sem perturbar as operaes de negcio
do dia a dia.
A soluo de negcio facilmente personalizvel e de simples utilizao e
manuteno.

O Microsoft Business Solutions - Navision, permite desde planeamentos de


produo e nveis de stock, a encomendas de venda e campanhas de
marketing, usando apenas uma nica base de dados segura. A informao
introduzida na base de dados, numa rea aplicacional, simultaneamente
disponvel para utilizao em outras reas aplicacionais, para optimizar os
seus processos de negcio e elevar o nvel de conhecimento organizacional.

12

Namespaces - Mecanismo que qualifica, unicamente, elementos e relaes de modo a


evitar conflitos de elementos que tenham o mesmo nome mas provm de locais diferentes
13
ERP - Enterprise Resource Planning termo, utilizado na indstria, que define o conjunto
de actividades suportado por aplicaes multi-mdulos, que ajudam uma empresa gerir
partes importantes de um negcio. Isto inclui planeamento de produtos, compra de
produtos, gesto de inventrio, interaco com fornecedores, prestao de servios a
clientes entre outros. Pode incluir tambm mdulos para a gesto financeira e de recursos
humanos de uma empresa. Geralmente utiliza ou integra com um sistema de base de dados
relacional.
Jos Miguel de Bessa Carvalho

38

Integrao On-Line com Sharepoint

Desde a gesto financeira e CRM, ao supply chain management avanado e o


e-business,

Navision

rene

um

conjunto

de

funcionalidades

caractersticas, para capturar, organizar, partilhar e elevar a informao


crtica de negcio ao longo da empresa, assim como, com parceiros chave e
clientes.

A tabela 3 mostra os mdulos e seces de cada mdulo do Navision.

Mdulo

Seces
Contabilidade Geral
Gesto de Tesouraria
Cobranas

Gesto Financeira

Pagamentos
Imobilizado
Inventrio
Configurao
Vendas
Processamento de Encomendas
Marketing

Vendas e Marketing

Inventrio e Preos
Anlise e Mapas
Histrico
Configurao
Planeamento
Processamento de Encomendas
Inventrio e Custos

Compras

Anlise e Mapas
Histrico
Configurao

Jos Miguel de Bessa Carvalho

39

Integrao On-Line com Sharepoint

Encomendas e Contactos
Planeamento e Execuo
Produtos Acabados a Processo Encomenda
a Encomenda
Armazm

Produtos

Acabados

Processo

Vrias

Encomendas
Inventrio
Histrico
Configurao

Desenho do Produto
Capacidades
Planeamento
Produo

Execuo
Custeio
Histrico
Configurao

Recursos
Famlias Recursos
Capacidade recurso
Capacidade Famlia Recurso
Dirios recursos
Planeamento Recursos

Projectos
Mapas
Histrico
Actividades Peridicas
Configurao

Jos Miguel de Bessa Carvalho

40

Integrao On-Line com Sharepoint

Gesto de Contratos
Planeamento e Distribuio
Servio

Processamento Ordens
Histrico
Configurao
Empregados
Registo Ausncia

Recursos Humanos
Mapas
Configurao
Administrao TI
Administrao
Configurao Aplicao
Atalhos

Este mdulo permite a criao de atalhos


para os mdulos ou seces mais utilizados

Tabela 3 Mdulos e seces do Navision

Existem algumas funcionalidades adicionais como o caso de dimenses


avanadas que facilitam a filtragem e classificao de dados contabilsticos.
Com esta funcionalidade possvel atribuir um nmero ilimitado de
caractersticas, como regies, perodos, ou departamentos, para utilizar nas
transaces contabilsticas. Esta rea da aplicao permite a configurao
de regras para a combinao de dimenses e de valores de dimenses.
tambm possvel controlar o uso de dimenses para tornar mais valioso o
output das dimenses. As regras de dimenso e os dados de anlise podem
tambm ser configurados para necessidades especficas do negcio de cada
organizao.
Outra funcionalidade so a capacidade de configurar e manter moedas
mltiplas em vrias reas da aplicao e permitir aos utilizadores
seleccionarem o idioma no qual desejam trabalhar.

Jos Miguel de Bessa Carvalho

41

Integrao On-Line com Sharepoint

A aplicao System Management permite configurar e definir actividades na


base de dados Microsoft Business Solutions - Navision . Menus e formulrios
personalizados podem ser atribudos a utilizadores especficos de modo a
que cada utilizador apenas tenha acesso s funcionalidades necessrias para
a sua funo. Em suma, direitos de acesso para as subsidirias e utilizadores
podem ser definidas e controladas por um administrador.

2.16.1

Sobre a Microsoft Business Solutions

A Microsoft Business Solutions, que inclui as reas de negcio da Navision


a/s, da Microsoft bCentral e da Great Plains, oferece uma vasta gama de
aplicaes de negcio desenhadas para ajudar as empresas de pequena e
mdia dimenso a estarem mais interligadas com clientes, colaboradores,
parceiros e fornecedores. As aplicaes da Microsoft Business Solutions
permitem a automatizao dos processos de negcio end-to-end, nas
reas financeira, de distribuio, de projecto, comrcio electrnico,
recursos humanos e vencimentos, produo, gesto da cadeia de valor,
business intelligence, gesto de vendas e marketing, e servio e suporte a
clientes.

2.16.2

Microsoft Business Solutions Navision Developers Toolkit

O toolkit foi desenhado para suportar os parceiros Microsoft Business


Solutions - Navision com a melhor, a mais eficiente e integrada ferramenta
para analisar e actualizar as solues do cliente bem como add-ons
(solues verticais). O toolkit integra as ferramentas compare, merge e
impulse workbench numa s ferramenta. O toolkit foi desenhado para ser de
fcil uso, de modo a assegurar alta qualidade e eficincia durante o
processo de actualizao. O Microsoft Business Solutions - Navision
Developers Toolkit suporta a estrutura de objectos do Microsoft Business
Solutions Navision e tira partido deste conhecimento durante as fases de
diagnstico, desenvolvimento e implementao.

Jos Miguel de Bessa Carvalho

42

Integrao On-Line com Sharepoint

2.16.3

C/SIDE

O C/SIDE (Client/Server Integrated Development Environment) o ambiente


de desenvolvimento grfico integrado do Microsoft Business Solutions Navision. Desenhado para uma arquitectura cliente/servidor, o C/SIDE
(pronuncia-se seaside) est construdo volta de um sistema de gesto de
base de dados relacional customizvel (RDBMS). Integrado com o RDBMS
encontra-se o C/AL, uma linguagem de desenvolvimento guiada por eventos,
de quarta gerao. Alm das funcionalidades de gesto financeira e
comercial, o C/SIDE disponibiliza ferramentas de customizao que
permitem o desenvolvimento de solues especficas para o cliente bem
como de funcionalidades completamente novas no Microsoft Business
Solutions - Navision.
Todas as aplicaes C/SIDE so baseadas em sete diferentes tipos de
objectos que podem ser acedidos e implementados e executados atravs do
Object Designer.
Table Utilizado para armazenar dados, uma tabela normal de base de
dados, que possibilita ter variados campos de vrios tipos de dados. Permite
chaves primrias, scundrias e externas.
Form Utilizados como interface de acesso informao armazenada nas
tabelas.
Report Possibilita a apresentao de informao, podendo-se filtrar e
ordenar essa informao.
Dataport Utilizados para importar e exportar dados de e para ficheiros de
texto externos.
XMLport Permite a importao e exportao de dados em formato XML.
Codeunit O C/AL uma linguagem utilizada para desenvolver aplicaes
em C/SIDE que permite desenhar funes, estabelecer ligaes a objectos
de base de dados e ler, escrever e modificar, dados em tabelas. Uma
codeunit contm funes definidas pelo utilizador usando esta linguagem.
Estas funes podem ser utilizadas, atravs de referncias codeunit que as
engloba, por outros objectos na aplicao. Isto permite encapsulamento de
Jos Miguel de Bessa Carvalho

43

Integrao On-Line com Sharepoint

cdigo e minimiza o tamanho de cada nova aplicao podendo-se utilizar o


mesmo cdigo para diferentes aplicaes. Numa codeunit possvel definir
funes, variveis locais e globais, e tabelas temporrias, havendo uma
funo predefinida OnRun que sempre executada quando a codeunit
respectiva chamada.
MenuSuite Contm o conjunto de menus que so vistos no Navigation
Pane. Este uma menu de navegao lateral que permite o acesso aos
vrios mdulos e seces do Navision.
O C/SIDE baseado em objectos e no orientado a objectos. A diferena
est no facto de num ambiente orientado a objectos possvel criar
objectos baseados em objectos j existentes no sistema, enquanto que no
Navision s possvel criar objectos baseados nos objectos tables, forms,
dataports, XMLports, codeunits, ou menu suite. Esta metodologia torna a
aplicao mais rpida pois existe um nmero limitado de objectos.
Outros conceitos encontrados no C/SIDE so:
Properties Controlam o aspecto e comportamento dos objectos e subobjectos de uma aplicao;
Triggers Mecanismo que despoletado quando certas aces so
efectuadas. implementado num objecto de uma aplicao;
Keys Definem a ordem em que os dados de uma tabela so armazenados,
podendo-se definir vrias keys de formar a armazenar informao de
variadas formas de modo a acelerar pesquisas;
Fields Campo de um tabela;
Controls Objectos que expoem informao, realam a aparncia de um
formulrio ou despoletam aces, como por exemplo botes e labels de
texto;
Request Form Possibilita a especificao de filtros e opes para um
report;
Template Define o layout geral de um report;
Data Items Determina que dados conter um report;
Jos Miguel de Bessa Carvalho

44

Integrao On-Line com Sharepoint

2.16.4

NAS

O Navision Application Server um servidor intermdio que executa lgica


de negcio sem a interveno de um utilizador. Tem a capacidade de
comunicar com servios externos, agir como um cliente em relao ao
servidor de base de dados e como um servidor para outros servios.
Ao ser iniciado o NAS abre uma base de dados predefinida e executa cdigo
C/AL numa codeunit predefinida com um parmetro de arranque. O NAS em
si corre sem apresentar interface alguma. O Navision Application Server
Manager uma interface que interage com o NAS e permite especificar qual
a base de dados a ser aberta e qual o parmetro que ser enviado para a
funo na codeunit.

Figura 9 Arquitectura genrica NAS

Jos Miguel de Bessa Carvalho

45

Integrao On-Line com Sharepoint

2.17 Microsoft FrontPage 2003 SP1


O FrontPage 2003 um conhecido editor grfico de pginas Web. As
ferramentas grficas disponveis tornam mais simples e rpida a criao de
sites Web. A nvel de design possibilita a criao de templates Web
dinmicos que permite ligar o layout de vrios sites diferentes, ao ser
actualizado o template, todos os sites sofrem alteraes. Contm a
capacidade de visualizar sites de acordo com browsers e resolues
especficas, manipular tabelas e criar efeitos visuais, como por exemplo
menus pop-up.
O FrontPage gera cdigo medida que um site vai sendo construdo, no
entanto possvel tambm programar esse cdigo. Permite tecnologias
como HTML, XSLT, Microsoft JScript e Microsoft ASP.NET, e possvel
distribuir ficheiros entre posies locais ou remotas, utilizando SSL, FTP ou
WebDAV.

2.18 Microsoft InfoPath 2003 SP1


O InfoPath 2003 um programa de desenho e preenchimento de
formulrios. Utilizando o XML como linguagem de construo destes,
possibilita a criao de botes, drop-down-menus, caixas de texto, seces
repetitivas, tabelas repetitivas, check boxes, radio buttons, entre outros
tipos de controlos. Usando XML DOM e javascript permite a extenso das
possibilidades embutidas de raiz.
Permite formatao condicional, podendo ser definido padres de texto a
serem introduzidos, sendo assim, caso o texto no tenha um formato
correcto, despoletada uma caixa de erro. Podem-se definir regras que, caso
certas condies aconteam, como por exemplo um determinado campo
conter um valor especfico, aces especficas sero efectuadas. Estas
aces podem tambm ser despoletadas pelo uso de botes.

Jos Miguel de Bessa Carvalho

46

Integrao On-Line com Sharepoint

As aces possveis podem ser o aparecimento de uma caixa de mensagens,


definir um valor num determinado campo, efectuar querys ou submeter
valores a uma Data Connection ou abrir um novo formulrio.

Em relao s Data Connections possibilita a recepo ou submisso de


dados, a bases de dados (apenas SQL Server ou Access), a Web Services, a
documentos XML (apenas recepo) e a e-mails.

possvel tambm estabelecer permisses para cada formulrio. Definindo o


domnio e o utilizador Windows, podem ser definidas vistas que se alteram
conforme o utilizador que acede ao formulrio. Existindo tambm o suporte
para assinaturas digitais.
O InfoPath tira partido de vrias tecnologias XML, incluindo XSLT, Schemas
XML, XHTML, XPath, DOM, XML Signatures14, e um processador que trabalha
com todas as tecnologias. Para alm do uso de namespaces, contm vrios
mtodos para acesso ao DOM e utiliza instrues especiais armazenadas no
incio de um documento XML, cuja informao passada atravs do parser
XML para qualquer aplicao que utilize o documento.

A prxima tabela descreve a forma como estas tecnologias so utilizadas.

Nome

Descrio

XML

Formato de output produzido por um formulrio InfoPath.

XSLT

Formato de vista dos ficheiros produzidos aps o desenho de


um formulrio. O InfoPath no suporta XSL-FO nem a
importao de ficheiros arbitrrios .xsl.

14

Digital Signature - Assinatura digital baseada em XML que assegura dados contidos em
documentos XML
Jos Miguel de Bessa Carvalho

47

Integrao On-Line com Sharepoint

XML Schema Principalmente utilizados para a validao de dados num


formulrio e fornecem a estrutura subjacente de um
documento XML produzido por formulrio. utilizado
tambm para definir a estructura do ficheiro de definio do
formulrio (.xsf)15.
XHTML

Reformulao da linguagem HTML de modo a conformar-se


com regras XML

XPath

Expresses XPath so utilizadas para ligar controlos ao


formulrio e tambm para validao de dados e formatao
condicional.

DOM

Utilizado para aceder programaticamente ao contedo do


documento XML produzido pelo formulrio, sendo tambm o
responsvel pelo acesso, s de leitura, do contedo do
ficheiro xsf.

XML

Utilizada para assinar digitalmente parte ou a totalidade de

Signature

um formulrio.

Processador Carrega a fonte XML, de um documento, para memria,


XML

validando-o utilizando o Schema XML e produzindo a vista do


documento atravs de XSLT. O processador suportado pelo
InfoPath o Microsoft XML Core Services (MSXML) 5.0.
Tabela 4 Utilizao da tecnologia XML, pelo InfoPath

15

XSF - Ficheiro XML que contm informaosobre todos os ficheiros e components usados
num formulrio, incluindo customizaes de interface, Schemas XML, vistas, lgica de
negcio, eventos, entre outros

Jos Miguel de Bessa Carvalho

48

Integrao On-Line com Sharepoint

2.19 Web Services


A tecnologia .NET estabelece a ligao entre sistemas, informao e
dispositivos atravs de software, possibilitando a capacidade de construir,
distribuir, gerir e utilizar solues, utilizando Web Services XML.
De acordo com a World Wide Web Consortium um Web Service um
sistema de software desenhado para suportar interaco mquina-paramquina atravs de uma rede, que tem uma interface descrita num formato
processvel

por

mquina

(especificamente

WSDL).

Outros

sistemas

interagem com o Web Service de uma forma prescrita pela sua descrio
usando

mensagens

SOAP,

tipicamente

expostos

usando

HTTP

com

serializao XML em conjuno com outros standards Web.


Resumidamente um Web Service um mdulo de software auto-descritivo,
acessvel via intranet, ou extranet, atravs de protocolos como XML e SOAP,
e

usado

remotamente

por

outras

aplicaes.

independente

de

plataformas, linguagens de programao e sistemas operativos. A figura


demonstra um esquema para comunicao entre aplicaes usando Web
Services.

Pedido XML
Utilizadores

Aplicao

Resposta XML

Servidor

Outras
aplicaes

Figura 10 Esquema da comunicao entre aplicaes

Visto serem auto-descritivos, permitem uma fcil comunicao entre o


cliente e o servio atravs de WSDL. Atravs de UDDI podem ser registados

Jos Miguel de Bessa Carvalho

49

Integrao On-Line com Sharepoint

de modo a poderem ser posteriormente pesquisados. As mensagens so


codificadas utilizando XML, estruturadas utilizando SOAP e acedidas por
HTTP, comunicando por meio de mensagens. possvel assim expor
funcionalidades de programao na Web.

2.19.1

SOAP

O protocolo Simple Object Access Protocol responsvel pela estruturao


das mensagens de um Web Service, tendo o objectivo de trocar informao
em ambientes descentralizados e distribudos. baseado em XML/HTTP o
que torna possvel a disponibilizao de mensagens pela Internet, sem estas
estarem presas a qualquer linguagem ou sistema operativo.
A figura 7 mostra a estrutura de uma mensagem SOAP, o Header contm a
descrio da mensagem a ser enviada, enquanto que o Body contm o corpo
da mensagem, formando-se assim o Envelope, que a mensagem enviada
em si. O Transport Envelope define como a mensagem ser enviada.

Transport
Envelope
SOAP
Envelope
Header
Body

Figura 11 Estrutura do protocolo SOAP

Jos Miguel de Bessa Carvalho

50

Integrao On-Line com Sharepoint

parte de ser necessrio enviar mensagens via HTTP POST o protocolo


SOAP no se encontra ligado a nenhum protocolo em particular, o que
permite o envio de mensagens por qualquer protocolo que possa
transmitir XML.

2.19.2

WSDL

O Web Services Description Language um protocolo utilizado para


descrever um Web Service XML. Atravs do WSDL torna-se possvel expor as
funes disponibilizadas pelo servio e informao sobre localizao do
servio, procotocolos de transporte e tipos de dados utilizados nas
mensagens.

2.19.2.1 Estrutura de um documento WSDL

<definitions>

elemento

raz

que

permite

definio

referenciao de namespaces;

<types> - schema embebido no documento que especifica o conjunto


de tipo de dados usados no servio;

<message> - descreve abstractamente as mensagens entre o cliente e


o servidor;

<portType> - define a interface do servio;

<binding> - descreve o formato das mensagens e os detalhes do


protocolo de transporte;

<service> - especifica um ou mais pontos de acesso que so utilizados


para definir o endereo do Web Service que suporta um determinado
binding;

2.19.3

XML

O Extensible Markup Language uma linguagem que estrutura a informao


de documentos. Esta estrutura pode conter texto, imagens, entre outros
tipos de dados, tal como o papel desse contedo no documento. Uma
linguagem markup uma forma de identificao de estruturas num
Jos Miguel de Bessa Carvalho

51

Integrao On-Line com Sharepoint

documento, isto especificado de uma forma standard usando XML. Entre


documentos XML pode-se encontrar transaces e-commerce, grficos
vectoriais, equaes matemticas, objectos metadata entre outros.
O XML foi criado com o intuito de disponibilizar documentos ricamente
estruturados na Web. Existiam duas possibilidades HTML e o predecessor do
XML, o SGML.
O HTML encontra-se restringido a um conjunto de semnticas e no
proporciona estrutura arbitrria. Embora o SGML proporcione estrutura
arbitrria, demasiado complexo para ser implementado para um browser,
geralmente usado para o armazenamento de longa durao de documentos
complexos.

2.19.4
O XSL

XSL (Etensible Stylesheet Language)


uma linguagem que permite a transformao e formatao um

documento XML. Define o modo como o contedo de um documento XML


apresentado, quer seja a nvel de um browser, dispositivo mvel ou mesmo
em pginas fsicas de um relatrio.
O XSL origina 3 normas diferentes:

XPATH especifica um modo de navegar e localizar informao num


documento XML;

XSL-FO define o modo como os documentos so formatados;

XSLT define as transformaes efectuadas a um documento XML;

Um processador XSLT trabalha sobre uma representao em rvore da


estrutura hierrquica de um documento XML:
z

Uma folha de estilo XSLT consiste numa srie de templates que,


conjuntamente com expresses baseadas em XPath, determinam
como o processador vai aplica-las aos ns do documento fonte;

Jos Miguel de Bessa Carvalho

52

Integrao On-Line com Sharepoint

Para cada template, o processador procura no documento o n que


verifica o padro definido e aplica as aces definidas nesse
template;

Os templates so instanciados para todos os ns onde efectuado o


match;

2.19.5

XSD (XML Schema Definition)

A validao de um documento ou uma classe de documentos XML definida


por um conjunto de regras especificadas num documento XSD. Este
especifica os elementos e atributos que um documento pode conter,

nmero e ordem dos elementos filho e os tipos de dados para os elementos


e atributos.

2.19.6

XML DOM

O XML Document Object Model permite o acesso e actualizao de


contedo, estilo e estrutura de documentos XML, atravs de programao.
Isto possvel atravs da interface de object model, constituda por
objectos, propriedades, mtodos e eventos que permitem a representao e
manipulao de componentes de um documento XML. O DOM armazena
informao de um documento XML de uma forma hierrquica, tipo rvore,
idntica estrutura do prprio documento.

Qualquer documento XML pode ser carregado e todos os seus componentes


acedidos pelo DOM, sendo este documento lido na sua totalidade e
armazenado como um modelo lgico de ns.
Cada n definido como sendo de um tipo especfico, podendo ter um npai e ns-filho. Os tipos de ns mais comuns so elemento, atributo ou
texto. O ns do tipo atributo so tratados como propriedades dos ns de tipo
elemento, no sendo assim considerados como ns-filho de um outro n.

Jos Miguel de Bessa Carvalho

53

Integrao On-Line com Sharepoint

Alguns dos objectos DOM que podem ser utilizados com um documento XML
encontram-se descritos no quadro seguinte.

DOM object

XML node type


Representa o documento XML em si. Expe

XMLDOMDocument

propriedades

mtodos

que

possibilitam

avegao, e alterao do contedo e estrutura do


documento.
Representa um n na rvore do documento,

XMLDOMNode

suportando

tipos

de

dados,

namespaces

Schemas XML.
XMLDOMNodeList

Coleco de ns que permite indexao e iterao


de ns.

XMLDOMElement

Representa um elemento num documento XML.

XMLDOMAttribute

Representa um atributo num documento XML.


Tabela 5 Objectos XML DOM

Jos Miguel de Bessa Carvalho

54

Integrao On-Line com Sharepoint

2.20 Microsoft Message Queuing (MSMQ)


A tecnologia MSMQ permite a comunicao entre aplicaes, que no so
executadas simultaneamente, atravs de redes heterogneas e sistemas que
possam encontrar-se temporariamente offline. Uma message queue pode
receber mltiplas mensagens de vrias aplicaes e posteriormente envilas a outras aplicaes (figura 10).

Aplicaes que

Aplicaes que

enviam

recebem
Message
Queue

Figura 12 Lgica da tecnologia MSMQ

As message queues podem ser consideradas como um tnel de comunicao


entre duas aplicaes diferentes. As message queues usam o princpio FIFO,
sendo a primeira mensagem a ser enviada para uma queue, a primeira a ser
recebido. possvel no entanto mudar esta ordem atravs da prioridade de
mensagens.
Existem trs tipos de message queues, de sistema, privadas e pblicas. As
queues de sistema so usadas pelo sistema operativo para envio, de
mensagens, interno, no podendo assim, ser usadas por utilizadores. As
queues pblicas e privadas diferem maioritariamente no facto de as pblicas
fornecerem routing e as privadas no, podendo ser no entanto ambas
acedidas remotamente.
As queues privadas so uma boa escolha quando, todos os clientes que
acedem a uma queue se encontram prximos desta e tm uma ligao
Jos Miguel de Bessa Carvalho

55

Integrao On-Line com Sharepoint

rpida e de confiana. Se as aplicaes, que esto em comunicao, esto


distribudas e comunicam atravs de um meio no seguro, devem ser usadas
queues pblicas.
Aplicaes de Message Queuing podem ser desenvolvidas utilizando APIs C++
ou objectos COM, sendo tambm possvel desenvolver aplicaes para a
Internet quer seja a nvel de servidor ou a nvel do cliente

Jos Miguel de Bessa Carvalho

56

Integrao On-Line com Sharepoint

3. Descrio Tcnica
3.1

Desenho da Aplicao

O Navision um ERP, ao qual pode ser necessrio aceder usando aplicaes


externas, que muitas vezes no se integram com este ERP.
possvel fazer esta ligao usando um driver ODBC (NODBC no caso do
Navision), no entanto nem todas as aplicaes tm opo de ligao a um
Data Source.
Construindo um web service possvel expor a camada de negcio do
Navision, sendo possvel deste modo a integrao com outras aplicaes. O
prprio Infopath integra com um web service de uma forma muito simples, o
que permite us-lo como um front-end para interagir com a base de dados
Navision.
O Sharepoint, utilizado como repositrio de formulrios InfoPath,
permitindo assim, criar uma lgica de gesto documental simples.

3.2

Ligao InfoPath Web Service

O Infopath utilizado para a construo de um formulrio XML que pesquisa


e insere dados na base de dados Navision. Este formulrio um relatrio de
encomendas, que neste caso foi utilizado para a apresentao Bulhosa
Livreiros, onde um dado cliente da empresa poder fazer a encomenda de
livros existentes, ou ento requisitar livros que a empresa no disponibilize.

Jos Miguel de Bessa Carvalho

57

Integrao On-Line com Sharepoint

A figura seguinte mostra o formulrio em pormenor:

Figura 13 Formulrio de Encomendas Bulhosa Livreiros

O formulrio constitudo por:

Um campo, onde o cliente poder inserir o seu nmero de cliente, e,


automaticamente carregar os seus dados, tais como nome, endereo,
nmero de telefone e e-mail.

Jos Miguel de Bessa Carvalho

58

Integrao On-Line com Sharepoint

Quatro opes gerais, que identificaro mais em pormenor o tipo de


encomenda a realizarem, tais como o tipo de pedido, forma de
distribuio, forma de contacto e tipo de entrega.

Uma lista de livros existentes, ordenados alfabeticamente onde o


utilizador poder escolher um ou mais livros, e a quantidade
desejada. Estes livros existentes, so valores preenchidos de acordo
com o retorno dos livros existentes na base de dados.

Trs caixas de texto, onde o utilizador poder requerer Bulhosa


Livreiros, um ou mais livros que deseje e respectiva quantidade, de
livros que a empresa no disponibilize ou no tenha em stock.

Um campo de Notas, onde o cliente poder deixar alguma notao ou


mensagem importante que queira acrescentar sua encomenda.

Finalmente, uma data que seria, neste caso, a data pretendida de


recepo da encomenda.

Todas estas funcionalidades, foram pedidas pela empresa Bulhosa Livreiros,


sendo o formato do formulrio do critrio da empresa.
Estes valores no podem ser nulos, caso isso acontea o formulrio no pode
ser submetido e mensagens de erro so despoletadas, descrevendo o
correcto preenchimento de cada campo.
A submisso do formulrio insere os valores, dos campos preenchidos, no
Navision, via Web Service, publica o formulrio XML numa biblioteca
Sharepoint e fecha o formulrio. No caso de sucesso o formulrio gravado
com o nome do cliente e data da encomenda, caso no seja possvel inserir
os valores no Navision retornado um erro e as restantes operaes no so
efectuadas.

Jos Miguel de Bessa Carvalho

59

Integrao On-Line com Sharepoint

A figura seguinte mostra um diagrama da interaco do Infopath com o Web


Service.

Pedido de pesquisa

Formulrio

Resultado da Pesquisa

InfoPath

Insero de dados

Web Service
Mensagem de
sucesso/insucesso
Figura 14 Comunicao InfoPath Web Service

3.3

Ligao Navision Web Service

Esta comunicao uma forma de arquitectura cliente/servidor. O web


service envia uma mensagem ao Navision, este recebe-a, processa-a e envia
uma resposta de volta.
Foram criadas duas message queues, toNavision e fromNavision que vo
correspondentemente enviar mensagens para o Navision e receber
mensagens do Navision. Estas message queues so privadas, visto, neste
cenrio em particular, o Navision se encontrar instalado no mesmo sistema
onde reside o Web Service. O prprio Navision cria uma message queue,
neste caso pblica, de forma a administrar a troca de informao.

Jos Miguel de Bessa Carvalho

60

Integrao On-Line com Sharepoint

O processo de envio e recepo de mensagens encontra-se representado na


seguinte figura.

Web service

Web service constri uma


lista com as mensagens
na message queue e

mensagem que foi

mensagens, enviada
uma mensagem para
outra message queue
(fromNavision) em
conformidade com a que
tinha sido recebida.

GUID prprio

Queueing

enviada no incio

Aps manipulao das

mensagem para uma message


queue (toNavision) com um

Message

procura o GUID da

O web service envia uma

Navision
Application
Server

O servio Windows (NAS),


despoleta o incio de uma
codeunit do Navision, que
manipula a chegada de

Navision

mensagens.

Database Server

Figura 15 - Processo de comunicao entre Navision e web service

Ao ser invocado um dos Web methods do Web Service, enviada uma


mensagem no formato XML para a message queue toNavision com o nome do
mtodo seguido de, um GUID gerado no envio da mensagem, e dos
argumentos do mtodo.
O NAS pode ser configurado como um servio Windows, havendo assim a
possibilidade de correr no sistema de servidor mesmo que nenhum utilizador

Jos Miguel de Bessa Carvalho

61

Integrao On-Line com Sharepoint

tenha efectuado o log-in. Sempre que o servio se encontra activo,


executada uma codeunit especfica no Navision. Esta verifica o parmetro,
de start-up, especificado no Navision e executa cdigo conforme o valor
desse parmetro. Neste caso esse parmetro enviado despoleta a execuo
de uma codeunit (Web Service Handler) implementada com objectivo de
receber mensagens da message queue toNavision.
Esta codeunit efectua o parsing da mensagem recebida e, conforme o seu
valor, executa uma funo correspondente, cujos argumentos so os
restantes valores da string. Estas funes executam, ou pesquisa, ou
insero de valores em tabelas da base de dados, utilizando os argumentos
em questo e posteriormente constroem, utilizando XML DOM, a mensagem
a ser enviada para a message queue fromNavision. Esta mensagem um
documento XML que contm, o GUID da mensagem recebida da message
queue toNavision e, ou os dados retornados da pesquisa, ou uma mensagem
de insucesso ou sucesso da insero de valores.
Aps o envio da mensagem para a message queue fromNavision, por parte
do Navision, o Web Service cria uma lista das mensagens nesta message
queue e pesquisa qual delas contm o GUID da mensagem enviada
anteriormente. O Web Service pesquisa pela mensagem um nmero
configurvel de vezes. Caso seja encontrada a mensagem, retornado o seu
contedo. Caso contrrio retornado uma mensagem de erro.

3.4

Web Service

Um web service uma aplicao que executa funes desde simples pedidos
at complicados processos, utilizando XML para construir mensagens SOAP.
O web service foi construdo usando o Visual Studio .Net e a linguagem C#.
Em primeiro lugar demonstrar-se- como construir os web methods usados
para construir este web service.

Jos Miguel de Bessa Carvalho

62

Integrao On-Line com Sharepoint

3.4.1 Web Methods


Os mtodos GetTitles e InsertQuotes so muito semelhantes, diferindo na
mensagem que enviada, o mtodo GetTitles retorna os ttulos dos livros
existentes. O mtodo InsertQuotes tem o objectivo de inserir os dados,
enviados na mensagem, na base de dados Navision e retornar o sucesso ou
erro da insero.

[WebMethod]
public DataSet GetTitles()
{
string GUID =System.Guid.NewGuid().ToString();
System.Messaging.Message request = new System.Messaging.Message("GetTitles(" +
GUID + ")");
DataSet ndset = new DataSet();
ndset=Connect(request,GUID);
return ndset;
}
[WebMethod]
public DataSet InsertQuotes(string TituloLivro, string Autor ,string TipoPedido,
string NomeCustomer, string MoradaCustomer, string Entrega, string Editora, string
Quantidade)
{
string GUID =System.Guid.NewGuid().ToString();
System.Messaging.Message request = new System.Messaging.Message("InsertQuotes("
+ TituloLivro + "," + TipoPedido + "," + NomeCustomer + "," + MoradaCustomer + "," +
Entrega + "," + Autor + "," + Editora + "," + Quantidade + "," + GUID + ")");
DataSet ndset = new DataSet();
ndset=Connect(request,GUID);
return ndset;
}
Cdigo 1

As variveis usadas tm o seguinte propsito:

TituloLivro Ttulo do Livro a inserir (InsertQuotes);

TipoPedido Tipo de pedido efectuado;

NomeCustomer Nome do Cliente;

Jos Miguel de Bessa Carvalho

63

Integrao On-Line com Sharepoint

MoradaCustomer Morada do Cliente;

Entrega Tipo de entrega a fazer;

Autor Autor do Livro pedido;

Editora Editora do Livro a inserir;

Quantidade Quantidade pedida;

GUID gera um identificador nico que ser o identificador da


comunicao efectuada;

request mensagem que ser enviada message queue


toNavision, e qual ser feito um parse no Navision;

ndset DataSet que retorna o contedo recebido pelo Navision.

O mtodo Connect recebe como argumento uma mensagem que envia para a
message queue toNavision e procura, na message queue fromNavision, uma
mensagem que tenha o mesmo GUID que a mensagem enviada. O GUID
colocado no prprio contedo da mensagem.
Este processo efectuado at ser encontrada a mensagem equivalente, ou
at quando se tiver tentado todas as vezes definidas. Se este ltimo caso
acontecer retornado um DataSet com o nmero de tentativas que foram
feitas antes retornar o erro.
Caso seja apanhada alguma excepo retornado um DataSet com a
mensagem de erro.

public DataSet Connect(System.Messaging.Message request,string GUID){


System.Messaging.MessageEnumerator msg_enum;
DataTableCollection table;
DataRowCollection row ;
DataSet DS1=new DataSet(DataSet);
DataTable Tbl = DS1.Tables.Add(Erro);
DataColumn Col = Tbl.Columns.Add(Tentativas,typeof(string));

int Sleep = Convert.ToInt16

Jos Miguel de Bessa Carvalho

64

Integrao On-Line com Sharepoint

(((string)(System.Configuration.ConfigurationSettings.AppSettings.Get(Sleep))));
int Tries = Convert.ToInt16
(((string)(System.Configuration.ConfigurationSettings.AppSettings.Get(Tries))));
int Increment = Convert.ToInt16

(((string)(System.Configuration.ConfigurationSettings.AppSettings.Get(Increment))));
int i=0;

for(i=0;i<Tries;i++){
try{
mqToNavision.Send(request,Navision MSMQ-BA);
System.Threading.Thread.Sleep(Sleep+i*Increment);

mqFromNavision.Formatter = new System.Messaging.XmlMessageFormatter


(new Type[] {typeof (System.Data.DataSet)});
msg_enum = mqFromNavision.GetMessageEnumerator();
msg_enum.Reset();
while(msg_enum.MoveNext()){
DataSet ndset = new DataSet();
ndset.Clear();
ndset.ReadXml (msg_enum.Current.BodyStream, System.Data.XmlReadMode.Auto);
table = ndset.Tables;
row = table[0].Rows;

//compara GUID da mensagem recebida com o GUID criado


if((row[0].ItemArray.GetValue(0).ToString()).CompareTo(GUID)==0){
msg_enum.RemoveCurrent();
return ndset;
}
msg_enum.Current.BodyStream.Close();
}
}
catch(MessageQueueException ex){
DataSet DS=new DataSet(DataSet);

Jos Miguel de Bessa Carvalho

65

Integrao On-Line com Sharepoint

DataTable Tbl2 = DS.Tables.Add(Erro);


DataColumn Col2 = Tbl2.Columns.Add(Excepcao,typeof(string));
Tbl2.Rows.Add(new object[] {ex.Message});
return DS;
}
}
Tbl.Rows.Add(new object[] {Tentativas: + i});
return DS1;
}
Cdigo 2

As variveis usadas tm o seguinte propsito:

request contm a mensagem a enviar message queue


toNavision;

msg_enum lista de mensagens encontradas na message queue


fromNavision;

ndset DataSet que retorna o contedo da mensagem recebida


pelo Navision;

table DataTableCollection auxiliar inicializada com a coleco


tabelas contida em ndset;

row DataRowCollection auxiliar inicializada com a coleco


de linhas pertencentes primeira tabela de table;

DS1 DataSet que retornado se aps um certo nmero de


tentativas no for possvel encontrar a mensagem procurada;

Tbl DataTable que adicionada DataSet DS1;

Col DataRow que adicionada DataTable Tbl;

Sleep tempo de espera para processamento das mensagens


por parte do Navision;

Tries nmero de tentativas de recepo de mensagens do


Navision;

Increment incremento ao tempo de espera aps tentativas;

DS - DataSet que retornado caso seja apanhada alguma


excepo nas message queues;

Jos Miguel de Bessa Carvalho

66

Integrao On-Line com Sharepoint

mqToNavision referncia message queue toNavision;

mqFromNavision referncia message queue fromNavision.

As variveis Sleep, Tries e Increment recebem o seu valor do ficheiro de


configurao do web service. Este ficheiro construdo pelo .NET ao criar
um novo projecto Web Service, e possibilita a definio de variveis de
configurao, sendo possvel, deste modo, mudar o contedo destas
variveis sem ter de recompilar o cdigo.
As message queues toNavision e fromNavision so ambas message queues
privadas, criadas nas Private Queues encontradas na lista Message Queues
do Server Explorer do Visual Studio.
Ao criar um novo projecto ASP.NET Web Service, o Visual Studio inclui no
cdigo alguns namespaces necessrios para uso de certos mtodos. Outros
namespaces foram posteriormente adicionados de modo a aceder a outras
funcionalidades.
Ao enviar uma mensagem para o Navision etiquetamo-la como Navision
MSMQ-BA

de

modo

ser

reconhecida

pelo

trigger

do

Navision

(CC2::Messagereceived), que a recebe.


Um namespace uma seco de cdigo que identificada por um nome
especfico. A framework do .NET usa nomeao hierrquica de modo a
agrupar tipos em categorias lgicas com funcionalidades semelhantes.
Usando namespaces resolvem-se problemas de conflitos de nomeao de
classes, funes, etc., dentro de projectos.
Os namespaces usados tm o seguinte propsito:

System contm classes fundamentais que definem valores e


referncias a tipos de dados, eventos, interfaces, atributos e
excepes mais usuais, a raiz de todos os namespaces;

System.Collections contm classes e interfaces que definem


vrias coleces de objectos tais como listas, filas, arrays,
hashtables, etc.

Jos Miguel de Bessa Carvalho

67

Integrao On-Line com Sharepoint

System.ComponentModel

contm

classes

usadas

na

implementao do comportamento, run-time e design-time, de


componentes e controlos;

System.Data contm classes que constituem a arquitectura


ADO:NET (permite a construo de componentes que gere,
eficientemente, dados de mltiplos data sources);

System.Diagnostics

contm

classes

que

permitem

interaco com logs de eventos, contadores de performance e


processos de sistema;

System.Web contm classes e interfaces que possibilitam a


comunicao entre browser e servidor;

System.Web.Services contm classes que possibilitam a


criao de web services XML usando ASP.NET e clientes XML
web service;

System.Xml contm suporte standard para processamento de


XML;

System.Messaging contm classes que permitem a conneco,


monitorizao e administrao de message queues, tal como o
envio, a recepo e peek de mensagens.

Cada web service XML necessita de um namespace nico. O .NET cria um


com o namespace http://tempuri.org/ como default. recomendado mudar
o namespace para algo mais permanente. Neste caso o namespace foi um
dado para http://srvmyp06/Apps/Bulhoa/WSBulhosa.

namespace Bulhosa
{

[WebService(Namespace="http://srvmyp06/Apps/Bulhoa/WSBulhosa")]
public class WSBulhosa : System.Web.Services.WebService
{
public WSBulhosa()
{
InitializeComponent();
}
Cdigo 3

Jos Miguel de Bessa Carvalho

68

Integrao On-Line com Sharepoint

3.4.2 Message Queues


As message queues so o tnel de comunicao entre Navision e o web
service. As message queues usam o princpio FIFO, sendo a primeira
mensagem a ser enviada para uma queue, a primeira a ser recebido.
possvel no entanto mudar esta ordem atravs da prioridade de mensagens.
Existem trs tipos de message queues, de sistema, privadas e pblicas.
As de sistema so usadas pelo sistema operativo para envio de mensagens
interno, no podendo ser usadas por utilizadores. As pblicas e privadas
diferem maioritariamente no facto de as pblicas fornecerem routing e as
privadas no, podendo serem no entanto ambas acedidas remotamente.
As queues privadas so uma boa escolha quando, todos os clientes que
acedem a uma queue se encontram prximos desta e tm uma ligao
rpida e de confiana. Se as aplicaes, que esto em comunicao, esto
distribudas e comunicam atravs de um meio no seguro, devem ser usadas
queues pblicas.
As queues usadas, neste caso, foram as privadas visto que, o web service e o
Navision se encontram na mesma mquina.
Existem algumas consideraes a ter em conta que so as seguintes:

Aps a criao das message queues dar permisses de recepo


e envio de mensagens ao ASPNET, que um utilizador criado
pela framework .Net 1.1 com o propsito de correr processos
asp.net usados no Microsofts Internet Information Services.
Tem

basicamente

nico

uso

de

permitir

correr

ASP.NET(framework de programao construda em cima da


framework .net) no servidor de web local;

Mudar permisses de um utilizador, que seja administrador,


para Full control

Jos Miguel de Bessa Carvalho

69

Integrao On-Line com Sharepoint

Estas mudanas podem ser feitas do seguinte modo:

Ir ao Control Panel;

Abrir Administrative Tools;

Entrar em Computer Management;

Nos Services and Applications seleccionar Message Queuing;

Abrir as Properties da message queue em questo, que se


encontra neste caso nas Private Queues, e em Security mudar
as permisses dos utilizadores;

Caso um dos utilizadores necessrios no estejam presentes


clickar em Add e adicionar um novo.

3.4.3 Navision
Um ERP um sistema de informao usado para planear e gerir funes
bsicas de negcio tais como oramentao, contabilidade, recursos
humanos, compras, vendas e marketing, etc.
O Microsoft Business Solutions-Navision constitudo por vrias aplicaes
diferentes.

Um cliente que acede tanto a uma base de dados, nativa,


Navision como a uma base de dados SQL;

Um servidor de base dados que estabelece a ligao entre a


base de dados e o cliente, podendo o cliente ligar-se
directamente base de dados;

O Navision Application Server (NAS) um servidor intermdio


que, sem a necessidade de interveno de um utilizador,
executa lgica de negcio. Pode servir de cliente para um
servidor e de cliente para outros servios. necessrio ter em
conta o utilizador usado para fazer o log on do servio. Dever
ser um utilizador do tipo Administrator.

Jos Miguel de Bessa Carvalho

70

Integrao On-Line com Sharepoint

O NAS ao ser iniciado corrido como um servio Windows tal como o


servidor de base de dados. A sua interface grfica recebe um conjunto de
parmetros que usa para abrir a base de dados respectiva e, de acordo com
parmetro de Start-Up, executado uma determinada codeunit.
Uma codeunit um recipiente de cdigo C/AL que pode ser usado nos
objectos da aplicao. uma espcie de classe que torna possvel a
definio funes, variveis locais, globais, tabelas temporrias, etc.
Para definir uma codeunit basta abrir o cliente Navision, abrir a base de
dados e companhia a usar e no Object designer (para abrir carregar
shift+F12) ir a Codeunit e fazer New, ou pressionar F3.
na codeunit 1 ApplicationManagement que se encontra o trigger
NASHandler. Este trigger disparado caso, ao ser iniciado o NAS, o servidor,
base de dados e companhia, coincidam com os parmetros introduzidos,
recebendo como argumento o Start Up parameter do NAS, que neste caso
WEBSERVICE.
Ao verificar que o parmetro recebido WEBSERVICE vai ser executada
outra codeunit. A varivel WSHandler uma referncia a essa codeunit.

IF CGNASStartedinLoop = FALSE THEN


CASE Parameter OF
'WEBSERVICE':
WSHandler.RUN;
'MAILLOG':
CODEUNIT.RUN(CODEUNIT::"E-Mail Dispatcher");
Cdigo 4

Jos Miguel de Bessa Carvalho

71

Integrao On-Line com Sharepoint

A nova codeunit criada tem o nome Web Service Handler e o ID 90000.


Esta codeunit recebe a mensagem da message queue toNavision, faz o
parsing do seu contedo e, conforme o pedido, chama outra codeunit
(BizLayer), enviando uma nova mensagem, com o contedo processado em
BizLayer, para a message queue fromNavision.
necessrio colocar esta codeunit como SingleInstance de modo a que as
variveis continuem instanciadas depois do trigger retornar. Isto feito nas
Properties que se encontram no menu View.
Tambm no menu View e posteriormente em C/AL Globals, possvel
aceder zona de definio de variveis globais, constantes de texto e
funes.
Nesta codeunit foram definidas as seguintes variveis globais:

InMsg Automation 'Navision Communication Component


version 2'.InMessage;

InS InStream;

XMLDom Automation 'Microsoft XML, v3.0'.DOMDocument;

XMLNode Automation 'Microsoft XML, v3.0'.IXMLDOMNode;

BizLayer Codeunit BizLayer Entry Point;

Request Text(50);

Parameters Text(50);

OutMsg Automation 'Navision Communication Component


version 2'.OutMessage;

OutS OutStream;

MQBus Automation 'Navision MS-Message Queue Bus


Adapter'.MSMQBusAdapter;

CC2 Automation 'Navision Communication Component


version 2'.CommunicationComponent.

Esta codeunit ao ser corrida cria um adaptador bus para message queues,
um componente de comunicao e uma referncia para um documento XML.
De seguida adicionado o adaptador componente de comunicao, cujos
Jos Miguel de Bessa Carvalho

72

Integrao On-Line com Sharepoint

eventos so capturados pelo Navision e especificada a message queue


qual se est escuta de mensagens.

OnRun()
CREATE(MQBus);
CREATE(CC2);
CREATE(XMLDom);
CC2.AddBusAdapter(MQBus,1);
MQBus.OpenReceiveQueue('.\private$\tonavision',0,0);
Cdigo 5

A varivel CC2 tem que ser definida com a opo WithEvents de modo a
possibilitar event handlers. Deste modo ao ser recebida uma mensagem o
Cdigo 6, representado em seguida, vai ser executado.

CC2::MessageReceived(VAR InMessage : Automation "''.IDISPATCH")


// carrega a mensagem para um documento XML e procura o no string
InMsg := InMessage;
InS := InMsg.GetStream();
XMLDom.load (InS);
XMLNode := XMLDom.selectSingleNode ('string');
// efectua o parsing do pedido e conforme o valor chama a funcao apropriada
ParseRequest (XMLNode.text);
CASE Request OF
'Titulo':
Bulhosa.ByTitle(Parameters[1], Parameters[2],XMLDom);
'Autor':
Bulhosa.ByAuthor(Parameters[1], Parameters[2],XMLDom);
'Editora':
Bulhosa.ByEditora(Parameters[1], Parameters[2],XMLDom);
'Sinopse':
Bulhosa.BySinopse(Parameters[1], Parameters[2],XMLDom);

Jos Miguel de Bessa Carvalho

73

Integrao On-Line com Sharepoint

'GetTitles':
Bulhosa.ByTitle('ALL', Parameters[1],XMLDom);
'ClientHist':
Bulhosa.ClientHist(Parameters[1], Parameters[2],Parameters[3],XMLDom);
'GetClient':
BEGIN
Bulhosa.GetClient(Parameters[1], Parameters[2],XMLDom);
END;
'InsertQuotes':
Bulhosa.InsertQuotes
(Parameters[1],Parameters[2],Parameters[3],
Parameters[4],Parameters[5],Parameters[6],
Parameters[7],Parameters[8],Parameters[9],XMLDom);
// abre a queue de resposta e cria a nova mensagem
MQBus.OpenWriteQueue('.\private$\fromnavision',0,0);
OutMsg := CC2.CreateoutMessage('Message queue://.\private$\fromnavision');
XMLDom.save (OutMsg.GetStream());
// envia a mensagem
OutMsg.Send(0);
Cdigo 6

Inicialmente uma varivel de stream inicializada com o contedo da


mensagem recebida. De seguida carrega-se esse contedo para um
documento XML, como se de um ficheiro se tratasse, e efectua-se uma
query por um n de nome string. Este n ter o pedido efectuado pelo web
service, neste caso especfico poder ser ou ByTitle ou InsertQuotes.
Estes dois tipos de pedidos tm diferentes formatos, como possvel
verificar no Cdigo 1, a funo ParseRequest (Cdigo 7) faz o parsing do
pedido, e coloca o tipo de pedido e os parmetros que o seguem, num
vector.
Dependendo do pedido, executada uma de duas funes da codeunit
Bulhosa Request Processin. Finalmente aberta a queue de resposta

Jos Miguel de Bessa Carvalho

74

Integrao On-Line com Sharepoint

(fromNavision), criada uma nova mensagem, o documento XML salvo e a


mensagem enviada.

ParseRequest(string : Text[250])
Request := COPYSTR (string, 1, STRPOS (string, '(') - 1);
auxstring := COPYSTR (string, STRPOS (string, '(') + 1, STRLEN (string) - STRPOS
(string, '(') - 1);
argpos := 1;
commapos := STRPOS (auxstring, ',');
WHILE (commapos <> 0) DO
BEGIN
Parameters[argpos] := COPYSTR (auxstring, 1, commapos - 1);
auxstring := COPYSTR (auxstring, STRPOS (auxstring, ',') + 1);
argpos := argpos + 1;
commapos := STRPOS (auxstring, ',');
END;
Parameters[argpos] := auxstring;
ParCount := argpos;
Cdigo 7

A codeunit Bulhosa Request Processin contm duas funes principais, A


GetTitles (Cdigo 8) e a InsertQuotes (Cdigo 9). A primeira retorna, num
ficheiro XML, os ttulos dos livros da tabela BulhosaLivros existente no
Navision. A segunda insere em duas tabelas, denominadas Sales Header e
Sales Lines, que representam a encomenda efectuada e as linhas da
encomenda respectivamente, e retorna o sucesso ou insucesso dessa
insero.
A funo ByTitle tem apenas uma varivel local que referencia a tabela
BulhosaLivros. Isto possvel indo ao menu View > C/AL Locals e na seco
Variables definiu-se uma nova varivel de nome Livros, do tipo Record e
subtipo BulhosaLivros. Esta funo, utilizada no s para vermos os ttulos
dos livros existentes, mas tambm numa outra webpart desenvolvida para
pesquisarmos um livro pelo seu ttulo, podendo por exemplo pesquisar quais
Jos Miguel de Bessa Carvalho

75

Integrao On-Line com Sharepoint

os livros que comeam por uma certa letra. Foram tambm desenvolvidas
outras funes de pesquisa, como por exemplo, poder pesquisar por editora
ou sinopse, mas aqui j nada tem que ver com o formulrio Infopath
existente, so sim utilizadas nas webparts criadas.

XMLDom.loadXML (('<?xml version="1.0"?><DataSet/>'));


XMLRoot := XMLDom.documentElement;
MESSAGE(Titulo);
IF Titulo='---' THEN BEGIN
AddElement (XMLRoot,'QUEUE',XMLNode);
AddAttribute (XMLNode, 'GUID', GUID);
AddElement (XMLRoot,'Livros',XMLNode);
AddAttribute (XMLNode, 'No.','---');
AddAttribute (XMLNode, 'Titulo','Nenhuma procura realizada');
AddAttribute (XMLNode, 'Autor','---');
AddAttribute (XMLNode, 'Editora','---');
AddAttribute (XMLNode, 'Sinopse','---');
AddAttribute (XMLNode, 'Preco','---');
AddAttribute (XMLNode, 'Imagem','---');
END
ELSE BEGIN
IF Titulo='ALL' THEN BEGIN
Livros.SETFILTER (Titulo, ('*'));
END
ELSE BEGIN
Livros.SETFILTER (Titulo, ('*'+Titulo+'*'));
END;
IF Livros.FIND('-') THEN BEGIN
AddElement (XMLRoot,'QUEUE',XMLNode);
AddAttribute (XMLNode, 'GUID', GUID);
REPEAT
AddElement (XMLRoot,'Livros',XMLNode);
AddAttribute (XMLNode, 'No.', Livros."No.");
AddAttribute (XMLNode, 'Titulo', Livros.Titulo);

Jos Miguel de Bessa Carvalho

76

Integrao On-Line com Sharepoint

AddAttribute (XMLNode, 'Autor',Livros.Autor);


AddAttribute (XMLNode, 'Editora',Livros.Editora);
AddAttribute (XMLNode, 'Sinopse',Livros.Sinopse);
AddAttribute (XMLNode, 'Preco',FORMAT(Livros.Preco));
AddAttribute (XMLNode, 'Imagem',Livros.Imagem);
UNTIL (Livros.NEXT = 0);
END
ELSE
BEGIN
AddElement (XMLRoot,'QUEUE',XMLNode);
AddAttribute (XMLNode, 'GUID', GUID);
AddElement (XMLRoot,'Livros',XMLNode);
AddAttribute (XMLNode, 'No.', '---');
AddAttribute (XMLNode, 'Titulo','Livro(s) nao encontrado(s)');
AddAttribute (XMLNode, 'Autor','---');
AddAttribute (XMLNode, 'Editora','---');
AddAttribute (XMLNode, 'Sinopse','---');
AddAttribute (XMLNode, 'Preco','---');
AddAttribute (XMLNode, 'Imagem','---');
END;
END

ByAuthor(Autor : Text[30];GUID : Text[50];VAR XMLDom : Automation "'Microsoft XML,


v3.0'.DOMDocument")
XMLDom.loadXML (('<?xml version="1.0"?><DataSet/>'));
XMLRoot := XMLDom.documentElement;
IF Autor='---' THEN BEGIN
AddElement (XMLRoot,'QUEUE',XMLNode);
AddAttribute (XMLNode, 'GUID', GUID);
AddElement (XMLRoot,'Livros',XMLNode);
AddAttribute (XMLNode, 'No.','---');
AddAttribute (XMLNode, 'Titulo','Nenhuma procura realizada');
AddAttribute (XMLNode, 'Autor','---');
AddAttribute (XMLNode, 'Editora','---');
AddAttribute (XMLNode, 'Sinopse','---');

Jos Miguel de Bessa Carvalho

77

Integrao On-Line com Sharepoint

AddAttribute (XMLNode, 'Preco','---');


AddAttribute (XMLNode, 'Imagem','---');
END
ELSE BEGIN
IF Autor='ALL' THEN BEGIN
Livros.SETFILTER (Autor, ('*'));
END
ELSE BEGIN
Livros.SETFILTER (Autor, ('*'+Autor+'*'));
END;
IF Livros.FIND('-') THEN BEGIN
AddElement (XMLRoot,'QUEUE',XMLNode);
AddAttribute (XMLNode, 'GUID', GUID);
REPEAT
AddElement (XMLRoot,'Livros',XMLNode);
AddAttribute (XMLNode, 'No.', Livros."No.");
AddAttribute (XMLNode, 'Titulo', Livros.Titulo);
AddAttribute (XMLNode, 'Autor',Livros.Autor);
AddAttribute (XMLNode, 'Editora',Livros.Editora);
AddAttribute (XMLNode, 'Sinopse',Livros.Sinopse);
AddAttribute (XMLNode, 'Preco',FORMAT(Livros.Preco));
AddAttribute (XMLNode, 'Imagem',Livros.Imagem);
UNTIL (Livros.NEXT = 0);
END
ELSE
BEGIN
AddElement (XMLRoot,'QUEUE',XMLNode);
AddAttribute (XMLNode, 'GUID', GUID);
AddElement (XMLRoot,'Livros',XMLNode);
AddAttribute (XMLNode, 'No.', '---');
AddAttribute (XMLNode, 'Titulo','Livro(s) nao encontrado(s)');
AddAttribute (XMLNode, 'Autor','---');
AddAttribute (XMLNode, 'Editora','---');
AddAttribute (XMLNode, 'Sinopse','---');
AddAttribute (XMLNode, 'Preco','---');

Jos Miguel de Bessa Carvalho

78

Integrao On-Line com Sharepoint

AddAttribute (XMLNode, 'Imagem','---');


END;
END
Cdigo 8

A funo InsertQuotes mais complexa do que a representada no Cdigo 8


devido ao facto de para alm de retornar valores, inserir tambm dados em
duas tabelas da base de dados. Inicialmente gera um cdigo de encomenda,
e insere na tabela Sales Header os valores respeitantes mesma.
De seguida, so inseridos os valores na tabela Sales Lines correspondentes
s linhas de encomenda inerentes encomenda inserida na tabelaSales
Header.

InsertQuotes(TituloLivro

Text[100];TipoPedido

Text[30];NomeCustomer

Text[100];MoradaCustomer : Text[200];Entrega : Text[30];Autor


XMLDom.loadXML (('<?xml version="1.0"?><DataSet/>'));
XMLRoot := XMLDom.documentElement;

EVALUATE(qtd_aux,Quantidade);

//procura ultimo numero de encomenda usado


NoSeriesLine.SETFILTER("Series Code",'V-PROP');
NoSeriesLine.FIND('-');

//insere nova de encomenda na sales header


EVALUATE(AUX,NoSeriesLine."Last No. Used");

AUX:=AUX+1;
SalesHeader.INIT;
SalesHeader."No.":=FORMAT(AUX);
SalesHeader."Sell-to Customer No.":=FORMAT(5000);
SalesHeader."Sell-to Customer Name":=NomeCustomer;
SalesHeader."Sell-to Address":=MoradaCustomer;

Jos Miguel de Bessa Carvalho

79

Integrao On-Line com Sharepoint

SalesHeader.INSERT;

//modifica o ultimo usado para o novo


NoSeriesLine.VALIDATE("Last No. Used",FORMAT(AUX));
NoSeriesLine.MODIFY;

//insere novas linhas de encomenda


//insercao do item
SalesLine.INIT;
SalesLine."Document Type":=SalesLine."Document Type"::Quote;
SalesLine."Document No.":=FORMAT(AUX);
SalesLine."Line No.":=10000;
SalesLine.Type:=SalesLine.Type::Item;
SalesLine."No.":=FORMAT(1500);
SalesLine.Description:=TituloLivro;
SalesLine.Quantity:=qtd_aux;
SalesLine.INSERT;

IF Entrega='CORREIO' THEN BEGIN


SalesLine.INIT;
SalesLine."Document Type":=SalesLine."Document Type"::Quote;
SalesLine."Document No.":=FORMAT(AUX);
SalesLine."Line No.":=20000;
SalesLine.Type:=SalesLine.Type::"Charge (Item)";
SalesLine."No.":='V-FRETE';
SalesLine.Description:='Encargo Frete Div. (Venda)';
SalesLine.Quantity:=1;
SalesLine."Unit Price":=10;
SalesLine.INSERT;
END;
//autor
SalesLine.INIT;
SalesLine."Document Type":=SalesLine."Document Type"::Quote;
SalesLine."Document No.":=FORMAT(AUX);

Jos Miguel de Bessa Carvalho

80

Integrao On-Line com Sharepoint

SalesLine."Line No.":=30000;
SalesLine.Description:=Autor;
SalesLine.INSERT;
//editora
SalesLine.INIT;
SalesLine."Document Type":=SalesLine."Document Type"::Quote;
SalesLine."Document No.":=FORMAT(AUX);
SalesLine."Line No.":=40000;
SalesLine.Description:=Editora;
SalesLine.INSERT;

SalesLine.INIT;
SalesLine."Document Type":=SalesLine."Document Type"::Quote;
SalesLine."Document No.":=FORMAT(AUX);
SalesLine."Line No.":=50000;
SalesLine.Description:=TipoPedido;
SalesLine.INSERT;

SalesHeader.SETFILTER("No.",FORMAT(AUX));
IF SalesHeader.FIND('-') THEN BEGIN
AddElement (XMLRoot,'QUEUE',XMLNode);
AddAttribute (XMLNode, 'GUID', GUID);
AddElement (XMLRoot,'Estado',XMLNode);
AddAttribute (XMLNode, 'Valor', 'Valores inseridos');
END
ELSE
BEGIN
AddElement (XMLRoot,'QUEUE',XMLNode);
AddAttribute (XMLNode, 'GUID', GUID);
AddElement (XMLRoot,'Estado',XMLNode);
AddAttribute (XMLNode, 'Valor', 'Valores nao inseridos');

END;
Cdigo 9

Jos Miguel de Bessa Carvalho

81

Integrao On-Line com Sharepoint

As funes AddElement e AddAtribute so usadas para a construo do


documento XML. AddElement tem a varivel local NewChildNode
Automation 'Microsoft XML, v3.0'.IXMLDOMNode e AddAttribute a varivel
local

XMLNewAttributeNode

Automation

'Microsoft

XML,

v3.0'.IXMLDOMNode.

AddElement
(VAR XMLNode : Automation "'Microsoft XML, v3.0'.DOMDocument"; NodeName : Text[250];
VAR CreatedXMLNode : Automation "'Microsoft XML, v3.0'.IXMLDOMNode")
NewChildNode := XMLNode.ownerDocument.createNode('element', NodeName, '');
XMLNode.appendChild(NewChildNode);
CreatedXMLNode := NewChildNode;

AddAttribute(VAR

XMLNode

Automation

"'Microsoft

XML,

v3.0'.IXMLDOMNode";Name

Text[260];NodeValue : Text[260])
IF NodeValue <> '' THEN BEGIN
XMLNewAttributeNode := XMLNode.ownerDocument.createAttribute(Name);
XMLNewAttributeNode.nodeValue := NodeValue;
XMLNode.attributes.setNamedItem(XMLNewAttributeNode);
END;
Cdigo 10

Jos Miguel de Bessa Carvalho

82

Integrao On-Line com Sharepoint

3.5

Relatrio de Despesas myPartner

Foi desenvolvido para a myPartner o relatrio de despesas a seguir


apresentado.

Figura 16 Relatrio de Despesas myPartner

Este relatrio, foi elaborado com a finalidade de ser utilizado na intranet da


myPartner, para que os seus funcionrios pudessem de uma forma simples e
uniforme, preencher as suas despesas mensais.
Foi integrado no WSS de forma a poder passar por todo o caminho a que um
relatrio de despesas est sujeito. O funcionrio, ao preencher o formulrio
e submet-lo, seria enviado um e-mail ao seu autorizador, que por sua vez,
teria de consultar o relatrio e fazer uma apreciao, dessa apreciao
surgiria uma aprovao ou rejeio de documento, caso o autorizador no se
pronunciasse sobre o relatrio, este ficaria num estado pendente. Ao ser
rejeitado, seria enviado um e-mail ao funcionrio com os motivos da
rejeio. A ideia seria, ao aprovar, o formulrio seria enviado para a
secretria que imprimiria o relatrio e o arquivaria. Soluo esta que
acabou por no ser desenvolvida.

Jos Miguel de Bessa Carvalho

83

Integrao On-Line com Sharepoint

3.6

Web Part EEE (Linha de Encomendas)

De seguida mostrada umas das muitas webparts criadas, tendo em vista a


integrao do Windows Sharepoint Services com Microsoft Business Solutions
Navision:

Figura 17 Webpart de linhas de encomeda (EEE)


Nesta webpart de linhas de encomenda, foi utilizado o webservice criado
para a EEE, com ligao a Navision, de forma a podermos fazer a pesquisa
por cliente, no entanto, possvel efectuar uma pesquisa filtrada por parte
de um nome ou de o nome completo de um parceiro/cliente, podendo-se
desta forma procurar, por exemplo, todos os clientes que contenham a
palavra LDA. De modo a simplificar a busca, as pesquisas so efectuadas
utilizando apenas letras maisculas. Desta lista, ser escolhido qual o
cliente desejado, que aparecer como um hyperlink, e ao clicarmos no seu
nome, poderemos ter acesso a todas as encomendas efectuadas pelo
mesmo, estas, aparecero tambm como um hyperlink onde tambm, da
mesma forma, ao clicarmos, temos acesso s linhas que fazem parte dessa
encomenda.
Podendo assim concluir que esta uma webpart composta por trs
webparts, sendo todas dependentes umas das outras.

Jos Miguel de Bessa Carvalho

84

Integrao On-Line com Sharepoint

4 Concluses
4.1

Objectivos realizados

O objectivo deste estgio consistiu no estudo e desenvolvimento de


aplicaes em Windows Sharepoint Services.
De incio foi proposto pela myPartner, a instalao/configurao do produto
e anlise com todas as potencialidades da aplicao, o que levou a um
trabalho de pesquisa intenso, visto o Estagirio no ter conhecimento
profundo sobre esta aplicao.
Foi proposta, a realizao de vrias aplicaes, desde desenvolvimentos de
webparts baseadas em templates existentes, customizao das mesmas.
Tendo sido finalmente, cumprido o principal objectivo, a integrao entre
as diferentes aplicaes, Microsoft Business Solutions - Navision e Windows
Sharepoint Services.
Podendo-se assim concluir que os objectivos pretendidos para este estgio,
foram cumpridos.

4.2

Outros trabalhos realizados

Ao longo deste estgio, foram realizados outros trabalhos que no estavam


previstos no planeamento efectuado. O mbito dos mesmos tambm no se
enquadra directamente no trabalho desenvolvido no geral.
Dos quais se destacam:

Desenvolvimento em Visual Studio .NET de uma aplicao para


integrar com Microsoft CRM, apresentada em anexo;

Converses de dados de AS/400 para Microsoft CRM.

de salientar ainda a presena nos seguintes Workshops:

ISV Community Days Integrao de aplicaes com o Microsoft


Office System (Oeiras Hotel Real Oeiras);

autor

Office Developer Workshop (Porto Ace Plus);

Workshop de Sharepoint Portal Server (Porto Rumos);


85

Integrao On-Line com Sharepoint

4.3

Limitaes e trabalho futuro

objectivo do estagirio a continuao do projecto desenvolvido,


promovendo novas funcionalidades e melhorias.
Dado que o estgio foi efectuado utilizando uma aplicao no conhecida
pelas pessoas que fazem parte da equipa da myPartner, o trabalho do
estagirio

ajudar

estruturar

solues

quer

para

clientes,

quer

internamente.
Futuramente, a myPartner, abrir esta aplicao a uso interno, com os
desenvolvimentos realizados durante o estgio e que sero desenvolvidos
posteriormente.
Quanto a limitaes da tecnologia, torna-se complicado fazer algum tipo de
afirmao, dado que o tempo despendido com a mesma no permitiu
domin-la integralmente, deixando sim uma noo do seu grande potencial.

4.4

Apreciao final

O estagirio julga, ao longo da realizao deste relatrio, ter avaliado de


forma criteriosa todo o processo de estgio. Para evitar a repetio, seu
propsito, neste espao, salientar o aspecto fulcral de toda esta
experincia.
O estgio caracterizou-se como um componente do processo de formao do
estagirio, com objectivos educacionais formativos e como factor de
interesse curricular.
O perodo de estgio permitiu ampliar as competncias pessoais e
profissionais do estagirio. A sua integrao no ambiente empresarial foi
essencial para aplicao prtica de conhecimentos tericos adquiridos ao
longo do curso.
Foi possvel identificar que em projectos deste tipo, em particular no
desenvolvimento de aplicaes, o maior desafio no foi a transformao do
conhecimento em software, mas sim a aquisio de conhecimentos

Jos Miguel de Bessa Carvalho

86

Integrao On-Line com Sharepoint

necessrios para desenvolver e estabelecer processos, cujo o produto final


uma aplicao ou um documento.
Reala-se o facto de que ao longo da realizao do relatrio foi difcil
transmitir de uma forma fidedigna a totalidade do esforo disponibilizado ao
longo do trabalho executado durante o estgio, tornou-se ento necessrio
dispensar bastante tempo para realizao de pesquisa bibliogrfica e
investigao, assim como todo o investimento pessoal dispendido.
Finalmente, de salientar a satisfao do estagirio relativamente ao
trabalho desenvolvido que permitiu uma aquisio de vastos conhecimentos,
estando, tambm, consciente que o estgio resultou de um esforo genuno
da sua parte e da entidade acolhedora, que proporcionou uma oportunidade
profissional de grande valor e mrito.

Jos Miguel de Bessa Carvalho

87

Integrao On-Line com Sharepoint

Bibliografia
DEI-ISEP (2002), Normas de elaborao de relatrio de estgio. Normas de
avaliao
Halstead, Patrick (2005) Developing Solutions with Microsoft Infopath.
Microsoft Press
Hillier, Scott (2004) Microsoft SharePoint: Building Office 2003 Solutions.
Apress
Sharp, John (2003) Microsoft Visual C# .NET Step by Step. Microsoft Press
MSDN Library for Visual Studio .NET 2003

Internet:
http://msdn.microsoft.com/
http://portal.sharepointsolutions.com/
http://www.discuss-sharepoint.com/
http://www.sharepointcustomization.com/
http://www.sharepointblogs.com/
http://www.gotsharepoint.com/
http://www.sharepointknowledge.com/
http://wss.sharepointtips.com/
http://www.gotdotnet.com/team/sharepoint/

Jos Miguel de Bessa Carvalho

88

Integrao On-Line com Sharepoint

ANEXOS

Jos Miguel de Bessa Carvalho

89

Integrao On-Line com Sharepoint

Anexo 1 Calendarizao do Estgio


Inicio do estgio: 14/02/05

Figura 18 - Calendarizao do Estgio

Figura 19 - Grfico de Gantt

Jos Miguel de Bessa Carvalho

90

Integrao On-Line com Sharepoint

Anexo 2 Aspecto Bsico do WSS

Figura 20 - Site base Windows Sharepoint Services

Aspecto bsico de um site baseado em Microsoft Windows Sharepoint


Services. Onde se pode reparar, nas diferentes web parts que o constituem,
tais como Announcements, Links e Events.

Jos Miguel de Bessa Carvalho

91

Integrao On-Line com Sharepoint

Anexo 3 Site desenvolvido para a EEE

Figura 21 - Site EEE

Site desenvolvido para a Empresa de Equipamentos Elctricos, j bastante


modificado do site base. Como se pode reparar, j apresenta uma srie de
links na quick lauch da esquerda, tais como as web parts desenvolvidas,
Produtos e Encomendas.

Jos Miguel de Bessa Carvalho

92

Integrao On-Line com Sharepoint

Anexo 4 Frum de Discusso (EEE)

Figura 22 - Frum de Discusso (EEE)

Aspecto do frum criado para EEE, j com alguns exemplos, e demonstrao


de como por exemplo responder a um post.

Jos Miguel de Bessa Carvalho

93

Integrao On-Line com Sharepoint

Anexo 5 Galeria de Fotos (EEE)

Figura 23 - Galeria de Fotos EEE

Aspecto da galeria de fotos desenvolvida para a EEE, onde se pode destacar


as imagens de equipamento elctrico disponveis. Para esta galeria, existem
diferentes formas de a poder consultar, tal como se pode reparar, em
detalhe (Details), simplesmente os seus cones (Thumbnails) e com
descrio (Filmstrip).

Jos Miguel de Bessa Carvalho

94

Integrao On-Line com Sharepoint

Anexo 6 Site desenvolvido para Bulhosa Livreiros

Figura 24 - Site Bulhosa Livreiros

Site desenvolvido para a Bulhosa Livreiros, j bastante modificado do site


base. Como se pode reparar, j apresenta uma srie de novas web parts, e
um aspecto bastante alterado.

Jos Miguel de Bessa Carvalho

95

Integrao On-Line com Sharepoint

Anexo 7 Questionrios (Surveys)

Figura 25 - Questionrio Bulhosa

Questionrio desenvolvido para a Bulhosa Livreiros, com objectivo de saber


a opinio dos clientes em relao ao ltimo livro lido, ao local preferido de
compras e ao nvel a que classifica as diferentes livrarias existentes.

Jos Miguel de Bessa Carvalho

96

Integrao On-Line com Sharepoint

Anexo 8 Estatsticas de Questionrio

Figura 26 - Estatsticas do questionrio

Este quadro de estatsticas, corresponde a um template j existente no


Sharepoint, que associa a um questionrio, neste caso o anterior
apresentado, um grfico gerado em funo das respostas obtidas.

Jos Miguel de Bessa Carvalho

97

Integrao On-Line com Sharepoint

Anexo 9 Desenvolvimento C# para CRM

Figura 27 - Aplicao desenvolvida para integrao em CRM

Esta aplicao teve como objectivo filtrar dados, isto , conforme a pessoa
que executava a aplicao, seriam filtrados os dados para si mesmo.
Assim:

Caso fosse um director, teria acesso a todos os relatrios de despesas


existentes;

Caso fosse um funcionrio, teria acesso apenas aos seus relatrios;

Caso fosse um chefe de vendas (que tem funcionrios associados a si)


poderia ver os seus relatrios, e os dos seus subordinados.

Jos Miguel de Bessa Carvalho

98

Você também pode gostar