From 5559ef5edbf8d3616f7a4b497b2a459b0ee4082b Mon Sep 17 00:00:00 2001 From: lresende Date: Wed, 11 Nov 2009 23:07:07 +0000 Subject: Moving 1.x branches git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@835122 13f79535-47bb-0310-9956-ffa450edef68 --- .../tuscany/sca/domain/DomainManagerService.java | 81 ++++++++++++++++++++++ .../org/apache/tuscany/sca/domain/NodeInfo.java | 70 +++++++++++++++++++ .../tuscany/sca/domain/SCADomainService.java | 78 +++++++++++++++++++++ .../org/apache/tuscany/sca/domain/ServiceInfo.java | 40 +++++++++++ 4 files changed, 269 insertions(+) create mode 100644 sca-java-1.x/branches/sca-java-1.0/modules/domain/src/main/java/org/apache/tuscany/sca/domain/DomainManagerService.java create mode 100644 sca-java-1.x/branches/sca-java-1.0/modules/domain/src/main/java/org/apache/tuscany/sca/domain/NodeInfo.java create mode 100644 sca-java-1.x/branches/sca-java-1.0/modules/domain/src/main/java/org/apache/tuscany/sca/domain/SCADomainService.java create mode 100644 sca-java-1.x/branches/sca-java-1.0/modules/domain/src/main/java/org/apache/tuscany/sca/domain/ServiceInfo.java (limited to 'sca-java-1.x/branches/sca-java-1.0/modules/domain/src/main/java/org/apache/tuscany') diff --git a/sca-java-1.x/branches/sca-java-1.0/modules/domain/src/main/java/org/apache/tuscany/sca/domain/DomainManagerService.java b/sca-java-1.x/branches/sca-java-1.0/modules/domain/src/main/java/org/apache/tuscany/sca/domain/DomainManagerService.java new file mode 100644 index 0000000000..ca54ae8123 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/modules/domain/src/main/java/org/apache/tuscany/sca/domain/DomainManagerService.java @@ -0,0 +1,81 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.domain; + +import java.util.List; + +import org.apache.tuscany.sca.domain.NodeInfo; +import org.osoa.sca.annotations.Remotable; + + +/** + * The management interface for distributed domain. This is resposible for + * creating appropriate configuration on all the nodes that are running + * domain nodes for the distributed domain. + * + * @version $Rev: 552343 $ $Date: 2007-09-07 12:41:52 +0100 (Fri, 07 Sep 2007) $ + */ +@Remotable +public interface DomainManagerService { + + /** + * A node registers with the distributed domain manager. The mechanism whereby this + * registration interface is discovered is not defined. For example, JMS, JINI + * or a hard coded configuration could all be candidates in the java world. + * + * @param domainUri the string uri for the distributed domain + * @param nodeUri the string uri for the current node + * @param nodeManagementUrl the endpoint for the nodes management service + */ + public String registerNode(String domainUri, String nodeUri); + + /** + * A node registers with the distributed domain manager. The mechanism whereby this + * registration interface is discovered is not defined. For example, JMS, JINI + * or a hard coded configuration could all be candidates in the java world. + * + * @param domainUri the string uri for the distributed domain + * @param nodeUri the string uri for the current node + * @param nodeManagementUrl the endpoint for the nodes management service + */ + public String removeNode(String domainUri, String nodeUri); + + /** + * Retrieve the configuration for the specified node. The return type is interesting + * here. There are many ways in which all of the information that comprises a + * configuration can be provisioned onto a node, for example, shared file system, + * ftp, http. The return value is the url of where to look for the configuration + * information. From a management point of view it is convenient to maintain all + * current and previous node configurations. This can easily be achieved by providing + * a different URL each time the configuration is changed. + * + * @param domainUri the string uri for the distributed domain + * @param nodeUri the string uri for the current node + * @return the URL from where the configuration can be retrieved + */ + //public String getDomainNodeConfiguration(String domainUri, String nodeUri); + + /** + * Retrieve a list of all of the registered nodes + * + * @return the list of node information + */ + public List getNodeInfo(); +} diff --git a/sca-java-1.x/branches/sca-java-1.0/modules/domain/src/main/java/org/apache/tuscany/sca/domain/NodeInfo.java b/sca-java-1.x/branches/sca-java-1.0/modules/domain/src/main/java/org/apache/tuscany/sca/domain/NodeInfo.java new file mode 100644 index 0000000000..86014a4fe0 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/modules/domain/src/main/java/org/apache/tuscany/sca/domain/NodeInfo.java @@ -0,0 +1,70 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.domain; + + +/** + * A collection of info for a registered node + * + * @version $Rev: 552343 $ $Date: 2007-09-07 12:41:52 +0100 (Fri, 07 Sep 2007) $ + */ +public interface NodeInfo { + + /** + * Retrieve the domain uri + * + * @return domain uri + */ + public String getDomainUri(); + + /** + * Retrieve the node uri + * + * @return node uri + */ + public String getNodeUri(); + + /** + * Ser the node manager url + * + * @param nodeManagerUrl + */ + public void setNodeManagerUrl(String nodeManagerUrl); + + /** + * Retrieve the node manager url + * + * @return node manager url + */ + public String getNodeManagerUrl(); + + /** + * Returns true if this node info object matches the provided data + */ + public boolean match(String domainUri, String nodeUri); + + /** + * Returns a string representation of the information for a service + * + * @return + */ + public String toString(); + +} diff --git a/sca-java-1.x/branches/sca-java-1.0/modules/domain/src/main/java/org/apache/tuscany/sca/domain/SCADomainService.java b/sca-java-1.x/branches/sca-java-1.0/modules/domain/src/main/java/org/apache/tuscany/sca/domain/SCADomainService.java new file mode 100644 index 0000000000..e3a0c224cc --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/modules/domain/src/main/java/org/apache/tuscany/sca/domain/SCADomainService.java @@ -0,0 +1,78 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.domain; + +import org.apache.tuscany.sca.domain.ServiceInfo; +import org.osoa.sca.annotations.Remotable; + + +/** + * Provides a mechanism whereby service endoints can be shared amongst the + * nodes of a domain. + * + * @version $Rev: 552343 $ $Date: 2007-09-07 12:41:52 +0100 (Fri, 07 Sep 2007) $ + */ +@Remotable +public interface SCADomainService { + + /** + * Accepts information about a service endpoint and holds onto it + * + * @param domainUri the string uri for the distributed domain + * @param nodeUri the string uri for the current node + * @param serviceName the name of the service that is exposed and the provided endpoint + * @param bindingName the remote binding that is providing the endpoint + * @param url the enpoint url + * @return TBD - information about the registration + */ + public String registerServiceEndpoint(String domainUri, String nodeUri, String serviceName, String bindingName, String URL); + + + /** + * Removes information about a service endpoint + * + * @param domainUri the string uri for the distributed domain + * @param nodeUri the string uri for the current node + * @param serviceName the name of the service that is exposed and the provided endpoint + * @param bindingName the remote binding that is providing the endpoint + */ + public String removeServiceEndpoint(String domainUri, String nodeUri, String serviceName, String bindingName); + + + /** + * Locates information about a service endpoint + * + * @param domainUri the string uri for the distributed domain + * @param serviceName the name of the service that is exposed and the provided endpoint + * @param bindingName the remote binding that we want to find an endpoint for + * @return url the endpoint url + */ + public String findServiceEndpoint(String domainUri, String serviceName, String bindingName); + + + + /** + * Returns information for all registered services + * @return + */ + public ServiceInfo getServiceInfo(); + + +} diff --git a/sca-java-1.x/branches/sca-java-1.0/modules/domain/src/main/java/org/apache/tuscany/sca/domain/ServiceInfo.java b/sca-java-1.x/branches/sca-java-1.0/modules/domain/src/main/java/org/apache/tuscany/sca/domain/ServiceInfo.java new file mode 100644 index 0000000000..d542200344 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/modules/domain/src/main/java/org/apache/tuscany/sca/domain/ServiceInfo.java @@ -0,0 +1,40 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.domain; + +import org.osoa.sca.annotations.Remotable; + + +/** + * A collection of info for a registered service + * + * @version $Rev: 552343 $ $Date: 2007-09-07 12:41:52 +0100 (Fri, 07 Sep 2007) $ + */ +@Remotable +public interface ServiceInfo { + + /** + * Returns a string representation of the information for a service + * + * @return + */ + public String toString(); + +} -- cgit v1.2.3