code: @Override
  	public Response loadZippedApplicationTemplate( String url ) {
  
  		this.logger.fine( "Request: load application from URL " + url + "." );
  		ResolvedFile resolvedFile = null;
  		File extractionDir = null;
  		Response response;
  
  		// Retrieve the file as a local one
  		if( Utils.isEmptyOrWhitespaces( url )) {
  			response = handleError(
  					Status.NOT_ACCEPTABLE,
  					new RestError( REST_MNGMT_INVALID_URL, value( url )),
  					lang( this.manager )).build();
  
  		} else try {
  			// Get a resolver...
  			IUrlResolver resolver = this.mavenResolver != null ? new MavenUrlResolver( this.mavenResolver ) : new DefaultUrlResolver();
  			resolvedFile = resolver.resolve( url );
  
  			// Extract the ZIP content
  			extractionDir = new File( System.getProperty( "java.io.tmpdir" ), "roboconf/" + UUID.randomUUID().toString());
  			Utils.extractZipArchive( resolvedFile.getFile(), extractionDir );
  
  			// Load the application template
  			response = loadUnzippedApplicationTemplate( extractionDir.getAbsolutePath());
  
  		} catch( IOException e ) {
  			response = handleError(
  					Status.UNAUTHORIZED,
  					new RestError( REST_SAVE_ERROR, e ),
  					lang( this.manager )).build();
  
  		} finally {
  			// We do not need the extracted application anymore.
  			// In case of success, it was copied in the DM's configuration.
  			Utils.deleteFilesRecursivelyAndQuietly( extractionDir );
  
  			// If the resolved file did not exist before, delete it as we do not need it anymore
  			if( resolvedFile != null && ! resolvedFile.existedBefore())
  				Utils.deleteFilesRecursivelyAndQuietly( resolvedFile.getFile());
  		}
  
  		return response;
  	}
docs: /*
  (non-Javadoc)
  @see net.roboconf.dm.rest.services.internal.resources.IManagementResource
  #loadZippedApplicationTemplate(java.lang.String)