001 /* 002 * Cumulus4j - Securing your data in the cloud - http://cumulus4j.org 003 * Copyright (C) 2011 NightLabs Consulting GmbH 004 * 005 * This program is free software: you can redistribute it and/or modify 006 * it under the terms of the GNU Affero General Public License as 007 * published by the Free Software Foundation, either version 3 of the 008 * License, or (at your option) any later version. 009 * 010 * This program is distributed in the hope that it will be useful, 011 * but WITHOUT ANY WARRANTY; without even the implied warranty of 012 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 013 * GNU Affero General Public License for more details. 014 * 015 * You should have received a copy of the GNU Affero General Public License 016 * along with this program. If not, see <http://www.gnu.org/licenses/>. 017 */ 018 package org.cumulus4j.keymanager.front.shared; 019 020 import java.io.Serializable; 021 022 import javax.xml.bind.annotation.XmlRootElement; 023 024 /** 025 * <p> 026 * DTO representing an app-server. 027 * </p><p> 028 * An <code>AppServer</code> represents a logical application server. This logical application server 029 * might be a cluster/cloud consisting of many physical machines. 030 * </p><p> 031 * An <code>AppServer</code> contains the coordinates needed to contact the application server 032 * (or more precisely the key-manager-channel-REST-service 033 * running on this application server) in order to establish a communication channel. See 034 * <a target="_blank" href="http://cumulus4j.org/1.1.0/documentation/deployment-scenarios.html">Deployment scenarios</a>. 035 * </p> 036 * @author Marco หงุ่ยตระกูล-Schulze - marco at nightlabs dot de 037 */ 038 @XmlRootElement 039 public class AppServer 040 implements Serializable 041 { 042 private static final long serialVersionUID = 1L; 043 044 private String appServerID; 045 046 private String appServerBaseURL; 047 048 /** 049 * <p> 050 * Get the app-server's ID. 051 * </p><p> 052 * If this instance of <code>AppServer</code> is used to PUT an app-server into the key-server, 053 * then this property can be <code>null</code> in order to have the 054 * key-server assign the ID. The app-server's ID is sent back to the client in a {@link PutAppServerResponse}. 055 * </p> 056 * @return the app-server's ID. 057 * @see #setAppServerID(String) 058 */ 059 public String getAppServerID() { 060 return appServerID; 061 } 062 /** 063 * Set the app-server's ID. 064 * @param appServerID the app-server's ID. 065 * @see #getAppServerID() 066 */ 067 public void setAppServerID(String appServerID) { 068 this.appServerID = appServerID; 069 } 070 /** 071 * Get the base-url of the app-server-key-manager-channel. This is the part of the URL before the "/KeyManagerChannel" - 072 * e.g. if the REST URL of the KeyManagerChannel-service is 073 * "https://serverUsingCumulus4j.mydomain.org/org.cumulus4j.keymanager.back.webapp/KeyManagerChannel", then this must be 074 * "https://serverUsingCumulus4j.mydomain.org/org.cumulus4j.keymanager.back.webapp". 075 * @return the base-url of the app-server-key-manager-channel. 076 * @see #setAppServerBaseURL(String) 077 */ 078 public String getAppServerBaseURL() { 079 return appServerBaseURL; 080 } 081 /** 082 * Set the base-url of the app-server-key-manager-channel. 083 * @param appServerBaseURL the base-url of the app-server-key-manager-channel. 084 * @see #getAppServerBaseURL() 085 */ 086 public void setAppServerBaseURL(String appServerBaseURL) { 087 this.appServerBaseURL = appServerBaseURL; 088 } 089 }