com.hi3project.broccoli.bsdf.api.deployment.container.IBSDMServiceContainer Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of broccoli-api Show documentation
Show all versions of broccoli-api Show documentation
Specification for BSDL, BSDM and basic BSDF.
Interfaces and XML descriptors. XML Schema for BSDL.
The newest version!
/*******************************************************************************
*
* Copyright (C) 2015 Mytech Ingenieria Aplicada
* Copyright (C) 2015 Alejandro Paz
*
* This file is part of Broccoli.
*
* Broccoli is free software: you can redistribute it and/or modify it under the
* terms of the GNU Affero General Public License as published by the Free
* Software Foundation, either version 3 of the License, or (at your option) any
* later version.
*
* Broccoli 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 Affero General Public License for more
* details.
*
* You should have received a copy of the GNU Affero General Public License
* along with Broccoli. If not, see .
*
******************************************************************************/
package com.hi3project.broccoli.bsdf.api.deployment.container;
import com.hi3project.broccoli.bsdl.api.ISemanticIdentifier;
import com.hi3project.broccoli.bsdl.api.ISemanticLocator;
import com.hi3project.broccoli.bsdl.api.registry.IBSDLRegistry;
import com.hi3project.broccoli.bsdm.api.asyncronous.IMessageBroker;
import com.hi3project.broccoli.bsdf.api.deployment.bd.IServicesDB;
import com.hi3project.broccoli.bsdf.api.discovery.IMatchmaker;
import com.hi3project.broccoli.bsdf.api.discovery.IServiceRegistry;
import com.hi3project.broccoli.bsdl.impl.exceptions.ModelException;
import com.hi3project.broccoli.bsdm.impl.exceptions.ServiceExecutionException;
/**
*
* Description:
* Interface for a closed service container that manages the whole lifecycle of
* BSDF services.
*
*
*
* Colaborations:
*
*
* - with an IMessageBroker, that will communicate with services clients and
* also with other service containers.
* - with a BSDLRegistry to manage the loaded BSDL axioms.
* - with an IServiceRegistry that will handle the BSDM services.
* - with an IServicesDB that manages the metainformation of the loaded services.
*
*
*
* Responsabilities:
*
*
* - install a packed BSDF service.
* - start and stop the management.
* - know and can change the working location (to deploy loaded services...).
*
*
* Creation date:
* 17-07-2014
*
* Changelog:
*
* - 1 , 17-07-2014 - Initial release
*
*
*
* @version 1
*/
public interface IBSDMServiceContainer
{
public void addRemoteContainer(ISemanticIdentifier remoteBrokerIdentifier)
throws ServiceExecutionException;
public void start() throws ServiceExecutionException;
public void stop() throws ServiceExecutionException;
public void restart() throws ServiceExecutionException;
public void registerService(ISemanticLocator packedServiceDescriptor)
throws ServiceExecutionException;
public ISemanticLocator getWorkingLocation();
public void setWorkingLocation(ISemanticLocator location);
public IMessageBroker getMessageBroker();
public IBSDLRegistry getBSDLRegistry();
public IServiceRegistry getBSDMServiceRegistry();
public IServicesDB getServicesDB();
public IMatchmaker getMatchmaker();
public void setMatchmaker(IMatchmaker matchmaker);
public void activateControlChannels() throws ModelException;
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy