Universidade Federal do Maranhão UFMA Campus do Bacanga São Luís. Web Services. Dr. Denivaldo Lopes Ano: maio, Objetivos da disciplina

Tamanho: px
Começar a partir da página:

Download "Universidade Federal do Maranhão UFMA Campus do Bacanga São Luís. Web Services. Dr. Denivaldo Lopes Ano: 2006.1. maio, 2006. Objetivos da disciplina"

Transcrição

1 Universidade Federal do Maranhão UFMA Campus do Bacanga São Luís Web Services Dr. Denivaldo Lopes Ano: maio, Objetivos da disciplina Formar profissionais capazes de desenvolver sistemas computacionais baseados em serviços Web. Estudar as especificações e implementações de ferramentas baseadas em serviços Web; Desenvolver aplicações em que a interoperabilidade seja assegurada: aplicações distintas, ambientes heterogêneos, integração de sistemas. 2

2 Serviços Web na Engenharia Elétrica Várias utilizações de SW em engenharia: Estabelecer a comunicação entre aplicações ou partes de um sistema. Interoperabilidade entre partes de um sistema. Integração de aplicações. 3 Conteúdo Programático Introdução a Java Desenvolvimento de aplicações para a Web Camada de apresentação Camada de lógica Camada de base de dados Exemplos com HTML, Servlets, SQL e JDBC. Middlewares: RPC, CORBA e Web Services Introdução a XML: DTD (Document Type Definitions), XSD (XML Schema Definition Language) e XSLT (extensible Stylesheet Language Transformations). 4

3 Conteúdo Programático As principais tecnologias de serviços Web SOA (Service-Oriented Architecture) WSDL (Web Services Definition Language) SOAP (Simple Object Access Protocol) UDDI (Universal Description, Discovery, and Integration) Desenvolvendo serviços Web com Java Web Services Developer Pack (JWSDP) Exemplos de sistemas com serviços Web. 5 Conteúdo Programático Serviços Web compostos Importância da composição. Ferramentas de composição. BPEL (Business Process Execution Language) Eclipse e o Framework da Oracle para serviços Web compostos. Utilização de Serviços Web na Engenharia Elétrica. Especificações para segurança de serviços Web: uma introdução. O futuro de serviços Web. 6

4 Metodologia Aulas expositivas e discussões em classe, enfatizando a importância da interoperabilidade entre aplicações. Estudo das especificações criadas para serviços Web da W3C e da OASIS. Estudos de caso para exemplificar a utilização de serviços Web. Os alunos serão orientados no desenvolvimento de aplicações baseadas em serviços Web. Pesquisa de assuntos avançados. Trabalhos individuais para sedimentar a aprendizagem. 7 Cronograma de Aulas, Trabalhos e Avaliações Mês Dias da disciplina Julho 3, 4, 10, 11, 17, 18, 24, 25, 31 Agosto 1, 7, 8, 14, 15, 21, 22, 28, 29 Setembro 4, 5, 11, 12, 18, 19 Prova escrita Apresentação de trabalho 3 horários por dia : horários 8/9/10 23 de setembro término do semestre letivo Reposição Final 8

5 BIBLIOGRAFIA: Thomas Erl, Service-Oriented Architecture: A Field Guide to Integrating XML and Web Services, Prentice Hall, Gustavo Alonso, Fabio Casati, Harumi Kuno, Vijay Machiraju, Web Services: Concepts, Architectures and applications, Springer, Sanjiva Weerawarana, Francisco Curbera, Frank Leymann, Tony Storey, Donald F. Ferguson, Web Services Platform Architecture, Prentice Hall, T. Andrews, F. Cubera et al, Business Process Execution Language for Web Services, Disponível on-line: 128.ibm.com/developerworks/library/specifica-tion/ws-bpel/ W3C, WSDL, Avaliable at W3C, SOAP, Avaliable at OASIS, UDDI, Avaliable at H.M. Deitel e P. I. Deitel, Java Como Programar,6ed, Prentice Hall, Introdução a linguagem de programação Java Conceitos da orientação à objetos: Classe, Atributos, Métodos, Objeto Primeiro programa em Java: HelloWorld Aritmética em programas Java Operadores relacionais e lógicos Classes, objetos, métodos e variáveis de instância e construtores Instruções de controle (if...else, while, for, do...while, switch, break e continue) Herança Programando com Threads Programação em rede com Java: Sockets 10

6 Conceitos da orientação à objetos Uma linguagem orientada à objetos. O que é um objeto? De uma forma geral, podemos ver um objeto um tanto que uma abstração do mundo real. Uma abordagem usando objeto tem como finalidade permitir a modelagem das propriedades estáticas e dinâmicas do ambiente no qual estão definidas as necessidades, denominadas de domínio do problema. 11 Conceitos da orientação à objetos A orientação à objeto se baseia em cinco conceitos básicos: Objeto; Mensagens; Classe; Generalização; Polimorfismo. 12

7 Conceitos da orientação à objetos Objeto Um objeto é uma unidade atômica formada da união de um estado e de comportamento. Um objeto fornece uma relação de coesão interna muito forte e um fraco acoplamento com o exterior. Os objetos se comunicam entre si através de troca de mensagens. 13 Conceitos da orientação à objetos Objeto Cada objeto contém um estado interno que é próprio dele mesmo e um comportamento visível pelos outros objetos. Um objeto também tem uma identidade que o diferencia dos outros objetos. A identidade permite distinguir todo objeto de forma não ambígua, e isto independe de seu estado. Objeto = Estado + Comportamento + identidade 14

8 Conceitos da orientação à objetos Objeto A identidade é um conceito, não se representa de uma maneira específica. Cada objeto possui uma identidade atribuída de maneira implícita no momento da criação do objeto e nunca é modificada. :Um objeto A Estados de A Mensagem :Um objeto B Estados de B 15 Conceitos da orientação à objetos Objeto: exemplo Pousar [Em vôo] a1:avião t1:torre de controle Estados Decolar [No solo] a2:avião 16

9 Conceitos da orientação à objetos Classe O mundo real é composto de inúmeros objetos em interação. Os objetos são geralmente muito complexos para serem compreendidos em sua integridade. Para reduzir a complexidade, ou para gerenciála, o ser humana aprendeu a agrupar os elementos que se assemelham e a distinguir as estruturas de mais alto nível de abstração, 17 excluindo os detalhes inúteis. Conceitos da orientação à objetos Classe Uma classe descreve um domínio de definição de objetos. Cada objeto é originado de uma classe. As generalidades são contidas na classe e as particularidades são contidas nos objetos. O processo de criação de um objeto à partir de uma classe é chamado de instanciação. 18

10 Conceitos da orientação à objetos Classe: representação Classe A atributo1: TipoAtributo atributo2: TipoAtributo atributon: TipoAtributo método1(parâmetro:tipoparâmetro):tiporetorno método2(parâmetro:tipoparâmetro):tiporetorno métodon(parâmetro:tipoparâmetro):tiporetorno 19 Conceitos da orientação à objetos Classe e Objeto Cachorro Raça: String Cor: String Peso: Float Altura:Float Idade:Integer <<Instância de>> spike:cachorro Raça= Pastor Alemão Cor= Preto e marrom Peso= 6,5 Altura=0,8 Idade=8 20

11 Conceitos da orientação à objetos Classe e Objeto Abstração Objetos Tipos de dados abstratos Funções Mnemônicos Códigos Binários Facilidade de Programação 21 Conceitos da orientação à objetos Classe: Visibilidade de atributos e métodos O nível de visibilidade pode ser: Público: atributos e métodos são visíveis e acessíveis à partir de métodos da própria classe ou de uma outra classe. Privado: os atributos privados somente podem ser acessados por métodos da classe. Da mesma forma, os métodos privados somente podem ser acessados por outros métodos da própria classe. Protegido: os atributos e métodos podem ser vistos e acessados somente por métodos da própria classe ou à partir de classes derivadas. 22

12 Conceitos da orientação à objetos Atributos privados somente podem ser acessados e modificados por métodos da própria classe. Classe: representação de visibilidade Representação: Exemplo: Classe + atributo público # atributo protegido - atributo privado + método público( ) # método protegido( ) - método privado( ) Métodos públicos podem ser chamados por métodos de outra classe. -ParteReal:Float -ParteImaginária:Float NúmeroComplexo +adição(num1:númerocomplexo):númerocomplexo +sub(num1:númerocomplexo):númerocomplexo +mult(num1:númerocomplexo):númerocomplexo +div(num1:númerocomplexo):númerocomplexo +getreal():float +getimag():float 23 Conceitos da orientação à objetos Generalização. A generalização consiste em capturar os elementos comuns (atributos e operações) de um conjunto de classes em uma classe mais genérica, chamada de superclasse. As classes são organizadas segundo uma hierarquia que pode ser vista como uma árvore: uma superclasse é uma abstração de suas sub-classes. 24

13 Conceitos da orientação à objetos Generalização: exemplo. Abstrações mais gerais Veículo Veículo Terrestre Veículo Aéreo Carro Caminhão Moto Avião Helicóptero Extensão pela especialização 25 Conceitos da orientação à objetos Generalização: exemplo. Abstrações mais gerais Animal Carnívoro Herbívoro Leão Onça Coiote Ovelha Cavalo Extensão pela especialização A generalização e a especialização são dois pontos de vista antagônicos do conceito de classificação. 26

14 Conceitos da orientação à objetos Generalização: exemplo. SuperClasse Classe mais geral SubClasse Classe mais especializada A especialização é a base para a programação por extensão e para a reutilização. 27 Conceitos da orientação à objetos Generalização: características. A A A Proibido A generalização não é reflexiva e nem é simétrica. A generalização é transitiva. B Proibido C B Transitividade 28

15 Conceitos da orientação à objetos Herança: permite a construção de uma classe à partir de uma ou várias outras classes, compartilhando atributos e operações, e formando uma hierarquia de classes. As classes filhas herdam as características das classes pais. A -attra1 : Double -attra2 : Integer +attra3 : String #attra4 : Double +geta1() : Double +geta2() : Integer B -attrb1 : Boolean -attrb2 : Long +getb1() : Boolean +getb2() : Boolean 29 Conceitos da orientação à objetos Colisões de nomes na herança. 30

16 Conceitos da orientação à objetos Polimorfismo: descreve a característica de um elemento que pode ter várias formas. O polimorfismo de operação permite fazer chamadas de uma operação de diversas formas. Não confundir com sobrecarga de métodos. 31 Conceitos da orientação à objetos Sobrecarga de métodos: permite que métodos compartilhem o mesmo nome, mas com diferentes parâmetros e/ou retorno. 32

17 Introdução a Java Em 1991, a Sun Microsystems financiou um projeto de pesquisa corporativa interno com o codinome Green (Patrick Naughton, Mike Sheridan, e James Gosling). No projeto Green, uma linguagem baseada em C++ foi desenvolvida e denominada de Oak. Mais tarde, esta linguagem foi introduzida na Web e se passou a chamar Java. Em 1995, Java despertou o interesse da comunidade, pois aprimorava as funcionalidades de servidores Web, possibilitando a criação de páginas Web dinâmicas. 33 Introdução a Java Java é um ambiente de execução presente em: web browsers; Mainframes; SOs; celulares; palmtops; cartões inteligentes, entre outros. 34

18 Características: Introdução a Java Orientação a objeto baseada no modelo Smalltalk e Simula 67. Portabilidade - independência de plataforma - "write once run anywhere"; Recursos de Rede suporte para Socket e TCP/IP. Segurança através do Sandbox. Bytecode interpretado código executado pela JVM (Java Virtual Machine). Sintaxe similar a Linguagem C/C++. Facilidades de Internacionalização: através de caracteres Unicode. 35 Características: Simplicidade na especificação (JVM): qualquer empresa pode implementar a especificação da JVM. Um vasto conjunto de bibliotecas (APIs): bibliotecas disponíveis com o J2SDK. Suporte à programação distribuída e multitarefa: suporta threads, monitor, e chamada remota de procedimento. Alocação/Desalocação dynâmica de memória: através do Garbage Collector (Coletor de lixo) a memória não mais utilizada pode ser recuperada e usada outra vez pelo SO ou pela própria JVM. Carga Dinâmica de Código: o código pode ser carregado segundo a demanda. Introdução a Java 36

19 Introdução a Java 37 Introdução a Java Java está disponível em 3 edições: Java 2 Standard Edition (J2SE): é a tecnologia Java para computadores pessoais, notebooks e arquiteturas com elevado poder de processamento. J2SE possui duas divisões: Java Standard Development Kit (JSDK): é constuído por um conjunto de ferramentas (compiladores, debugger,...) que suportam a criação de programas Java. Java Runtime Edition (JRE): contém o necessário para a execução dos programas Java. Java 2 Mobile Edition (J2ME): é a tecnologia Java para dispositíveis móveis com limitação de processamento e memória. Pode ser encontratado em duas formas: Connected Limited Device Configuration (CLDC): destinado a celulares, smartphones e dispositivos limitados. Connected Device Configuration (CDC): destinado para Palmtops, PocketPCs e dispositivos com maior poder de processamento e memória. Java 2 Enterprise Edition (J2EE): é a tecnologia Java para aplicações corporativas (inclui Java Enterprise Beans). 38

20 Introdução a Java Fonte: 39 Introdução a Java Um ambiente de desenvolvimento Java típico. 40

