Web Technologies. Tópicos da apresentação



Documentos relacionados
Sistemas Distribuídos na WEB (Plataformas para Aplicações Distribuídas) Sumário. Java 2 Enterprise Edition. J2EE (Java 2 Enterprise Edition)

J2EE TM Java 2 Plataform, Enterprise Edition

WebSphere MQ. Bruno Miguel de Sousa Gonçalves

Desenvolvimento Cliente-Servidor 1

Fundamentos da Plataforma Java EE. Prof. Fellipe Aleixo

ENTERPRISE JAVABEANS 3. Msc. Daniele Carvalho Oliveira

Desenvolvimento WEB II. Professora: Kelly de Paula Cunha

J2EE. J2EE - Surgimento

Sistemas Distribuídos

Java Enterprise Edition. by Antonio Rodrigues Carvalho Neto

Enterprise Java Beans

Sistemas Distribuídos e Tolerância a Falhas Mestrado em Engenharia Informática 1ª ano / 2ª semestre

Enterprise Java Bean. Enterprise JavaBeans

PadrãoIX. Módulo II JAVA. Marcio de Carvalho Victorino. Servlets A,L,F,M

Arquitetura de Aplicações J2EE. Jorge Fernandes Outubro de 2003

Middleware de Aplicações Paralelas/Distribuídas

Sistemas Distribuídos e Paralelos

UFG - Instituto de Informática

Desenvolvimento Web TCC Turma A-1

SISTEMA DE AGENDAMENTO E GERENCIAMENTO DE CONSULTAS CLÍNICAS

DESENVOLVIMENTO COM JAVA EE E SUAS ESPECIFICAÇÕES

MÓDULO. Linguagem de Programação para Web 2

Laboratório EJB e J2EE Uma aplicação completa

Resumo: Perguntas a fazer ao elaborar um projeto arquitetural

Web Browser como o processo cliente. Servidor web com páginas estáticas Vs. Aplicações dinâmicas para a Web:

Desenvolvimento de aplicações Web na plataforma J2EE e IDE Eclipse

4 - Padrões da Camada de Integração. Introdução

Java 2 Enterprise Edition Uma aplicação J2EE completa

1 Criar uma entity a partir de uma web application que usa a Framework JavaServer Faces (JSF)

Princípios de Sistemas Distribuídos. Tecnologias utilizadas em sistemas distribuídos Aula 5

Arquitetura JEE Introdução à Camada de Negócios: Enterprise Java Beans (EJB) Marcos Kalinowski

Java 2 Enterprise Edition

Capítulo VI CORBA. Common Object Request Broker Architecture. [Cardoso2008] Programação de Sistemas Distribuídos em Java, Jorge Cardoso, FCA, 2008.

Web Services. (Introdução)

Tecnologias Web. Java Enterprise Edition

UFG - Instituto de Informática

Oracle WebLogic Server 11g: Conceitos Básicos de Administração

World Wide Web e Aplicações

Marco Aurélio Uma Visão Geral Sobre Plataforma Java

TDC2012. EJB simples e descomplicado, na prática. Slide 1

Linguagem de Programação JAVA. Professora Michelle Nery Nomeclaturas

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

INE Sistemas Distribuídos

Programação para a Internet. Prof. M.Sc. Sílvio Bacalá Jr sbacala@gmail.com

Escola Superior de Tecnologia de Setúbal. Projecto Final

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

UFG - Instituto de Informática

Como criar um EJB. Criando um projeto EJB com um cliente WEB no Eclipse

Orientada a serviços: JAX-WS SOAP API

Message Oriented Middleware (MOM)

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

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

UNIVERSIDADE FEDERAL DO RIO GRANDE DO SUL INSTITUTO DE INFORMÁTICA CURSO DE BACHARELADO EM CIÊNCIA DA COMPUTAÇÃO

Object Brokers. Tecnologias de Middleware 2004/2005 André Santos

Adriano Reine Bueno Rafael Barros Silva

Sistemas Distribuídos Arquiteturas Middlewares

Comunicação entre Processos

UNIVERSIDADE. Sistemas Distribuídos

INTEGRADOR DE MENSAGENS CORPORATIVAS PARA UMA INFRA-ESTRUTURA DE ELETRONIC DATA INTERCHANGE (EDI)

Argo Navis J931 - Padrões de Design J2EE. Introdução. Objetivos de aprender padrões J2EE. Conhecer padrões para uso na plataforma J2EE

Sistemas Distribuídos

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

Introdução a JEE. JEE (C. Geyer) Introdução a JEE 1

Mini-curso Gratuito Globalcode Slide 1

UTILIZAÇÃO DA TECNOLOGIA ENTERPRISE JAVABEANS NO DESENVOLVIMENTO DE APLICAÇÕES DISTRÍBUIDAS

