Extensões MIDP para Web Services INF-655 – Computação Móvel Universidade Federal de Viçosa Departamento de Informática MIDP Architecture MIDP = Mobile Information Device Profile Connection Framework HttpConnection Define os métodos e constantes necessários para conexões HTTP. c.open("http://borland.com/webapp"); HTTP Get c.setRequestMethod(HttpConnection.GET); HTTP Post c.setRequestMethod(HttpConnection.POST); onde c é instância de HttpConnection MIDP 2.0 HTTPS O único acréscimo ao MIDP para conectividade foi o suporte a HTTPS. O que são Web Services? XML - Extensible Markup Language SOAP - Simple Object Access Protocol WSDL - Web Services Definition Language UDDI - Universal Description, Discovery and Integration Entidades Governantes W3C – World Wide Web Consortium OASIS – Organization for the Advancement of Structured Information Standards WS-I – Web Services Interoperability Organization Web Services Opções de XML para J2ME KXML Kxml.org SAX / DOM NanoXML Nanoxml.sourceforge.net/kvm.html DOM SOAP Payload Structure O corpo pode ser formatado como: RPC ou Document Seus parâmetros podem ser formatados como: Codificado (Encoded) ou Literal RPC Web services transmitem objetos como XML Tipicamente usado com parâmetros Codificados. Document Web services transmitem documentos XML. Aplicações em ambos os lados criam e interpretam (parse) documentos XML Tipicamente usado com parâmetros literais. Java / RPC vs. Doc JAX-RPC usa abordagem RPC JAXM usa abordagem document SAAJ: baixo-nível, document (default) Document é melhor quanto vc estiver realmente lidando com documentos – e.g. notícias Em geral, lidamos com objetos, não XML Todavia: Em business é mais comum lidarmos com documentos (faturas, ordens de serviço) Documentos possuem naturalmente uma granularidade mais “grossa” Desafios para os WS Os building blocks estão disponíveis, mas algumas empresas já escolheram suas abordagens. Java / Axis: RPC MS / .Net: Document WS-I Basic Profile - Provê Compatibilidade Requer: HTTP binding for SOAP HTTP posts WSDL 1.1 RPC/literal ou document/literal WSA (Web Services API) JSR 172: J2ME Web Services API (WSA) Estende plataforma J2ME para suporte a WS através de duas características: 1) Remote Service Invocation 2) XML parsing WSA Requer Conformidade ao WS-I Basic Profile. Suporta SOAP 1.1 WSA não suporta: SOAP Message Attachments Message Handlers Bibliotecas para service end points UDDI (Universal Description, Discovery and Integration) Arquitetura WSA Segurança para WS SAML (Security Assertion Markup Language) Padrão OASIS Framework baseado em XML que permite a troca de informações de autenticação, autorização e informações de atributos de entidades entre diferentes sites. PKI digital certificates. Incorpora XML Signiture, XML Encryption, SOAP. Segurança para WS Extensões p/ SOAP Cabeçalhos: integridade, confidencialidade, autenticação. Security Tokens Podem ser implementados como certificados ITU-T X.509, IETF Kerberos tickets, ou username / password. Atozed Software IntraWeb Web Application Development for: Visual Studio.NET Delphi, C++ Builder, Kylix Java IntraWeb Versão completa já vem com Delphi 7, BDS 2005 em diante Aplicativo gerado: DLL para IIS DSO (Dynamic Shared Object) para Apache Executável stand-alone com todas as funcionalidades dos formatos anteriores, dispensando a utilização de um servidor web. IntraWeb / Delphi IntraWeb / Delphi Aplicação – Exemplo InfoSeg Delphi 7.0 IntraWeb 6.0 ErWin 4.0 Firebird 1.5 Macromedia Deamweaver 4.0 (para layout das páginas HTML) InfoSeg Figura 4.2 – Tela de Login. Figura 4.3 – Tela principal. InfoSeg Figura 4.4 – Tela de Indivíduo. Figura 4.5 – Tela de Resultado. InfoSeg Figura 4.6 – Tela de Veículo. Figura 4.5 – Tela de Resultado. Intraweb Plugin p/ Eclipse http://www.atozed.com/intraweb/downloa d/Instructions/Eclipse.en.aspx http://www.atozed.com/intraweb/java/ecli psemovie.aspx Outras ferramentas RAD Express Web Frameworks (DevExpress) http://www.devexpress.com/products/vcl/e wf/index.asp ASP.NET (Microsoft) – MS VS e Borland C# Builder http://msdn.microsoft.com/library/default.a sp?url=/library/enus/cpref/html/frlrfSystemWeb.asp BDS 2006 / .NET CF Developing Pocket PC applications with Delphi 2006 http://bdn.borland.com/article/33507 Mobile and Handheld components http://www.devdirect.com/ALL/MobileHand held_PCAT_2017.aspx BDS 2006 / .NET CF BDS 2006 / .NET CF