Você está na página 1de 59

ALFONSO NOERENBERG JUNIOR

PROTTIPO DE UM SISTEMA PARA AUXLIO NA


ATUALIZAO DO ERP DELSOFT EM SEUS CLIENES,
UTILIZANDO WEB SERVICE
























RIO DO SUL
JULHO 2006


2



ALFONSO NOERENBERG JUNIOR
















PROTTIPO DE UM SISTEMA PARA AUXLIO NA
ATUALIZAO DO ERP DELSOFT EM SEUS CLIENES,
UTILIZANDO WEB SERVICE













Trabalho de Concluso de Curso elaborado para o
Curso de Bacharel em Sistemas de Informao, da
Faculdade de Cincia e Tecnologia, da
Universidade para o Desenvolvimento do Alto
Vale do Itaja.

Orientador: Prof. Paulo Jos Fiamoncini







RIO DO SUL
JULHO 2006


3

TERMO DE APROVAO




ALFONSO NOERENBERG JUNIOR




PROTTIPO DE UM SISTEMA PARA AUXLIO NA ATUALIZAO DO ERP
DELSOFT EM SEUS CLIENTES, UTILIZANDO WEB SERVICE





Trabalho de Concluso de Curso de Bacharel em Sistemas de Informao, Faculdade de
Cincia e Tecnologia da Universidade para o Desenvolvimento do Alto Vale do Itaja, pela
seguinte banca examinadora:



Banca Examinadora:




__________________________________
Prof. Paulo Jos Fiamoncini
Orientador



__________________________________
Prof. Marco Aurlio Butzke




__________________________________
Prof. Fbio Alexandrini





Rio do Sul, julho de 2006.



4








































DEDICATRIA

Dedico este trabalho aos meus pais e aos meus irmos
pelo apoio que me deram durante todo o curso.


5
AGRADECIMENTOS




Primeiramente agradeo aos meus pais Alfonso Noerenberg e Anita Noerenberg, pelo
apoio que me deram em toda a trajetria do curso e durante o desenvolvimento do projeto de
concluso de curso.
Agradeo tambm a Delsoft Sistemas pelo acompanhamento no desenvolvimento,
tempo disponibilizado, por ter disponibilizado equipamento e software para o
desenvolvimento do projeto e do relatrio.
Agradeo aos professores que lecionaram durante o curso, por terem nos passado seus
conhecimentos, muitas vezes alm do contedo do curso.
E por fim, porm no menos importante, agradeo ao meu orientador do trabalho de
concluso de curso por ter me auxiliado em minhas dvidas durante o desenvolvimento do
projeto e do relatrio.



6

NDICE

RESUMO ..............................................................................................10
1- INTRODUO..................................................................................11
2 - JUSTIFICATIVA...............................................................................13
2 - OBJETIVOS.....................................................................................14
3 - FUNDAMENTAO TERICA.......................................................15
3.1 - Web Service ................................................................................................................................................. 15
3.2 - WSDL........................................................................................................................................................... 16
3.3 - Internet......................................................................................................................................................... 17
3.4 - Protocolo TCP/IP ..................................................................................................................................... 18
3.4.1 - Arquitetura TCP/IP........................................................................................................................... 19
3.5 - Protocolo SOAP........................................................................................................................................... 21
3.5 - Segurana..................................................................................................................................................... 22
3.5.1 - Mas quem so os hackers? .................................................................................................................... 23
3.5.2 - Para que essa segurana?....................................................................................................................... 23
3.5.3 - E como podemos nos proteger?............................................................................................................. 24
3.5.4 - Firewall.................................................................................................................................................. 26
3.5.4.1 - Funcionalidades ............................................................................................................................. 27
3.5.5 - Criptografia ........................................................................................................................................... 29
3.6 - Genexus ........................................................................................................................................................ 30
3.7 - Linguagens de Programao...................................................................................................................... 32
3.7.1 - Java........................................................................................................................................................ 32
3.7.1.1 - A Linguagem................................................................................................................................. 32
3.7.2 - Visual Basic........................................................................................................................................... 34
3.7.2.1 - Histrico ........................................................................................................................................ 34
3.7.2.2 - Conceitos Usados em Visual Basic ............................................................................................... 35
3.8 - Banco de Dados ........................................................................................................................................... 35
3.8.1 - SQL Server ............................................................................................................................................ 36
3.8.2 - Oracle .................................................................................................................................................... 36
3.8.2.1 - Estrutura do Banco de Dados ........................................................................................................ 38
3.8.3 - PostgreSQL ........................................................................................................................................... 39
3.9 - Apache Tomcat............................................................................................................................................ 40
3.10 - ERP............................................................................................................................................................. 40


7
4 - DESENVOLVIMENTOS DO SISTEMA............................................42
4.1 - OBJETIVO DO SISTEMA........................................................................................................................ 42
4.2 - MODELAGEM DE DADOS...................................................................................................................... 42
4.2.1 - Web Service .......................................................................................................................................... 42
4.2.2 - Software Cliente .................................................................................................................................... 42
4.3 - ESQUEMA TCNICO............................................................................................................................... 43
4.4 - ANLISE DO SISTEMA........................................................................................................................... 44
4.4.1 - Autenticao.......................................................................................................................................... 44
4.4.2 - Verificar Atualizaes Existentes e Novos Programas.......................................................................... 45
4.4.3 - Download das Atualizaes .................................................................................................................. 45
4.4.4 - Execuo da Atualizao....................................................................................................................... 46
4.5 - Desenvolvimento.......................................................................................................................................... 47
4.5.1 - Sistema de Cadastro .............................................................................................................................. 47
4.5.1.1 - Menu.............................................................................................................................................. 47
4.5.1.2 - Modelos ......................................................................................................................................... 47
4.5.1.3 - Consulta de Modelos ..................................................................................................................... 48
4.5.1.4 - Programas ...................................................................................................................................... 49
4.5.1.5 - Consulta de Programas .................................................................................................................. 49
4.5.1.6 - Clientes .......................................................................................................................................... 50
4.5.1.7 - Consulta de Clientes ...................................................................................................................... 51
4.5.1.8 - Alteraes ...................................................................................................................................... 51
4.5.1.9 - Web Service................................................................................................................................... 52
4.5.1.10 - Software Cliente .......................................................................................................................... 54
4.5.2 Problemas encontrados ......................................................................................................................... 55
5 - CONCLUSO..................................................................................57
REFERNCIAS.....................................................................................58



8
NDICE DE FIGURAS


Figura 1 : Esquema de funcionamento de um web service .............................................................................. 16
Figura 2: Uma rede baseada no protocolo TCP/IP .......................................................................................... 19
Figura 3: Camadas da arquitetura TCP/IP ...................................................................................................... 19
Figura 4: Datagrama de da camada de Internet............................................................................................... 20
Figura 5: Representao de um firewall............................................................................................................ 26
Figura 6: Estrutura do banco de dados do Web Service.................................................................................. 42
Figura 7: Estrutura do banco de dados do Software Cliente........................................................................... 42
Figura 8: Esquema tcnico de funcionamento do prottipo. ........................................................................... 43
Figura 9: DFD da Autenticao ......................................................................................................................... 44
Figura 10: DFD da verificao de atualizao.................................................................................................. 45
Figura 11: DFD do processo de download das atualizaes ............................................................................ 46
Figura 12 : Menu de do sistema de cadastro das informaes na base de dados do prottipo..................... 47
Figura 13: Tela de cadastro de modelos ............................................................................................................ 48
Figura 14: Tela de consulta de modelos............................................................................................................. 48
Figura 15: Tela de cadastro de programas........................................................................................................ 49
Figura 16: Tela de consulta de programas ........................................................................................................ 50
Figura 17: Tela de cadastro de clientes.............................................................................................................. 50
Figura 18: Tela de consulta de clientes .............................................................................................................. 51
Figura 19: Tela de cadastro das alteraes ....................................................................................................... 52
Figura 20: Estrutura de retorno do web service. .............................................................................................. 53
Figura 21: Funo e parmetros do web service. ............................................................................................. 53
Figura 22: Tela do software cliente. ................................................................................................................... 54
Figura 23: Exemplo do SDT (Structure Data Type). ....................................................................................... 55
Figura 24: Leitura do retorno do web service................................................................................................... 56



9
LISTA DE ABREVIATURAS E SIGLAS


ERP Enterprise Resource Planning ....................................................................... 11
SOAP Simple Object Access Protocol .................................................................... 15
XML Extensible Markup Language ....................................................................... 15
WSDL Web Service Description Language ............................................................. 16
UDDI - Universal Description, Discovery and Integration........................................ 16
URL Universal Resource Locator ......................................................................... 17
ARPA Advanced Research and Projects Agency .................................................... 17
FAPESP Fundo de Amparo Pesquisa de Estado de So Paulo ................................. 18
UFRJ Universidade Federal do Rio de Janeiro ....................................................... 18
LNCC Laboratrio Nacional de Computao Cientfica de Rio de Janeiro ............ 18
RNP Rede Nacional de Pesquisa ........................................................................... 18
TCP Transmission Control Protocol ..................................................................... 18
IP Internet Protocol ........................................................................................... 18
FTP File Transfer Protocol ................................................................................... 20
SMTP Simple Mail Transfer Protocol ..................................................................... 20
POP3 Post Office Protocol ..................................................................................... 20
DNS Domain Name Server ................................................................................... 20
UDP User Datagram Protocol ............................................................................... 20
ATM Asynchronous Transfer Mode ...................................................................... 21
FDDI Fiber Distributed Data Interface ................................................................... 21
PPP Point-to-Point Protocol ................................................................................. 21
SLIP Serial Line Internet Protocol ......................................................................... 21
W3C World Wide Web Consortium ...................................................................... 21
HTTP HyperText Transfer Protocol ........................................................................ 21
TI Tecnologia de Informao ............................................................................ 22
NIDS Network Intrusion Detection System ........................................................... 24
SUID Set User ID ................................................................................................... 25
HTML HyperText Markup Language ...................................................................... 25
SFTP Secure File Transfer Protocol ....................................................................... 25
SCP Secure Copy .................................................................................................. 25
SSH Secure Shell .................................................................................................. 25
NAT Network Address Translation ....................................................................... 27
VPN Virtual Private Network ................................................................................ 27
DMZ Demilitarized Zone ....................................................................................... 28
IPSec Internet Protocol Security ............................................................................. 29
PKI Public Key Infrastructure ............................................................................. 29
SSO Single Sing-On ............................................................................................. 29
MS-DOS Microsoft Disc Operating System ................................................................ 31
JVM Java Virtual Machine .................................................................................... 33
API - Application Programming Interface............................................................... 33
BASIC Begginners Allpurpose Symbolic Instruction Code .................................... 34
SNA Systems Network Architeture ....................................................................... 34
SQL Structured Query Language .......................................................................... 34
ODBC Open Data Base Connectivity ...................................................................... 34


10
RESUMO