Padrões do Catálogo J2EE. Lincoln Souza Rocha, M.Sc.

Introdução. Sistemas Distribuídos. Mas, o que é um sistema distribuído? Seriamente. Professor: Paulo Jorge Marques. Professora Práticas: Pinki Meggi

Prova Específica Cargo Desenvolvimento

Camadas de Software - o Middleware. Sistemas Distribuídos Capítulo 2: Modelos e Arquitecturas. Aplicações. Middleware.

Sistemas Distribuídos na WEB (Plataformas para Aplicações Distribuídas)

Programação Web. Professor: Diego Oliveira. Conteúdo 02: JSP e Servlets

Associação Carioca de Ensino Superior Centro Universitário Carioca

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064

Aplicações Distribuídas Cliente/ Servidor Corporativas

Prof. Fellipe Araújo Aleixo

Interface Homem Máquina para Domótica baseado em tecnologias Web

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

PADI Plataformas para Aplicações Distribuídas na Internet

CURSO DESENVOLVEDOR JAVA Edição 2010

4 Um Exemplo de Implementação

Capítulo 1 - Java EE 6 por alto - 1

Sistemas Distribuídos

Componentes no Java EE

Invocação de Métodos Remotos

Serviços Web: Introdução

soluções transversais SOLUÇÕES middleware

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

Gestão de projectos na Web

Transcrição:

Web Technologies Tecnologias de Middleware 2004/2005 Hugo Simões hsimoes@di.fc.ul.pt 1 A Web Tópicos da apresentação Tecnologias Web para suporte a clientes remotos (Applets,CGI,Servlets) Servidores Aplicacionais (J2EE) Tecnologias Web para integração de aplicações (ORBs, EDIFACT,XML) 2

A Web Como um meio de partilha de informação Como um meio de comunicação entre clientes remotos e aplicações na internet Como um meio de integração de aplicações através da internet 3 A Web Tecnologias centrais HTTP: protocoloco de comunicação HTML: ling. de apresentação(hipertexto ) Web servers: servidor(disponibiliza serviços) Web browsers: cliente(usa serviços) 4

A Web Exemplo de um esquema de comunicação entre um cliente HTTP e um servidor HTTP HTTP tunnel HTTP client HTTP proxy firewall WAN firewall HTTP gateway HTTP server 5 Tecnologias Web para suporte a clientes remotos Documentos estáticos Applets(programa java): client side Documento resultante: HTML(estático) + Applets Documentos dinâmicos CGI(programa num leque variado de ling.) Servlets(programa java c/ threads) Ambos: Server side Documento resultante: HTML(dinâmico) 6

Tecnologias Web para suporte a clientes remotos: Applet Webserver firewall WAN client applet java virtual machine browser middleware server (resource manager) Client side Implementação através de uma Applet 7 Tecnologias Web para suporte a clientes remotos: CGI Web server client firewall WAN HTTP GET request browser CGI program middleware server (resource manager) Server side Implementação através de um CGI 8

A Web como meio de acesso generalizado, a sistemas de informação As plataformas de middleware fornecessem suporte para acesso Web Servidores aplicacionais ( J2EE,.NET,...) 9 Servidores Aplicacionais other servers (email, SOAP,..) presentation layer other protocols Web server firewall WAN HTTP client browser application logic layer connection to resource mgmt layer application server resource management layer Servidor Aplicacional cobre a camada de apresentação e a de aplicação 10

J2EE: especificação principal Servlets Java API for XML Processing (JAXP) JavaServer Pages (JSP) JavaMail Java Authentication and Authorization Service (JAAS) suporte à comunicação e à apresentação Enterprise Java Beans (EJB) Java Message Service (JMS) Java transaction API (JTA) Java Naming and Directory Interface (JNDI) suporte à integração de aplicações Java DataBase Connectivity (JDBC) Java 2 Connector Architecture (J2CA) suporte para acesso aos gestores de recursos 11 Servidores Aplicacionais Presentation Layer Application logic layer EJB container Serviços (JTA,etc) EJB EJB EJB JNDI JMS A D M I N JDBC J2CA resource adapter J2CA resource adapter Other adapters Servidor aplicacional 12

EJB (Enterprise JavaBeans) Java API Encapsula funcionalidades lógicas de negócio Define uma arquitectura baseada em componentes que podem ser acedidos localmente ou remotamente Há 3 tipos de EJBs Session beans Entity beans Message-driven beans 13 Servidores Aplicacionais EJB: descrição dos 3 tipos Session beans Encapsula processos e regras lógicas de negócio Trata de operações com um cliente Uma dada sessão permite executar operações apenas com um cliente Numa dada sessão podem ser invocados outros EJBs e recursos para extrair informação de uma base de dados Exemplo: um Session Bean pode calcular os custos de envio da compra de um livro via Amazon 14

