Download Examen Febrero 2005

Document related concepts
no text concepts found
Transcript
EXAMEN SERVIDORES INFORMACIÓN
Curso 2004-2005
Febrero 2005
La duración del examen es de 90 minutos.
No se permiten libros ni apuntes ni calculadoras
La puntuación del examen es de 8 puntos
Problema 1. (1 punto)
Implementar un Servlet que devuelva una página HTML que muestre el texto “Hola
compis” cuando se reciba una petición tipo GET.
Problema 2. (2 puntos)
En un cliente Java que accede a un EJB observamos el siguiente código:
import
import
import
import
import
javax.naming.*;
javax.ejb.*;
javax.rmi.*;
java.util.*;
props.*;
// ...
Properties env = new Properties();
env.put( "java.naming.factory.initial",
"desisoft.ejb.client.JRMPFactory" );
env.put( "desisoft.ejb.nameServer1",
"localhost:2050" );
Context ctx = new InitialContext( env );
PropsHome home =
(PropsHome) ctx.lookup( "Props" );
donde no se está usando el mecanismo “estandar” para hacer el casting de la interfaz
Home.
A ¿Podrías cambiar la última instrucción mostrada para seguir el estándar según lo visto
en clase? (0,5 puntos)
B Si se está accediendo a un bean de entidad. Proponer el código mínimo necesario para
la interfaz Home. (0,5 puntos)
C. Si se tratara de un bean de sesión sin estado, y la interfaz componente no tuviera
ningún método (no es un caso real) codificar la clase PropsBean que implemente el
bean (1 punto)
Problema 3. (1 punto)
Vamos a jugar ahora al juego de encontrar errores. El código siguiente contiene 7
errores. ¿Sabrías cuáles son?
1
<?xml version="8.0"?>
<definitions name="StockQuote"
targetNamespace="http://example.com/stockquote.wsdl"
xmlns:tns="http://example.com/stockquote.wsdl"
xmlns:xsd1="http://example.com/stockquote.xsd"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns="http://schemas.xmlsoap.org/wsdl/">
<types>
<schema targetNamespace="http://example.com/stockquote.xsd"
xmlns="http://www.w3.org/2000/10/XMLSchema">
<element name="tns:TradePriceRequest">
<complexType>
<all>
<element name="tickerSymbol" type="string"/>
</all>
</complexType>
</element>
<element name="tns:TradePrice">
<complexType>
<all>
<element name="price" type="float"/>
</all>
</complexType>
</element>
</schema>
</types>
<message name="GetLastTradePriceInput">
<part name="body" element="xsd1:TradePriceRequest"/>
</message>
<message name="GetLastTradePriceOutput">
<part name="body" element="xsd1:TradePrice"/>
</message>
<portType name="StockQuotePortType">
<operation name="GetLastTradePrice">
<in message="tns:GetLastTradePriceInput"/>
<out message="tns:GetLastTradePriceOutput"/>
</operation>
</portType>
<binding name="StockQuoteSoapBinding" type="tns:StockQuotePortType">
<soap:binding style="document"
transport="http://schemas.xmlsoap.org/soap/http"/>
<operation name="GetLastTradePrice">
<soap:operation soapAction="http://example.com/GetLastTradePrice"/>
<input>
<soap:body use="literal"/>
</input>
<output>
<soap:body use="literal"/>
</output>
</operation>
</binding>
<service name="StockQuoteService">
<documentation>My first service<documentation/>
<port name="StockQuotePortBinding" binding="tns:StockQuoteSoapBinding">
<soap:address location="http://example.com/stockquote"/>
</port>
</service>
</definitions>
2
Problema 4. (2 puntos)
Dado el MIDlet siguiente:
package example.sum;
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
import java.io.IOException;
public class SumMIDlet
extends MIDlet
{
private final SumScreen screen;
public SumMIDlet()
{
String servletUrl = getAppProperty("Servlet-URL");
screen = new SumScreen(this, servletUrl);
}
public void startApp()
{
Display.getDisplay(this).setCurrent(screen);
}
public void pauseApp()
{
}
public void destroyApp(boolean unconditional)
{
}
void sumScreenQuit()
{
destroyApp(false);
notifyDestroyed();
}
}
Implementar la clase SumScreen para que extienda a la clase TextBox y permita al
usuario introducir un número y pulsar un “soft button” que mande un POST HTTP a la
URL mostrada en el código anterior (para simplificar el ejercicio no hace falta esperar la
respuesta, simplemente enviar el POST).
Pregunta 5. (2 puntos)
Comente todo lo que pueda sobre la firma de documentos XML.
3