Integração de Sis temas Legados com Plone



Documentos relacionados
Web Services. Autor: Rômulo Rosa Furtado

Kassius Vargas Prestes

SCE-557. Técnicas de Programação para WEB. Rodrigo Fernandes de Mello

Web Services. (Introdução)

UFG - Instituto de Informática

3 Serviços na Web (Web services)

Integração Orientada a Serviços

UNIVERSIDADE. Sistemas Distribuídos

Universidade Federal de Juiz de Fora Ciência da Computação Sistemas Distribuídos Professor Ciro Barbosa

Web services. Um web service é qualquer software que está disponível através da Internet através de uma interface XML.

PROGRAMAÇÃO SERVIDOR WEBSERVICES EM SISTEMAS WEB. Prof. Dr. Daniel Caetano

SOA na Prática Ricardo Limonta

RestFull WebServices. Rafael Nunes Arquiteto de Software / Instrutor Globalcode. Globalcode Open4Education

Microsoft.NET. Desenvolvimento Baseado em Componentes

Projeto: Plataforma de Integração. Data: 01/08/2014

Integração de sistemas utilizando Web Services do tipo REST

Service Oriented Architecture SOA

Aplicativo web para definição do modelo lógico no projeto de banco de dados relacional

Criando Web Services. Palestrante: Daniel Destro do Carmo

Integração de aplicações em. Luiz Eduardo Borges

ANEXO V Edital nº 03508/2008

Webservices. O que é um web service? Características. Por que web services? Tipos de web services

SOA. Service Oriented Architecture. Maxmiliano Franco Braga

Fase 1: Engenharia de Produto

BatPlone e WebService: Uma dupla dinâmica

18/04/2006 Micropagamento F2b Web Services Web rev 00

Web Services. Integração de aplicações na Web. Sistemas Distribuídos

Introdução a Web Services

PROGRAMA DE MBA em Gestão e Engenharia do Produto. O Produto Internet e suas Aplicações

Integre pela Internet com os Web Services OpenEdge

Padrões Abertos, Componentização e SOA A chave para a evolução e criação de uma nova geração de sistemas de gestão comercial

Uma aplicação distribuída

Meu site Plone está lento. O que fazer? Fabiano Weimar dos Santos xiru@xiru.org

Serviços Web: Introdução

Arquitetura de Workflow em Plone e Web Services

Web Services e SOAP. Alexandre Zua CaldeiraTecnologias de Middleware 2006/ Faculdade de Ciências da Universidade de Lisboa

SOA. Fabio Perez Marzullo. Inovando seu negócio por meio de soluções orientadas a serviços. Novatec

SCC Técnicas de Programação para WEB. Rodrigo Fernandes de Mello

WOW Mobile Rui Miguel Miranda Ramos

Segurança no Plone. Fabiano Weimar dos Santos [Xiru]

acoplamento Exprime o grau de conexão entre os módulos; os módulos de um software devemapresentar um baixo coeficiente de acoplamento.

2 Conceitos relativos a Web services e sua composição

COMPARANDO APLICAÇÃO WEB SERVICE REST E SOAP

Desenvolvimento de Aplicações Distribuídas

Padrões de Interação com o Usuário

Serviços Web: Arquitetura

1º Seminário de Software Livre Tchelinux Software Livre: leve adiante esta idéia. Soluções de Web Caching e Web Acceleration

Infra estrutura da Tecnologia da Informação

Framework. Marcos Paulo de Souza Brito João Paulo Raittes

Um Processo para Desenvolvimento de Aplicações Web Baseado em Serviços. Autores: Fábio Zaupa, Itana Gimenes, Don Cowan, Paulo Alencar e Carlos Lucena

Curso Tecnológico de Redes de Computadores 5º período Disciplina: Tecnologia WEB Professor: José Maurício S. Pinheiro V

Prática da Disciplina de Sistemas Distribuídos Serviços Web IFMA DAI Professor Mauro Lopes C. Silva

SOA Introdução. SOA Visão Departamental das Organizações

Desenvolvendo e Integrando Serviços Multiplataforma de TV Digital Interativa

Trabalho de Sistemas Distribuídos

Software e Serviços MANUAL DE HOMOLOGAÇÃO WEB SERVICE X SISTEMA DE AUTOMAÇÃO COMERCIAL

Resumo: Perguntas a fazer ao elaborar um projeto arquitetural

Arquiteturas SOA, WOA, e REST

Service Oriented Architecture (SOA)

Otimização de infraestrutura. de websites. Fabiano Weimar dos Santos

FERRAMENTA WEB PARA MODELAGEM LÓGICA EM PROJETOS DE BANCOS DE DADOS RELACIONAIS

Sistemas Distribuídos. Web Services. Edeyson Andrade Gomes.

Projetos Corporativos Baseados na Tecnologia Java Que Falham: O Que Podemos Aprender Deles?

Uma Introdução à Arquitetura CORBA. O Object Request Broker (ORB)

Estudo comparativo de diferentes linguagens de interfaces baseadas em XML

BANCO DE DADOS DISTRIBUÍDOS e DATAWAREHOUSING

Programação para Internet Avançada. 4. Web Services. Nuno Miguel Gil Fonseca

Linha de Produto para BPM

Introdução Conceitos Iniciais Metodologia Web Services Considerações Finais. Introdução. Conceitos Iniciais Metodologia

Minicurso Web Services com PHP

Documentação de Serviços de Interoperabilidade

PHP Profissional. Alexandre Altair de Melo Mauricio G. F. Nascimento