EJB: descrição dos 3 tipos Entity beans Representam objectos persistentes(ie. Uma tabela de numa base de dados) Podem ser acedidos por múltiplos utilizadores Podem invocar recursos para acesso a uma base de dados Não podem fazer chamadas a outros EJBs 15 Servidores Aplicacionais EJB: descrição dos 3 tipos Message-driven beans (MDB) Objectos persistentes Processam mensagens assíncronas Respondem a mensagens que estão numa fila, enviadas por outros EJBs Exemplo: um MDB para responder a uma entidade Inventário de Stock avisando que o um produto está esgotado 16

JMS: Java Message Service É uma maneira de todas aplicações java comunicarem entre si através de mensagens É um conjunto de interfaces que permitem a criação, o envio e a recepção de mensagens entre vários componentes, em ambientes distribuídos O MDB usa o JMS 17 Servidores Aplicacionais JNDI: Java Naming and Directory Interface Fornece um mecanismo para localização de recursos Permite que uma aplicação localize componentes num determinado contexto Estes recursos podem ser objectos remotos, serviços de directórios, etc. 18

JTA: Java Transaction API Fornece um serviço para transacções 19 Servidores Aplicacionais JDBC: Java Database Connectivity API para ligação a bases de dados relacionais Um aplicação aceder às base de dados, executar instrucções SQL e obter resultados Exemplo private String dbname = java:comp/env/jdbc/bankdb ; InitialContext ic = new InitialContext(); DataSource ds = (DataSource) ic.lookup(dbname); Connection con = ds.getconnection(); 20

J2CA: J2EE Connector Architecture Mais genério do que o JDBC (não assume que os dados são apenas relacionais) Permite a ligação com dados de diferentes tipos e de diferentes sistemas 21 Servidores Aplicacionais J2EE: camada de apresentação E-mail server Web server SERVICES Servlets JSPs JAAS JAXP JavaMail ADMIN presentation layer application logic layer connection to resource mgmt layer resource management layer Servidor aplicacional 22

J2EE: camada de apresentação JSPs:JavaServer Pages Geração dinâmica de documentos Server e plataform independent Separação da interface e do conteúdo Usa tags tipo XML para encapsular o conteúdo (server-side resident code) JAXP: Java API for XML Processing API de suporte a XML Fornece interface de parsing e transforming 23 Servidores Aplicacionais J2EE: camada de apresentação JavaMail: API para sistemas de correio electrónico a partir de aplicações J2EE Exemplo 24

J2EE: camada de apresentação JAAS:Java Authentication and Authorization Service Autenticação de utilizadores Quem está a executar código Autorização de utilizadores Que pedaço de código está autorizado a executar Sob a forma de plug-in Extensão da arquitectura de segurança tradicional, na execução de código 25 Tecnologias Web para integração de aplicações As plataformas de middleware foram desenhadas ao nível de uma LAN Diferentes plataformas de middleware tem de comunicar entre si (ie. Entre WANs) Comunicação entre CORBA ORBs para integração de aplicações através da internet 26

Tecnologias Web para integração de aplicações Ligação remota entre camadas client client middleware WAN middleware server (resource manager) server (resource manager) 27 Tecnologias Web para integração de aplicações Problema: Comunicação entre aplicações A integração é conseguida à custa do GIOP (General Inter-Orb protocol) Protocolo abstacto usado para comunicação entre CORBA ORBs Especifica como são feitas as chamadas entre um ORB e o outro Especifica os formatos das mensagens a trocar 28

Tecnologias Web para integração de aplicações O IIOP é uma implementação do GIOP Permite implementar CORBA sobre a internet (TCP/IP) Permite que os browsers e os servidores comuniquem entre si não apenas usando texto, mas sim, usando representações de dados do tipo inteiros, arrays, objectos, etc. 29 Tecnologias Web para integração de aplicações Outros standard de representação de mensagens e dados para comunicações entre aplicações EDIFACT: Electronic Data Interchange for Administration, Commerce and Transport Fornece templates para as mensagens e para o seu conteúdo ISO/TS 20625:2002 (EDIFACT+XML) XML Estrutura perfeita para uma automatização do processo 30

Referências J2EE http://java.sun.com/j2ee/tutorial/1_3-fcs/ CORBA ORBs + GIOP + IIOP http://www.omg.org/technology/documents/ EDI + EDIFACT + XML http://www.apedi.pt/ http://www.unece.org/trade/untdid/ http://www.dcti.iscte.pt/vextra/index.html 31