Este trabalho de concluso de curso tem como objetivo fazer uma pesquisa para o
desenvolvimento de um prottipo de software para consulta de alterao feitas em um sistema
ERP utilizando Web Service, demonstrando os programas alterados, as alteraes executadas
nesses programas, onde esto disponveis as atualizaes e ainda uma opo para obter essas
atualizaes. Para o desenvolvimento deste projeto foi necessrio fazer pesquisas sobre as
linguagens Java, para o desenvolvimento do web service, e Visual Basic, para o
desenvolvimento dos programas de cadastro e do software cliente, alm de pesquisas sobre os
bancos de dados utilizados, a forma de comunicao do web service e sobre a segurana dos
dados transmitidos.

Palavras chaves: Consulta, Web Service, Segurana.


11

1- INTRODUO


A internet teve um crescimento acentuado em usurios e qualidade desde meados da
dcada de 90, por isso, hoje ela a melhor forma para se atualizar um software, documentos,
etc., mas precisamos saber como utiliz-la corretamente.

Hoje, cerca de 24 milhes de computadores so utilizados no Brasil, considerando
computadores corporativos e domsticos, segundo pesquisa feita pela FGV-Eaesp
(Escola de Administrao de Empresas de So Paulo de Fundao Getlio Vargas)
em maro de 2005.
Com relao aos usurios desses computadores em corporaes, cerca de 64%
deles tem acesso a internet. Porm este valor cai para 48% quando comparamos
com o nmero total de funcionrios que a empresa possui. Melhorando esses dados
temos ainda que 20% da utilizao dos computadores em corporaes dedicado
aos e-mails, 17% em sistemas transacionais, 16% em processadores de texto e
planilhas eletrnicas, 14% em navegadores, 12% em banco de dados e 5% em
grficos.
(CARPANEZ, Juliana, Folha OnLine, 30/03/2005)

Analisando os dados da citao, podemos verificar que, apesar de termos cerca de 64
milhes de computadores no Brasil e que, aproximadamente, 64% deles tem acesso a internet,
a maior parte deles tem apenas conhecimento dos softwares que utilizam no seu dia-a-dia,
principalmente os softwares de e-mail e os sistemas ERPs (Enterprise Resource Planning).
Com isso, as empresas de desenvolvimento de software tm muitos problemas
quando necessrio fazer uma atualizao no seu sistema. Essa situao piora quando seus
clientes esto localizados a uma grande distncia delas, pois, se o cliente no possuir um
funcionrio com conhecimentos em informtica, a empresa de desenvolvimento ter que se
deslocar at o seu cliente para fazer a atualizao.
Outra situao que acontece quando uma empresa de desenvolvimento quer atualizar
o seu sistema em seus clientes a de saber qual a verso do sistema que o cliente possui
nesse momento. Isso faz com que seja necessrio enviar todos os arquivos do sistema e no
somente os arquivos que possuem atualizao. Assim, tanto o cliente como a empresa de
desenvolvimento estaro perdendo tempo que poderia ser utilizado para novos
desenvolvimentos no sistema (por parte da empresa) e fazer lanamentos, cadastros, entre
outras funes do sistema (por parte do cliente).


12
Com a utilizao de sistemas de informao podemos utilizar recursos para facilitar
processos como o de atualizao do sistema, pois, conforme a pesquisa da citao, cerca de
64% dos usurio de computadores tm acesso a internet. Desta forma, com a utilizao de
web services, possvel fazer com que os clientes das empresas utilizem um software cliente
para se conectar nos web services e obter as informaes necessrias para que o software
cliente atualize o sistema e fornea informaes da situao do sistema no cliente para a
Delsoft Sistemas.


13
2 - JUSTIFICATIVA


Como o nmero de clientes da Delsoft Sistemas est aumentando e muitos desses
clientes no possuem uma rea especfica de informtica, a atualizao do sistema nesses
clientes fica mais difcil.
Ano
2002 2003 2004 2005
N Clientes 21 25 29 45
Quadro 1 : Quadro com os nmeros do
aumento de clientes da Delsoft Sistemas
Fonte: Delsoft Sistemas

0
10
20
30
40
50
N Clientes
Aumento no N de Clientes
Ano 2002
Ano 2003
Ano 2004
Ano 2005

Grfico 1 : Grfico do aumento de clientes da Delsoft Sistemas
Fonte: Delsoft Sistemas


comum escutarmos que informtica cria solues para problemas que no
tnhamos. No caso dos Web services a questo outra, isto me ocorreu quando
estava proferindo uma palestra para desenvolvedores sobre a importncia dos Web
services hoje, e via que cada vez que eu dizia eles eram a soluo para
reutilizao de cdigo, comunicao entre ambientes heterogneos, etc. via um
sorriso no ar. Todos com um sentimento comum de deja v, no rosto, a expresso
de j vi este filme. (BOARO, Mrcio, Site Linha de Cdigo, 14/11/2002)

Como na citao de Mrcio Boaro, fiz uma busca por alguma tecnologia que
pudesse nos ajudar nesse problema, porm percebi que a melhor forma de resolver esse
problema seria desenvolver um software com o qual o cliente pudesse ter informaes sobre
atualizaes do seu ERP e que a empresa de desenvolvimento tivesse as informaes
necessrias sobre o sistema que est rodando em cada cliente.
Outro motivo que me levou a montar este prottipo, que cada atualizao que
mandada para os clientes, faz com que pelo menos um dos desenvolvedores utilize seu tempo
de para enviar a atualizao, dar suporte para ajudar o cliente a salvar a atualizao no local
correto e depois ajudar a executar o processo de atualizao ou, at mesmo, se deslocar at o
cliente para fazer a atualizao, desprendendo um tempo ainda maior.


14
2 - OBJETIVOS

2.1 - Geral
Desenvolver um prottipo de software para fazer a atualizao de um utilizando
recursos de web service e um repositrio de atualizaes na internet.

2.2 - Especficos
Pesquisar uma forma para facilitar ao mximo para os clientes atualizarem o sistema,
como a forma de apresentar as atualizaes existentes e o cliente selecionar somente
as atualizaes que ele precisa fazer.
Montar um esquema de pr-requisitos no sistema, para que o cliente no atualize uma
parte do sistema sem atualizar outra que necessria para o processo do sistema.
Pesquisar os recursos disponveis na ferramenta Genexus gerando para a linguagem
Java, no desenvolvimento do web service e de um software cliente para consultar as
informaes do web service, e as bibliotecas necessrias para que o web service rode
no servidor web Tomcat.


15
3 - FUNDAMENTAO TERICA

Nas fundamentaes tericas, sero apresentadas as tecnologias utilizadas no
desenvolvimento do prottipo de sistema para auxlio na atualizao do ERP Delsoft.

3.1 - Web Service

Com a evoluo da internet, tambm os recursos existentes nela melhoram muito. Por
exemplo, quando a internet surgiu, voc podia simplesmente abrir um navegador e visualizar
documentos que outros querem disponibilizar na internet, hoje ns podemos fazer a
transferncia de grandes arquivos, temos entretenimentos, softwares que fazem inteirao
com os seus usurios, como o caso dos Web Services, entre outros recursos.
[...] imagine um componente cujos recursos possam ser acedidos na Internet via
TCP/IP, independente do Sistema Operacional e de qualquer lugar como se o componente
estivesse instalado na sua mquina; um componente que no sofresse as restries dos
Firewalls e que fosse totalmente integrado ao seu ambiente [] (Jos Carlos Macoratti)

Os Web Services uma tecnologia que tem por objetivo integrar sistemas distintos
atravs da Internet usando protocolos padronizados que garantem a independncia
de plataforma e de linguagem de programao em que esses sistemas foram
escritos. Assim, possvel disponibilizar uma coleo de mtodos em um servidor
remoto e permitir que sejam acessados por programas clientes. (NETO, Agostinho
Campos, GUJ Grupo de Usurios Java, 23/11/2004).

Como Agostinho Campos Neto (2004) citou em seu artigo, os Web Services so
desenvolvidos para terem inteirao com outros sistemas, independentes da linguagem que os
mesmos so escritos, pois eles possuem uma padronizao, que qualquer linguagem que tenha
suporte ao protocolo SOAP e manipular arquivos XML (eXtensible Markup Language) pode
acessar os mesmos.
Rogrio Prez (2004), da revista virtual iMasters, comenta em um de seus artigos A
vantagem de utilizarmos um web service para transferir estas informaes entre o servidor e o
software cliente que ele transfere estas informaes utilizando o formato XML, desta forma,
todos os dados possuem tags e isso faz com que estes dados tenham consistncia, sem


16
falhas, permitindo a troca de dados mais robustos como Arrays, e por trafegar em XML, ele
multi-plataforma.


Figura 1 : Esquema de funcionamento de um web service
Fonte: Site iMaster Rogrio Perez

Carlos J. Feij Lopes e Jos Carlos Ramalho destacam algumas das tecnologias que o
web service utiliza:
XML - metalinguagem de anotao na qual esto definidas todas as outras normas que
servem de base aos Web Services.
SOAP - linguagem de anotao com a qual se pode descrever o protocolo de
comunicao, responsvel pela troca de mensagens de e para os Web Services (uma
mensagem SOAP um documento XML).
WSDL - linguagem de anotao definida em XML e que tem como objetivo descrever
a API de um Web Service.
UDDI - linguagem de anotao definida em XML com a qual se cria a meta
informao caracterstica de um Web Service; vrios registros UDDI so agrupados
em repositrios; estes repositrios possuem uma interface/API de pesquisa para
permitir a uma aplicao cliente pesquisar e localizar um servio.
3.2 - WSDL

Para que os softwares se comuniquem com o web service, o web service utiliza um
linguagem chamada WSDL (Web Services Description Language) para definir os parmetros
que devem ser passados, as funes que existem dentro dele e os valores que o ele retornar.
Segundo Jos Carlos Macoratti, WSDL um documento em XML que descreve os
protocolos que podem ser utilizados para acessar o web service. No WSDL esto definidos: a


17
URL de acesso, o nome do web service, a descrio de cada mtodo e como fazer a
solicitao via SOAP, GET ou POST.
Rogrio Perez (2004) descreve que WSDL a sigla de Web Service Description
Language, padro baseado em XML para descrever o servio onde ele traz os mtodos do
web service. Funciona como uma espcie de TypeLibrary do Web service alem de ser
usado para a validao das chamadas dos mtodos.
Claudimir Zavalik, Guilherme Lacerda e Jos Palazzo M.de Oliveira (2004) dizem que
WDSL fornece um modelo e um formato XML para descrio de servios Web. WSDL
possibilita uma separao da descrio das funcionalidades abstratas oferecidas por um
servio dos detalhes concretos da descrio de um servio, como "onde" e "como" as
funcionalidades so oferecidas.

3.3 - Internet

