Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Histrico
DTD - Definio de Tipo de Documento; DTD foi o primeiro padro fortemente utilizado para definio e validao de XMLs; Utilizado para validaes do SGML; Em 2001 se iniciou a mudana para XSD;
DTD Exemplo
<!DOCTYPE NEWSPAPER [
<!ELEMENT NEWSPAPER (ARTICLE+)> <!ELEMENT ARTICLE (HEADLINE,BYLINE,LEAD,BODY,NOTES)> <!ELEMENT HEADLINE (#PCDATA)> <!ELEMENT BYLINE (#PCDATA)> <!ELEMENT LEAD (#PCDATA)> <!ELEMENT BODY (#PCDATA)> <!ELEMENT NOTES (#PCDATA)>
<!ATTLIST ARTICLE AUTHOR CDATA #REQUIRED> <!ATTLIST ARTICLE EDITOR CDATA #IMPLIED> <!ATTLIST ARTICLE DATE CDATA #IMPLIED> <!ATTLIST ARTICLE EDITION CDATA #IMPLIED> <!ENTITY NEWSPAPER "Vervet Logic Times"> <!ENTITY PUBLISHER "Vervet Logic Press"> <!ENTITY COPYRIGHT "Copyright 1998 Vervet Logic Press"> ]>
XML Shema
uma linguagem baseada no formato XML para validar documentos XML; Foi recomendada e evoluda pelo W3C; XSD (XML Schema Definition), documento que descreve a estrutura de um documento XML; Todas as linguagens de programao possuem APIs para trabalhar com XSD;
XML Shema
Suportam amplo tipo de dados; Suportam namespaces; Suportam criao de tipos derivados dos tipos bsicos; Suportam criao de estrutura complexas para validao, como ranges de dados e limites; Suportam relacionamentos entre tipos de dados no Schema(reaproveitamento);
Existem cinco conjuntos de tipos de dados pr-definidos em XSD. Esses conjuntos de tipos de dados so:
Numricos - xsd:float, xsd:double, xsd:decimal, xsd:integer, xsd:negativeInteger , entre outros; Data/Hora - xsd:dateTime, xsd:time, xsd:gYear , entre outros String - xsd:string, xsd:normalizedString, xsd:token Binrios - xsd:hexBinary, xsd:base64Binary Booleanos - xsd:boolean
Elementos Complexos, para que esses elementos sejam declarados necessrio utilizar tag complexType; Podemos ter elementos complexos dentro de elementos complexos;
<xsd:element name="cliente"> <xsd:complexType> <xsd:element name="nome" type="xsd:string"/> <xsd:element name="endereco" type="xsd:string"/> <xsd:element name="cep" type="xsd:integer"/> </xsd:complexType> </xsd:element>
<xs:element name="password"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:minLength value="5"/> <xs:maxLength value="8"/> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="car > <xs:simpleType> <xs:restriction base="xs:string"> <xs:enumeration value="Audi"/> <xs:enumeration value="Golf"/> <xs:enumeration value="BMW"/> </xs:restriction> </xs:simpleType>
Define a ordem correta e obrigatria dos elementos. <xsd:sequence> <xsd:element name="nome" type="xsd:string"/> <xsd:element name="datanasc" type="xsd:date"/> </xsd:sequence> Obriga apenas que os elementos constem no documento <xsd:all> <xsd:element name="nome" type="xsd:string"/> <xsd:element <xsd:element name="telefone" type="xsd:string"/> </xsd:all>
Obriga que somente um dos elementos especificados conste no documento xml <xsd:choice> <xsd:element name="CPF" type="xsd:string"/> <xsd:element name="RG" type="xsd:string"/> </xsd:choice>
SOA
SOA uma arquitetura para computao distribuda; SOA no somente WebService; A arquitetura SOA pode possuir vrios componentes de integrao e servios:
Defining a Service More Precisely It is important to be clear about what we mean when we use the word "service" in the SOA context. Typically we are thinking about a business service, such as making a hotel reservation or buying a computer online, but keep in mind that these services do not include a visible element. Services do not have a frontend-they expose either
WebService
uma soluo padronizada utilizada na integrao de sistemas diferentes; Utiliza XMLs para troca de informaes; Permite integrar diferentes plataformas; Pode ser implementada em qualquer linguagem; Permite aplicao de segurana em vrios nveis;
How Does it Work? The basic Web services platform is XML + HTTP. XML provides a language which can be used between different platforms and programming languages and still express complex messages and
O padro W3C no determina o protocolo de transporte dos dados para o WebService .... mas mensagens SOAP so documentos XML que aderem a uma especificao fornecida pelo rgo W3C. baseado em XML e possui XSD que o define; Permite Extenses do Protocolo para evolues; SOAP independente do protocolo de comunicao da rede, Http, TCP/IP, MQ, JMS ... SOAP independente do plataforma e lingugem de programao. Existem programas Cobol Mainframe que geram este protocolo
SOAP Message; SOAP Envelope, que possui informaes de entrega da mensagem para processamento; SOAP Header, onde temos informaes de como processar a mensagem e apliaao de extenses; SOAP Body, onde so adicionadas os dados(payloads) e as
WSDL - Exemplo
<?xml version="1.0" encoding="UTF-8"?> <wsdl:definitions xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <wsdl:message name="somaRequest"> <wsdl:part name="valor1" type="xsd:int"/> <wsdl:part name="valor2" type="xsd:int"/> </wsdl:message> <wsdl:message name="somaResponse"> <wsdl:part name="somaReturn" type="xsd:int"/> </wsdl:message> <wsdl:portType name="Servico"> <wsdl:operation name="soma" parameterOrder="valor1 valor2"> <wsdl:input message="impl:somaRequest" name="somaRequest"/> <wsdl:output message="impl:somaResponse" name="somaResponse"/> </wsdl:operation> </wsdl:portType> <wsdl:binding name="ServicoSoapBinding" type="impl:Servico"> <wsdlsoap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/> <wsdl:operation name="soma"> <wsdlsoap:operation soapAction=""/> <wsdl:input name="somaRequest"> <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" use="encoded"/> </wsdl:input> <wsdl:output name="somaResponse"> <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" use="encoded"/> </wsdl:output> </wsdl:operation> </wsdl:binding> <wsdl:service name="ServicoService"> <wsdl:port binding="impl:ServicoSoapBinding" name="Servico"> <wsdlsoap:address location="http://localhost:8080/axis/Servico.jws"/> </wsdl:port> </wsdl:service> </wsdl:definitions>
UDDI
Referncia do W3C
Exemplos
Nota Fiscal Eletronica DDA Correios
Colcoar um WebService apontando para os correios At mainframe consegue responder ws exemplo IBM
Vantagens e desvantagens