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