21 Primeiro programa em Java: HelloWorld public class HelloWorld { // método principal que inicia a execução do aplicativo Java public static void main(string[] args) { // Imprime uma mensagem no console System.out.println("Hello World! I am a program in Java...!") 41 Primeiro programa em Java: HelloWorld 42

22 Conhecendo o compilador Java 43 Exemplo 2 import java.util.scanner; // importa a classe Scanner do pacote java.util // Classe principal public class HelloWorld2 { // método principal que inicia a execução do aplicativo Java public static void main(string[] args) { //declação de variáveis // cria variavel para armazenar o nome do usuário String username="none "; // cria variavel para armazenar a idade do usuário int userage=0; // cria um objeto da classe Scanner para ler o teclado Scanner inputkeyboard = new Scanner(System.in); // Imprime uma mensagem no console System.out.println("Hello World! I am a program in Java...!"); System.out.println("What is your name?"); // Ler uma string de caracteres do teclado username = inputkeyboard.nextline(); // Imprime o nome do usuário usando formatação System.out.printf("Hi %s",username); // Imprime uma mensagem no console System.out.println("\nHow old are you?"); // Ler um número inteiro do console userage = inputkeyboard.nextint(); // Imprime uma mensagem no console com formatação, %s string e %d número inteiro System.out.printf("%s is %d years old.",username,userage); 44

23 Tipos de dados Primitivos Tipos de Dados Primitivos Palavra-chaave Descrição Tamanho/Formato Inteiros byte Byte 8-bit complemento de dois short Short integer 16-bit complemento de dois int Integer 32-bit complemento de dois long Long integer 64-bit complemento de dois Números reais float Ponto flutuante precisão simples 32-bit IEEE 754 double Ponto flutuante precisão dupla 64-bit IEEE 754 Outros char Um único caractere 16-bit caractere Unicode boolean Um valor lógico (true ou false) true ou false 45 Exemplo 3 /* * Programa que retorna o valor máximo para tipos de dados simples * Fonte: ex5/maxvariablesdemo.java */ public class MaxVariablesDemo { public static void main(string args[]) { //integers byte largestbyte = Byte.MAX_VALUE; short largestshort = Short.MAX_VALUE; int largestinteger = Integer.MAX_VALUE; long largestlong = Long.MAX_VALUE; //real numbers float largestfloat = Float.MAX_VALUE; double largestdouble = Double.MAX_VALUE; //other primitive types char achar = 'S'; boolean aboolean = true; //Display them all. System.out.println("The largest byte value is " + largestbyte + "."); 46

24 Exemplo 3 System.out.println("The largest short value is " + largestshort + "."); System.out.println("The largest integer value is " + largestinteger + "."); System.out.println("The largest long value is " + largestlong + "."); System.out.println("The largest float value is " + largestfloat + "."); System.out.println("The largest double value is " + largestdouble + "."); if (Character.isUpperCase(aChar)) { System.out.println("The character " + achar + " is uppercase."); else { System.out.println("The character " + achar + " is lowercase."); System.out.println("The value of aboolean is " + aboolean + "."); 47 Aritmética em programas Java Operadores Aritméticos Binários Operador Uso Descrição + op1 + op2 Adiciona op1 e op2; também usado para concatenar - op1 - op2 Subtrai op2 de op1 * op1 * op2 Multiplica op1 por op2 / op1 / op2 Divide op1 por op2 % op1 % op2 Computa o resto da divisão de op1 por op2 48

25 Aritmética em programas Java: Exemplo4 /* Fonte: icdemo.java */ public class ArithmeticDemo { public static void main(string[] args) { //a few numbers int i = 37; int j = 42; double x = ; double y = 7.22; System.out.println("Variable values..."); System.out.println(" i = " + i); System.out.println(" j = " + j); System.out.println(" x = " + x); System.out.println(" y = " + y); //adding numbers System.out.println("Adding..."); System.out.println(" i + j = " + (i + j)); System.out.println(" x + y = " + (x + y)); //subtracting numbers System.out.println("Subtracting..."); System.out.println(" i - j = " + (i - j)); System.out.println(" x - y = " + (x - y)); 49 Aritmética em programas Java: Exemplo4 //multiplying numbers System.out.println("Multiplying..."); System.out.println(" i * j = " + (i * j)); System.out.println(" x * y = " + (x * y)); //dividing numbers System.out.println("Dividing..."); System.out.println(" i / j = " + (i / j)); System.out.println(" x / y = " + (x / y)); //computing the remainder resulting from dividing numbers System.out.println("Computing the remainder..."); System.out.println(" i % j = " + (i % j)); System.out.println(" x % y = " + (x % y)); //mixing types System.out.println("Mixing types..."); System.out.println(" j + y = " + (j + y)); System.out.println(" i * x = " + (i * x)); 50

26 Operadores relacionais Operadores Relacionais Operador Uso Descrição > op1 > op2 Retorna true se op1 é maior do que op2 >= op1 >= op2 Retorna true se op1 é maior ou igual à op2 < op1 < op2 Retorna true se op1 é menor do que op2 <= op1 <= op2 Retorna true se op1 é menor ou igual à op2 == op1 == op2 Retorna true se op1 e op2 são iguais!= op1!= op2 Retorna true se op1 e op2 não são iguais 51 Operadores Condicionais Ope radores Condicionais Operador Uso Descrição && op1 && op2 Retorna true se op1 e op2 são ambos verdadeiros; condicionalmente avalia op2 op1 op2 Retorna verdadeiro se op1 ou op2 é verdadeiro; condicionalmente avalia op2!!op Retorna verdadeiro se op é falso & op1 & op2 Retorna true se op1 e op2 são ambos lógicos e ambos verdadeiros; sempre avalia op1 e op2; se ambos são números, realiza operação AND bit a bit. op1 op2 Retorna verdadeiro se ambos op1 e op2 são lógicos e nenhum op1 ou op2 é verdadeiro; sempre avalia op1 e op2; se ambos operandos são números, realiza a operação ou bit a bit. ^ op1 ^ op2 Retorna verdadeiro se op1 e op2 são diferentes isto é, se um ou outro dos operandos, mas não ambos, é verdadeiro. 52

27 Operadores relacionais e condicionais: Exemplo 5 public class RelationalDemo { public static void main(string[] args) { //a few numbers int i = 37; int j = 42; int k = 42; System.out.println("Variable values..."); System.out.println(" i = " + i); System.out.println(" j = " + j); System.out.println(" k = " + k); //greater than System.out.println("Greater than..."); System.out.println(" i > j is " + (i > j)); //false System.out.println(" j > i is " + (j > i)); //true System.out.println(" k > j is " + (k > j)); //false //(they are equal) //greater than or equal to System.out.println("Greater than or equal to..."); System.out.println(" i >= j is " + (i >= j)); //false System.out.println(" j >= i is " + (j >= i)); //true System.out.println(" k >= j is " + (k >= j)); //true 53 Operadores relacionais e condicionais: Exemplo 5 //less than System.out.println("Less than..."); System.out.println(" i < j is " + (i < j)); //true System.out.println(" j < i is " + (j < i)); //false System.out.println(" k < j is " + (k < j)); //false //less than or equal to System.out.println("Less than or equal to..."); System.out.println(" i <= j is " + (i <= j)); //true System.out.println(" j <= i is " + (j <= i)); //false System.out.println(" k <= j is " + (k <= j)); //true //equal to System.out.println("Equal to..."); System.out.println(" i == j is " + (i == j)); //false System.out.println(" k == j is " + (k == j)); //true //not equal to System.out.println("Not equal to..."); System.out.println(" i!= j is " + (i!= j)); //true System.out.println(" k!= j is " + (k!= j)); //false 54

28 Operadores relacionais e condicionais: Exemplo 6 import java.util.scanner; public class Aritmética { public static void main(string[] args) { //Declaração de variáveis float x1=0, x2=0, a=0, b=0, c=0, delta; // cria um objeto Scanner Scanner scannerkeyboard = new Scanner(System.in); System.out.println("Calcula as raízes de uma eq. do 2 grau"); System.out.print("Please, enter with a:"); a= scannerkeyboard.nextfloat(); System.out.print("Please, enter with b:"); b= scannerkeyboard.nextfloat(); System.out.print("Please, enter with c:"); c= scannerkeyboard.nextfloat(); //calcula o valor de delta delta = ((float)math.pow(b,2)) - (4*a*c); 55 Operadores relacionais e condicionais: Exemplo 6 /* verifica qual o tipo de raiz * delta > 0 - duas raízes reais distintas * delta = 0 - duas raízes reais e iguais * delta < 0 - raízes complexas */ if (delta == 0){ // cálculo das raízes x1= (-b - (float) Math.sqrt(delta))/(2*a); x2= (-b + (float) Math.sqrt(delta))/(2*a); // Imprime resultado System.out.printf("x1=%f x2=%f",x1,x2); else if (delta > 0 ){ // cálculo das raízes x1=(-b - (float) Math.sqrt(delta))/(2*a);; x2= (-b + (float) Math.sqrt(delta))/(2*a); // Imprime resultado System.out.printf("x1=%7.3f x2=%7.3f",x1,x2); 56

29 Operadores relacionais e condicionais: Exemplo 6 else if (delta < 0){ //declaração de variáveis float x1real, x1imag, x2real, x2imag; // cálculo das raízes complexas x1real= -b /(2*a); x1imag = -(float) Math.sqrt(-1*delta)/(2*a); // x2real = -b /(2*a); x2imag= ((float) Math.sqrt(-1*delta))/(2*a); // Imprime resultado System.out.println("\nRaizes complexas:"); System.out.printf("x1=%5.3f + %5.3fj",x1Real,x1Imag); System.out.printf("\nx2=%5.3f - %5.3fj",x2Real,x2Imag); 57 Operadores relacionais e condicionais: import java.util.scanner; Exemplo 7 public class Fatorial { public static void main(string[] args) { // cria um objeto Scanner Scanner scannerkeyboard = new Scanner(System.in); // cria um objeto FatorialCalculate FatorialCalculate fatcalculate = new FatorialCalculate(); resutaldo // variáveis para o numero do fatorail a ser calculado e o long number =0; long result=0; // pede e lê o númeor System.out.print("\nPor favor, entre um número para calcular o fatorial:"); number=scannerkeyboard.nextlong(); // chama o método fatorial de FatorialCalculate result = fatcalculate.fatorial(number); // imprime o resultado System.out.printf("\nFatorial de %d! = %d",number,result); 58

30 public class FatorialCalculate { Operadores relacionais e condicionais: Exemplo 7 // método que calcula o fatorial de forma recursiva public long fatorial (long numero) { if (numero <= 1) return 1; else return numero * fatorial(numero-1); 59 Operadores relacionais e condicionais Exercício: - Crie um programa que calcule a potência de um circuito monofásico e trifásico dado tensão, corrente e fator de potência. - Crie um programa que calcule o fator de potência dado a potência trifásica, tensão de linha e corrente. 60

31 Classes e objetos Uma classe contém a descrição dos estados e do comportamento de um objeto. Um objeto é uma instância de uma classe. O estado de um objeto é descrito pelos atributos. O comportamento é descrito pelos métodos. 61 Classes e objetos Vários objetos podem ser instâncias de uma mesma classe, mas estes objetos são distintos e podem possuir estados iguais ou diferentes. Mesmo que vários objetos tenham sido instanciado de uma mesma classe, estes objetos continuam sendo distintos, ainda que o estado seja igual. 62

32 Classes e Objetos Declaração do pacote Biblioteca usadas Declaração de classe Variáveis (atributo) Construtor Métodos package biblioteca; import java.util.scanner; public class Livro { private String titulolivro; private String nomeautor; private String nomeeditora; *** public Livro(String titulolivro, String nomeautor, ***) { super(); this.titulolivro = titulolivro; this.nomeautor = nomeautor; this.nomeeditora = nomeeditora; *** public void print() { System.out.println("Titulo:" + titulolivro); System.out.println("Autor:" + nomeautor); System.out.println("Editora:" + nomeeditora); public String getisbn() { return this.isbn; public void setisbn(string isbn) { this.isbn = isbn; 63 *** Variáveis (Atributos) Elementos de Declaração de Variáveis Elemento Função (Optional) Nível de acesso para a variável: Visibilidade private, public, protected static final (Optional) Declara uma variável de classe (Optional) Indica que o valor da variável não pode ser mudado transient (Optional) Indica que o valor é transiente volatile (Optional) Indica que o valor é volátil tipo nome O tipo e o nome da variável 64

33 Variáveis de Instância (Atributos) package basic; import java.util.scanner; public class MathComplex { public static void main(string[] args) { // Declaracao de variaveis simples float real, imaginario; // Declaracao de variaveis de instancia (entrada de dados) Scanner keyboard = new Scanner(System.in); // Imprime mensagem System.out.println("Operacoes sobre numeros complexos"); // Le operando 1 System.out.println("Leitura do operando 1 "); System.out.println("Entre com a parte real : "); // Ler valor do teclado real = keyboard.nextfloat(); // Imprime mensagem System.out.println("Entre com a parte imag.:"); // Ler valor do teclado imaginario = keyboard.nextfloat(); // Cria um objeto instanciado de ComplexNumber // op1 é a variavel de instancia para este objeto ComplexNumber op1 = new ComplexNumber(real, imaginario); 65 Variáveis de Instância (Atributos) // Le operando 2 System.out.println("Leitura do operando 2 "); System.out.println("Entre com a parte real : "); // Ler valor do teclado real = keyboard.nextfloat(); // Imprime mensagem System.out.println("Entre com a parte imag.:"); // Ler valor do teclado imaginario = keyboard.nextfloat(); // Cria um objeto instanciado de ComplexNumber // op1 é a variavel de instancia para este objeto ComplexNumber op2 = new ComplexNumber(real, imaginario); // Realiza calculo op1.add(op2); //Imprime o resultado System.out.println("\n\n\nResultado:"); op1.print(); 66

34 Métodos Nível de acesso Nome do método public ComplexNumber add(complexnumber cnumber) Tipo de retorno Argumentos 67 Instruções de controle Declarações de Fluxo de Controle Tipo de declaração Laço Tomada de decisão Palavra-Chave while, do-while, for if-else, switch-case Manipulação de exceção try-catch-finally, throw Saltos break, continue, label:, return 68

35 Instruções de controle Exemplo: Multiplicação de Matrizes Primeiro índice índices Elemento no índice X = Instruções de controle Exemplo: Multiplicação de Matrizes // Le os elementos da matraiz A for (int i=0; i < mb; i++) for(int j=0; j < nb; j++){ System.out.printf("A[%d,%d]=",i,j); matrizb[i][j]= keyboard.nextfloat(); // Realiza multiplicacao for (int i = 0; i < ma; i++) for (int j = 0; j < nb; j++) for (int k = 0; k < na; k++) { matrizc[i][j] = matrizc[i][j] + matriza[i][k]* matrizb[k][j]; 70

36 Instruções de controle Exemplo: Biblioteca 71 Herança Abstrações mais gerais Veículo Veículo Terrestre Veículo Aéreo Carro Caminhão Moto Avião Helicóptero Extensão pela especialização 72

37 Herança package veiculo; public class Veiculo { *** package veiculo; public class VeiculoTerrestre extends Veiculo { private int numerorodas; private boolean tracaoanimal; public VeiculoTerrestre(String nome, float velocidade, float peso,***) { super(nome, velocidade, peso,***); this.numerorodas = numerorodas; this.tracaoanimal = tracaoanimal; *** 73 Herança package veiculo; public class Carro extends VeiculoTerrestre { private String renavam; private String placa; private String proprietario; private String fabricante; public Carro(String fabricante, String nome, String renavam, ***) { super(nome, velocidade, peso, ***); this.renavam = renavam; this.placa = placa; this.proprietario = proprietario; this.fabricante = fabricante; *** 74

38 Interface Uma interface define um protocolo de comportamento que pode ser implementado por uma classe. Define um conjunto de métodos, mas não os implementa. Somente as classes implementam métodos. 75 Interface Nível de acesso Nome da interface public interface NomeInterface <extends> <ParentInteface>{ public TipoRetorno NomeMetodo(argumentos); *** Tipo de retorno Nome do método Argumentos 76

39 Interface package pckinterf; public interface ItfCarro { public void parar(); public void acelerar(); public void stabilizar(float velocidade); public float getvelocidade(); public void estabelecerrota(string origem,string destino); 77 package pckinterf; Interface public class ControleSienaFire implements ItfCarro { private String name; private float velocidade; public ControleSienaFire(String name) { super(); this.name = name; public void acelerar() { this.velocidade = 60; System.out.println("Carro " + name + " está acelerando..."); return; public void estabelecerrota(string origem, String destino) { System.out.println("Carro " + name + " está traçando nova rota de " + origem + " para " + destino); return; *** 78

40 Interface package pckinterf; public class MainCarro { public static void main(string[] args) { ItfCarro carro = new ControleSienaFire("Siena"); carro.acelerar(); carro.getvelocidade(); carro.parar(); carro.stabilizar(90); float velocidade = carro.getvelocidade(); System.out.println("Velocidade atual= " + velocidade); 79 Programando com Threads Uma thread é uma linha de execução de um programa. Programa Uma thread Programa Duas threads 80

41 Programando com Threads A programação usando várias threads permite a realização de várias tarefas ao mesmo tempo (paralelas). Exemplo de um thread em Java: public class ClassName extends Thread { public void run() { // codigo do método run return; 81 Programando com Threads Métodos da classe Thread: run: primeiro método executado pela thread; start: inicia a execução da thread; join: espera pela finalização da execução da thread; sleep: faz a thread dormir durante um tempo determinado; isalive: teste se a thread está viva setpriority: específica o nível de prioridade de execução: MAX_PRIORITY MIN_PRIORITY NORM_PRIORITY. setname: específica o nome da threa; getname: retorna o nome da thread. 82

Objetivos da disciplina

Objetivos da disciplina Universidade Federal do Maranhão UFMA Campus do Bacanga São Luís Desenvolvimento de Sistemas de Software para Sistemas Embarcados Dr. Denivaldo Lopes Ano: 2006.2 novembro, 2006 1 Objetivos da disciplina

Leia mais

PRDS - Programa de Residência em Desenvolvimento de Software

PRDS - Programa de Residência em Desenvolvimento de Software PRDS - Programa de Residência em Desenvolvimento de Software Laboratório de Engenharia de Software (LES) da PUC-Rio Carlos Lucena lucena@inf.puc-rio.br Rodrigo Paes rbp@les.inf.puc-rio.br Gustavo Carvalho

Leia mais

UNIVERSIDADE. Sistemas Distribuídos

UNIVERSIDADE. Sistemas Distribuídos UNIVERSIDADE Sistemas Distribuídos Ciência da Computação Prof. Jesus José de Oliveira Neto Web Services Web Services Existem diferentes tipos de comunicação em um sistema distribuído: Sockets Invocação

Leia mais

Objetos Distribuídos - Programação Distribuída Orientado a Objetos. Luiz Affonso Guedes

Objetos Distribuídos - Programação Distribuída Orientado a Objetos. Luiz Affonso Guedes Objetos Distribuídos - Programação Distribuída Orientado a Objetos Luiz Affonso Guedes Introdução Conceitos básicos programação distribuída + programação orientada a objetos = Objetos distribuídos Motivação

Leia mais

INF1337 LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS

INF1337 LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS INF1337 LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS Departamento de Informática PUC-Rio Andrew Diniz da Costa andrew@les.inf.puc-rio.br Programa Capítulo 2 Visão Geral da Tecnologia Java Aplicação Hello

Leia mais

Desenvolvimento Web TCC-00.226 Turma A-1

Desenvolvimento 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 mais

2 Orientação a objetos na prática

2 Orientação a objetos na prática 2 Orientação a objetos na prática Aula 04 Sumário Capítulo 1 Introdução e conceitos básicos 1.4 Orientação a Objetos 1.4.1 Classe 1.4.2 Objetos 1.4.3 Métodos e atributos 1.4.4 Encapsulamento 1.4.5 Métodos

Leia mais

Programação WEB Introdução

Programação WEB Introdução Programação WEB Introdução Rafael Vieira Coelho IFRS Instituto Federal de Educação, Ciência e Tecnologia do Rio Grande do Sul Campus Farroupilha rafael.coelho@farroupilha.ifrs.edu.br Roteiro 1) Conceitos

Leia mais

Orientação a Objetos em Java. Leonardo Gresta Paulino Murta leomurta@ic.uff.br

Orientação a Objetos em Java. Leonardo Gresta Paulino Murta leomurta@ic.uff.br Orientação a Objetos em Java Leonardo Gresta Paulino Murta leomurta@ic.uff.br Agenda Introdução; Orientação a Objetos; Orientação a Objetos em Java; Leonardo Murta Orientação a Objetos em Java 2 Agosto/2007

Leia mais

Programação de Computadores - I. Profª Beatriz Profº Israel

Programação de Computadores - I. Profª Beatriz Profº Israel Programação de Computadores - I Profª Beatriz Profº Israel As 52 Palavras Reservadas O que são palavras reservadas São palavras que já existem na linguagem Java, e tem sua função já definida. NÃO podem

Leia mais

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

Sistemas 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 mais

Trabalho de Sistemas Distribuídos

Trabalho de Sistemas Distribuídos Cássio de Olivera Ferraz Trabalho de Sistemas Distribuídos Petrópolis 2015, v-1.0 Cássio de Olivera Ferraz Trabalho de Sistemas Distribuídos Trabalho sobre sistemas distribuídos e suas tecnologias. Universidade

Leia mais

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

2 Conceitos relativos a Web services e sua composição 15 2 Conceitos relativos a Web services e sua composição A necessidade de flexibilidade na arquitetura das aplicações levou ao modelo orientado a objetos, onde os processos de negócios podem ser representados

Leia mais

Programação Orientada a Objetos

Programaçã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 mais

Algoritmos e Programação 2. Introdução à Programação Orientada a Objetos. Orientação a Objetos. O que é um paradigma de programação?

Algoritmos e Programação 2. Introdução à Programação Orientada a Objetos. Orientação a Objetos. O que é um paradigma de programação? Algoritmos e Programação 2 Baseado no material do Prof. Júlio Pereira Machado Introdução à Programação Orientada a Objetos O que é um paradigma de programação? É um padrão conceitual que orienta soluções

Leia mais

Tecnologia Java. Daniel Destro do Carmo Softech Network Informática daniel@danieldestro.com.br

Tecnologia Java. Daniel Destro do Carmo Softech Network Informática daniel@danieldestro.com.br Tecnologia Java Daniel Destro do Carmo Softech Network Informática daniel@danieldestro.com.br Origem da Tecnologia Java Projeto inicial: Oak (liderado por James Gosling) Lançada em 1995 (Java) Tecnologia

Leia mais

Service Oriented Architecture SOA

Service 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 mais

UNIVERSIDADE FEDERAL DO PARANÁ

UNIVERSIDADE FEDERAL DO PARANÁ CURSO: Ciência da Computação DATA: / / 2013 PERÍODO: 4 o. PROFESSOR: Andrey DISCIPLINA: Técnicas Alternativas de Programação AULA: 02 APRESENTAÇÃO: Apresentação; conceitos básicos da linguagem java; estrutura

Leia mais

UNIVERSIDADE. Sistemas Distribuídos

UNIVERSIDADE. Sistemas Distribuídos UNIVERSIDADE Sistemas Distribuídos Ciência da Computação Prof. Jesus José de Oliveira Neto Web Services (continuação) WSDL - Web Service Definition Language WSDL permite descrever o serviço que será oferecido

Leia mais

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

Uma Introdução à Arquitetura CORBA. O Object Request Broker (ORB) Uma Introdução à Arquitetura Francisco C. R. Reverbel 1 Copyright 1998-2006 Francisco Reverbel O Object Request Broker (ORB) Via de comunicação entre objetos (object bus), na arquitetura do OMG Definido

Leia mais

Linguagens de. Aula 02. Profa Cristiane Koehler cristiane.koehler@canoas.ifrs.edu.br

Linguagens de. Aula 02. Profa Cristiane Koehler cristiane.koehler@canoas.ifrs.edu.br Linguagens de Programação III Aula 02 Profa Cristiane Koehler cristiane.koehler@canoas.ifrs.edu.br Linguagens de Programação Técnica de comunicação padronizada para enviar instruções a um computador. Assim

Leia mais

Desenvolvimento Web com JSP/Servlets

Desenvolvimento 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 mais

Ambientes Visuais. Ambientes Visuais

Ambientes Visuais. Ambientes Visuais Ambientes Visuais Inicialmente, apenas especialistas utilizavam os computadores, sendo que os primeiros desenvolvidos ocupavam grandes áreas e tinham um poder de processamento reduzido. Porém, a contínua

Leia mais

A utilização do JSWDP para construção de Web Services

A utilização do JSWDP para construção de Web Services A utilização do JSWDP para construção de Web Services Fabiana Ferreira Cardoso 1, Francisco A. S. Júnior 1, Madianita Bogo 1 1 Centro de Tecnologia da Informação Centro Universitário Luterano de Palmas

Leia mais

Java - Introdução. Professor: Vilson Heck Junior. vilson.junior@ifsc.edu.br

Java - Introdução. Professor: Vilson Heck Junior. vilson.junior@ifsc.edu.br Java - Introdução Professor: Vilson Heck Junior vilson.junior@ifsc.edu.br Agenda O que é Java? Sun / Oracle. IDE - NetBeans. Linguagem Java; Maquina Virtual; Atividade Prática. Identificando Elementos

Leia mais

CORBA. Common Object Request Broker Architecture. Unicamp. Centro de Computação Rubens Queiroz de Almeida queiroz@unicamp.br

CORBA. Common Object Request Broker Architecture. Unicamp. Centro de Computação Rubens Queiroz de Almeida queiroz@unicamp.br CORBA Common Object Request Broker Architecture Unicamp Centro de Computação Rubens Queiroz de Almeida queiroz@unicamp.br Objetivos Apresentação Tecnologia CORBA Conceitos Básicos e Terminologia Considerações

Leia mais

Marco Aurélio malbarbo@din.uem.br. Uma Visão Geral Sobre Plataforma Java

Marco Aurélio malbarbo@din.uem.br. Uma Visão Geral Sobre Plataforma Java RedFoot J Dukes Uma Visão Geral Sobre Plataforma Java Marco Aurélio malbarbo@din.uem.br 1 Roteiro Objetivos Plataforma Java Linguagem de Programação Maquina Virtual Tecnologias Conclusão 2 Objetivos Geral

Leia mais

XML e Banco de Dados. Prof. Daniela Barreiro Claro DCC/IM/UFBA

XML e Banco de Dados. Prof. Daniela Barreiro Claro DCC/IM/UFBA XML e Banco de Dados DCC/IM/UFBA Banco de Dados na Web Armazenamento de dados na Web HTML muito utilizada para formatar e estruturar documentos na Web Não é adequada para especificar dados estruturados

Leia mais

Consumindo um Web Service através de uma Aplicação Comercial em Android. Alex Malmann Becker www.alex.porthal.com.br alex@porthal.com.

Consumindo um Web Service através de uma Aplicação Comercial em Android. Alex Malmann Becker www.alex.porthal.com.br alex@porthal.com. Consumindo um Web Service através de uma Aplicação Comercial em Android Alex Malmann Becker www.alex.porthal.com.br alex@porthal.com.br 08/2014 Agenda Introdução Conceitos Web Service Por que utilizar

Leia mais

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

Web services. Um web service é qualquer software que está disponível através da Internet através de uma interface XML. Web services Um web service é qualquer software que está disponível através da Internet através de uma interface XML. XML é utilizado para codificar toda a comunicação de/para um web service. Web services

Leia mais

UFG - Instituto de Informática

UFG - 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 mais

Aula 09 Introdução à Java. Disciplina: Fundamentos de Lógica e Algoritmos Prof. Bruno Gomes http://www.profbrunogomes.com.br/

Aula 09 Introdução à Java. Disciplina: Fundamentos de Lógica e Algoritmos Prof. Bruno Gomes http://www.profbrunogomes.com.br/ Aula 09 Introdução à Java Disciplina: Fundamentos de Lógica e Algoritmos Prof. Bruno Gomes http://www.profbrunogomes.com.br/ Agenda da Aula Java: Sintaxe; Tipos de Dados; Variáveis; Impressão de Dados.

Leia mais

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

Web 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 mais

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

Princípios de Sistemas Distribuídos. Tecnologias utilizadas em sistemas distribuídos Aula 5 Princípios de Sistemas Distribuídos Tecnologias utilizadas em sistemas distribuídos Aula 5 Conceitos de comunicação entre processos Interprocess Communication (IPC) Sistemas distribuídos são construídos

Leia mais

Linguagem de Programação JAVA. Técnico em Informática Professora Michelle Nery

Linguagem de Programação JAVA. Técnico em Informática Professora Michelle Nery Linguagem de Programação JAVA Técnico em Informática Professora Michelle Nery Agenda Regras paravariáveis Identificadores Válidos Convenção de Nomenclatura Palavras-chaves em Java Tipos de Variáveis em

Leia mais

Curso de Java. Geração de Páginas WEB. TodososdireitosreservadosKlais

Curso 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 mais

Linguagem de Programação Introdução a Linguagem Java

Linguagem de Programação Introdução a Linguagem Java Linguagem de Programação Introdução a Linguagem Java Rafael Silva Guimarães Instituto Federal do Espírito Santo Campus Cachoeiro de Itapemirim Definição A linguagem Java foi desenvolvida pela Sun Microsystems,

Leia mais

Sistemas Distribuídos Comunicação entre Processos em Sistemas Distribuídos: Middleware de comunicação Aula II Prof. Rosemary Silveira F. Melo Comunicação em sistemas distribuídos é um ponto fundamental

Leia mais

JAVA. Fabrício de Sousa fabbricio7@yahoo.com.br

JAVA. Fabrício de Sousa fabbricio7@yahoo.com.br JAVA Fabrício de Sousa fabbricio7@yahoo.com.br Agenda 2 Características Ambientes de Desenvolvimento Sintaxe Comentários Tipos de dados primitivos Caracteres especiais Variáveis Operadores Aritméticos

Leia mais

Componentes para Computação Distribuída

Componentes para Computação Distribuída Componentes para Computação Distribuída Conceitos Foi a partir do fenômeno da Internet (WWW), no início dos anos noventa, que a computação distribuída passou a ter relevância definitiva, a ponto de a Internet

Leia mais

Programação Paralela e Distribuída. Prof. Cidcley T. de Souza

Programação Paralela e Distribuída. Prof. Cidcley T. de Souza Programação Paralela e Distribuída Prof. Cidcley T. de Souza Conteúdo Parte I Introdução aos Sockets Tipos de Sockets Classes Java: InetAddress, Datagram Sockets, Stream Sockets, Output e Input Classes

Leia mais

WWW - World Wide Web

WWW - 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 mais

Programação com sockets (em Java)

Programação com sockets (em Java) com sockets (em Java) Prof. Dr. Julio Arakaki Depto. Ciência da 1 Comunicação entre processos // aplicações - é um dos mecanismos mais utilizados - Java oferece modos de utilização:. TCP ( Transmission

Leia mais

EMENTA DO CURSO. Tópicos:

EMENTA DO CURSO. Tópicos: EMENTA DO CURSO O Curso Preparatório para a Certificação Oracle Certified Professional, Java SE 6 Programmer (Java Básico) será dividido em 2 módulos e deverá ter os seguintes objetivos e conter os seguintes

Leia mais

3 Serviços na Web (Web services)

3 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 mais

Web Services. (Introdução)

Web 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 mais

Introdução a Linguagem

Introdução a Linguagem Introdução a Linguagem Prof. Edwar Saliba Júnior Fevereiro de 2011 Unidade 03 Introdução a Linguagem Java 1 Conteúdo Máquina Virtual (JVM) Histórico de Java Case Sensitive Tipos Primitivos Tipo String

Leia mais

Web 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: 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 mais

GLOSSÁRIO. ActiveX Controls. É essencialmente uma interface usada para entrada e saída de dados para uma aplicação.

GLOSSÁ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 mais

Middleware. Camada Intermediária de Suporte a Sistemas Distribuídos

Middleware. Camada Intermediária de Suporte a Sistemas Distribuídos Middleware Camada Intermediária de Suporte a Sistemas Distribuídos Alternativas de comunicação entre processos (IPC) Mecanismos de IPC tradicionais (ou de baixo nível) Memória compartilhada, filas de mensagens,

Leia mais

A Linguagem Java. Alberto Costa Neto DComp - UFS

A Linguagem Java. Alberto Costa Neto DComp - UFS A Linguagem Java Alberto Costa Neto DComp - UFS 1 Roteiro Comentários Variáveis Tipos Primitivos de Dados Casting Comandos de Entrada e Saída Operadores Constantes 2 Comentários /** Classe para impressão

Leia mais

Universidade Federal de Uberlândia

Universidade Federal de Uberlândia Universidade Federal de Uberlândia Programação Orientada a Objetos I Introdução a Java Sintaxe básica OO Prof. Fabiano Azevedo Dorça Em Java, cada classe dá origem a um arquivo.java contendo o código fonte.

Leia mais

Universidade da Beira Interior Cursos: Matemática /Informática e Ensino da Informática

Universidade da Beira Interior Cursos: Matemática /Informática e Ensino da Informática Folha 1-1 Introdução à Linguagem de Programação JAVA 1 Usando o editor do ambiente de desenvolvimento JBUILDER pretende-se construir e executar o programa abaixo. class Primeiro { public static void main(string[]

Leia mais

Cliente/Servidor. Conceitos Gerais. Graça Bressan. Graça Bressan/LARC 2000 1

Cliente/Servidor. Conceitos Gerais. Graça Bressan. Graça Bressan/LARC 2000 1 Cliente/Servidor Conceitos Gerais Graça Bressan Graça Bressan/LARC 2000 1 Forças de marketing que conduzem à arquitetura cliente/servidor "Cliente/Servidor é um movimento irresistível que está reformulando

Leia mais

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

SOA Introdução. SOA Visão Departamental das Organizações 1 Introdução A Organização é a forma pela qual nós coordenamos nossos recursos de todos os tipos para realizar o trabalho que nos propusemos a fazer. A estrutura de nossas organizações manteve-se basicamente

Leia mais

P n o t n ifíci c a a Un U i n ve v r e si s da d d a e d e C a C t a ól ó ica c a d o d o R i R o o d e d e J a J n a e n i e ro o PU P C U -Ri R o

P n o t n ifíci c a a Un U i n ve v r e si s da d d a e d e C a C t a ól ó ica c a d o d o R i R o o d e d e J a J n a e n i e ro o PU P C U -Ri R o Curso: Técnico em Informática Campus: Ipanguaçu José Maria Monteiro Pontifícia Universidade Católica do Rio de Janeiro PUC-Rio Departamento Clayton Maciel de Informática Costa clayton.maciel@ifrn.edu.br

Leia mais

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

Associaçã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 mais

1ª QUESTÃO Linguagem C Vantagens: Desvantagens: Linguagem C++ Vantagens: Desvantagens:

1ª QUESTÃO Linguagem C Vantagens: Desvantagens: Linguagem C++ Vantagens: Desvantagens: 1ª QUESTÃO Linguagem C Vantagens: É uma linguagem simples que nos permite trabalhar com funções matemáticas, ficheiros, entre outras sendo necessário para tal a inclusão de bibliotecas padrão as quais

Leia mais

World Wide Web e Aplicações

World 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 mais

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

Padrã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 mais

Sintaxe Geral Tipos de Dados. Prof. Angelo Augusto Frozza, M.Sc.

Sintaxe Geral Tipos de Dados. Prof. Angelo Augusto Frozza, M.Sc. Sintaxe Geral Tipos de Dados Comentários Comentários: De linha: // comentário 1 // comentário 2 De bloco: /* linha 1 linha 2 linha n */ De documentação: /** linha1 * linha2 */ Programa Exemplo: ExemploComentario.java

Leia mais

PADI 2015/16. Aula 1 Introdução à Plataforma.NET

PADI 2015/16. Aula 1 Introdução à Plataforma.NET PADI 2015/16 Aula 1 Introdução à Plataforma.NET 1 Sumário 1. Framework.NET Arquitectura 2. Linguagem C# 2.0 Sintaxe C# vs. Java vs. C++ 3. IDE: MS Visual Studio 2005 ou superior Ferramentas Console/Win

Leia mais

Sistemas Distribuídos na WEB (Plataformas para Aplicações Distribuídas) XML Origens. HTML Problemas

Sistemas Distribuídos na WEB (Plataformas para Aplicações Distribuídas) XML Origens. HTML Problemas Sistemas Distribuídos na WEB (Plataformas para Aplicações Distribuídas) (extensible( Markup Language ) Origens (extensible Markup Language linguagem de marcação extensível) Criada em 1996 pelo W3C (World

Leia mais

Sistemas Distribuídos Capítulos 3 e 4 - Aula 4

Sistemas Distribuídos Capítulos 3 e 4 - Aula 4 Sistemas Distribuídos Capítulos 3 e 4 - Aula 4 Aula passada Threads Threads em SDs Processos Clientes Processos Servidores Aula de hoje Clusters de Servidores Migração de Código Comunicação (Cap. 4) Fundamentos

Leia mais

Arquiteturas de Aplicações Distribuídas

Arquiteturas de Aplicações Distribuídas Arquiteturas de Aplicações Distribuídas Fernando Albuquerque 061-2733589 fernando@cic.unb.br www.cic.unb.br/docentes/fernando Tópicos Introdução. HTTP / CGI. API sockets. JDBC. Remote Method Invocation.

Leia mais

SISTEMAS DISTRIBUIDOS

SISTEMAS 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 mais

Java. Marcio de Carvalho Victorino www.dominandoti.eng.br

Java. Marcio de Carvalho Victorino www.dominandoti.eng.br Java Marcio de Carvalho Victorino www.dominandoti.eng.br 3. Considere as instruções Java abaixo: int cont1 = 3; int cont2 = 2; int cont3 = 1; cont1 += cont3++; cont1 -= --cont2; cont3 = cont2++; Após a

Leia mais

CAPÍTULO 7 JAVA 7.1 CARACTERÍSTICAS DA LINGUAGEM

CAPÍTULO 7 JAVA 7.1 CARACTERÍSTICAS DA LINGUAGEM CAPÍTULO 7 JAVA Java é uma linguagem orientada a objeto cujo projeto foi desenvolvido pela Sun Microsystems no início de 1991. Ela foi originalmente concebida para ser utilizada na programação de dispositivos

Leia mais

Prof. M.Sc. Fábio Procópio Prof. M.Sc. João Maria Criação: Fev/2010

Prof. M.Sc. Fábio Procópio Prof. M.Sc. João Maria Criação: Fev/2010 Prof. M.Sc. Fábio Procópio Prof. M.Sc. João Maria Criação: Fev/2010 Primeira Dica Afirmação O que é Java? Características do Java Como Java Funciona Plataforma Java Edições Java Java SE Java EE Java ME

Leia mais

Programação Orientada a Objetos

Programação Orientada a Objetos Programação Orientada a Objetos Prof. Francisco de Assis S. Santos, Dr. São José, 2014. Introdução ao Java: Definições Linguagem desenvolvida pela SUN para manter o poder computacional do C++ e promover

Leia mais

PRnet/2013. Linguagem de Programação Web

PRnet/2013. Linguagem de Programação Web Linguagem de Programação Web Linguagem de Programação Web Prnet/2013 Linguagem de Programação Web» Programas navegadores» Tipos de URL» Protocolos: HTTP, TCP/IP» Hipertextos (páginas WEB)» HTML, XHTML»

Leia mais

Middleware de Aplicações Paralelas/Distribuídas

Middleware de Aplicações Paralelas/Distribuídas Computação Paralela Middleware de Aplicações Paralelas/Distribuídas João Luís Ferreira Sobral Departamento do Informática Universidade do Minho Outubro 2005 Principais aspectos a gerir pelo Middleware

Leia mais

Curso Adonai QUESTÕES Disciplina Linguagem JAVA

Curso Adonai QUESTÕES Disciplina Linguagem JAVA 1) Qual será o valor da string c, caso o programa rode com a seguinte linha de comando? > java Teste um dois tres public class Teste { public static void main(string[] args) { String a = args[0]; String

Leia mais

Conceitos Básicos da Linguagem Java. Prof. Leonardo Barreto Campos 1

Conceitos Básicos da Linguagem Java. Prof. Leonardo Barreto Campos 1 Conceitos Básicos da Linguagem Java Prof. Leonardo Barreto Campos 1 Sumário Introdução; Histórico do Java; Características do Java; Compilação de um Programa em Java; Modificando o Primeiro Programa em

Leia mais

Introdução à Linguagem Java

Introdução à Linguagem Java Introdução à Linguagem Java Histórico: Início da década de 90. Pequeno grupo de projetos da Sun Microsystems, denominado Green. Criar uma nova geração de computadores portáveis, capazes de se comunicar

Leia mais

Introdução à Linguagem Java

Introdução à Linguagem Java Introdução à Linguagem Java A linguagem Java surgiu em 1991 quando cientistas da Sun, liderados por Patrick Naughton e James Gosling, projetaram uma linguagem pequena para ser utilizada em eletrodomésticos

Leia mais

Curso de Aprendizado Industrial Desenvolvedor WEB

Curso 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 mais

Técnicas de Programação II

Técnicas de Programação II Técnicas de Programação II Aula 01 Introdução à Linguagem Java Edirlei Soares de Lima Paradigmas de Programação Um paradigma de programação consiste na filosofia adotada na

Leia mais

Programação por Objectos. Java

Programação por Objectos. Java Programação por Objectos Java Parte 1: Introdução MEEC@IST Java 1/27 História versões (1) [1995] Versão 1.0, denominada Java Development Kit (JDK) 212 classes em 8 pacotes Lento, muitos bugs, mas com Applets

Leia mais

Sistemas Distribuídos

Sistemas 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 mais

CONCEITOS DE LINGUAGEM DE PROGRAMAÇÃO CARACTERÍSTICAS. João Gabriel Ganem Barbosa

CONCEITOS DE LINGUAGEM DE PROGRAMAÇÃO CARACTERÍSTICAS. João Gabriel Ganem Barbosa CONCEITOS DE LINGUAGEM DE PROGRAMAÇÃO CARACTERÍSTICAS João Gabriel Ganem Barbosa Sumário Motivação História Linha do Tempo Divisão Conceitos Paradigmas Geração Tipos de Dados Operadores Estruturada vs

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Sistemas Distribuídos LICENCIATURA EM COMPUTAÇÃO Prof. Adriano Avelar Site: www.adrianoavelar.com Email: eam.avelar@gmail.com Mecanismos de Comunicação Protocolos de Aplicação Mecanismos de comunicação

Leia mais

Desenvolvimento de Aplicações Web. Prof. José Eduardo A. de O. Teixeira www.vqv.com.br / j.edu@vqv.com.br

Desenvolvimento de Aplicações Web. Prof. José Eduardo A. de O. Teixeira www.vqv.com.br / j.edu@vqv.com.br Desenvolvimento de Aplicações Web Programação Contextualização de aplicações Web: navegadores e servidores como interpretadores, tecnologias do lado do cliente (XHTML, CSS, Javascript) e do lado do servidor

Leia mais

Web Technologies. Tópicos da apresentação

Web Technologies. Tópicos da apresentaçã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

Leia mais

JAVA. Introdução. Marcio de Carvalho Victorino. Page 1 1/40 2/40

JAVA. Introdução. Marcio de Carvalho Victorino. Page 1 1/40 2/40 JAVA Marcio de Carvalho Victorino 1/40 Introdução 2/40 Page 1 Programação OO Elementos do modelo OO: Abstração: é o processo de abstrair as características essenciais de um objeto real. O conjunto de características

Leia mais

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

Universidade Federal de Juiz de Fora Ciência da Computação Sistemas Distribuídos Professor Ciro Barbosa Universidade Federal de Juiz de Fora Ciência da Computação Sistemas Distribuídos Professor Ciro Barbosa Web Service Plínio Antunes Garcia Sam Ould Mohamed el Hacen Sumário Introdução conceitual O Web Service

Leia mais

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

Linguagem 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 mais

Linguagem de Programação Orientada a Objeto. Introdução a Orientação a Objetos Professora Sheila Cáceres

Linguagem de Programação Orientada a Objeto. Introdução a Orientação a Objetos Professora Sheila Cáceres Linguagem de Programação Orientada a Objeto Introdução a Orientação a Objetos Professora Sheila Cáceres Introdução a Orientação a Objetos No mundo real, tudo é objeto!; Os objetos se relacionam entre si

Leia mais

ASP.NET. Guia do Desenvolvedor. Felipe Cembranelli. Novatec Editora. www.novateceditora.com.br

ASP.NET. Guia do Desenvolvedor. Felipe Cembranelli. Novatec Editora. www.novateceditora.com.br ASP.NET Guia do Desenvolvedor Felipe Cembranelli Novatec Editora www.novateceditora.com.br 1 Introdução à plataforma.net A plataforma Microsoft.NET.NET é uma nova plataforma de software para desenvolvimento

Leia mais

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 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 mais

PROGRAMAÇÃO ORIENTADA A OBJETOS EM JAVA*

PROGRAMAÇÃO ORIENTADA A OBJETOS EM JAVA* PROGRAMAÇÃO ORIENTADA A OBJETOS EM JAVA* Adair Santa Catarina Curso de Ciência da Computação Unioeste Campus de Cascavel PR Fev/2014 *Adaptado de PACHECO, R C S & RIEKE, R N INE UFSC Disponível em: http://wwwstelaufscbr/~pacheco/dsoo/htm/downloadshtm

Leia mais

Java Laboratório Aula 1. Divisões da Plataforma. Introdução a Plataforma Java. Visão geral da arquitetura da

Java Laboratório Aula 1. Divisões da Plataforma. Introdução a Plataforma Java. Visão geral da arquitetura da Java Laboratório Aula 1 Programação orientada a objetos Profa. Renata e Cristiane Introdução a Plataforma Java O que é Java? Tecnologia Linguagem de Programação Ambiente de Execução (JVM) Tudo isso é a

Leia mais

Definições. Parte 02. Java Conceitos e. Desenvolvimento de Programação Orientada a Objetos. Prof. Pedro Neto

Definições. Parte 02. Java Conceitos e. Desenvolvimento de Programação Orientada a Objetos. Prof. Pedro Neto Java Conceitos e Definições Parte 02 Prof. Pedro Neto Aracaju Sergipe - 2011 Conteúdo 2 O que é Java i. Java ii. Máquina Virtual iii. Java lento? Hotspot e JIT iv. Versões do Java e a confusão do Java2

Leia mais

O que significa programar e a razão da sua importância. os sistemas informáticos dependem da interacção de inúmeros programas

O que significa programar e a razão da sua importância. os sistemas informáticos dependem da interacção de inúmeros programas Capítulo 1 Introdução Enquadramento da disciplina O que significa programar e a razão da sua importância basilar em qualquer curso de computação os sistemas informáticos dependem da interacção de inúmeros

Leia mais

Uso de servlets nas aplicações web desenvolvidas para a plataforma java 1

Uso de servlets nas aplicações web desenvolvidas para a plataforma java 1 Uso de servlets nas aplicações web desenvolvidas para a plataforma java 1 Resumo Em uma interação feita em uma aplicação Web existem tarefas que devem ser executadas no servidor, tais como processamento

Leia mais

Invocação de Métodos Remotos

Invocação de Métodos Remotos Invocação de Métodos Remotos Java RMI (Remote Method Invocation) Tópicos Tecnologia RMI Introdução Modelo de camadas do RMI Arquitetura Fluxo de operação do RMI Passos para implementação Estudo de caso

Leia mais

Aula 2. Objetivos. Encapsulamento na linguagem Java; Utilizando a referência this.

Aula 2. Objetivos. Encapsulamento na linguagem Java; Utilizando a referência this. Aula 2 Objetivos Encapsulamento na linguagem Java; Utilizando a referência this. Encapsulamento, data hiding é um conceito bastante importante em orientação a objetos. É utilizado para restringir o acesso

Leia mais

Um pouco do Java. Prof. Eduardo

Um pouco do Java. Prof. Eduardo Um pouco do Java Prof. Eduardo Introdução A tecnologia JAVA é composta pela linguagem de programação JAVA e pela plataforma de desenvolvimento JAVA. Os programas são escritos em arquivos-texto com a extensão.java.

Leia mais

Chamadas Remotas de Procedimentos (RPC) O Conceito de Procedimentos. RPC: Programa Distribuído. RPC: Modelo de Execução

Chamadas Remotas de Procedimentos (RPC) O Conceito de Procedimentos. RPC: Programa Distribuído. RPC: Modelo de Execução Chamadas Remotas de Chamada Remota de Procedimento (RPC) ou Chamada de Função ou Chamada de Subrotina Método de transferência de controle de parte de um processo para outra parte Procedimentos => permite

Leia mais