atps transferencia de dados

29
FACULDADE ANHANGUERA DE SOROCABA Tecnologia em Analise e Desenvolvimento de Sistemas Linguagem para Organização e Transferência de Dados para Web Gustavo de Oliveira Cassador RA 8818357044 Ludemila Calixto de Almeida RA 1299105110 Marcelo Amaral Bernini RA 9682458098

Upload: ludemila-calixto-de-almeida

Post on 16-Sep-2015

12 views

Category:

Documents


2 download

TRANSCRIPT

FACULDADE ANHANGUERA DE SOROCABA

Tecnologia em Analise e Desenvolvimento de Sistemas

Linguagem para Organizao e Transferncia de Dados para WebGustavo de Oliveira Cassador

RA 8818357044Ludemila Calixto de AlmeidaRA 1299105110Marcelo Amaral Bernini

RA 9682458098

Sorocaba

2015/1

FACULDADE ANHANGUERA DE SOROCABA

Tecnologia em Analise e Desenvolvimento de Sistemas

Linguagem para Organizao e Transferncia de Dados para WebGustavo de Oliveira Cassador

RA 8818357044Ludemila Calixto de AlmeidaRA 1299105110Marcelo Amaral Bernini

RA 9682458098

5 Semestre

Sorocaba

2015/1

ndice

4Etapa 1

4Passo 1

5Passo 2

6Passo 3

8Etapa 2

8Passo 1

8Passo 2

9Passo 3

Etapa 1

Passo 1A XML (eXtensible Markup Language, ou Linguagem de Marcao Estendida) um subconjunto da SGML (Standard Generalized Markup Language, ou Linguagem de Marcao Padro Generalizada) que permite que uma marcao especfica seja criada para especificar idias e compartilh-las na rede. Ela tem as virtudes da SGML e da HTML sem qualquer das limitaes bvias.

Alguns dos pontos fortes do XML so: Inteligncia, Adaptao, Manuteno, Ligao, Simplicidade e Portabilidade. Vamos transcorrer sobre alguns desses pontos

Inteligncia: a XML inteligente para qualquer nvel de complexidade. A marcao pode ser alterada de uma marcao mais geral para uma mais detalhista. Exemplo

Marcao Geral:

Papagaio

Marcao Mais Detalhada:

Periquito

Adaptao: Adaptao: a XML a lngua-me de outras linguagens. Assim, linguagens como DickML e JaneML tornaram-se possveis. A adaptao infinita. Marcaes personalizadas podem ser criadas para qualquer necessidade.Manuteno: a XML fcil de manter. Ela contm somente idias e marcaes. Folhas de estilos e links vm em separado, e no escondidas no documento. Cada um pode ser alterado separadamente quando preciso com fcil acesso e fceis mudanas. No preciso mais se achar em uma baguna de marcaes.

Ligao: a XML possui uma maneira de ligar que inclui todas as formas de ligao. No s isso; ela liga de maneiras que a HTML no pode. A HTML pode fazer de uma maneira simples, onde um objeto se liga a outro. A XML faz isso, mas tambm pode ligar dois ou mais pontos a uma idia. Existem ainda links gmeos que ligam todas as ideas dentro de uma mesma. Qualquer link entre uma idia pode ser manipulado de uma nica maneira;

Simplicidade: Um usurio de mdia experincia que olha a XML pode ach-la difcil de acreditar no que v. Comparada com a HTML no. Comparada com a SGML um estudo de simplicidade.

Portabilidade: A razo da sua existncia fora e portabilidade. A SGML tem fora. A HTML tem portabilidade. A XML tem ambas. A XML pode ser navegada com ou sem o seu DTD (Document Type Definition, ou Definio de Tipo de Documento - as normas que definem como as tags so estruturas nos documentos XML), tornando o download mais rpido. Tudo que um navegador precisa para ver XML ter a noo que ela prpria e a folha de estilos controlam a aparncia. Se uma validao estrita necessria, o seu DTD pode acompanh-lo e fornecer detalhes exatos da sua marcao.

Passo 2

SintaxeDescritivo

