/** * EasySOA Registry * Copyright 2011 Open Wide * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. * * Contact : easysoa-dev@googlegroups.com */ package org.easysoa.registry.frascati; /** * Represents an EasySOA application. * * Still TODO on this API, in FraSCAti implementation(s) (our own, Studio...) and others (Light, Talend ?) : * state (in FraSCAti only STARTED & STOPPED, add STARTING & STOPPING) * an evented way to be updated by info especially state change, ex. nuxeo events (but only nuxeo) or handlers (beware of FraSCAti wrapped side) * provisioning : how the app is provided at the place said (path) ; for now manually as artifactItems, LATER do it at registerContribution time, LATER for other impls * packaging : how the app is packaged ; for now jar(s) & root composite name * management UI : for now web explorer TODO test it ; LATER list, integrated in environment UI & env start... * * @author jguillemotte * */ public interface EasySOAApp { /** * Unique app id, built using way of starting it and root app resource (ex. "NxFraSCAti:target/httpDiscovery.composite") * LATER link app with registry model (using runtime discovery) and with desc info stored there * LATER put in model more info like this (appId) about how it is started up * @return */ public String getAppId(); /** * Start the EasySOA app */ public void start(); /** * Stop the EasySOA app */ public void stop(); //public AppState getState(); //public FraSCAtiCompositeItf[] getComposite(); }