Com o contnuo avano das linguagens de programao voltadas para o
desenvolvimento para a internet e o avano da prpria internet vem fazendo com que as
empresas e pessoas busquem essa rea de desenvolvimento. Estes avanos trazem tecnologias
como o Ajax para deixar estes softwares mais dinmicos, frameworks para aumentar a
velocidade de desenvolvimento de um software e ainda os web services, que so utilizados
para fazer comunicao entre softwares atravs da internet.
Como os Web Services geralmente funcionam como servios na internet e no
somente numa rede local, aqui ser apresentado um breve histrico de como a internet surgiu
e como chegou ao Brasil. Este histrico est no livro Utilizando na Prtica: Internet e Redes
de Computadores de Almir Wirth (2002).
A internet teve inicio em 1969 como projeto da empresa ARPA (Advanced Research
and Projects Agency) com o intuito de conectar os computadores do Departamento de
Pesquisas das Universidades da Califrnia, Los Angeles, Santa Brbara, Utah e do Instituto de
Pesquisa de Stanford.
Entre 1985 e 1986, foi construda a interligao dos supercomputadores da Fundao
Nacional de Cincia e a interligao desta rede com a ARPANET. O backbone de todas as
redes de computadores passou a ser chamada de internet.
A abertura da internet a nvel mundial ocorreu em 1993, deixando de ser uma
instituio de natureza acadmica para se transformar na internet comercial dos dias de hoje.


18
No Brasil, a internet s teve incio em 1988, com a FAPESP (Fundo de Amparo
pesquisa do Estado de So Paulo), UFRJ (Universidade Federal do Rio de Janeiro) e do
LNCC (Laboratrio Nacional de Computao Cientfica do Rio de Janeiro) e sua explorao
comercial teve inicio entre 1994 e 1995 atravs da Embratel e da RNP (Rede Nacional de
Pesquisa), que aplicou seu backbone para suportar estes novos servios comerciais.

3.4 - Protocolo TCP/IP


Apesar de o web service ter a possibilidade de transferir as informaes atravs dos
mtodos GET e POST, o mais comum ainda utilizando o protocolo SOAP. Como o
protocolo SOAP funciona sobre a acamada de aplicao do protocolo TCP/IP (Transmission
Control Protocol / Internet Protocol), temos que conhecer um pouco do protocolo TCP/IP.
O protocolo TCP/IP (Transmission Control Protocol / Internet Protocol) utilizado
na comunicao entre computadores da Internet. Atravs dele pode-se obter um servio
confivel, ou seja, um servio em que os dados sejam transmitidos integralmente para os
destinos corretos. (WIRTH, Almir - 2002).
Julio Battisti (2003) escreve em seu livro Manual Completo para o Exame MCDST:
70-271 que, para que os computadores de uma rede possam trocar informaes necessrio
que todos adotem as mesmas regras para o envio e o recebimento de informaes. Este
conjunto de regras conhecido como Protocolo de comunicao. Falando de outra maneira
podemos afirmar: "Para que os computadores de uma rede possam trocar informaes entre si
necessrio que todos estejam utilizando o mesmo protocolo". No protocolo de comunicao
esto definidas todas as regras necessrias para que o computador de destino, "entenda" as
informaes no formato que foram enviadas pelo computador de origem.


19

Figura 2: Uma rede baseada no protocolo TCP/IP
Fonte: Jlio Battisti

3.4.1 - Arquitetura TCP/IP

Para padronizar a forma como os protocolos iriam de comunicar, foram criadas as
arquiteturas dos protocolos. A internet utiliza o protocolo TCP/IP, por isso aqui est sendo
apresentada a arquitetura do TCP/IP. Abaixo est um esquema das camadas desse protocolo.

Figura 3: Camadas da arquitetura TCP/IP
Fonte: Redes de Computadores - Andrew S. Tanenbaum
Para entender melhor a funo de cada camada, Carlos Eduardo Trevisan
Vasconcelos faz um breve resumo de cada camada.


20
3.4.1.1 - Camada de Aplicao

formada pelos protocolos utilizados pelas diversas aplicaes do modelo TCP/IP.
Esta camada no possui um padro comum. O padro estabelecido por cada aplicao. Isto
, o FTP possui seu prprio protocolo, assim como o TELNET, SMTP, POP3, DNS e etc..

3.4.1.2 - Camada de Transporte

Camada fim-a-fim, isto , uma entidade desta camada s se comunica com a sua
entidade-par do host destinatrio. nesta camada que se faz o controle da conversao entre
as aplicaes intercomunicadas da rede. Dois protocolos aqui so usados: o TCP e o UDP. O
TCP orientado conexo e o UDP no. O acesso das aplicaes camada de transporte
feito atravs de portas que recebem um nmero inteiro para cada tipo de aplicao.
3.4.1.3 - Camada de Internet

Essa camada a primeira normatizada do modelo. Conhecida como camada Internet,
responsvel pelo endereamento, roteamento e controle de envio e recepo. Ela no
orientada conexo, se comunica atravs de datagramas.

Figura 4: Datagrama de da camada de Internet
Fonte: UFRGS (Universidade Federal do Rio Grande do Sul)

O datagrama acima utilizado para padronizar a comunicao na camada de internet.





21
3.4.1.4 - Camada de Rede

Camada de abstrao de hardware tem como principal funo a interface do modelo
TCP/IP com os diversos tipos de redes (ATM, FDDI, Ethernet, Token Ring, Frame Relay,
PPP e SLIP). Por causa da grande variedade de tecnologias de rede, ela no normatizada
pelo modelo, o que prov a possibilidade de interconexo e interoperao de redes
heterogneas.

3.5 - Protocolo SOAP