Sintaxe inicial da linguagem XML. Indica a verso utilizada (no momento, so homologadas as verses 1.0 e 1.1). Os caracteres ?> indicam que esta uma instruo de abertura de documento, para que o interpretador XML compreenda que esta instruo no deve ser apresentada aos usurios.

Sintaxe contendo nome do processo onde ser alocada a informao.

Sintaxe contendo o nome da tabela que o valor ser atribudo.

Sintaxe do campo da tabela onde ser alocado o cdigo, ID do funcionrio

Sintaxe do campo da tabela onde ser alocado o nome do funcionrio

Sintaxe do campo da tabela onde ser alocado o gnero do funcionrio

Sintaxe do campo da tabela onde ser alocado o endereo do funcionrio

Passo 3

Tabela 02 Tabela de Funcionrios da Vassoura Vassourinha:

IdNomeSexoEndereo

1

Luis Mendes

Masculino

Rua das Flores, 10 So Vito Americana/SP

2

Joana da Luz

Feminino

Rua do Sucesso, 25 Jardim Brasil Americana/SP

Tabela 03 Tabela de Vendas Vassoura Vassourinha Ltda.IdLojaVendedorModeloEspecificao

PesoComprimento_CaboMateriais_CerdasQuantidadeValor total

Tabela 04 Tabela de Vendas Vassouras Lindaura Ltda.

Cdigo_VendaRevendaModeloComprimento_total

Material_CaboMaterial_CerdasQuantidadeEndereo_Entrega

ClienteDescontoValor_Total

Tabela Definitiva Vassoura Vassourinha Ltda x Vassouras Lindaura LtdaCodigo_VendaModeloComprimento

Material_CerdasQuantidadeValor_Total

Vassourinha

1

Kies 3 1,70

piaava

7

49,00

2

Modelaisse

2,10

plastico

4

75,00

Lindaura

3

Modern

1,83

piaava

2

7,00

4

Nimbus

2,30

plastico

8

275,00

Etapa 2

Passo 1

Codigo_vendaID#REQUIRED

Modelo

CDATA

#REQUIRED

Comprimento

CDATA#REQUIRED

Material_Cerdas

CDATA#REQUIRED

Quantidade

CDATA#REQUIRED

Valor_Total

CDATA#REQUIRED

Passo 2

idID#REQUIRED

nomeCDATA#REQUIRED

SexoCDATA#REQUIRED

enderecoCDATA#REQUIRED>

Passo 3

cadastro_funcionarios{

display: block;

font-family: Arial, Helvetica;

font-size: 20pt;

color: #FF0000;

}

funcionario{

display: block;

font-family: Arial, Helvetica;

font-size: 16pt;

color: #FF0000;

}

id{

display: block;

font-family: Arial, Helvetica;

font-size: 12pt;

color: #FF0000;

}

nome{

display: block;

font-family: Arial, Helvetica;

font-size: 12pt;

color: #FF0000;

}

sexo{

display: block;

font-family: Arial, Helvetica;

font-size: 12pt;

color: #FF0000;

}

endereco{

display: block;

font-family: Arial, Helvetica;

font-size: 12pt;

color: #FF0000;

}1. APRESENTAO

Este Manual de Instrues tem como objetivo auxiliar os tcnicos e gestores da rea de Tecnologia da empresa Vassoura Vassourinha XXI LTDA no processo de registro e armazenamento dos dados relativos aos procedimentos de venda e outros servios ofertados.

2. CONTEXTUALIZAO

Com o intuito de oferecer possibilidades de inseres de dados no Sistema de Informao de Dados Comerciais da empresa, foi desenvolvido um mdulo de transferncia de arquivos em formato XML. Este formato permite que os dados a serem enviados sejam preenchidos atravs de tags em arquivo separado que pode ser obtido como resultado de um sistema de gesto local, sem a necessidade de digitar os dados.

Essa nova possibilidade de insero de dados visa automatizar e substituir a forma como est sendo feita atualmente, contribuindo com maior velocidade e confiabilidade no armazenamento e distribuio de dados. Insere-se no sistema de informao da companhia e gera-se o arquivo XML com o formato conforme instrudo neste manual.

3. O QUE O XML