Desenvolvimento de Aplicações Corporativas Avançadas. Web Services

REST Um Estilo de Arquitetura de Sistemas Distribuídos

Plone na Plataforma Mobile. Fabiano Weimar dos Santos e Giuseppe Romagnoli

Manual de Integração SMS

Número do Recibo:

Soluções de integração: SOA, web services e REST + XML/XSD

Manual de Integração WebService

SISTEMAS DISTRIBUIDOS

Sistema Nacional de Registro de Hóspedes - SNRHos. PGTUR Plataforma de Gestão do Turismo Manual Técnico de Utilização do Web Service Versão 1.

Sistemas Distribuídos Arquiteturas Middlewares

Programação Web Prof. Wladimir

soluções transversais SOLUÇÕES middleware

Java Web/UI. Maven3 Redmine CVS. Áreas de conhecimento: Web o Aplicativos Web o Portal de conteúdo o REST Services Web Site Performance

Como sobreviver com Java 2? Saulo Arruda

Transcrição:

Integração de Sis temas Legados com Plone

Integração d e Sistem as Legad os com Plone Fabiano Weimar dos Santos [Xiru] x iru@xiru.org II PyCon Brasil - 2006 Interlegis - Brasília - DF

O que irem os ver? O Problema Servidores de Web Services Python + Twisted- web Python + Zope + SOAPSupport Java + Apache Tomcat + Apache Axis Clientes de Web Services Python + SOAPpy Dicas

O que não irem os ver? Conectores de banco de dados relacional no Zope. Especificações de padrões de Web Services.

O Problem a Integrar tecnologias diferentes não é uma tarefa trivial. O Plone costuma ser muito bem aceito como CMS, mas não tem tanta aceitação como plataforma de desenvolvimento de aplicações corporativas. Poucas empresas possuem uma infra- estrutura de TI uniforme. Mesmo quando isso acontece, sempre é necessário integrar tecnologias diferentes. Como integrar o Plone com aplicações legadas escritas em J2EE e.net (ou mesmo COBOL)?

Web Services Service- oriented architecture (SOA) http:/ / en.wikipedia.org/ wiki/ Service- oriented_architecture Simple Object Access Protocol (SOAP) http:/ / www.w3.org/ TR/ soap/ Web Services Description Language (WSDL) http:/ / www.w3.org/ TR/ wsdl Há muitos padrões de Web Services (OASIS) http:/ / www.oasis- open.org/ specs/ index.php

Vantagens Portabilidade entre diferentes plataformas de hardware e software. Interoperabilidade entre diferentes linguagens de programação. Encapsulamento da modelagem dos dados das aplicações legadas. O Plone se preocupa apenas com as funcionadades de CMS e repassa as funcionalidades de aplicações para servidores de aplicação corportativos.

Desvantagens Implementação não trivial Contornável usando bons frameworks e ferramentas. Performance Contornável usando boas técnicas de programação. Overhead

Servid or Python + Twisted - web from twisted.web import soap, xmlrpc, resource, server import os def getquote(): return "PyCon Brasil II" class XMLRPCQuoter(xmlrpc.XMLRPC): def xmlrpc_quote(self): return getquote() class SOAPQuoter(soap.SOAPPublisher): def soap_quote(self): return getquote()

Servid or Python + Twisted - web def main(): from twisted.internet import reactor root = resource.resource() root.putchild('rpc2', XMLRPCQuoter()) root.putchild('soap', SOAPQuoter()) reactor.listentcp(7080, server.site(root)) reactor.run() if name == ' main ': main()

Cliente Python + SOAPp y import xmlrpclib, SOAPpy s = xmlrpclib.server('http://localhost:7080/rpc2') print "XML-RPC:", s.quote() s = SOAPpy.SOAPProxy("http://localhost:7080/SOAP") print "SOAP:", s.quote()

Servid or Java + Ap ache Tom cat + Ap ache Axis public class TomcatAxis { } public String getquote() { return "PyCon Brasil II"; }

Cliente Python + SOAPp y (WSDL) from SOAPpy.WSDL import Proxy url = 'http://localhost:8080/axis/tomcataxis.jws?wsdl' p = Proxy(url) print p.getquote()

Dicas Evite implementar Web Services que levam muito tempo para processar uma requisição. Implemente timeout nas chamadas WSDL e SOAP. Arquivos binários devem ser encodados em Base64 para serem passados como parametros. Cuidado com métodos que potencialmente podem retornar grandes quantidades de dados (vetores).

Dicas Evite implementar métodos que recebam tipos complexos como parametros. O trabalho de implementar corretamente o marshalling de namespaces pode não compensar. Cuidado com chamadas de métodos que modificam dados. Para evitar problemas de integridade transacional, evite chamar varios métodos. Chame apenas um método que receba um documento XML como parametro.

Links Creating XML- RPC Servers and Clients with Twisted http:/ / tinyurl.com/ 6wl5r Twisted and WSDL http:/ / tinyurl.com/ oo7xn Chapter 16. Web Services [DRAFT(1.0)] Part III. J2EE Applications on Geronimo http:/ / tinyurl.com/ nb5fo

Links Which style of WSDL should I use? http:/ / tinyurl.com/ b4uql PythonCLServiceTool: Python tools for exposing legacy applications as Web Services http:/ / dsd.lbl.gov/ gtg/ projects/ PythonCLServiceTool/ pygridware: Python Web Services Resource Framework http:/ / dsd.lbl.gov/ gtg/ projects/ pygridware/ index.html