Para que seja vivel a criao de softwares que conectem em servios na internet,
necessrio que exista uma padronizao. Para isso, foi criado o protocolo SOAP (Simple
Object Access Protocol), que um protocolo que define como as mensagens so transmitidas
entre o servio e o software cliente atravs de arquivos XML.
Segundo Doug Tidwell, James Snell e Pavel Kulchenko, SOAP como um protocolo
empacotando padronizado para compartilhar mensagens entre aplicaes. A especificao no
define nada mais do que um pacote simples baseado em XML para transferir as informaes,
e um conjunto de regras para traduzir a aplicao e os tipos de dados em XML.
O protocolo SOAP um protocolo elaborado para facilitar a chamada remota de
funes via Internet, permitindo que dois programas se comuniquem de uma maneira
tecnicamente muito semelhante invocao de pginas Web. (SANTANNA, Mauro).
SANTANNA apresenta em seu artigo diversas vantagens do protocolo SOAP sobre
outras maneiras de chamar funes remotamente:
simples de implementar, testar e usar.
um padro da indstria, criado por um consrcio da qual a Microsoft parte,
adotado pela W3C (http://www.w3.org/TR/SOAP/) e por vrias outras empresas.
Usa os mesmos padres da Web para quase tudo: a comunicao feita via HTTP
com pacotes virtualmente idnticos; os protocolos de autenticao e encriptao so os
mesmos; a manuteno de estado feita da mesma forma; normalmente
implementado pelo prprio servidor Web.
Atravessa firewalls e roteadores, que pensam que uma comunicao HTTP.
Tanto os dados como as funes so descritas em XML, o que torna o protocolo no
apenas fcil de usar como tambm muito robusto.


22
independente do sistema operacional e CPU.
Pode ser usado tanto de forma annima como com autenticao (nome/senha).

Ainda podemos encontrar no artigo de SANTANNA que os pedidos SOAP podem
ser feitos em trs padres: GET, POST e SOAP. Os padres GET e POST so idnticos aos
pedidos feitos por navegadores Internet. O SOAP um padro semelhante ao POST, mas os
pedidos so feitos em XML e permitem recursos mais sofisticados como passar estruturas e
arrays. Independente de como seja feito o pedido, as respostas so sempre em XML. O XML
descreve perfeitamente os dados em tempo de execuo e evita problemas causados por
inadvertidas mudanas nas funes, j que os objetos chamados tm a possibilidade de
sempre validar os argumentos das funes, tornando o protocolo muito robusto.

3.5 - Segurana

No adianta disponibilizar as informaes para seus cliente sem ter uma certa
segurana e como, geralmente, os web services esto disponvel na internet, indispensvel a
existncia de formas que assegurem que as informaes acessadas no web service, sejam
acessadas apenas pelas pessoas autorizadas ou, se alguma pessoa no autorizada conseguir um
usurio e senha, sem o software cliente correto, no ser possvel obter as informaes
corretas sem a chave criptogrfica.
Jeff Forristal e Julie Traxler citam, no livro Site Seguro Aplicaes Web, os ataques
ocorridos em fevereiro de 2000 ao eBay, ao Yahoo, Amazon e a outros grandes sites de e-
commerce e sites no comerciais, trouxeram o hacking a tona, na comunidade de TI
(Tecnologia de Informao) e na imprensa. Todo este destaque despertou a ateno de
especialistas em segurana da informao, gerentes de projeto e outros profissionais de TI.
Um nmero cada vez maior de empresas vem se dedicando ao aprimoramento da segurana, o
que resultou em hackers mais criativos e talentosos, aplicando o conceito de segurana, que
deixou de ter importncia apenas no nvel da administrao da rede passando a ter uma
importncia maior no nvel do desenvolvimento das aplicaes.
Emlio Tissato Nakamura e Paulo Lcio de Geus apontam algumas medidas de
segurana que devemos ter no mundo virtual. So elas:

Firewalls: Equivalentes ao controle de acesso na loja real, por meio de porteiros,
vigias, limites e portas.


23
Poltica de segurana: Equivalente ao modelo de conduta do cidado visitante na
loja e ao de procedimentos, por parte dos funcionrios, para garantir o bom
comportamento social dos visitantes e a integridade do patrimnio da loja.
Separao entre a rede pblica (servidores externos) e rede interna, equivalente
separao entre a parte pblica da loja, na qual os visitantes circulam, e a parte
privada, na qual somente os funcionrios transitam.

3.5.1 - Mas quem so os hackers?

Segundo a revista on-line Revista TI, um hacker qualquer profissional que estuda e
analisa tecnologias com o intuito de conhec-las profundamente, a ponto de descobrir uma
srie de falhas nas implementaes de hardware e software, principalmente envolvendo
aspectos de segurana. Ele no usa estas informaes para obter vantagens ou causar danos a
terceiros. Por outro lado, um cracker pode ser ou no um hacker, mas ele utiliza as falhas
encontradas para prejudicar terceiros ou obter vantagens pessoais.
Jeff Forristal e Julie Traxler descrevem Os hackers podem ser vndalos
inexperientes, interessados apenas em se destacar, ao desfigurar o seu site ou hackers
experientes, que podem comprometer os seus bancos de dados, a fim de obter possveis
vantagens financeiras.

3.5.2 - Para que essa segurana?


Nos dias atuais, a maioria das empresas utilizam sistemas ERPs para gerenciar as
informaes da empresa. Com isso, suas informaes so armazenadas na forma digital em
servidores, e se houver um ataque a esses servidores, as empresas podem perder informaes
utilizadas para conquistar seus clientes. Por isso, as tcnicas de segurana so to importantes.

A informtica um instrumento cada vez mais utilizado pelo homem, para que ele
possa realizar seus trabalhos de modo mais fcil, mais rpido, mais eficiente e
mais competitivo, produzindo assim os melhores resultados. A rede um dos
elementos principais, permitindo as conexes entre computadores. A flexibilidade,
a facilidade e a disponibilidade dos recursos que so acessveis por meio da rede
resultam em uma maior produtividade e, consequentemente, em maiores lucros
dentro de uma organizao.
(NAKAMURA, Emlio Tissato; GEUS, Paulo Lcio de. Segurana de Redes em
ambientes cooperativos, 2002).



24
Emlio Tissato Nakamura e Paulo Lcio de Geus ainda continuam dizendo que a
confiabilidade e a disponibilidade dessa estrutura de redes passam, assim, a serem essenciais
para o bom andamento das organizaes, fazendo com que elas precisem ser protegidas. A
segurana de redes, que podem prover essa proteo, significa, na realidade, muito mais do
que a proteo contra hackers, maus funcionrios ou vrus. A segurana significa permitir que
as organizaes busquem os seus lucros, que so conseguidos por meio de novas
oportunidades de negcios, que so resultados da flexibilidade, facilidade e disponibilidade
dos recursos de informtica.
Andrew S. Tanenbaum escreve que durante as primeiras dcadas de sua existncia, as
redes de computadores foram principalmente usadas por pesquisadores universitrios, para
enviar mensagens de correio eletrnico, e por funcionrios de empresas, para compartilhar
impressoras. Sob essas condies, a segurana nunca precisou de maiores cuidados. Mas
atualmente, como milhes de cidados comuns esto usando as redes para executar operaes
bancrias, fazer compras e arquivar suas devolues de impostos, a segurana das redes est
despontando no horizonte como um problema em potencial..
Porm, segundo Emlio Tissato Nakamura e Paulo Lcio de Geus, um dos principais
problemas para a implantao da segurana o seu oramento, comumente pequeno ou
praticamente inexistente. O principal ponto a ser considerado que os executivos geralmente
no tm a viso necessria para enxergar a importncia de uma boa estratgia de segurana.
Felizmente, isso comeou a mudar com o advento dos vrus Melissa e ExploreZip, que
causaram problemas para diversas organizaes, porm em uma rea bem especfica, a de
antivrus.

3.5.3 - E como podemos nos proteger?

Quando falamos em como nos protegermos, logo falamos em firewall (servidores que
so colocados entre duas redes para fazer o filtro dos acessos entre elas, por exemplo, a
internet e sua rede interna), mas segundo Daniel Duclos, um firewall uma boa idia, mas
no garante tudo. O invasor pode vir a explorar uma falha (hipottica) no servidor web, por
exemplo, e o firewall vai deixar passar o pedido, porque ele no tem como diferenciar um
pedido legtimo de um maligno. Manter o sistema atualizado essencial. Utilizar um sistema
de detecto de intruso da rede (procure por NIDS, do ingls Network Intrusion Detection


25
System) em conjunto com o firewall uma boa idia para prevenir isso. Mas existem outras
medidas:
No utilizarmos o servio de telnet (protocolo cliente-servidor de comunicaes usado
para permitir a comunicao entre computadores ligados numa rede). O telnet trafega
as informaes descriptografadas, em texto claro. A primeira coisa que passa por um
telnet um nome de usurio e uma senha, e s isso que um invasor precisa para
entrar no seu sistema. Se algum tiver colocado uma escuta entre a sua mquina a
mquina a qual voc est acessando pegar sua senha. Por isso devemos utilizar o ssh
(, simultaneamente, um programa de computador e um protocolo de rede que permite
a conexo com outro computador na rede, de forma a executar comandos de uma
unidade remota), que encripta essas informaes.
Devemos tomar cuidado com as permisses dos arquivos. No devemos dar SUID
(permisso) para programas a no ser que isso seja imprescindvel. Normalmente esses
programas j vm com SUID na sua instalao, portanto muito improvvel que seja
necessrio dar permisso de SUID explicitamente para qualquer programa. Arquivos
SUID so armadilhas potenciais ao seu sistema. Outra coisa com que devemos tomar
cuidado com as permisses de arquivos acessveis publicamente, via web ou ftp.
Nunca devemos dar permisses 0777 para um arquivo sem um excelente motivo para
isso, pois isso permite que qualquer um altere e execute o arquivo, at usurios
annimos acessando via web se esses arquivos estiverem debaixo do diretrio html do
site. Arquivos html nunca devem ser executveis e dificilmente devem ter permisso
de escrita, a no ser para o dono!
Devemos ter ateno ao servio de ftp, principalmente se ele permitir logins
annimos. Nunca permita diretrios gravveis acessveis ao servio ftp. Uma boa idia
se possvel, desabilitar o ftp e utilizarmos o sftp ou scp, que possui um cliente
grfico gratuito para MS Windows.
Se possvel, copiar os logs para uma outra mquina via syslog. Essa outra mquina
deve rodar apenas o syslog e ser acessvel apenas ao servidor ao qual esta ligada.
Liberar os servios apenas para as redes que precisam. Mesmo mquinas s devem ser
acessveis por quem as precisa acessar. Assim, estaes de trabalho ou mesmo
servidores internos no devem ter IPs acessveis via Internet. Se somente a rede
interna acessa seu pop, libere o pop apenas para sua rede interna. Se somente voc
acessa o ssh, libere o ssh apenas para sua mquina. Se algum no precisa
explicitamente de um servio negue-o. Se ningum est usando o servio, desinstale-o.


26
Ter uma poltica de senhas. Devemos evitar a todo custo senhas fracas, fceis de
adivinhar. Exemplos dessas senhas so palavras de dicionrio, nomes de pessoas,
datas de aniversrios, nomes relacionados ao seu trabalho. Deve-se orientar a todos os
usurios do sistema que evitem esse tipo de senhas. Senhas boas so senhas que
contenham caracteres no alfas-numricos, como por exemplo !@#$%&, letras
maisculas e minsculas, e nmeros.

3.5.4 - Firewall

Uma das principais tcnicas utilizadas para proteger as informaes de uma
organizao, o firewall consegue bloquear muitos dos ataques, mas no podemos confiar
somente nele para protegermos nosso rede.
Tissato Nakamura e Paulo Lcio de Geus comentam que a necessidade de utilizao
cada vez maior da internet pelas empresas e a constituio de ambientes cooperativos levam a
uma crescente preocupao quanto a segurana. Como conseqncia disso, pode-se ver uma
rpida evoluo na rea de segurana, principalmente com relao ao firewall, que um dos
principais, mais conhecidos e antigos componentes de um sistema de segurana.

Figura 5: Representao de um firewall
Fonte: Info Exame



27
Na Figura 5 podemos observar o funcionamento de um firewall, que funciona como
ma barreira entre a internet e a rede interna, dificultando o acesso no autorizado aos recursos
de sua rede interna.
Tissato Nakamura e Paulo Lcio de Geus ainda apresentam duas definies de
firewall:
A mais antiga definio para firewall foi dada por Bill Cheswick e Steve Bellovin, em
Firewalls and Internet Security: Repelling the Wily Hackers. Segundo eles, firewall
um ponto entre duas ou mais redes, no qual circula todo o trfego. A partir desse nico
ponto, possvel controlar e autenticar o trfego, alm de registrar, por meio de logs,
todo o trfego da rede, facilitando sua auditoria.
J Chapman define firewall como um componente ou conjunto de componentes que
restringe o acesso entre uma rede protegida e a internet, ou entre outros conjuntos de
redes.

3.5.4.1 - Funcionalidades

A seguir sero apresentadas as principais funcionalidades de um firewall apresentadas
por Tissato Nakamura e Paulo Lcio de Geus no livro Segurana de Redes em ambientes
cooperativos.

3.5.4.1.1 - Definio

Segundo Tissato Nakamura e Paulo Lcio de Geus, o firewall composto por uma
srie de componentes, pois cada um deles tem uma funcionalidade diferente e desempenha
um papel que influi diretamente no nvel de segurana do sistema. Algumas dessas
funcionalidades foram os chamados componentes clssicos de um firewall, definidos por
Chapman. As quatro primeiras funcionalidades (filtros, proxies, bastion hosts, zonas
desmilitarizadas) fazem parte desse grupo, e as trs funcionalidades restantes (Network
Address Translation (NAT), Virtual Private Network (VPN), autenticao/certificao) foram
inseridas no contexto, devido evoluo natural das necessidades de segurana.




28
3.5.4.1.2 - Filtros

Segundo Tissato Nakamura e Paulo Lcio de Geus, os filtros realizam o roteamento de
pacotes de maneira seletiva, ou seja, aceitam ou descartam pacotes por meio da anlise das
informaes de seus cabealhos. Essa deciso tomada de acordo com as regras de filtragem
definidas na poltica de segurana da organizao.

3.5.4.1.3 - Proxies

Segundo Tissato Nakamura e Paulo Lcio de Geus, os proxies so softwares que atuam
como um gateway entre duas redes, permitindo as requisies dos usurios internos e as
respostas dessas requisies, de acordo com a poltica de segurana definida.

3.5.4.1.4 - Bastion Hosts

Segundo Tissato Nakamura e Paulo Lcio de Geus, os bastion hosts so os
equipamentos em que so instalados os servidores a serem oferecidos para a internet. Como
estaro em contato direto com as conexes externas, os bastion hosts devem ser protegidos da
melhor maneira possvel. Essa mxima proteo possvel significa que o bastion host deve
executar apenas os servios e aplicativos essenciais, bem como ter sempre a ltima verso
desses servios e aplicativos, sempres com os patches de segurana instalados imediatamente
aps sua criao.

3.5.4.1.5 - Zona Desmilitarizada

Segundo Tissato Nakamura e Paulo Lcio de Geus, a zona desmilitarizada (DMZ), ou
perimeter network, uma rede que fica entre a rede interna, que deve ser protegida, e a rede
externa. Essa segmentao faz com que, caso algum equipamento dessa rede desmilitarizada
(um bastion host) seja comprometido, a rede interna continue intacta e segura.




29
3.5.4.1.6 - NAT (Network Address Translation)

Segundo Tissato Nakamura e Paulo Lcio de Geus, o NAT no foi criado com a
inteno de ser um componente de segurana, mas sim para tratar de problemas em redes de
grande porte, nas quais a escassez de endereos de IP poderia ser um problema. Dessa
maneira, a rede interna pode utilizar endereos de IP reservados, sendo o NAT responsvel
pela converso desses endereos invlidos para endereos reservados, quando a rede externa
acessada.

3.5.4.1.7 - VPN (Virtual Private Network)

Segundo Tissato Nakamura e Paulo Lcio de Geus, a VPN criada, inicialmente, para
que protocolos diferentes do IP pudessem trafegar pela rede de IP. Como no era aceitvel
que as informaes trafegassem sem codificao pela internet, a VPN passou a utilizar
conceitos de criptografia para manter a confidencialidade dos dados. Mais do que isso, o
IPSec, protocolo padro de fato das VPNs, garante, alm da confidencialidade, a integridade e
a autenticao desses dados.
3.5.4.1.8 - Autenticao/Certificao

Segundo Tissato Nakamura e Paulo Lcio de Geus, a autenticao e a certificao dos
usurios podem ter como base endereos de IP, senhas, certificados digitais, tokens,
smartcards ou biometria. Tecnologia auxiliares so a Public Key Infrastruture (PKI) e o
Single Sing-On (SSO).

3.5.5 - Criptografia

Como os hackers esto cada vez encontrando mais brechas (atravs de sniffer,
vrus que retornam informaes do usurio para seus desenvolvedores, falhas nos servios que
esto rodando no servidor, etc.) para acessarem os servidores e empresas, uma das alternativas
a utilizao da criptografia, pois, sem a chave criptogrfica, no ser possvel obter as
informaes desejadas.


30
Outra forma de segurana que est sendo muito utilizada a criptografia. Tissato
Nakamura e Paulo Lcio de Geus dizem que a criptografia tem uma funo e uma
importncia cada vez mais fundamentais dentro as solues de segurana das organizaes.
Alm de sua funo primria, que a de garantir a confidencialidade dos dados, a criptografia
responsvel pela integridade, autenticao, certificao e no-repdio, propriedades
fundamentais em protocolos como o Secure Shell (SSH) e IP Security (IPSec), alm de ser o
ponto-chave da Virtual Private Network (VPN) e da Public Key Infrastructure (PKI).
Segundo Ryan Russel, a criptografia est por toda a parte atualmente, desde senhas
picadas (hashed) at o correio criptografado, das redes privadas virtuais (VPNs) com Internet
Protocol Security (IPSec) at mesmo aos sistemas de arquivo criptografados. A segurana
motivo para as pessoas optarem pelos dados criptografados e, se voc quiser que seus dados
permaneam protegidos, melhor conhecer um pouco a respeito de como funciona a
criptografia.. Russel tambm apresenta que a palavra cripto tem origem da palavra grega
kruptos, que significa escondido..
Russel cita que segundo Fred Cohen, a histria da criptografia tem sido documentada
h mais de 4000 anos, onde alega-se ter sido usada inicialmente no Egito. Jlio Csar usou
ainda sua prpria criptografia, chamada Cifra de Csar. Basicamente, A Cifra de Csar
realizava um giro das letras do alfabeto para a direita, por trs letras. Por exemplo, S move-se
para V e E move-se para H..

3.6 - Genexus

Genexus uma ferramenta de desenvolvimento de alta produo, pois ela possui uma
srie de funes que facilitam o desenvolvimento, com isso, reduz o tempo de
desenvolvimento. Algumas das facilidades so:
Regras de negcios qualquer pessoa que tenha conhecimentos bsicos em
programao e no processo que se deseja desenvolver pode definir essas
regras;
Transparncia no acesso ao banco de dados durante a programao, o
programador no tem a necessidade de saber qual banco de dados ser
utilizado no cliente;
De acordo com as informaes retiradas da pgina da Itec Way, Genexus uma
ferramenta utilizada para automatizar a normalizao, gerao e manuteno de base de


31
dados, gerao automtica de programas, anlise de impacto de mudana e regerao dos
programas.
Utilizando o Genexus, o analista precisa capturar e descrever a viso dos usurios e
colocar isso em objetos Genexus. Estes objetos so salvos numa base de conhecimento.
Genexus trabalha com o conhecimento respeito da aplicao. Com isto consegue-se
independncia entre a estrutura da base de dados, os procedimentos e consultas. Os
procedimentos e consultas so definidos sobre a base de conhecimento, no sobre tabelas e
ndices. o Genexus quem determina quais as tabelas e ndices que devem ser utilizados. Se a
estrutura da base de dados muda, o Genexus encarrega-se de atualizar os programas. So
100% automtico.
Genexus conta com uma ferramenta especializada para facilitar o trabalho em equipes:
Knowledge Manager. Com esta ferramenta possvel desenvolver mdulos de uma mesma
aplicao de forma independente e depois consolid-los para formar uma nica aplicao.
O prottipo em Genexus uma aplicao real, um programa executvel, MS-DOS ou
Windows, que o usurio final pode levar e testar em seu prprio computador. No se limita a
menus e telas. O prottipo em Genexus permite incluir, excluir e modificar dados de uma base
de dados real. Depois de testada e aprovada pelo usurio, o modelo passado para a fase de
produo, gerados e compilados para que todos os usurios possam utilizar.
No necessrio que o analista tenha conhecimento em conexo com bancos de
dados, bem como comandos necessrios para inserir, alterar, excluir ou consultar dados no
banco de dados, pois a ferramenta constri tudo.
Recursos disponveis aos usurios finais:
Uma interface padro para todas as aplicaes;
Integra o desenho e a prototipao da aplicao, assegurando que as solues
correspondero s expectativas;
Genexus funciona nvel conceitual, com o conhecimento. Por isto capaz de
adaptar automaticamente uma base de conhecimento de uma aplicao para ser
utilizado em outras.

Recursos disponveis aos analistas:
Faz pelo analista todo o trabalho pesado e tedioso, deixando para ele as
decises importantes e as tarefas de maior criatividade;
Fcil prototipao, sem custos adicionais;


32
Propagao automtica de mudanas, tanto ao nvel de base de dados como de
programas;
Permite desenvolver com uma nica ferramenta, programas para as
plataformas mais difundidas no mercado;

3.7 - Linguagens de Programao

Como a ferramenta de desenvolvimento utilizada na Delsoft Sistemas o Genexus, o
web service, o sistema para cadastro das informaes e cliente do web service sero
desenvolvidos com a mesma ferramenta. Porm, os compiladores utilizados para compilar os
softwares sero o Visual Basic e o Java. O Visual Basic pelo fato de o sistema ERP da Delsoft
Sistemas ser compilado nesta linguagem, o software cliente ser compilado na mesma
linguagem e o Java na compilao do web service, pois a linguagem de compilao para
softwares web o Java.

3.7.1 - Java

A linguagem Java uma linguagem multi-plataforma, com isso, para executar um
software standalone, basta ter a mquina virtual java para o sistema operacional e as
bibliotecas que o software utiliza, e para um software para web, necessrio a mquina
virtual java, as bibliotecas e um servidor web que suporte a linguagem java. Isso faz com que
o programador no precise saber para qual sistema operacional ser desenvolvido o software.
Rogers Cadenhead e Laura Lemay descrevem a linguagem Java com sendo uma
linguagem orientada a objetos, independente de plataforma e segura, projetada para ser mais
fcil de aprender do que C++ e mais difcil de abusar do que C ou C++.
Quando a Sun Microsystems lanou a linguagem de programao Java em 1995, ela
era um brinquedo criativo para World Wide Web, com potencial para ser muito mais.
A palavra potencial um elogio incomum, pois vem com uma data de expirao.
Mais cedo ou mais tarde, o potencial precisa ser percebido ou novas palavras so usadas em
seu lugar, como decepo, desperdcio e grande decepo para sua me e para mim.
3.7.1.1 - A Linguagem



33
Rogers Cadenhead e Laura Lemay descrevem que hoje, em sua sexta verso principal,
com Java 2 verso 1.5, Java parece ter sobrevivido s expectativas que acompanharam sua
chegada. Mais de dois milhes de programadores aprenderam a linguagem e a esto usando
em lugares como NASA, IBM, Kaiser Permanente, ESPN e Museu de Arte Moderna de Nova
York. Ela faz parte do currculo acadmico em muitos departamentos de Cincia da
Computao do mundo inteiro. Usada para criar programas simples em pginas Web, a Java
pode ser encontrada hoje em dia nos seguintes lugares, entre outros:
Servidores Web.
Banco de dados relacionais.
Computadores mainframe.
Telefones.
Telescpios orbitais.
Assistentes digitais pessoais.
Smartcards do tamanho de cartes de crdito.

A linguagem Java dividida, basicamente, em Java SE (Java Standard Edition), Java
EE (Java Enterprise Edition), Java ME (Java Micro Edition) e Java Web Service. Mas o que
cada um? Ento vamos a uma breve descrio do que o site Wikipdia apresenta de cada uma
das quatro subdivises:
Java SE a ferramenta necessria para o desenvolvimento de aplicaes em
Java. Ela contm todo o ambiente necessrio para a criao e execuo de
aplicaes Java, incluindo a mquina virtual Java (JVM)
1
, o compilador Java,
as APIs
2
do Java e outras ferramentas utilitrias. Tambm a base para o Java
EE e o Java Web Service;
Java EE uma plataforma de programao de computadores que faz parte
da plataforma Java. Ela voltada para aplicaes multi-camadas, baseadas em
componentes que so executados em um servidor de aplicaes;
Java ME uma tecnologia que nos possibilita o desenvolvimento de
software para sistemas e aplicaes embarcadas, ou seja, toda aquela que roda
em um dispositivo de propsito especfico, desempenhando alguma tarefa que
seja til para o dispositivo;
Java Web Service baseado na tecnologia XML, ele utilizado para a troca
de informaes pela rede utilizando padres definidos;



34

3.7.2 - Visual Basic

Linguagem de programao desenvolvida pela Microsoft, ela est sendo utilizada
nesse prottipo, pois a ferramenta de desenvolvimento Genexus gera seus cdigos para
compilao para esta linguagem desde a sua primeira verso para ambiente Windows.
A seguir ser apresentando um pequeno histrico da linguagem segundo Jos Augusto
N. G. Manzano.

3.7.2.1 - Histrico

Em 1965, os matemticos Prof. Dr. John Kemeny e Prof. Dr. Thomas Kurtz do
Dartmounth College desenvolveram uma linguagem de programao para estudantes,
denominada BASIC Begginners Allpurpose Symbolic Instruction Code. Esta linguagem foi
criada com o objetivo de tornar mais fcil o aprendizado de programao de computadores.
Na dcada de 80, as vrias verses do MS-DOS acompanharam uma verso de um
interpretador da linguagem BASIC (GW-BASIC), baseada na estrutura de 1965. Com o
lanamento do MS-DOS, verso 5, a Microsoft distribuiu uma nova verso da linguagem
BASIC, denominada QBASIC (QuickBASIC). Esta verso segue o estilo estruturado
semelhante forma usada nas linguagens Pascal e C, no sendo nada semelhante da
linguagem BASIC original de 1965.
Aps o surgimento do Windows, foi apresentado em 1991, pela Microsoft, a primeira
verso da linguagem Visual Basic. Apesar de antes ter lanado uma verso do Visual Basic
para o ambiente MS-DOS. Dentro do ambiente Windows, a linguagem passou a fazer uso de
recursos visuais, alm de possuir uma estrutura orientada a eventos, muito mais moderna.
J na verso 5.0, lanada em maro de 1995 no Brasil, passou a ser possvel
desenvolver de forma rpida aplicaes Cliente/Servidor.
No final de 1998 a Microsoft lana a verso 6.0, a qual apresenta uma srie de
novidades, tais como: melhor performance de desempenho, utilizando o mesmo ncleo de
compilao do Visual C++; ActiveX Data Objects, sendo este um novo padro de acesso a
banco de dados, incluindo drivers para o SQL Server 6.5 ou superior, Oracle 7.3.3 e
superiores, Access, SNA Server e ODBC; Visual Basic WebClass Designer, que permite a
criao de aplicativos para servidores Web; ferramentas visuais integradas para bancos de


35
dados; MSDN Library, sendo este um help adicional para o desenvolvedores profissionais;
HTML Dinmico, que permite o desenvolvimento de aplicaes com HTML dinmico e
recursos multimdia.

3.7.2.2 - Conceitos Usados em Visual Basic

Jos Augusto N. G. Manzano tambm explica que a linguagem de programao
Visual Basic, caracteriza-se por ser orientada a eventos. Desta forma, todas as aes
executadas em um programa so processadas dentro dos eventos dos objetos, que pro sua vez
so codificados na forma de sub-rotinas do tipo Sub ou Function.
A linguagem Visual Basic possui algins conceitos importantes como: Propriedades e
Mtodos.
O conceito de Propriedade est associado a um objeto, na verdade ao seu conjunto de
caractersticas tanto em nvel de aparncia quanto em nvel de posio. Por exemplo, pode-se
apontar como propriedade o fato de uma janela estar maximizada ou minimizada. Em nvel de
sintaxe, dever ser estabelecido primeiro a indicao do objeto, depois a indicao de sua
propriedade: Objeto.Propriedade.
O conceito de Mtodo de um objeto se refere aquilo que o objeto faz, ou seja, ao seu
funcionamento. Considerando o objeto rdio, com sua propriedade de som sendo apresentada,
poder ter modificada a sintonia de uma estao. Deve-se considerar que um mtodo est
vinculado ao estado de um objeto e executa nele uma operao. Como sintaxe, uma mtodo
pode ser escrito de duas formas: com argumentos e poderia ser escrito Objeto.Mtodo.

3.8 - Banco de Dados

Como a ferramenta Genexus pode gerar softwares e manipulao de dados para
diversos bancos de dados e a Delsoft Sistemas possui clientes utilizando estes bancos de
dados, vou descrever aqui os dois bancos mais utilizados.
O banco de dados, por si s, pode ser considerado como o equivalente eletrnico de
um armrio de arquivamento; ou seja, ele um repositrio ou recipiente para uma coleo de
arquivos de dados computadorizados. (DATE, C. J., 2003).



36

3.8.1 - SQL Server

O Microsoft SQL Server se popularizou muito nos ltimos anos pelo fato de que
grandes empresas tenham adotado o Sistema Operacional Windows em seus servidores, e
tambm que a Microsoft tenha lanado uma verso gratuita do banco de dados (MSDE
Microsoft Desktop Edition). Outro fato que fez com que o SQL Server seu fcil
gerenciamento.
Michel de Souza (2004) publicou no site Linha de Cdigo que o SQL Server um
sistema de gerenciamento de bancos de dados cliente/servidor de alto desempenho com alta
integrao com o Microsoft Windows. Suas caractersticas so:
Integrao com os servios de multithreading, agendamento, Monitor de Desempenho,
e log de eventos do Windows. Um usurio pode se conectar ao SQL Server com a
mesma senha usada para a rede Windows.
Replicao nativa permite disseminar informaes para vrios locais, reduzindo a
dependncia de um servidor nico, e deixando a informao necessria mais prxima
de quem realmente precisa dela.
Arquitetura paralela, que executa as funes de banco de dados simultaneamente para
diversos usurios e tira proveito de sistemas com mltiplos processadores.
Gerenciamento centralizado de todos os servidores atravs de uma arquitetura de
gerenciamento distribuda, com uma interface visual de gerenciamento.
Outros recursos do SQL Server:
Fcil acesso a dados atravs da WEB;
Alta escalabilidade;
Desenvolvimento mais rpido;

3.8.2 - Oracle

Gerenciador de banco de dados mais conhecido no mundo, o Oracle conseguiu este
posto por causa de sua confiabilidade, facilidade de uso, no estar preso a um sistema
operacional, entre outras vantagens, a maioria das grandes empresas o utilizam quando


37
necessrio o armazenamento de um grande volume de informaes, no armazenamento de
informaes que necessitam de confiabilidade, etc.
Segundo publicado por Flvio Aurlio de Morais no site PortaldaProgramacao.com, o
servidor Oracle apresenta facilidade de uso, potncia e relao custo/desempenho sem
precedentes. Pr-ajustado e pr-configurado para os ambientes de grupos de trabalho,
dinmicos e diversificados para os dias de hoje, o Oracle contm um conjunto totalmente
integrado de ferramentas de gerenciamento simples de usar, alm de recursos completos de
distribuio, replicao e utilizao na Web. Os recursos de acesso a dados distribudos e
replicados permitem que os usurios compartilhem dados relacionais entre aplicativos e
servidores. As capacidades internas de utilizao da Web proporcionam uma soluo
completa para a implementao de uma Intranet.
Flvio Aurlio de Morais ainda descreve suas principais funcionalidades:
Capacidade para Grupos de Trabalho Distribudos: O Oracle atende s demandas de
grupos de trabalho distribudos e diversificados. O servidor Oracle reduz os custos de
implementao, ao mesmo tempo em que utiliza a mais ampla variedade de
hardwares.
Fcil de Usar: O Oracle incorpora recursos de fcil utilizao para ambientes
computadorizados com grupos de trabalho distribudos. A ferramenta grfica Oracle
Enterprise Manager, totalmente integrada, permite que os administradores executem
tarefas complexas de gerenciamento com a facilidade de apontar e clicar atravs do
mouse.
Acesso a Dados Distribudos: A replicao de dados permite que os usurios criem
vrias cpias de leitura de partes de tabelas ou tabelas completas com consistncia
transacional e integridade de dados garantida. Atualizaes baseadas em eventos ou
conforme demandas proporcionam a flexibilidade mxima.
Capacidade de Uso na Web: Aplicativos de Web podem acessar, rpida e facilmente,
quaisquer dados armazenados no banco de dados Oracle e podem apresentar
documentos Web gerados dinamicamente aos usurios finais.
Ajuste Automtico do Banco de Dados: O gerenciador do servidor Oracle otimiza
automaticamente o desempenho do banco de dados. Depois de analisar os recursos do
sistema e os requisitos de aplicativos durante o processamento do banco de dados, o
Oracle Self-Tuner recomenda os valores apropriados para os parmetros mais crticos
do banco de dados e aplicaes em momentos de baixa utilizao.


38
Computao Baseada em Redes: Foi projetado para atender demanda dos mtodos
de sistemas centralizados em redes e de desenvolvimento orientado a objeto. A NCA
proporciona capacidade mxima de extenso, com base em padres industriais
abertos, como CORBA e IIOP.
Extensvel: O Oracle ConText Cartridge permite que o Oracle gerencie texto com a
mesma segurana, escalabilidade, integridade e inteligncia com que gerencia dados
estruturados. O Oracle Vdeo Cartridge armazena, gerencia e produz vdeos de alta
resoluo e tela cheia, alm de udio de alta fidelidade de um servidor para um cliente,
atravs de uma rede.
Otimizado para o Sistema Operacional: Para garantir o mais alto nvel de desempenho
em todos os sistemas operacionais suportados, o Oracle otimizado para aproveitar
recursos especficos do sistema operacional, como o modelo de encadeamento no
Windows NT e dos drivers registrar/aguardar e do sistema de E/S assncrono em
sistemas Unix.

3.8.2.1 - Estrutura do Banco de Dados

Os arquivos de armazenamento de dados do Oracle no precisam estar no mesmo local
onde o banco est instalado, isto , desde que o Oracle tenha acesso aos arquivos de dados, ele
pode gerenci-los bastando apenas informar onde estes arquivos se encontram.
Um banco de dados Oracle tem uma estrutura fsica e lgica. Como essas estruturas
no servidor so separadas, o armazenamento fsico dos dados pode ser gerenciado sem afetar
o acesso s estruturas lgicas de armazenamentos. (RAMALHO, Jos Antnio)

3.8.2.1.1 - Estrutura Fsica

A estrutura fsica nada mais que os arquivos de dados que o Oracle gerencia as
informaes contidas neles.
Segundo Jos Antnio Ramalho, a estrutura fsica desse tipo de banco de dados
determinada pelos arquivos do sistema operacional que o constituem. Cada banco de dados
Oracle formado por trs tipos de arquivos: um ou mais datafiles, dois ou mais arquivos de
registro redo e um ou mais arquivos de controle.


39


3.8.2.1.2 - Estrutura Lgica

Esta a forma lgica de o Oracle separar as informaes dentro dele, pois a estrutura
lgica constituda pelas tablespaces e os esquemas.
A estrutura lgica do Oracle determinada por um ou mais tablespaces [...] e pelos
objetos de esquema do banco de dados. Um esquema uma coleo de objetos que por sua
vez so as estruturas lgicas que se referem diretamente aos dados do banco de dados.
(RAMALHO, Jos Antnio)

3.8.3 - PostgreSQL

lvaro Pereira Neto descreve o banco de dados PostgreSQL como sendo um Sistema
Gerenciado de Base de Dados Relacional de cdigo fonte aberto que baseado nos padres
SQL ANSI (American National Standards Institute) 92, 96 e 99, de alta performance, de
fcil administrao e utilizao em projetos.
Segundo Diogo de Oliveira Biazus, PostgreSQL um SGBD (Sistema Gerenciador de
Banco de Dados) objeto-relacional de cdigo aberto, com mais de 15 anos de
desenvolvimento. extremamente robusto e confivel, alm de ser extremamente flexvel e
rico em recursos. Ele considerado objeto-relacional por implementar, alm das
caractersticas de um SGBD relacional, algumas caractersticas de orientao a objetos, como
herana e tipos personalizados.
Alguns recursos presentes no PostgreSQL:
Sub-consultas;
Controle de concorrncia multi-verso (MVCC);
Integridade Referencial;
Funes armazenadas (Stored Procedures), que podem ser escritas em vrias
linguagens de programao (PL/PgSQL, Perl, Python, Ruby, e outras);
Gatilhos (Triggers);
Tipos definidos pelo usurio;
Esquemas (Schemas);


40
Conexes SSL.

3.9 - Apache Tomcat

Apache Tomcat um servidor web para aplicaes Java, inicialmente desenvolvido
pela Sun Microsystems e depois a Apache Software Foundation passou a manter seu cdigo
fonte com o apoio e empresas interessadas e de desenvolvedores annimos espalhados pelo
mundo.
Budi Kuriniawan escreve que o mais popular e reconhecido como o contentor
servlet/JSP oficial o Tomcat. Originalmente projetado pela Sun Microsystems, o cdigo
fonte Tomcat foi entregue Apache Software Foundation, em outubro de 1999. Nesse novo
lar, Tomcat foi includo como parte do projeto Jakarta, um dos projetos da Apache Software
Foundation.
Rogers Cadenhead e Laura Lemay tambm descrevem o Apache Tomcat como um
servidor de cdigo-fonte aberto, desenvolvido pela Apache Software Foundation juntamente
com a Sun Microsystems. Ele pode ser executado junto com outro servidor Web como o
servidor Web Apache ou como servidor independente.
Tecnicamente, o Apache Tomcat uma parte da plataforma J2EE que abrange as
tecnologias Servlet e JSP, e tecnologias de apoio relacionadas e segurana, JNDI Resources e
JDBC DataSources.
O Tomcat pode ser executado como um servidor web/http, ou pode funcionar como
um mdulo para outros servidor web como o Apache http ou o Microsoft Internet Information
Service.

3.10 - ERP

Desde quando as empresas resolveram organizar as informaes geradas pela empresa,
como gastos, lucros, produo, etc., a idia j era de manter essas informaes centralizadas,
porm isso no era fcil de ser feito apenas no papel, por isso, quando o computador entrou
nas empresas para armazenar essas informaes, as pessoas logo tiveram a idia de juntar o
mximo de informaes possvel em um nico sistema, com isso surgiram os primeiros
sistemas de gesto.


41
Um sistema dito ERP tem a pretenso de suportar todas as necessidades de informao
para a tomada de deciso gerencial de um empreendimento como um todo. (CORRA,
Henrique L.; GIANESI, Irineu G. N.; CAON, Mauro).
Embora as melhores alternativas disponveis de sistemas ditos ERP do mercado
tenham um escopo que lhes permitiria chamarem-se ERPs, no podemos ainda, com
segurana, afirmar que uma soluo ERP tenha tido sucesso completo no uso por um usurio
que tenha passado a usar todos os seus mdulos. Isso simplesmente porque ainda no houve
tempo suficiente para uma empresa implantar todos os mdulos de uma das solues ERP
disponveis. Alm disso, no Brasil, em particular, a maioria das solues ERP mais robusta
ainda passa por um grande esforo de tropicalizao, ou, em outras palavras, adaptao dos
mdulos originais s particularidades brasileiras.


42
4 - DESENVOLVIMENTOS DO SISTEMA

4.1 - OBJETIVO DO SISTEMA

O sistema tem por objetivo informar ao usurio do sistema ERP Delsoft, quais
programas possuem atualizaes e quais so as alteraes que foram feitas nestes programas.
Depois de verificado as alteraes, o usurio poder informar quais programas
precisam ser baixados e executar esse download. Com os arquivos devidamente salvos no
servidor, ser executada a atualizao dos mesmos.

4.2 - MODELAGEM DE DADOS

4.2.1 - Web Service


Figura 6: Estrutura do banco de dados do Web Service
Fonte: Acervo do Autor
4.2.2 - Software Cliente


Figura 7: Estrutura do banco de dados do Software Cliente
Fonte: Acervo do Autor


43
4.3 - ESQUEMA TCNICO


O cliente far uma conexo com o web service via protocolo SOAP. Ao conectar, ele
enviar um arquivo XML com as suas requisies e ficar aguardando o arquivo XML
de retorno;
Ao receber o retorno, ele processar as informaes contidas no arquivo e as
apresentar na tela para que o usurio tenha as informaes sobre alteraes no
sistema;
O Web Service ficar esperando uma conexo de um cliente. Quando um cliente
estabelecer uma conexo, ele vai receber o XML com as requisies do cliente;
Ao receber o arquivo, ele vai process-lo verificando usurio, senha e data da ltima
verificao, para que seja retornado apenas as alteraes referentes ao modelo que o
cliente utiliza, bem como, retornar apenas as alteraes que ainda no foram obtidas
pelo usurio;
Ao terminar o processamento, o Web Service retornar ao cliente um arquivo XML
com o nome dos programas alterados, informaes sobre as alteraes e locais onde
podem ser baixadas as atualizaes;


Figura 8: Esquema tcnico de funcionamento do prottipo.
Fonte: Acervo do Autor

INTERNET
Web Service
Cliente 2 Cliente 1
Repositrio de
Atualizaes


44
4.4 - ANLISE DO SISTEMA

Agora ser apresentada a forma como o prottipo ir se comportar quando houverem
requisies a este web service.
4.4.1 - Autenticao

O software cliente far uma consulta no cadastro da empresa para obter o usurio e
senha para conectar no webservice;
O software cliente conectar no webservice e, se obtiver sucesso na conexo, enviar
as informaes de autenticao para o webservice;
O webservice receber o usurio e senha enviados pelo software cliente e verificar se
as informaes esto corretas;
Se as informaes estiverem corretas, o webservice enviar uma resposta com a
expresso OK, caso contrrio, o webservice enviar uma resposta com a palavra
ERRO;

Figura 9: DFD da Autenticao
Fonte: Acervo do Autor





45
4.4.2 - Verificar Atualizaes Existentes e Novos Programas

Recebendo a mensagem de OK, o software cliente enviar uma solicitao de quais
programas existem no webservice;
O webservice far uma consulta em sua base de dados e retornar ao software cliente a
lista de programas existentes, juntamente com as alteraes que foram feitas nesses
programas e o endereo de onde o programa pode ser baixado;
O software cliente analisar esses dados e, se existir na lista algum programa que
ainda no exista em sua lista, ele o cadastrar, do contrrio, ele verificar se foi feito
alguma alterao no programa;
Os programas que forem novos ou que possurem alguma alterao, aparecero numa
lista para que o usurio marque os programas que ele quer atualizar;

Figura 10: DFD da verificao de atualizao
Fonte: Acervo do Autor

4.4.3 - Download das Atualizaes

O software cliente verificar quais programas foram marcados na lista apresentada e
far uma consulta no cadastro de programas para saber quais so os executveis que
necessitam ser baixados;


46
Obtendo a lista de executveis, ele se conectar no repositrio e comear a fazer o
download dos executveis e os salvar num diretrio no servidor para posteriormente
executar a atualizao;

Figura 11: DFD do processo de download das atualizaes
Fonte: Acervo do Autor

4.4.4 - Execuo da Atualizao

Aps o download de todos os executveis solicitados pelo usurio, o software cliente
far uma chamada para o software de atualizao que j existe no ERP Delsoft;


47
4.5 - Desenvolvimento

4.5.1 - Sistema de Cadastro

Para fazer a apresentao deste prottipo, foi desenvolvido um sistema para fazer o
cadastro das informaes na base de dados. Depois que o prottipo passar pela avaliao e
aprovao dos interessados pelo projeto, essas informaes sero cadastradas pelo Sistema de
Ordens de Servio (Sistemas de OS) de Delsoft Sistemas.
Apenas os funcionrios da Delsoft Sistemas tero acesso a este sistema de cadastro.

4.5.1.1 - Menu

Atravs deste menu (figura 12), o usurio ter acesso as telas de cadastro das
informaes que o prottipo ir utilizar. As informaes so os Modelos, os Programas, os
Clientes e as Alteraes.


Figura 12 : Menu de do sistema de cadastro das informaes na base de dados do prottipo
Fonte: Acervo do Autor

4.5.1.2 - Modelos

Na tela de Modelos (figura 13) so cadastrados os modelos de sistemas que a Delsoft
Sistemas desenvolve. Estes modelos divises dentro de um projeto. A diviso feita atravs
da linguagem de programao utilizada bem como o banco de dados que ser acessado pelo
sistema.



48

Figura 13: Tela de cadastro de modelos
Fonte: Acervo do Autor

As informaes cadastradas atravs desta tela so:
Modelo Cdigo seqencial do modelo;
Descrio Descrio para identificar o modelo;
Mirror Local onde as atualizaes deste modelo estaro disponveis para os clientes;
Atualizao Subdiretrio do mirror onde se localizam as atualizaes;
Rmenu Subdiretrio do mirror onde se localizam os rmenus (programas gerados pela
ferramenta Genexus para fazer a atualizao da base de dados);


4.5.1.3 - Consulta de Modelos

O sistema tem uma tela para que possamos consultar os modelos cadastrados (figura
14). Esta tela pode ser chamada na tela de cadastro de modelos ou no cadastro de alteraes.


Figura 14: Tela de consulta de modelos
Fonte: Acervo do Autor



49
OBS.: todas as consultas deste sistema so chamadas atravs da tecla F2 do teclado,
sendo que o cursor deve estar no campo que se deseja consultar.


4.5.1.4 - Programas

Todos os programas desenvolvidos so cadastrados pela tela de programas (figura 15)
para que possam ser utilizadas no cadastro de alteraes. Este projeto sendo aprovado pela
Delsoft, estes programas sero cadastrados pelo sistema de controle de verso que j
utilizado hoje.


Figura 15: Tela de cadastro de programas
Fonte: Acervo do Autor

As informaes cadastradas nesta tela so:
Cdigo Nome do objeto no Genexus;
Descrio Descrio para identificar o programa;
Data Compilao Data da ltima compilao do executvel;
Executvel Os objetos esto separados em vrios executveis por existir uma
limitao de nmero de declaraes no Visual Basic, por isso, neste campo
cadastrado o nome do executvel onde este objeto se encontra;

4.5.1.5 - Consulta de Programas

Na tela de cadastro de programas podemos fazer consultas (figura 16) para vermos os
programas j cadastrados e, selecionando um programa na consulta, podemos visualizar suas
informaes na tela de cadastro de programas. Esta consulta tambm utilizada no cadastro
de alteraes para consultar o programa que ser alterado.



50

Figura 16: Tela de consulta de programas
Fonte: Acervo do Autor


4.5.1.6 - Clientes

Nesta tela (figura 17) so cadastradas as informaes necessrias para que os clientes
possam acessar o Web Service e obter as informaes das atualizaes.


Figura 17: Tela de cadastro de clientes
Fonte: Acervo do Autor

As informaes cadastradas nesta tela so:
Empresa Cdigo atribudo empresa no sistema;
Descrio Nome da empresa/cliente;


51
Usurio Usurio utilizado por esta empresa para se autenticar no Web Service e
tambm no local onde estaro disponveis as atualizaes;
Senha Senha para fazer a autenticao no Web Service e no local onde estaro
disponveis as atualizaes;
Modelo Modelo do sistema que o cliente utiliza, para que sejam disponibilizadas ao
cliente as atualizaes corretas;

4.5.1.7 - Consulta de Clientes

O sistema tambm possui uma consulta dos clientes cadastrados (figura 18). Esta
consulta utilizada na tela de cadastro de clientes e na tela de cadastro de alteraes.


Figura 18: Tela de consulta de clientes
Fonte: Acervo do Autor

4.5.1.8 - Alteraes

Esta a tela de cadastro de alteraes (figura 19) a serem feitas ou que foram feitas no
sistema ERP Delsoft. Esta tela foi desenvolvida somente para fazer a apresentao deste
prottipo, pois estas informaes sero inseridas na base de dados atravs do Sistema de OS
utilizado pela Delsoft.



52

Figura 19: Tela de cadastro das alteraes
Fonte: Acervo do Autor

As informaes cadastradas nessa tela so:
Modelo Modelos no qual a alterao ser feita;
Programa Programa (objeto no Genexus) que ser alterado;
Data Alterao Data que a alterao foi feita;
Situao Situao da alterao. Esta situao pode estar como: Aberta, Em
Desenvolvimento, Encerrada ou Cancelada, sendo que o cliente s poder consultar as
alteraes Encerradas;
Cliente Cliente que solicitou a alterao no programa;
Descrio Descrio do problema que o cliente est tendo ou a descrio da
alterao feita;

4.5.1.9 - Web Service

A Figura 20 apresenta a estrutura de retorno dos dados do Web Service. No caso desse
Web Service, o retorno ser um conjunto dessa estrutura, isto , vrios registros com essa
mesma estrutura.



53

Figura 20: Estrutura de retorno do web service.
Fonte: Acervo do Autor

Como j foi descrito anteriormente, o resultado de um web service em forma de um
XML. Na imagem possvel verificar a presena dos campos de retorno que so:
Modcod Cdigo do modelo;
Modmirror Mirror ou local onde podem ser encontradas as atualizaes;
Moddiratu Diretrio onde se encontram as atualizaes dentro do mirror;
Moddirrmenu Diretrio onde se encontram os rmenus (programas que atualizam a
base de dados) dentro do mirros;
Prgcod Cdigo da tela a ser atualizado;
Prgexe Executvel onde o programa est contido. Programa que deve ser obtido para
se atualizar a tela;
Altdta Data da alterao da tela;
Altdes Descrio da alterao executada na tela;

Na segunda parte do XML (figura 21) retornado pelo web service temos a funo que
deve ser chamada para executar as consultas e os parmetros que devem ser passados para o
mesmo.

Figura 21: Funo e parmetros do web service.
Fonte: Acervo do Autor


54

A funo que deve ser chamada retalte.Execute e os parmetros esto logo abaixo:

Empusu Usurio que a empresa utiliza para se autenticar no web service;
Empsenha Senha para autenticao;
Altdta Data a partir da qual deve ser feita a consulta de alteraes;

4.5.1.10 - Software Cliente

Para a apresentao deste projeto, foi desenvolvido um software cliente para
verificarmos os resultados obtidos com o web service.


Figura 22: Tela do software cliente.
Fonte: Acervo do Autor

Na tela (figura 22) desenvolvida para fazermos a verificao dos resultados do
prottipo temos vrios campos para filtros de pesquisas, porm, a inteno que nessa tela
sejam apenas apresentados os resultados da pesquisa, sem a existncia dos campos de filtro,


55
pois essas informaes sero coletados diretamente do cadastro que o cliente possui em sua
prpria base de dados.
Na tela so apresentados os seguintes campos:
Usurio Usurio para se autenticar no web service;
Senha Senha para autenticao;
Data Data utilizada para informar a partir de qual data ser necessrio obter as
atualizaes;
Modelo Modelo o qual se deseja fazer a pesquisa;
Empresa Cdigo do cliente no cadastro do web service;
OBS.: J foram executados testes com um cadastro de informaes do cliente na base de
dados do cliente, por isso a tela do software cliente possui o campo Empresa.

4.5.2 Problemas encontrados

Durante o desenvolvimento desse prottipo foram encontrados alguns problemas
como:
Como, para desenvolver o web service no Genexus, era necessrio que o
procedimento tivesse como resultado apenas uma varivel, como retornar vrios
valores de tipos diferentes? Isso foi resolvido utilizando uma tecnologia do Genexus
parecida com o registro do Delphi. Essa tecnologia conhecida como SDT (Structure
Data Type).


Figura 23: Exemplo do SDT (Structure Data Type).
Fonte: Acervo do Autor



56
Na Figura 22 acima apresentada a estrutura utilizada para o retorno do web service.

No desenvolvimento do software cliente estava tendo problemas com a leitura do
retorno do web service. Quando tentava ler os itens contidos na estrutura de retorno, a
leitura retornava um erro. Para resolver este problema, o software, antes de ler um
item, ele precisa carregar em uma estrutura do tipo item.

Figura 24: Leitura do retorno do web service.
Fonte: Acervo do Autor

Durante os testes feitos no web service publicado no Tomcat e rodando em linux, foi
apresentado um erro de passagem de parmetros, sendo que o web service era o
mesmo utilizado nos testes no Windows.

Para que o web service tivesse maior segurana, foram feitos testes com as funes de
criptografia do Genexus, porm foi apresentado o erro de tipo de dados diferente
(Type mismatch).


57
5 - Concluso

Foi constatado com este prottipo que com a utilizao de um software que retorne ao
cliente as informaes referente a atualizao do sistemas agiliza o processo de atualizao,
pois no ser mais necessrio que um funcionrio da Delsoft fique criando documentos
referentes as alteraes no sistema. Alm da documentao, tambm no ser necessrio
passar ao cliente quais os programas que devem ser obtidos no repositrio da Delsoft, pois o
software, alm de informar o caminho onde se encontra a atualizao, ainda tem a
possibilidade de o prprio software cliente obter essas atualizaes.
Como trabalhos futuros, recomenda-se:
Desenvolver uma forma de atualizar a base de dados do cliente de acordo com os
programas que o cliente deseja atualizar baseando se em uma estrutura de base de
dados armazenada na Delsoft.
Como os testes com as funes de criptografia do Genexus apresentaram erro,
recomendado o desenvolvimento de uma forma de criptografia das informaes.
Pesquisa de sofisticao dos clentes.


58
Referncias



BATTISTI, Julio, Manual Completo para o Exame MCDST: 70-271. Rio de Janeiro:
Axcel Books, 2003.

BIAZUS, Diogo de Oliveira, PostgreSQL. Disponvel em:
<https://wiki.postgresql.org.br/wiki/Introdu%C3%A7%C3%A3o>. Acesso em: 06 mai. 2006.

BOARO, Mrcio, Web Service. Disponvel em:
<http://www.linhadecodigo.com.br/artigos.aspx?id_ac=60&pag=1>. Acesso em: 10 set. 2005.

CADENHEAD, Rogers; LEMAY, Laura, Aprenda em 21 dias Java 2. Rio de Janeiro:
Campus, 2005.

CARPANEZ, Juliana. Brasil tem 24 milhes de computadores em uso, diz FGV.
Disponvel em: < http://www1.folha.uol.com.br/folha/informatica/ult124u18231.shtml >.
Acesso em: 15 nov. 2005.

CORRA, Henrique L.; GIANESI, Irineu G. N.; CAON, Mauro. Planejamento,
Programao e Controle da Produo: MRP II/ERP. 4 Ed. So Paulo: Atlas, 2001.

DATE, C. J., Introduo a Sistemas de Bancos de Dados. Rio do Janeiro: Editora Campus,
2003.

DUCLOS, Daniel, Tcnicas Bsicas de Segurana. Disponvel em:
<http://www.cybershark.net/artigos/servidor_seguro>. Acesso em: 26 mai. 2006.

FORRISTAL, Jeff; TRAXLER, Julie, Site Seguro: Aplicao Web. Rio de Janeiro: Alta
Books, 2002.

KRISHNAMURTHY, Balachander; REXFORD, Jennifer, Redes para a Web: http/1.1,
Protocolo de Rede, Caching e Medio de Trfego. Rio de Janeiro: Campus, 2001.

KURNIAWAN, Budi, Java para a Web com Servlets, JSP e EJB. Rio de Janeiro: Editora
Cincia Moderna Ltda, 2002.

LOPES, Carlos J. Feij; RAMALHO, Jos Carlos. Web Services: Metodologias de
Desenvolvimento. Disponvel em: < https://repositorium.sdum.uminho.pt/handle/1822/559 >.
Acesso em: 15 jun. 2006.

MACORATTI, Jos Carlos, Web Services, tendncia ou moda? Disponvel em:
<http://www.macoratti.net/wbs_1.htm>. Acesso em: 04 mai. 2006.

MANZANO, Jos Augusto N. G., Estudo Dirigido: Visual Basic. So Paulo: rica, 1999.

MORAIS, Flvio Aurlio de, Diferenas entre o Oracle e o SQL. Disponvel em:
<http://www.portaldaprogramacao.com/artigos2.asp?n=851>. Acesso em: 06 mai. 2006.


59

NAKAMURA, Emlio Tissato; GEUS, Paulo Lcio de, Segurana de Redes em ambientes
cooperativos. So Paulo: Berkeley, 2002.

NETO, Agostinho Campos, WebServices em Java com Axis. Disponvel em:
< http://www.guj.com.br/java.tutorial.artigo.159.1.guj >. Acesso em: 15 jun. 2006.

NETO, lvaro Pereira. PostgreSQL: Tcnicas Avanadas: Verso Open Source 7.x. So
Paulo: rica, 2003.

PREZ, Rogrio, Viso geral sobre Web Service. Disponvel em:
<http://www.imasters.com.br/artigo/1680/webservices/visao_geral_sobre_webservices>.
Acesso em: 06 jun. 2006.

RAMALHO, Jos Antnio, Oracle 8i. So Paulo: Berkeley Brasil, 1999.

RUSSEL, Ryan, Rede Segura: Network. 2. Ed. Rio de Janeiro: Alta Books, 2002.

SANTANNA, Mauro, SOAP e WebServices. Disponvel em:
<http://www.linhadecodigo.com.br/artigos.asp?id_ac=38>. Acesso em: 04 mai. 2006.

LOPEZ, Alexandre, Fique de olho na segurana. Disponvel em:
<http://www.timaster.com.br/revista/artigos/main_artigo.asp?codigo=271>. Acesso em: 26
mai. 2006.

SOUZA, Michel de, Entendendo um pouco sobre o SQL Server (7.0). Disponvel em:
<http://www.linhadecodigo.com.br/artigos.asp?id_ac=305>. Acesso em: 06 mai. 2006.

TANENBAUM, Andrew S., Redes de Computadores. 3. Ed. Rio de Janeiro: Campus, 1997.

TIDWELL, Doug, SNELL, James, KULCHENKO, Pavel, Programming Web Services
with SOAP. Estados Unidos: OReilly, 2001.

VASCONCELOS, Carlos Eduardo Trevisan, Modelo de Referncia TCP/IP. Disponvel
em: < http://www.dc.uel.br/~sakuray/Espec-
Comunicacao%20de%20dados/Carlos%20Trevisan%20-%20Danilo%20Filitto/tcpip.htm>.
Aceso em: 06 jun. 2006.

WIRTH, Almir, Utilizando na Prtica: Internet e Redes de Computadores. Rio de Janeiro:
Alta Books, 2002.

ZAVALIK, Claudimir; LACERDA, Guilherme; OLIVEIRA, Jos Palazzo M.de,
Implementando Web Services com Software Livre. Disponvel em:
<http://palazzo.pro.br/artigos/04%20Software%20Livre%20-%20Web%20Serv.htm>. Acesso
em: 04 mai. 2006.