XML a sigla para Extensible Markup Language, que significa em portugus, Linguagem Extensvel de Marcao, uma linguagem de marcao recomendada pela W3C1 para a criao de documentos com dados organizados hierarquicamente, tais como textos e banco de dados. A linguagem XML classificada como extensvel porque permite definir os elementos de marcao.

O XML traz uma sintaxe bsica que pode ser utilizada para compartilhar informaes entre diferentes computadores e aplicaes. Quando combinado com outros padres, torna possvel definir o contedo de um documento separadamente de seu formato, tornando simples para reutilizar o cdigo em outras aplicaes para diferentes propsitos.

O XML agrupa-se em tags, que um identificador dos elementos presentes no documento. Por exemplo uma tag inicial e o termo a final.

Toda tag inicial tem uma final correspondente. Assim se um texto tem a tag inicial ele tem que ter tambm, em algum lugar mais adiante, a final . Entre as duas tags ficam as informaes do elemento. Observe o exemplo para que se entenda melhor a utilizao e posio.

importante saber que, para que o computador entenda que o arquivo do formato XML necessrio no momento em que o usurio for salvar o arquivo, utilizar a extenso (.xml), por exemplo, cras.xml.

4. CRIAO DO ARQUIVO XML

Para criar o arquivo XML, basta abrir um editor de texto puro, como o programa Bloco de Notas presente no Windows, e inserir todas as variveis contidas no formulrio em formato de tags (pode-se utilizar as tags utilizadas como no exemplo contido no anexo deste manual), no se esquecendo de sempre de abri-las com os smbolos (menor que e maior que) e fechar com (menor que, barra e maior que) as tags utilizadas e salvar o arquivo dando um nome qualquer e utilizando a extenso (.xml).

Sempre que um arquivo XML for criado, necessrio inici-lo com a tag de abertura , assim informa-se que os dados inseridos so do CRAS e aps as tags que contm os dados estarem inseridas necessrio utilizar, ao final, a tag de fechamento

Padro de documento XML

a) Padro de Codificao

A especificao do documento XML adotada a recomendao W3C para XML 1.0, disponvel em www.w3.org/TR/REC-xml e a codificao dos caracteres ser em UTF-8, assim todos os documentos XML sero iniciados com a seguinte declarao:

OBS: Lembrando que cada arquivo XML somente poder ter uma nica declarao . Nas situaes em que um documento XML pode conter outros documentos XML, como ocorre com o documento XML de lote de envio de NF-e, deve-se tomar o cuidado para que exista uma nica declarao no incio do lote.

b) Declarao namespace

A declarao de namespace da NF-e dever ser realizada no elemento raiz de cada documento XML como segue:

(exemplo para o XML da NF-e)

No permitida a utilizao de prefixos de namespace. Essa restrio visa otimizar o tamanho do arquivo XML. Assim, ao invs

Etapa 3

Passo 2 (Equipe) Apresentar o conceito de arquivos formatadores de XSL, de modo que a equipe de TI possa futuramente elaborar um arquivo XSL.

Exemplo:

1. Uso do formatador XSL.

2. Principais ferramentas de formatao XSL.

a. Exemplo: Microsoft. NET Framework: Classe VB.NET XslCompiledTransform.

3. Aplicaes onde se usado o formatador XSL

a. Exemplo: Para formatao da sada de dados de um documento XML.

XSL Transformations, ou XSLT (eXtensible Stylesheet Language for Transformation - linguagem extensvel para folhas de estilo de transformaes), uma linguagem de marcao XML usada para criar documentos XSL que, por sua vez, definem a apresentao dos documentos XML nos browsers e outros aplicativos que a suportem.

importante observar que o documento XSL no altera o documento XML original, ou seja, no cria outro documento. Neste sentido, ele (o documento XSLT) atua como as folhas de estilos CSS: apenas determina como o browser apresenta o documento XML ao qual ele est associado ou anexado (de uma forma bem parecida usada para associar uma folha de estilos CSS a um documento (X)HTML). O browser recebe o documento XML original, na ntegra, como ele foi criado. E apresenta-o como o documento XSL determina.

