Archive

Archives de l'auteur

Applications REST sur le Google App Engine

Bien que très complet, l’App Engine de Google n’intègre pas la gestion des ressources REST. Voici comment la lui ajouter :

  1. Télécharger la dernière version de jersey ou l’intégrer à maven ;
  2. Ajouter les JAR suivants dans le répertoire /war/WEB-INF/lib :
  3. asm-xxx.jar
    jackson-core-asl-xxx.jar
    jersey-client-xxx-ea-SNAPSHOT.jar
    jersey-core-xxx-ea-SNAPSHOT.jar
    jersey-json-xxx-ea-SNAPSHOT.jar
    jersey-server-xxx-ea-SNAPSHOT.jar
    jettison-xxx.jar
    jsr311-api-xxx.jar
    
  4. Modifier le web.xml comme suit :
  5. <servlet>
    	<servlet-name>Objet Direct Web Application</servlet-name>
    	<servlet-class>com.sun.jersey.spi.container.servlet.ServletContainer</servlet-class>
    	<init-param>
    		<param-name>com.sun.jersey.config.property.packages</param-name>
    		<param-value>com.objetdirect</param-value>
    	</init-param>
    	<load-on-startup>1</load-on-startup>
    </servlet>
    <servlet-mapping>
    	<servlet-name>Jersey Web Application</servlet-name>
    	<url-pattern>/resources/*</url-pattern>
    </servlet-mapping>
    
  6. Générer l’objet xml réponse (à partir d’un xsd à l’aide de xjc par exemple) :
  7. <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    	<xsd:element name="weather">
    		<xsd:complexType>
    			<xsd:attribute name="type" type="xsd:string"/>
    		</xsd:complexType>
    	</xsd:element>
    </xsd:schema>
    
  8. Annoter les classes ressources :
  9. package com.objetdirect;
    
    @Path("/weather")
    public class ObjetDirectResource {
    
    	@GET
    	@Path("/{city: [A-Z][a-z]+}")
    	@Produces(MediaType.APPLICATION_XML)
    	public Response getCityWeather(@PathParam("city") String cityName) {
    		Weather weather = new Weather();
    		weather.setType("Very clever on " + cityName);
    
    		ResponseBuilder responseBuilder;
    		responseBuilder = Response.status(Status.OK);
    		responseBuilder = responseBuilder.type(MediaType.APPLICATION_XML);
    		responseBuilder = responseBuilder.entity(weather);
    		Response response =  responseBuilder.build();
    		return response;
    	}
    }
    
  10. Démarrer le serveur et accéder à la resource localhost:8888/resources/weather/Paris
Categories: Divers, Outillage Tags: ,

Introduction à la programmation sur iPhone

intro-iphone-everything

Introduction à la programmation sur iPhone

Partie 1. Langage, interface & contrôles standards

Avec l’App Store, première boutique d’applications tierces sur mobile, l’iPhone d’Apple a donné un joli coup de pied dans la fourmilière de la mobilité. Bien que faisant partie du paysage depuis 2 ans et 100000 applications, son retentissement ne semble pas vouloir s’estomper.

Cela est du, en partie, à la pertinence des choix techniques et des outils – Objective-C et Cocoa Touch – retenus pour son développement. Conscients de l’impact avec lequel il a durablement changé la donne, nous consacrerons ici une série d’articles techniques permettant de s’y acclimater progressivement.

Le premier article sur le sujet – Partie 1. Langage, interface & contrôles standards – est disponible sur le wiki et en pdf.