Novas Tecnologias em Arquiteturas de Sistemas
|
|
- Lorenzo Castilhos Bicalho
- 8 Há anos
- Visualizações:
Transcrição
1 Novas Tecnologias em Arquiteturas de Sistemas Nilson Sant Anna LAC/INPE Laboratório rio de Computação e Matemática tica Aplicada Caltech California Institute of Technology Janeiro a Dezembro de 2007
2 Agenda Motivação Contexto de Trabalho Objetivos Metodologia de Pesquisa Objetivo 1: A base de sistemas de informação Bancos de Dados Objetivo 2: Novas Arquiteturas Arquitetura Orientada a Serviço - SOA Fundamento do Trabalho Engenharia de Software e Arquiteturas. Exemplo de Sistema: VO Virtual Observatory Conclusão
3 Motivação Com relação à Demanda Sistemas Grandes, Complexos e Integrados Exemplos: Comércio Eletrônico: Amazon.com, Americanas.com, etc Área Cientifica: BRAVO Brasilian VO, Gestão de Clima e Clima Espacial,etc. Aplicações em Diversos Campos do Conhecimento SICS(MECB INPE) LOC (10 anos) Software para Sindicato: ewp-sindct Módulos Controle de Sócios, S Jurídico, Convenios,etc 2065 Arquivos de Códigos C Fontes (1449 JSPs/HTML, 616 JAVA Class) linhas de código c em JAVA (2 anos)
4 Motivação Com relação aos Sistemas Maior demanda de Uso (Web/Intenert( Web/Intenert) Segurança a (compras on-line: Posso Comprar?) Alta disponibilidade (sistema 24/7?) Alta confiabilidade (faz o que quero sempre?) Escalável (se aumentar a demanda posso crescer o sistema?) Alta capacidade de Manutenção Flexibilidade (posso trocar o Gerenciador de Bancos de Dados?) Multi-Language Eficiente (Recursos de Máquina: M memória, processador,etc. Interoperavel (posso relacionar com outros sistemas e trocar Informações?) Autonomia de Serviços (Distribuição de Serviços por servidores diversos)
5 Contexto do Trabalho: : A Caltech Academic Divisions Biology Chemistry & Chemical Engineering Engineering & Applied Science Geological & Planetary Sciences Humanities & Social Sciences Physics, Mathematics & Astronomy Interdisciplinary Programs
6
7 CACR, Caltech's Center for Advanced Computing Research CACR exists to ensure that Caltech is at the forefront of computational science and engineering (CS&E). CS&E is the practice of computer based modeling, simulation and data analysis for the study of scientific phenomena and engineering designs. CACR provides an environment that cultivates multidisciplinary collaborations. Currently work with Caltech groups in applied mathematics, astronomy, biology, engineering, geophysics, and experimental physics
8 Palomar Quest - Observatory The Palomar Observatory is located in north San Diego County, California. It is a world-class center of astronomical research that is owned and operated by the California Institute of Technology. The observatory is home to five telescopes that are nightly used for a wide variety of astronomical research programs. The research is conducted by Caltech's faculty, post-doctoral fellows and students, and by researchers at Caltech's collaborating institutions.
9 48-inch (1.2 m) Samuel Oschin Telescope The Samuel Oschin Telescope was used to generate the Second Palomar Observatory Survey POSS II and the Digital Palomar Observatory Sky Survey DPOSS. In 2000 and 2003 the Samuel Oschin Telescope was converted to using a large format CCD camera to replace photographic plates, and the control system was automated. Search for moving objects in the Solar System Search for variable stars and galaxies The new QUEST camera on the Samuel Oschin Telescope at Palomar has 161 million pixels, making it one of the largest and most capable digital cameras in the world. There are 112 individual CCDs, each 600 x 2400 pixels, arranged in a mosaic of 4 rows or "fingers" of 28 CCDs each (2400 x pixels).
10 The Palomar Quest Sky Survey palquest.org/
11 Objetivo Pesquisar como as Informações Astronômicas são armazenadas e utilizadas no âmbito do projeto Palomar-Quest Survey Pesquisar como os Sistemas e as Aplicações são desenvolvidas em termos de Engenharia e Arquitetura
12 Metodologia de Pesquisa Objetivo 1: Entender o Banco de dados para o PipeLine Construir um Banco de Dados para o 2DPHOT- BRAVO para o Gerenciador PostgreSQL Objetivo 2: Implantar uma Aplicação Cliente SOA para o OpenSkyQuery para o pipeline ; Implantar uma Aplicação exemplo para o projeto BRAVO.
13 Objetivo 1: A base de sistemas de informação Bancos de Dados Banco de Dados do Pipeline Sistema SDSS skyserver database and CASJOBS. Desenvolvido em Parceria com a Microsoft SQL Server Database Banco de Dados e Aplicativos não Prontos. Muito arquivos espalhados no projeto Banco de Dados BRAVO Desenvolvimento do 1 o Modelo Desenvolvimento do Script em PostgreSQL Table 1: SDSS data sizes (in 2006) in terabytes. About 7 TB online and 10 TB in archive (for reprocessing if needed). Product Raw Compressed Pipeline input 25 TB 10 TB Pipeline output (reduced images) 10 TB 4 TB Catalogs 1 TB 1 TB Binned sky and masks ½ TB ½ TB Atlas images 1TB 1TB
14 SDSS skyserver database
15 SQL Search Tools
16 O Modelo para o 2DPhot-BRAVO Baseado em Imagem Astronômica FITs e Informações Geradas pelo Sextractor e 2DPhot. Modelo com Aproximadament e 40 Entidades Modelo Final com 50 a 60 Entidades create table ASTRO_OBJECT ( ID BIGINT not null, NAME CHARACTER VARYING(200) not null, primary key (ID) ); create table BAND ( ID BIGINT not null, NAME CHARACTER VARYING(200) not null, DETECTOR_FK BIGINT, FILTER_FK BIGINT, primary key (ID) ); create table CLASSIFIERS ( ID BIGINT not null, NAME CHARACTER VARYING(200) not null, primary key (ID) ); create table COMPL_PS ( ID BIGINT not null, NAME CHARACTER VARYING(100) not null, PATH CHARACTER VARYING(1024) not null, PROCESSING_FK BIGINT not null, primary key (ID) ); create table DEFAULT_PARAM ( ID BIGINT not null, MINAREA INTEGER not null, DETECT_THRESH INTEGER not null, SATUR_LEVEL BIGINT not null, MAG_ZEROPOINT REAL not null, GAIN REAL not null, PIXEL_SCALE REAL not null, READOUT REAL not null, primary key (ID) );
17 O Modelo para o 2DPhot-BRAVO
18 Objetivo 2: Novas Arquiteturas Arquitetura Orientada a Serviço - SOA
19 Qualidade de um Bom Projeto Fatores de qualidade de McCall Manutenabilidade (Posso arrumar um erro?) Flexibilidade (Posso modificar?) Testabilidade (Posso testar?) Mudanças Carac. Operacionais Novos Ambientes Portabilidade (Operacional em outra plataforma?) Reusabilidade (Posso reutiliza-lo?) Interoperabilidade (Interfacea com outros sistemas?) Corretude (Ele faz o que eu quero?) Confiabilidade (Faz correto todo o momento?) Eficiência (Utiliza todos os recursos disponíveis?) Integridade (É seguro?) Usabilidade (É projetado para o usuário?)
20 Precursores da Qualidade: Coesão e Acoplamento Coesão A coesão de um componente é uma medida da proximidade das relações entre seus componentes Um componente função lógica l ou entidades simples Níveis de Coesão: Funcional cada parte necessária p/ execução de função (melhor( coesão); Seqüencial encial output serve como input Comunicação mesmo input e output Procedimento uma seqüência de controle Temporal Lógica Coincidental (pior coesão) OO coesão natural
21 Precursores da Qualidade: Coesão Acoplamento e Acoplamento Grau de interconexões entre os componentes É desejável que os sistemas sejam fracamente acoplados OO: favorece o acoplamento fraco pois não tem estado compartilhado
22 Arquiteturas
23 Projeto de Arquitetura: Conceitos Subsistema é um sistema cuja operação não depende dos serviços de outros subsistemas. Composto por módulosm Interfaces são utilizadas p/ comunicação entre subsistemas Módulo componente que fornece e utiliza um ou mais serviços p/ outros módulosm Modelo afeta: Desempenho Robustez Distribuição Manutenção
24 Desenvolvimento Monolítico Aplicações vistas como um bloco único Forte acoplamento entre as camadas lógicasl Somente uma camada física Baixa coesão Dificuldade de Manutenção Conseqüência: Dificuldade de modificação. Alterações podem introduzir erros em partes aparentemente não relacionadas Camada de Apresentação Lógica de Negócios Camada de Acesso à dados (Integração) Banco de Dados
25 Cliente Servidor: 2 Camadas Físicas Acrescenta certa quantidade de escalabilidade e flexibilidade; Diminuição do acoplamento duas camadas físicas: f banco de dados poderia ser totalmente substituído desde que as interfaces de acesso permanecessem as mesmas Problemas: Camadas de apresentação e negócios ainda fortemente acopladas; Dificuldade de manutenção e distribuição Forte dependência de plataforma, necessidade aumento de desempenho de hardware. Camada de Apresentação Lógica de Negócios Lógica de Acesso à dados Banco de Dados
26 Arquitetura 3 Camadas FísicasF Alto grau de modularização ão; Fraco acoplamento entre os módulos; Melhor atendimento aos requisitos não funcionais: escalabilidade,, conectividade, tolerância à falhas; Mais facilidade de manutenção; Mais facilidade para distribuição; Ponto fraco: Maior necessidade de conhecimento e profissionalismo da equipe técnica. Profissionais cada vez mais especializados em diversas tecnologias Camada de Apresentação Lógica de Negócios Lógica de Acesso à dados Banco de Dados
27 A plataforma Web Características: Baseada em HTTP (RFC 2068) Protocolo simples de transferência de arquivos Sem estado (não mantém m sessão aberta) Abre conexão para endereço:80 Requisição... GET / Index.html Uma resposta...apresenta Index.html Fecha Conexão
28 Tecnologias para o Servidor Características: Rodam do lado do servidor, portanto, não dependem de suporte por parte dos browsers Browsers fornecem apenas a interface do usuário Interceptam o curso normal da comunicação Recebem dados via requisições HTTP (GET e POST) Devolvem dados através s de respostas HTTP Categorias de Tecnologias CGI - Common Gateway Interface APIs: : ISAPI, NSAPI, Apache API, Servlet API,... Scripts: ASP, JSP, LiveWire (SSJS), Cold Fusion,, PHP,...
29 APIs Servlet Servlet API independente de plataforma e praticamente independente de fabricante Componentes são escritos em Java e se chamam servlets Como os componentes SAPI proprietários, rios, rodam dentro do servidor, mas através s de uma Máquina M Virtual Java Disponível como plug-in ou conector para servidores ue não o suportam diretamente Nativo em servidores Sun, IBM,... Servidor HTTP Interface ISAPI Componente ISAPI Oferecendo Interface Servlet API via conector JVM Servlet Aplicação Remota
30 Linguagens Scripts e JSP Java Server Page Coloca a linguagem de programação dentro do HTML ( e não o contrário) rio) Permite o controle da aparência e estrutura da página p em softwares de design ( DreamWeaver,, FrontPage) Página fica mais legível Quando houver muita programação, código c pode ser escondido em servlets, JavaBeans,, componentes ( por exemplo: componentes ActiveX,, no caso do ASP) Alguns dos mais populares: Microsoft Active Server Pages ( ASP), Sun JavaServer Pages ( JSP), Macromedia Cold Fusion,, PHP
31 Exemplo de Servlet e JSP equivalente import java.io.*; import javax.servlet.*; import javax.servlet.http.*; public class SimpleServlet extends HttpServlet { public void doget (HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { PrintWriter out; response.setcontenttype("text/html"); out = response.getwriter(); String user = request.getparameter("usuario"); if (user == null) user = "World"; out.println("<html><head><title>"); out.println("simple Servlet Output"); out.println("</title></head><body>"); out.println("<h1>simple Servlet Output</H1>"); out.println("<p>hello, " + user); out.println("</body></html>"); out.close(); } } SERVLET: Bom para Processamento <HTML><HEAD> <TITLE>Simple Servlet Output</TITLE> </HEAD><BODY> <% String user = request.getparameter("usuario"); if (user == null) user = "World"; %> <H1>Simple Servlet Output</H1> <P>Hello, <%= user %> </BODY></HTML> JSP: Bom para apresentação
32 Arquitetura: Cenários
33 Utilização de JSP na Aplicação: Arquitetura Elementar Browser JSP/ Servlet Código SQL no JSP try { Class.forName(jdbcDriver).newInstance(); conn = DriverManager.getConnection(dbURL,username, passwd); stmt = conn.createstatement(); rs = stmt.executequery( SELECT * FROM CLIENTES ); ResultSetMetaData rsmd = rs.getmetadata(); int numcols = rsmd.getcolumncount(); %>
34 Introduzindo classes JAVA: Desacoplamento das Camadas Apresentação Integração JSP/ Servlet DAO JSP usando DAO <% Clientes[] clientes = ClientesDAO.getInstance().loadAll();%> <table> <% for(int i=0; i <clientes.length; i++) { %> <tr> <td><%=clientes[i].getnome()%><td> <td><%=clientes[i].getrg()%></td> </tr> <%}%>
35 Introduzindo Componentes: Melhoria na Camada de Apresentação Apresentação Integração Controller DAO JSP/ Servlet
36 Introduzindo Componentes: Mais Desacoplamento e Ganhos em Escala Apresentação Negócios Integração Controller Command Business Delegate DAO Request Dispatcher Service locator JSP/ Servlet
37 Modelo de n Camadas n Tier
38 Sun Java Center SJC Core J2EE Design Patterns
39
40 SOA Service Oriented Architecture
41 Modelo Centralizado para Distribuído Modelo Centralizado Domínio/Identidade de Rede Único Repositório Único Controle Centralizado Ponto de Falha Único Serviço é igual e sempre o Mesmo Modelo Distribuído (Open Federated Model) Vários Domínios de Rede Sem Controle Centralizado Sem Ponto de Falha Único Serviço pode ser igual mas não necessariamente. Central Provider Provider Provider Provider Provider Provider Provider
42 SOA e Web-Services A A software system designed to support interoperable machine-to to-machine interaction over a network. It has an interface described in a machine-processable format. - W3C Palavras Chave: Interoperabilidade e Sistemas Distribuídos Not a new idea: RPC/RMI CORBA DCOM XML-RPC
43 Princípios de SOA Encapsulamento do Serviço Esconder detalhes detalhes de implementação e código Autonomia do Serviço O Serviço tem autonomia sobre a lógica que ele encapsula Acoplamento Fraco ou Baixo Minimizar dependências Contrato de Serviço Acordo com as funções que presta, descritos por documentos descritores Composição de Serviços Os serviços podem ser agregados formando coleções de serviços. Diretório de Serviços (Service discoverability) Serviços podem ser encontrados and agregados através de mecanismos de diretórios (listas ou páginas amarelas)
44 A Arquitetura SOA
45 A Arquitetura de um Sistema de Negócio usando SOA
46 O Projeto dos Observatórios rios Virtuais VO IVOA International VO Alliance
47 Exemplo do NVO (US) JHU/StSci Caltech Registry Publish OAI NCSA Registry Publish OAI 2 Registry OAI Query 4 Goddard DIS 1 3
48 DataScope
49
50
51 O OpenSkyQuery e SkyNodes SkyQuery é uma Aplicação Concentradora e que disponibiliza o acesso a Nós( N s(sky Nodes) ) de um Sistema Distribuído. SkyNode é uma interface dos Nós N s que respeita as regras (protocolos) de Federação do SkyQuery. No coração do SkyQuery existe um cruzamento spacial de catálogos, ou seja, é possível cruzar informações existentes nos nós. n Portanto o SkyQuery tem acesso a catálogos armazenados em localidades geográficas diferentes.
52 O OpenSkyQuery e SkyNodes
53 Fluxo de Dados query SkyQuery SkyNode 1 SkyNode 2 SkyNode 3
54 Serviços Oferecidos Web-Services The following operations are supported. For a formal definition, please review the Service Description. * GetTables Returns tables. * MakePlan Creates an ExecPlan.. This runs cost queries as well. (req. for correct plan ordering) * GetAllSkyNodesVOTable Lists names of all available node shortnames in a votable. * GetAllSkyNodes Lists names of all available node shortnames. * GetMetaTables Returns column info for one column. * GetMetaColumns Returns an array of column info. * GetColumns Returns an array of column names. * NodeContainsColumn * UploadTable Returns literal table name * SubmitQuery Runs a single node query. * GetTableInfo Returns column info for one column. * SubmitDistributedQuery Runs a distributed query query by making a plan and then executing it - you may call the two steps seperately if you wish to view the plan or track progress. * GetColumnInfo Returns column info for one column. * SubmitPlan Executes a plan and returns results. * SubmitDistributedQuerySigma Allows MyData Sigma
55 Um Exemplo: WebFindingClusters Interfaces JSPs Request Response loaddata.java Servlet + Classes e Classes AXIS PostgreSQL - Database
56 Conclusão Os Sistemas (Providers( Providers) ) devem ser desenvolvidos usando arquiteturas Sólidas S e robustas. Portais de Projetos (BRAVO, Clima Espacial, etc) podem ser construídos com objetivo de Federar Nós. Pesquisas em Engenharia de Software (Arquitetura) devem ser intensificadas no INPE e principalmente fortalecida pela pós-graduap graduação para atender a demanda dos projetos. Há muitos conceitos envolvidos quando se trabalha com SOA e muitos ainda poucos explorados (Pesquisa) como a Qualidade de Serviços.
57 Obrigado!
Programação para a Internet. Prof. M.Sc. Sílvio Bacalá Jr sbacala@gmail.com www.facom.ufu.br/~bacala
Programação para a Internet Prof. M.Sc. Sílvio Bacalá Jr sbacala@gmail.com www.facom.ufu.br/~bacala A plataforma WEB Baseada em HTTP (RFC 2068) Protocolo simples de transferência de arquivos Sem estado
Leia maisPadrãoIX. Módulo II JAVA. Marcio de Carvalho Victorino. Servlets A,L,F,M
JAVA Marcio de Carvalho Victorino 1 Servlets 2 1 Plataforma WEB Baseada em HTTP (RFC 2068): Protocolo simples de transferência de arquivos Sem estado (não mantém sessão aberta) Funcionamento (simplificado):
Leia maisDesenvolvimento Web TCC-00.226 Turma A-1
Desenvolvimento Web TCC-00.226 Turma A-1 Conteúdo Arquitetura de Aplicações Distribuídas na Web Professor Leandro Augusto Frata Fernandes laffernandes@ic.uff.br Material disponível em http://www.ic.uff.br/~laffernandes/teaching/2013.2/tcc-00.226
Leia maisCurso de Java. Geração de Páginas WEB. TodososdireitosreservadosKlais
Curso de Java Geração de Páginas WEB Aplicação WEB Numa aplicação WEB de conteúdo dinâmico As páginas são construídas a partir de dados da aplicação (mantidos num banco de dados). Usuários interagem com
Leia maisSistemas Distribuídos na WEB (Plataformas para Aplicações Distribuídas)
Sistemas Distribuídos na WEB (Plataformas para Aplicações Distribuídas) Web Container: e JSP Sumário Protocolo HTTP Exemplos de JSP (Java Server Pages) Exemplos JSP 2 Protocolo HTTP URL: Um URL (Uniform
Leia maisWorld Wide Web e Aplicações
World Wide Web e Aplicações Módulo H O que é a WWW Permite a criação, manipulação e recuperação de informações Padrão de fato para navegação, publicação de informações e execução de transações na Internet
Leia maisArquiteturas de Aplicações Web. Leonardo Gresta Paulino Murta leomurta@ic.uff.br
Arquiteturas de Aplicações Web Leonardo Gresta Paulino Murta leomurta@ic.uff.br Aplicações Convencionais vs. Web Aplicações convencionais Escritas usando uma linguagem de programação (ex.: Java) Sites de
Leia maisWeb Browser como o processo cliente. Servidor web com páginas estáticas Vs. Aplicações dinâmicas para a Web:
Web Browser como o processo cliente Servidor web com páginas estáticas Vs Aplicações dinâmicas para a Web: 1 Cliente Web browser HTTP porto 80 Servidor web... JDBC RMI XML... Base de Dados Aplicação em
Leia maisAula 4. Objetivos. Conteúdo dinâmico na internet.
Aula 4 Objetivos Conteúdo dinâmico na internet. Para uma solicitação da Web mais simples, um navegador solicita um documento HTML e o servidor Web encontra o arquivo correspondente e devolve. Se o documento
Leia maisIntrodução ao Modelos de Duas Camadas Cliente Servidor
Introdução ao Modelos de Duas Camadas Cliente Servidor Desenvolvimento de Sistemas Cliente Servidor Prof. Esp. MBA Heuber G. F. Lima Aula 1 Ciclo de Vida Clássico Aonde estamos? Page 2 Análise O que fizemos
Leia mais3 Serviços na Web (Web services)
3 Serviços na Web (Web services) 3.1. Visão Geral Com base na definição do Word Wide Web Consortium (W3C), web services são aplicações autocontidas, que possuem interface baseadas em XML e que descrevem
Leia maisTencologia em Análise e Desenvolvimento de Sistemas Disciplina: WEB I Conteúdo: WEB Container Aula 04
Tencologia em Análise e Desenvolvimento de Sistemas Disciplina: WEB I Conteúdo: WEB Container Aula 04 Agenda 1. 2. Web Container TomCat 2 3 J2EE permite criar aplicações Web dinâmicas (com conteúdo dinâmico)
Leia maisprogramação de páginas de conteúdo dinâmico
Programação para a Internet II 1. Conceitos base de programação de páginas de conteúdo dinâmico Nuno Miguel Gil Fonseca nuno.fonseca@estgoh.ipc.pt A internet tal como a vimos até este momento As nossas
Leia maisUse a Cabeça! FREEMAN, Eric e Elisabeth. HTML com CSS e XHTML BASHMAN, Brian / SIERRA Kathy / BATES, Bert. Servlets & JSP
Use a Cabeça! FREEMAN, Eric e Elisabeth. HTML com CSS e XHTML BASHMAN, Brian / SIERRA Kathy / BATES, Bert. Servlets & JSP Software cliente: browser e outros Protocolo HTTP Infraestrutura de transporte
Leia maisDesenvolvimento WEB II. Professora: Kelly de Paula Cunha
Desenvolvimento WEB II Professora: Kelly de Paula Cunha O Java EE (Java Enterprise Edition): série de especificações detalhadas, dando uma receita de como deve ser implementado um software que utiliza
Leia maisArgo Navis J931 - Padrões de Design J2EE. Introdução. Objetivos de aprender padrões J2EE. Conhecer padrões para uso na plataforma J2EE
Padrões de Projeto J2EE J931 Introdução Helder da Rocha (helder@acm.org) argonavis.com.br Objetivos de aprender padrões J2EE Conhecer padrões para uso na plataforma J2EE Padrões permitem maior reuso, menos
Leia maisJava II. Sérgio Luiz Ruivace Cerqueira sergioruivace@gmail.com
Java II Sérgio Luiz Ruivace Cerqueira sergioruivace@gmail.com Servlets Servlet Aplicação Java que é executada no servidor que estende a capacidade do servidor Web Alternativa Java para os scripts CGI Gerenciado
Leia maisJava para Desenvolvimento Web
Java para Desenvolvimento Web Servlets A tecnologia Servlet foi introduzida pela Sun Microsystems em 1996, aprimorando e estendendo a funcionalidade e capacidade de servidores Web. Servlets é uma API para
Leia maisProgramação Web Aula 12 - Java Web Software
Programação Web Aula 12 - Java Web Software Bruno Müller Junior Departamento de Informática UFPR 25 de Maio de 2015 1 Java 2 Java Web Software 3 Servlets Modelo de Trabalho Funcionamento API Java Código
Leia maisWeb Services. Autor: Rômulo Rosa Furtado
Web Services Autor: Rômulo Rosa Furtado Sumário O que é um Web Service. Qual a finalidade de um Web Service. Como funciona o serviço. Motivação para o uso. Como construir um. Referências. Seção: O que
Leia maisAssociação Carioca de Ensino Superior Centro Universitário Carioca
Desenvolvimento de Aplicações Web Lista de Exercícios Métodos HTTP 1. No tocante ao protocolo de transferência de hipertexto (HTTP), esse protocolo da categoria "solicitação e resposta" possui três métodos
Leia maisResumo: Perguntas a fazer ao elaborar um projeto arquitetural
Resumo: Perguntas a fazer ao elaborar um projeto arquitetural Sobre entidades externas ao sistema Quais sistemas externos devem ser acessados? Como serão acessados? Há integração com o legado a ser feita?
Leia maisServlets e Applets, funcionamento e comparativo.
Servlets e Applets, funcionamento e comparativo. Airon Rabel Teixeira Rua Guarapuava Joinville SC airon@ymail.com Resumo: Este artigo explica de maneira breve o funcionamento de servlets e applets, mostrando
Leia maisArquitetura de Aplicações JSP/Web. Padrão Arquitetural MVC
Arquitetura de Aplicações JSP/Web Padrão Arquitetural MVC Arquitetura de Aplicações JSP/Web Ao projetar uma aplicação Web, é importante considerála como sendo formada por três componentes lógicos: camada
Leia maisUNIDADE II JAVA SERVLETS
UNIDADE II JAVA SERVLETS INTERNET É uma rede de redes, reunindo computadores do Governo, de universidades e empresas fornecendo infra-estrutura para uso de bancos de dados, correio eletrônico, servidores
Leia maisWeb Services. Integração de aplicações na Web. Sistemas Distribuídos
Web Services Integração de aplicações na Web Integração de Aplicações na Web Interoperação entre ambientes heterogêneos desafios diversidade de componentes: EJB, CORBA, DCOM... diversidade de linguagens:
Leia maisPadrões Arquiteturais. Sistemas Distribuídos: Broker
Padrões Arquiteturais Sistemas Distribuídos: Broker Sistemas Distribuídos Tendências: Sistemas Comp. com múltiplas CPUs Redes locais com centenas de hospedeiros Benefícios Economia Desempenho e escalabilidade
Leia maisSISTEMA DE AGENDAMENTO E GERENCIAMENTO DE CONSULTAS CLÍNICAS
SISTEMA DE AGENDAMENTO E GERENCIAMENTO DE CONSULTAS CLÍNICAS Pablo dos Santos Alves Alexander Roberto Valdameri - Orientador Roteiro da apresentação Introdução Objetivos Motivação Revisão bibliográfica
Leia maisArquitetura de uma Webapp
Arquitetura de uma Webapp Arquitetura J2EE Containers e componentes MVC: introdução Frederico Costa Guedes Pereira 2006 fredguedespereira@gmail.com Plataforma J2EE World Wide Web e a Economia da Informação
Leia maisA computação na nuvem é um novo modelo de computação que permite ao usuário final acessar uma grande quantidade de aplicações e serviços em qualquer
A computação na nuvem é um novo modelo de computação que permite ao usuário final acessar uma grande quantidade de aplicações e serviços em qualquer lugar e independente da plataforma, bastando para isso
Leia maisPROGRAMAÇÃO SERVIDOR WEBSERVICES EM SISTEMAS WEB. Prof. Dr. Daniel Caetano 2012-1
PROGRAMAÇÃO SERVIDOR EM SISTEMAS WEB WEBSERVICES Prof. Dr. Daniel Caetano 2012-1 Objetivos Compreender o que é um WebService e sua utilidade Compreender a lógica de funcionamento de um WebService Capacitar
Leia maisCurso de Aprendizado Industrial Desenvolvedor WEB
Curso de Aprendizado Industrial Desenvolvedor WEB Disciplina: Programação Orientada a Objetos II Professor: Cheli dos S. Mendes da Costa Modelo Cliente- Servidor Modelo de Aplicação Cliente-servidor Os
Leia maisSistemas Operacionais
Sistemas Operacionais Aula 6 Estrutura de Sistemas Operacionais Prof.: Edilberto M. Silva http://www.edilms.eti.br Baseado no material disponibilizado por: SO - Prof. Edilberto Silva Prof. José Juan Espantoso
Leia maisProgramação II Programação para a Web. Christopher Burrows
Programação II Programação para a Web Christopher Burrows Apache Tomcat O Apache Tomcat é um Servlet Container desenvolvido pela Apache Software Foundation. Implementa as tecnologias Java Servlets e Java
Leia maisSCE-557. Técnicas de Programação para WEB. Rodrigo Fernandes de Mello http://www.icmc.usp.br/~mello mello@icmc.usp.br
SCE-557 Técnicas de Programação para WEB Rodrigo Fernandes de Mello http://www.icmc.usp.br/~mello mello@icmc.usp.br 1 Cronograma Fundamentos sobre servidores e clientes Linguagens Server e Client side
Leia maisARQUITETURA DE SISTEMAS. Cleviton Monteiro (cleviton@gmail.com)
ARQUITETURA DE SISTEMAS Cleviton Monteiro (cleviton@gmail.com) Roteiro Definição Documento de arquitetura Modelos de representação da arquitetura Estilos arquiteturais Arquitetura de sistemas web Arquitetura
Leia maisGLOSSÁRIO. ActiveX Controls. É essencialmente uma interface usada para entrada e saída de dados para uma aplicação.
GLOSSÁRIO Este glossário contém termos e siglas utilizados para Internet. Este material foi compilado de trabalhos publicados por Plewe (1998), Enzer (2000) e outros manuais e referências localizadas na
Leia maisWWW - World Wide Web
WWW World Wide Web WWW Cap. 9.1 WWW - World Wide Web Idéia básica do WWW: Estratégia de acesso a uma teia (WEB) de documentos referenciados (linked) em computadores na Internet (ou Rede TCP/IP privada)
Leia maisJava na WEB Servlet. Sumário
1 Java na WEB Servlet Objetivo: Ao final da aula o aluno será capaz de: Utilizar Servlets para gerar páginas web dinâmicas. Utilizar Servlets para selecionar páginas JSPs. Utilizar Servlets como elemento
Leia maisEngenharia de Software Aplicações de Internet
Engenharia de Software Aplicações de Internet Eduardo Santos eduardo.edusantos@gmail.com eduardo.santos@planejamento.gov.br www.softwarepublico.gov.br Histórico Por que existe a Internet? Por que existe
Leia maisWeb Services. (Introdução)
Web Services (Introdução) Agenda Introdução SOA (Service Oriented Architecture) Web Services Arquitetura XML SOAP WSDL UDDI Conclusão Introdução Comunicação distribuída Estratégias que permitem a comunicação
Leia maisSistemas Distribuídos
Faculdades SENAC Análise e Desenvolvimento de Sistemas 28 de abril de 2010 Principais suportes de Java RMI (Remote Method Invocation), da Sun Microsystems DCOM (Distributed Component Object Model), da
Leia maisIntrodução. Servlet. Ciclo Vida. Servlet. Exemplos. Prof. Enzo Seraphim
Introdução Servlet Ciclo Vida Exemplos Servlet Prof. Enzo Seraphim Visão Geral São objetos de uma subclasse de javax.servlet (javax.servlet.httpservlet). Possuem um ciclo de vida. Incluem em seu código,
Leia maisProgramação Na Web. Servlets: Como usar as Servlets. Agenda. Template genérico para criar Servlets Servlet 2.4 API
Programação Na Web Servlets: Como usar as Servlets 1 António Gonçalves Agenda Template genérico para criar Servlets Servlet 2.4 API Exemplo: Hello World Output: Texto, HTML e hora local. Compilar uma Servlets
Leia maisProgramação Orientada a Objetos
Programação Orientada a Objetos Universidade Católica de Pernambuco Ciência da Computação Prof. Márcio Bueno poonoite@marciobueno.com Fonte: Material da Profª Karina Oliveira Introdução ao Paradigma OO
Leia maisConsiderações no Projeto de Sistemas Cliente/Servidor
Cliente/Servidor Desenvolvimento de Sistemas Graça Bressan Graça Bressan/LARC 2000 1 Desenvolvimento de Sistemas Cliente/Servidor As metodologias clássicas, tradicional ou orientada a objeto, são aplicáveis
Leia maisUFG - Instituto de Informática
UFG - Instituto de Informática Especialização em Desenvolvimento de Aplicações Web com Interfaces Ricas EJB 3.0 Prof.: Fabrízzio A A M N Soares professor.fabrizzio@gmail.com Aula 13 Web Services Web Services
Leia maisPadrões Arquiteturais e de Integração - Parte 1
1 / 58 - Parte 1 Erick Nilsen Pereira de Souza T017 - Arquitetura e Design de Aplicações Análise e Desenvolvimento de Sistemas Universidade de Fortaleza - UNIFOR 11 de fevereiro de 2015 2 / 58 Agenda Tópicos
Leia maisProgramação em Rede. Servlets. Manipulação de dados de input em Servlets
Servlets Manipulação de dados de input em Servlets Os dados de um formulário podem ser utilizados para pedidos GET ou POST. Com servlets JAVA esta operação é efectuada pelo método getparameter de HttpServletRequest,
Leia maisPadrões de Interação com o Usuário
Padrões de Interação com o Usuário Granularidade dos Padrões Padrões estão relacionados a 3 elementos: Contexto ocorre Problema resolve Solução Problemas e Soluções podem ser observados em diferentes níveis
Leia maisDesenvolvimento Cliente-Servidor 1
Desenvolvimento Cliente- 1 Ambiienttes de Desenvollviimentto Avançados Engenharia Informática Instituto Superior de Engenharia do Porto Alexandre Bragança 1998/99 Ambientes de Desenvolvimento Avançados
Leia maisNoções de. Microsoft SQL Server. Microsoft SQL Server
Noções de 1 Considerações Iniciais Basicamente existem dois tipos de usuários do SQL Server: Implementadores Administradores 2 1 Implementadores Utilizam o SQL Server para criar e alterar base de dados
Leia maisJ550. Model View Controller
J550 Model View Controller 1 Design de aplicações JSP Design centrado em páginas Aplicação JSP consiste de seqüência de páginas (com ou sem beans de dados) que contém código ou links para chamar outras
Leia maisUFG - Instituto de Informática
UFG - Instituto de Informática Especialização em Desenvolvimento de Aplicações Web com Interfaces Ricas EJB 3.0 Prof.: Fabrízzio A A M N Soares professor.fabrizzio@gmail.com Aula 5 Servidores de Aplicação
Leia maisProgramação WEB (JSP + Banco Dados) Eng. Computação Prof. Rodrigo Rocha http://www.materialdeaula.com.br
Programação WEB (JSP + Banco Dados) Eng. Computação Prof. Rodrigo Rocha http://www.materialdeaula.com.br JSP (Java Server Pages) - JavaServer Pages (JSP) - Tecnologia de programação serverside - Permite
Leia maisBancos de dados distribuídos Prof. Tiago Eugenio de Melo tiagodemelo@gmail.com. http://www.tiagodemelo.info
Bancos de dados distribuídos Prof. Tiago Eugenio de Melo tiagodemelo@gmail.com Última atualização: 20.03.2013 Conceitos Banco de dados distribuídos pode ser entendido como uma coleção de múltiplos bds
Leia maisJava para WEB. Servlets
Servlets Servlets são classes Java que são instanciadas e executadas em associação com servidores Web, atendendo requisições realizadas por meio do protocolo HTTP. Servlets é a segunda forma que veremos
Leia maisComo criar um EJB. Criando um projeto EJB com um cliente WEB no Eclipse
Como criar um EJB Criando um projeto EJB com um cliente WEB no Eclipse Gabriel Novais Amorim Abril/2014 Este tutorial apresenta o passo a passo para se criar um projeto EJB no Eclipse com um cliente web
Leia maisAdriano Reine Bueno Rafael Barros Silva
Adriano Reine Bueno Rafael Barros Silva Introdução RMI Tecnologias Semelhantes Arquitetura RMI Funcionamento Serialização dos dados Criando Aplicações Distribuídas com RMI Segurança Exemplo prático Referências
Leia maisJava na Web. Aplicações Web
Montando o ambiente com HSQLDB JSP com um conteúdo de banco de dados: JDBC Integre JSPs com servlets aplicando o Modelo-Visualização- Controle Montando o ambiente com HSQLDB Faça a transferênci da página
Leia maisESTUDO DE CASO WINDOWS VISTA
ESTUDO DE CASO WINDOWS VISTA História Os sistemas operacionais da Microsoft para PCs desktop e portáteis e para servidores podem ser divididos em 3 famílias: MS-DOS Windows baseado em MS-DOS Windows baseado
Leia maisFACULDADE DE ADMINISTRAÇÃO E NEGÓCIOS DE SERGIPE - FANESE CURSO SUPERIOR DE TECNOLOGIA em Gestão da Tecnologia da Informação
FACULDADE DE ADMINISTRAÇÃO E NEGÓCIOS DE SERGIPE - FANESE CURSO SUPERIOR DE TECNOLOGIA em Gestão da Tecnologia da Informação 1 Ruironaldi dos Santos Cruz ARTIGO ARQUITETURA ORIENTADA A SERVIÇO SOA SERVICE
Leia maisA autoria - II. A autoria - II. Tecnologias básicas da Web. A autoria - II. 2001 Wilson de Pádua Paula Filho. Tópicos:
A autoria - II Tópicos: A autoria - II World Wide Web hipermídia na Internet: sítios Web: páginas de hipertexto; material multimídia; aplicativos Web: muitos tipos de tecnologias de software: scripts,
Leia maisLinux - Servidor de Redes
Linux - Servidor de Redes Servidor Web Apache Prof. Roberto Amaral WWW Breve histórico Início 1989 CERN (Centro Europeu de Pesquisas Nucleares) precisava de um meio de viabilizar o trabalho cooperativo
Leia maisKassius Vargas Prestes
Kassius Vargas Prestes Agenda 1. Introdução Web Services 2. XML, SOAP 3. Apache Tomcat 4. Axis 5. Instalação Tomcat e Axis 6. Criação de um Web Service 7. Criação de um cliente Baixar http://www.inf.ufrgs.br/~kvprestes/webservices/
Leia maisSistemas Distribuídos
Sistemas Distribuídos 11 Objetivos Este capítulo apresenta uma introdução aos sistemas distribuídos em geral Arquiteturas de cliente servidor Características das arquiteturas de 2 e 3 camadas Ambiente
Leia maisJ550 Testes em Aplicações Web com Cactus
J550 Testes em Aplicações Web com Cactus Helder da Rocha (helder@acm.org) www.argonavis.com.br 1 Sobre este módulo Este módulo descreve um framework - o Jakarta Cactus - que pode ser utilizado para testar
Leia maisProf. Roberto Desenvolvimento Web Avançado
Resposta exercício 1: Configuração arquivo web.xml helloservlet br.com.exercicios.helloservlet
Leia maisCamadas de Software - o Middleware. Sistemas Distribuídos Capítulo 2: Modelos e Arquitecturas. Aplicações. Middleware.
Camadas de Software - o Middleware Sistemas Distribuídos Capítulo 2: Modelos e Arquitecturas Modelos de Arquitecturas para sistemas distribuidos Interfaces e Objectos Requerimentos para Arquitecturas Distribuídas
Leia maisLinguagem de Programação JAVA. Professora Michelle Nery Nomeclaturas
Linguagem de Programação JAVA Professora Michelle Nery Nomeclaturas Conteúdo Programático Nomeclaturas JDK JRE JEE JSE JME JVM Toolkits Swing AWT/SWT JDBC EJB JNI JSP Conteúdo Programático Nomenclatures
Leia maisProf.: Clayton Maciel Costa clayton.maciel@ifrn.edu.br
Programação com acesso a BD Prof.: Clayton Maciel Costa clayton.maciel@ifrn.edu.br 1 Modelos de Dados, Esquemas e Instâncias 2 Modelos de Dados, Esquemas e Instâncias Modelo de dados: Conjunto de conceitos
Leia maisSISTEMAS DISTRIBUIDOS
1 2 Caracterização de Sistemas Distribuídos: Os sistemas distribuídos estão em toda parte. A Internet permite que usuários de todo o mundo acessem seus serviços onde quer que possam estar. Cada organização
Leia maisGERAÇÃO DE RELATÓRIOS
UNIOESTE Universidade Estadual do Oeste do Paraná CCET - CENTRO DE CIÊNCIAS EXATAS E TECNOLÓGICAS Colegiado de Ciência da Computação Curso de Bacharelado em Ciência da Computação GERAÇÃO DE RELATÓRIOS
Leia maisDESENVOLVENDO APLICAÇÃO UTILIZANDO JAVA SERVER FACES
DESENVOLVENDO APLICAÇÃO UTILIZANDO JAVA SERVER FACES Alexandre Egleilton Araújo, Jaime Willian Dias Universidade Paranaense (Unipar) Paranavaí PR Brasil araujo.ale01@gmail.com, jaime@unipar.br Resumo.
Leia maisSISTEMAS OPERACIONAIS
SISTEMAS OPERACIONAIS Turma de Redes AULA 06 www.eduardosilvestri.com.br silvestri@eduardosilvestri.com.br Estrutura do Sistema Operacional Introdução É bastante complexo a estrutura de um sistema operacional,
Leia maisLaboratórios Virtuais
Laboratórios Virtuais Rafael Santos 1 Resumo O que são laboratórios virtuais e para que servem? Por que implementar laboratórios virtuais? Visita técnica à Johns Hopkins University. O NVO (US National
Leia maisJ550 Fundamentos de arquitetura Web
J550 Fundamentos de arquitetura Web Helder da Rocha (helder@acm.org) www.argonavis.com.br 1 Objetivos Este módulo apresenta uma visão geral da plataforma Web Lado-cliente Lado-servidor Protocolo de comunicação
Leia maisJava Server Pages. O código HTML pode indicar o método de arranque do servlet gerado por um JSP : doget ou dopost.
Java Server Pages O código HTML pode indicar o método de arranque do servlet gerado por um JSP : doget ou dopost. servlet: Exemplo em que o método get é invocado no arranque do
Leia maisDesenvolvendo uma Arquitetura de Componentes Orientada a Serviço SCA
Desenvolvendo uma Arquitetura de Componentes Orientada a Serviço SCA RESUMO Ricardo Della Libera Marzochi A introdução ao Service Component Architecture (SCA) diz respeito ao estudo dos principais fundamentos
Leia maisService Oriented Architecture SOA
Service Oriented Architecture SOA Arquitetura orientada aos serviços Definição: Arquitetura de sistemas distribuídos em que a funcionalidade é disponibilizada sob a forma de serviços (bem definidos e independentes)
Leia maisO que é Grid Computing
Grid Computing Agenda O que é Grid Computing Grid vs Cluster Benefícios Tipos de Grid Aplicações Ferramentas e padrões Exemplos no mundo Exemplos no Brasil Grid no mundo dos negócios Futuro O que é Grid
Leia maisSistemas Operacionais II. Prof. Gleison Batista de Sousa
Sistemas Operacionais II Prof. Gleison Batista de Sousa Objetivos de aprendizagem Conhecer o funcionamento dos sistemas operacionais para redes de computadores. Aprender como é feito o gerenciamento do
Leia maisDesenvolvimento Web com JSP/Servlets
Desenvolvimento Web com JSP/Servlets Requisitos Linguagem Java; Linguagem SQL; Noções de HTML; Noções de CSS; Noções de Javascript; Configuração do ambiente JDK APACHE TOMCAT MySQL Instalando o JDK Instalando
Leia maisSOAR Data Quality Management: A Brazilian SOAR Data Archive. Iranderly Fernandes de Fernandes UEFS
SOAR Data Quality Management: A Brazilian SOAR Data Archive Iranderly Fernandes de Fernandes UEFS O que é Data Quality É o desagradável ser que fica apontando os defeitos no conjunto de dados? Prefiro
Leia maisSistemas Operacionais
Sistemas Operacionais Aula 07 Arquitetura de Sistemas Operacionais Prof. Maxwell Anderson www.maxwellanderson.com.br Introdução Conceitos já vistos em aulas anteriores: Definição de Sistemas Operacionais
Leia maisProgramação para Web Artefato 01. AT5 Conceitos da Internet
Programação para Web Artefato 01 AT5 Conceitos da Internet Histórico de revisões Data Versão Descrição Autor 24/10/2014 1.0 Criação da primeira versão HEngholmJr Instrutor Hélio Engholm Jr Livros publicados
Leia maisCurso Tecnológico de Redes de Computadores 5º período Disciplina: Tecnologia WEB Professor: José Maurício S. Pinheiro V. 2009-2
Curso Tecnológico de Redes de Computadores 5º período Disciplina: Tecnologia WEB Professor: José Maurício S. Pinheiro V. 2009-2 Aula 1 Conceitos da Computação em Nuvem A computação em nuvem ou cloud computing
Leia maisIplanRio DOP - Diretoria de Operações GIT - Gerência de Infraestrutura Tecnológica Gerente da GIT
1. IDENTIFICAÇÃO Padrão Segmento Código P06.002 Revisão v. 2014 Plataformas Web 2. PUBLICAÇÃO Recursos Tecnológicos Versão Data para adoção Publicação v. 2014 23 de dezembro de 2014 PORTARIA N Nº 225 de
Leia maisProgramação Web. Professor: Diego Oliveira. Conteúdo 02: JSP e Servlets
Programação Web Professor: Diego Oliveira Conteúdo 02: JSP e Servlets JSP JSP é um template de uma página Web que usa Java para gerar HTML dinamicamente JSP é considerado server-side e roda em um objeto
Leia maisDesenvolvimento WEB em JAVA. Palestrante: Lourival F. de Almeida Júnior
Desenvolvimento WEB em JAVA Palestrante: Lourival F. de Almeida Júnior Agenda Introdução Servlet Arquitetura de Software Velocity Struts Conclusão Referências Introdução (antes) Programador Produto Introdução
Leia maisIntrodução. Definição de um Sistema Distribuído (1) Definição de um Sistema Distribuído(2) Metas de Sistemas Distribuídos (2)
Definição de um Sistema Distribuído (1) Introdução Um sistema distribuído é: Uma coleção de computadores independentes que aparecem para o usuário como um único sistema coerente. Definição de um Sistema
Leia maisConteúdo Dinâmico. Introdução. Interação Browser x Servidor Web. Interação Browser x Servidor Web
Introdução Formulários rios & Conteúdo Dinâmico Mário Antonio Meireles Teixeira Dept o. de Informática - UFMA A Web surgiu inicialmente como uma nova forma de comunicação de informações, fazendo uso de
Leia maisService Oriented Architecture (SOA)
São Paulo, 2011 Universidade Paulista (UNIP) Service Oriented Architecture (SOA) Prof. MSc. Vladimir Camelo vladimir.professor@gmail.com 04/09/11 vladimir.professor@gmail.com 1 04/09/11 vladimir.professor@gmail.com
Leia maisBANCO DE DADOS DISTRIBUÍDOS e DATAWAREHOUSING
BANCO DE DADOS DISTRIBUÍDOS e DATAWAREHOUSING http://www.uniriotec.br/~tanaka/tin0036 tanaka@uniriotec.br Bancos de Dados Distribuídos Conceitos e Arquitetura Vantagens das Arquiteturas C/S (em relação
Leia maisSISTEMAS DISTRIBUÍDOS
SISTEMAS DISTRIBUÍDOS Cluster, Grid e computação em nuvem Slide 8 Nielsen C. Damasceno Introdução Inicialmente, os ambientes distribuídos eram formados através de um cluster. Com o avanço das tecnologias
Leia maisWireshark. Captura de Protocolos da camada de aplicação. Maicon de Vargas Pereira
Wireshark Captura de Protocolos da camada de aplicação Maicon de Vargas Pereira Camada de Aplicação Introdução HTTP (Hypertext Transfer Protocol) 2 Introdução Camada de Aplicação Suporta os protocolos
Leia mais