Mas h uma diferena importante entre XSLT e CSS: o documento XSL pode adicionar contedo apresentao do documento XML no browser, e tambm pode esconder contedo do XML apresentado no browser. Portanto, XSLT possibilita transformaes mais potentes do que as folhas de estilo CSS.

Veja um bom exemplo, bem explicado, em http://www.w3schools.com/xsl/xsl_transformation.asp. Nesta pgina, voc pode ver:

um arquivo XML sem um arquivo XSL associado a ele,

um arquivo XSL criado para determinar uma apresentao especfica do arquivo XML,

como este arquivo XSL anexado ao arquivo XML e

a apresentao do arquivo XML no browser, quando linkado ao arquivo XSL.

Olhe o 'source' do arquivo XML no browser, para constatar que ele de fato permanece inalterado.

XSLT parte da especificao XSL (as outras partes sendo XSL-FO e XPath). Como a XML e a HTML, a especificao XSLT uma recomendao desenvolvida pela W3C.

Para iniciar voc deve primeiro criar um arquivo XML e tentar exib-lo no seu Navegador. Tente e veja o resultado. Vou usar o arquivo boletim.xml (simplificado) do artigo acima citado. Vejamos o jeito do arquivo boletim.xml e o resultado de sua exibio:

Obs.: O arquivo boletim.xml pode ser criado em qualquer editor de texto. Para exibir o arquivo basta clicar duas vezes sobre o arquivo. Esta a forma padro de apresentao dos dados de um arquivo XML em um Navegador.Ento a XSL-Extensible Style Language foi criada para permitir uma forma prtica de exibir dados XML em um Navegador , ou seja , ela permite apresentar os dados de uma maneira mais inteligvel. (Podemos usar a CSS - Cascade Style Sheet em conjunto com a XSL para apresentar os dados de um arquivo XML)

Esquematizando temos:

XML - Informao (dados)

XSL, CSS - apresentao ( XML + XSL = HTML )

Podemos dizer tambm que a XSL contm informaes que permite converter um documento XML para outro formato ( HTML , RTF , etc...) , permitindo assim mltiplas apresentaes de um mesmo documento.

O XSL formato de Templates e cada template possui duas partes:

Pattern - Referncia ao elemento

Action - formato aplicado ao elemento

Assim como a XML a XSL uma recomendao da W3C e formada assim :

XSL - responsvel pela formatao

CSS - responsvel pelas folhas de estilo

Formatando um documento XML com XSL

Vamos mostrar como formatar o documento boletim.xml e exibir os dados no formato de um arquivo HTML , uma tabela onde devemos ter:

A primeira coisa a fazer para formatar um documento XML incluir uma linha no documento XML a ser formatado que indique o arquivo XSL que ir formatar os dados que sero exibidos no Navegador. A sintaxe da declarao a ser includa :

Vamos formatar o arquivo boletim.xml, para isso temos que incluir uma declarao dentro do arquivo boletim.xml:

O arquivo XSL um arquivo externo que ser usado para formatar o documento. Vamos mostrar agora o arquivo boletim.xls que ir formatar o documento boletim.xml:

Os arquivos boletim.xml e boletim.xsl devem ser salvos na pasta do diretrio padro do seu servidor Web. Nesse caso ao acessar a pgina o resultado ter que ser:

A seguir o cdigo do arquivo boletim.xsl comentado:1- A primeira tag indica que o arquivo XSL utiliza o padro XML para representar os dados

2-

Esta a declarao XSL do documento sendo obrigatria.

3- A seguir temos cdigo HTML que ir criar uma tabela. O cabealho definido assim:

nomeportuguesmatematicaciencias

4-

Esta tag muito importante pois ele ir selecionar o contedo que esta em do arquivo boletim.xml

5 - Dentro de cada clula HTML ( ) inserimos a tag que ir selecionar as informaes representadas no arqruivo boletim.xml : Assim temos :

Note que temos um loop equivalente ao comando for/next entre:

O XSL percorre todos os dados do arquivo XML entre as tags realizando a formatao e exibindo os dados na tabela HTML.

Lembre-se que o arquivo boletim.xml possui uma referncia ao arquivo boletim.xsl usado nesta formatao.

XML e XSL para Formatao com .NET:

O XSL pode ficar ao gosto de cada um, eu vou colocar dois exemplos aqui. O primeiro nos dar a seguinte sada do XML Base:

O segundo oferece a sada abaixo:

Esses arquivos devem ser criados em um local no qual a aplicao possa l-los.

Agora vamos entender algumas tags do XSL:

Aqui feita a declarao do XSL, a verso e qual namespace (xmlns) utilizado, a tag deve ser fechada.

A sada do arquivo definida aqui, alm do mtodo/formato (method), a verso do formato (version), a codificao (encoding) e as tags que tero a sadacom CDATA (cdata-section-elements).

Nesse momento, o n raiz escolhido para trabalhar, a tag deve ser fechada.

Tudo o que no estiver usando o prefixo xsl ser escrito da mesma forma comoestiver no XSL. Vamos ver o loop agora. Aqui o comeo doloop:

E aqui o seu final:

Tudo o que estiver entre essas tags ser repetido at que todos os ns tenham sidolidos. Para escrever os valores que esto no XML, basta usar a tag value-of e, no atributo select, colocar o campo que deseja, conforme o exemplo abaixo.

Adicionando critrios ao XSL

Assim como em uma query, possvel adicionar critrios a XSL, basta adicion-los conforme o cdigo abaixo na tag for-each.

No primeiro exemplo, o XSL trar apenas os produtos com o campo CodigoCategoria igual a 102, j no segundo exemplo todos com CodigoCategoria igual a 102 e o CodigoMarca igual 999.

Usando XSL para formatar o XML

O .NET Framework nos d suporte para trabalhar com arquivos XML atravs do Namespace System.Xml e para trabalhar com XSL com o Namespace System.Xml.Xsl.

Vamos utilizar a classe XslCompiledTransform para formatar o XML com nosso XSL. Essa classe um processador de XSL e XSLT. Ela ainda a sucessora da classeXslTransform e, segundo a MSDN, oferece ganhos de performance com relao classe antiga (e obsoleta na verso 4.0 do .NET Framework).

Uma das sobrecargas do construtor do XslCompiledTransform recebe um XmlReader, ento carreguei o XSL dentro de um XmlReader e criei o objeto doXslCompiledTransform.

O mtodo Transform de nosso objeto XslCompiledTransform tem uma sobrecarga que recebe o xml base, uma lista de argumentos de XSLT que ser passada como nulo e um objeto que ter o resultado da transformao nesse caso, passado um StringWriter. Pronto, agora o objeto StringWriter tem o XML carregado conforme as definies do XSL, tudo bem simples.Cdigo

Cdigo utilizado para a aplicao funcionar corretamente:using System;using System.Xml;using System.Xml.Xsl;using System.IO;namespaceGeradorXmlParceiro{ class Program { static stringcaminhoXmlBase = @"C:XmlBaseXmlBase.xml"; static stringcaminhoXsl = @"C:XslXsl1.xsl"; static stringcaminhoXmlFormatado = @"C:XmlTransformadoXmlTransformado.xml"; static voidMain(string[] args) {

CriarXmlComXsl(); } static voidCriarXmlComXsl() { XmlDocumentxml = new XmlDocument(); xml =FormartarXmlBaseParaFormatoComXsl(caminhoXsl);

xml.Save(caminhoXmlFormatado); } staticXmlDocument FormartarXmlBaseParaFormatoComXsl(string caminhoXsl) { XmlDocumentxml = new XmlDocument();

XslCompiledTransform xsl = new XslCompiledTransform(); XmlDocumentxmlBase = ObterXmlBase(); try {

XmlReader reader = XmlReader.Create(caminhoXsl);

xsl.Load(reader);

StringWriter writer = new StringWriter();

xsl.Transform(xmlBase, null, writer);

xml.LoadXml(writer.ToString()); } catch(Exception ex) { thrownew Exception("Ocorreu um erro ao efetuar a transformao doXML.", ex.InnerException); } return xml; } staticXmlDocument ObterXmlBase() { XmlDocumentxml = new XmlDocument(); try {

xml.Load(caminhoXmlBase); } catch(Exception ex) { thrownew Exception("Ocorreu um erro ao carregar o XML.",ex.InnerException); } return xml; } }}