[KULRICE-4816] Implement interaction with the service registry so that it goes over remote connection instead of direct database access Created: 11/Nov/10 Updated: 23/Feb/12 Resolved: 07/Jun/11 |
|
Status: | Closed |
Project: | Kuali Rice Development |
Component/s: | Development, Version Compatibility |
Affects Version/s: | None |
Fix Version/s: | 2.0.0-m5, 2.0 |
Type: | Improvement | Priority: | Critical |
Reporter: | Eric Westfall | Assignee: | Eric Westfall |
Resolution: | Fixed | Votes: | 0 |
Labels: | None | ||
Remaining Estimate: | Not Specified | ||
Time Spent: | Not Specified | ||
Original Estimate: | Not Specified |
Issue Links: |
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Rice Module: |
KSB
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||
KAI Review Status: | Not Required | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
KTI Review Status: | Not Required |
Description |
I think this will be critical for version compatibility. A diagram showing how this might work can be found here as well as a service interface definition: https://wiki.kuali.org/x/-ok_Eg If we do this, then instead of configuring a database connection on the client, they can simply configure a URL which points to the URL of the service registry. |
Comments |
Comment by Jason Whaley (Inactive) [ 26/Jan/11 ] |
Do we still want to do this for 1.1? If so, we'll need to make ServiceRegistry (and/or RemotedServiceRegistry) a JAXWS service and perform our BO/DTO strategy on ServiceInfo. Thoughts? |
Comment by Eric Westfall [ 27/Apr/11 ] |
Notes from meeting today in New Orleans: These are the items that we agreed are "in scope" for 2.0:
Items we agreed were out of scope for 2.0:
|
Comment by Eric Westfall [ 27/Apr/11 ] |
Assigning to myself as per our discussion today. |
Comment by Eric Westfall [ 03/May/11 ] |
I'm going to start working on this today. My general plan here is as follows: 1) Define the new remotable interface to the service registry along with DTOs |
Comment by Eric Westfall [ 03/May/11 ] |
Have the interface for the RemoteServiceRegistry committed up along with all the dtos. Everything should be properly annotated, though there is still quite a bit of work to do on javadocs and adding proper validation for required attributes. However, I'd like to work on hooking some of this stuff up first before we go down that path in case the api needs to change some. Next step is to work on hooking up the ability to configure connecting up to the remote registry via a url, then integrating the current interface with the existing KSB "client". |
Comment by Eric Westfall [ 03/May/11 ] |
A couple of other just general design notes here, I created the following concepts: 1) ServiceEndpoint The ServiceEndpoint is basically just a header + descriptor + id. The ServiceHeader contains various identifying information about the service such as service name, endpoint url, etc. The ServiceDescriptor contains the "serialized" configuration for the service which can include pretty much anything (at this point at least) which is needed in order to provide further configuration about the service (i.e. how many retries, exception handler, etc.). Basically any metadata about the service which is not included in the header. Note that it's intended that, when the system launches, it will load all remote service headers from the registry (which should be faster than getting the full endpoint definition) in order to construct it's "local" copy of the registry. Ultimately, a better approach might even be having it load some standard set of services that it needs, and then going out the registry on demand for any additional services that are requested that it doesn't know about. That would certainly scale better but is out of scope I think for this version. |
Comment by Eric Westfall [ 04/May/11 ] |
I created the following branch to finish up work on this on because I'm embarking upon the impacting portion of this jira: https://test.kuali.org/svn/rice/sandbox/rice-2.0-KULRICE-4816-br |
Comment by Eric Westfall [ 16/May/11 ] |
Wanted to provide an update for this issue. I have merged my first major push on this to trunk. This involved a significant refactoring of the way that the registry is handled and the way the KSB is put together and maintains service information. This appears to be working, though there are quite a few integration tests failing that I need to look at. Note that this first commit contains a remotable service registry (properly annotated for JAXB) but it is not actually implemented as remote. I still need to implement the REST-based service that will allow for us to discover registry endpoints and connect to them remotely. Here is my current remaining TODO list:
(I'm sure I missed some other important ones, so will augment this list as needed)
|
Comment by Eric Westfall [ 16/May/11 ] |
Below is the output from the merge in to trunk in case it is relevant at some point in the future: eric-westfalls-macbook-pro-2:rice ewestfal$ svn merge -r16971:HEAD https://test.kuali.org/svn/rice/sandbox/rice-2.0-KULRICE-4816-br . --- Merging r16972 through r20388 into '.': U sampleapp/src/main/resources/log4j.properties A scripts/upgrades/1.0.3 to 1.1.0/db-updates/mysql-2011-05-13.sql U core/impl/src/main/java/org/kuali/rice/core/impl/lifecycle/ServiceDelegatingLifecycle.java D core/impl/src/main/java/org/kuali/rice/core/impl/proxy/BaseInvocationHandler.java D core/impl/src/main/java/org/kuali/rice/core/impl/proxy/BaseTargetedInvocationHandler.java U core/impl/src/main/java/org/kuali/rice/core/impl/config/property/BaseConfig.java U core/impl/src/main/java/org/kuali/rice/core/impl/config/property/AbstractBaseConfig.java U core/impl/src/main/java/org/kuali/rice/core/impl/config/module/CoreConfigurer.java U core/impl/src/main/java/org/kuali/rice/core/impl/resourceloader/ContextClassLoaderProxy.java D core/impl/src/main/java/org/kuali/rice/core/security/credentials U core/impl/src/main/groovy/org/kuali/rice/core/impl/parameter/ParameterBo.groovy U core/impl/src/main/resources/org/kuali/rice/core/config/CORESpringBeans.xml U core/api/src/test/groovy/org/kuali/rice/core/api/parameter/ParameterTest.groovy U core/api/src/main/java/org/kuali/rice/core/api/parameter/EvaluationOperator.java D core/api/src/main/java/org/kuali/rice/core/api/reflect/TargetedInvocationHandler.java U core/api/src/main/java/org/kuali/rice/core/api/config/property/Config.java U core/api/src/main/java/org/kuali/rice/core/api/CoreConstants.java A core/api/src/main/java/org/kuali/rice/core/api/security A core/api/src/main/java/org/kuali/rice/core/api/security/credentials A core/api/src/main/java/org/kuali/rice/core/api/security/credentials/CredentialsSourceFactory.java A core/api/src/main/java/org/kuali/rice/core/api/security/credentials/Credentials.java A core/api/src/main/java/org/kuali/rice/core/api/security/credentials/CredentialsSource.java A core/api/src/main/java/org/kuali/rice/core/api/mo/Coded.java A core/api/src/main/java/org/kuali/rice/core/util/jaxb/EnumStringAdapter.java A core/api/src/main/java/org/kuali/rice/core/util/reflect A core/api/src/main/java/org/kuali/rice/core/util/reflect/BaseInvocationHandler.java A core/api/src/main/java/org/kuali/rice/core/util/reflect/BaseTargetedInvocationHandler.java A core/api/src/main/java/org/kuali/rice/core/util/reflect/TargetedInvocationHandler.java U core/api/src/main/java/org/kuali/rice/core/util/ClassLoaderUtils.java A core/api/src/main/java/org/kuali/rice/core/util/io A core/api/src/main/java/org/kuali/rice/core/util/io/SerializationUtils.java U core/framework/src/main/groovy/org/kuali/rice/core/framework/parameter/ParameterEbo.groovy U core/web/src/main/java/org/kuali/rice/core/web/parameter/ParameterOperatorValuesFinder.java U pom.xml C impl/src/test/groovy/org U impl/src/main/java/org/kuali/rice/ksb/service/KSBServiceLocator.java A impl/src/main/java/org/kuali/rice/ksb/impl A impl/src/main/java/org/kuali/rice/ksb/impl/registry A impl/src/main/java/org/kuali/rice/ksb/impl/registry/RestServiceRegistryConnector.java A impl/src/main/java/org/kuali/rice/ksb/impl/registry/ServiceRegistryDaoOjb.java A impl/src/main/java/org/kuali/rice/ksb/impl/registry/diff A impl/src/main/java/org/kuali/rice/ksb/impl/registry/diff/CompleteServiceDiff.java A impl/src/main/java/org/kuali/rice/ksb/impl/registry/diff/LocalServicesDiff.java A impl/src/main/java/org/kuali/rice/ksb/impl/registry/diff/RemoteServicesDiff.java A impl/src/main/java/org/kuali/rice/ksb/impl/registry/diff/ServiceRegistryDiffCalculator.java A impl/src/main/java/org/kuali/rice/ksb/impl/registry/diff/ServiceRegistryDiffCalculatorImpl.java A impl/src/main/java/org/kuali/rice/ksb/impl/registry/ServiceRegistryImpl.java A impl/src/main/java/org/kuali/rice/ksb/impl/registry/ServiceRegistryDao.java A impl/src/main/java/org/kuali/rice/ksb/impl/bus A impl/src/main/java/org/kuali/rice/ksb/impl/bus/InstanceIdFactoryBean.java A impl/src/main/java/org/kuali/rice/ksb/impl/bus/LazyEndpoint.java A impl/src/main/java/org/kuali/rice/ksb/impl/bus/LocalService.java A impl/src/main/java/org/kuali/rice/ksb/impl/bus/RemoteService.java A impl/src/main/java/org/kuali/rice/ksb/impl/bus/ServiceBusImpl.java U impl/src/main/java/org/kuali/rice/ksb/cache/RiceDistributedCacheListener.java U impl/src/main/java/org/kuali/rice/ksb/cache/CacheProperties.java U impl/src/main/java/org/kuali/rice/ksb/cache/RiceCacheAdministratorImpl.java U impl/src/main/java/org/kuali/rice/ksb/security/soap/CXFWSS4JInInterceptor.java U impl/src/main/java/org/kuali/rice/ksb/security/soap/CXFWSS4JOutInterceptor.java U impl/src/main/java/org/kuali/rice/ksb/security/soap/CredentialsOutHandler.java U impl/src/main/java/org/kuali/rice/ksb/security/credentials/UsernamePasswordCredentials.java U impl/src/main/java/org/kuali/rice/ksb/security/credentials/UsernamePasswordCredentialsSource.java U impl/src/main/java/org/kuali/rice/ksb/security/credentials/X509Credentials.java U impl/src/main/java/org/kuali/rice/ksb/security/credentials/X509CredentialsSource.java U impl/src/main/java/org/kuali/rice/ksb/security/credentials/SecurityUtils.java U impl/src/main/java/org/kuali/rice/ksb/security/credentials/CasProxyTicketCredentialsSource.java U impl/src/main/java/org/kuali/rice/ksb/security/httpinvoker/AuthenticationCommonsHttpInvokerRequestExecutor.java U impl/src/main/java/org/kuali/rice/ksb/messaging/MessageServiceInvoker.java U impl/src/main/java/org/kuali/rice/ksb/messaging/servlet/CXFServletControllerAdapter.java U impl/src/main/java/org/kuali/rice/ksb/messaging/servlet/KSBDispatcherServlet.java U impl/src/main/java/org/kuali/rice/ksb/messaging/servlet/KSBHttpInvokerHandler.java D impl/src/main/java/org/kuali/rice/ksb/messaging/RemoteResourceServiceLocatorImpl.java D impl/src/main/java/org/kuali/rice/ksb/messaging/RemotedServiceRegistryImpl.java D impl/src/main/java/org/kuali/rice/ksb/messaging/objectremoting D impl/src/main/java/org/kuali/rice/ksb/messaging/SOAPServiceDefinition.java D impl/src/main/java/org/kuali/rice/ksb/messaging/ServiceHolder.java D impl/src/main/java/org/kuali/rice/ksb/messaging/PropertyConditionalKSBExporter.java D impl/src/main/java/org/kuali/rice/ksb/messaging/RoutingTableDiffCalculator.java D impl/src/main/java/org/kuali/rice/ksb/messaging/RepeatTopicInvokerQueueImpl.java D impl/src/main/java/org/kuali/rice/ksb/messaging/RESTServiceDefinition.java D impl/src/main/java/org/kuali/rice/ksb/messaging/KSBExporter.java D impl/src/main/java/org/kuali/rice/ksb/messaging/RemoteResourceServiceLocator.java D impl/src/main/java/org/kuali/rice/ksb/messaging/RemotedServiceRegistry.java D impl/src/main/java/org/kuali/rice/ksb/messaging/ServiceDefinition.java D impl/src/main/java/org/kuali/rice/ksb/messaging/ServerSideRemotedServiceHolder.java D impl/src/main/java/org/kuali/rice/ksb/messaging/JavaServiceDefinition.java D impl/src/main/java/org/kuali/rice/ksb/messaging/ServiceInfo.java D impl/src/main/java/org/kuali/rice/ksb/messaging/RemotedServiceHolder.java D impl/src/main/java/org/kuali/rice/ksb/messaging/callforwarding D impl/src/main/java/org/kuali/rice/ksb/messaging/RepeatTopicInvokerQueue.java U impl/src/main/java/org/kuali/rice/ksb/messaging/MessageHelperImpl.java U impl/src/main/java/org/kuali/rice/ksb/messaging/bam/BAMClientProxy.java U impl/src/main/java/org/kuali/rice/ksb/messaging/bam/service/BAMService.java U impl/src/main/java/org/kuali/rice/ksb/messaging/bam/service/impl/BAMServiceImpl.java U impl/src/main/java/org/kuali/rice/ksb/messaging/bam/BAMServerProxy.java U impl/src/main/java/org/kuali/rice/ksb/messaging/exceptionhandling/DefaultExceptionServiceImpl.java U impl/src/main/java/org/kuali/rice/ksb/messaging/exceptionhandling/DefaultMessageExceptionHandler.java D impl/src/main/java/org/kuali/rice/ksb/messaging/dao/ServiceInfoDAO.java D impl/src/main/java/org/kuali/rice/ksb/messaging/dao/impl/ServiceInfoDAOJpaImpl.java D impl/src/main/java/org/kuali/rice/ksb/messaging/dao/impl/ServiceInfoDAOOjbImpl.java A impl/src/main/java/org/kuali/rice/ksb/messaging/serviceexporters/ServiceExportManagerImpl.java U impl/src/main/java/org/kuali/rice/ksb/messaging/serviceexporters/ServiceExporterFactory.java U impl/src/main/java/org/kuali/rice/ksb/messaging/serviceexporters/HttpInvokerServiceExporter.java U impl/src/main/java/org/kuali/rice/ksb/messaging/serviceexporters/RESTServiceExporter.java U impl/src/main/java/org/kuali/rice/ksb/messaging/serviceexporters/ServiceExporter.java U impl/src/main/java/org/kuali/rice/ksb/messaging/serviceexporters/AbstractWebServiceExporter.java U impl/src/main/java/org/kuali/rice/ksb/messaging/serviceexporters/SOAPServiceExporter.java A impl/src/main/java/org/kuali/rice/ksb/messaging/serviceexporters/ServiceExportManager.java U impl/src/main/java/org/kuali/rice/ksb/messaging/web/ThreadPoolAction.java U impl/src/main/java/org/kuali/rice/ksb/messaging/web/MessageQueueAction.java U impl/src/main/java/org/kuali/rice/ksb/messaging/web/ServiceRegistryAction.java U impl/src/main/java/org/kuali/rice/ksb/messaging/web/QuartzQueueAction.java U impl/src/main/java/org/kuali/rice/ksb/messaging/web/KSBStrutsRequestProcessor.java U impl/src/main/java/org/kuali/rice/ksb/messaging/web/ServiceRegistryForm.java U impl/src/main/java/org/kuali/rice/ksb/messaging/BusClientFailureProxy.java U impl/src/main/java/org/kuali/rice/ksb/messaging/quartz/MessageServiceExecutorJob.java U impl/src/main/java/org/kuali/rice/ksb/messaging/quartz/MessageServiceExecutorJobListener.java U impl/src/main/java/org/kuali/rice/ksb/messaging/RiceCacheExporterFactoryBean.java U impl/src/main/java/org/kuali/rice/ksb/messaging/serviceconnectors/AbstractServiceConnector.java U impl/src/main/java/org/kuali/rice/ksb/messaging/serviceconnectors/BusLocalConnector.java U impl/src/main/java/org/kuali/rice/ksb/messaging/serviceconnectors/ServiceConnectorFactory.java U impl/src/main/java/org/kuali/rice/ksb/messaging/serviceconnectors/HttpInvokerConnector.java U impl/src/main/java/org/kuali/rice/ksb/messaging/serviceconnectors/RESTConnector.java U impl/src/main/java/org/kuali/rice/ksb/messaging/serviceconnectors/ServiceConnector.java U impl/src/main/java/org/kuali/rice/ksb/messaging/serviceconnectors/ResourceFacadeImpl.java U impl/src/main/java/org/kuali/rice/ksb/messaging/serviceconnectors/SOAPConnector.java U impl/src/main/java/org/kuali/rice/ksb/messaging/service/impl/BusAdminServiceImpl.java U impl/src/main/java/org/kuali/rice/ksb/messaging/service/impl/MessageQueueServiceImpl.java D impl/src/main/java/org/kuali/rice/ksb/messaging/service/ServiceRegistry.java D impl/src/main/java/org/kuali/rice/ksb/messaging/service/impl/ServiceRegistryImpl.java U impl/src/main/java/org/kuali/rice/ksb/messaging/service/BusAdminService.java U impl/src/main/java/org/kuali/rice/ksb/messaging/service/MessageQueueService.java U impl/src/main/java/org/kuali/rice/ksb/messaging/RunModeServiceExporter.java U impl/src/main/java/org/kuali/rice/ksb/messaging/config/KSBConfigurer.java D impl/src/main/java/org/kuali/rice/ksb/messaging/config/ServiceBasedServiceDefinitionRegisterer.java U impl/src/main/java/org/kuali/rice/ksb/messaging/MessageFetcher.java U impl/src/main/java/org/kuali/rice/ksb/messaging/AsynchronousCall.java U impl/src/main/java/org/kuali/rice/ksb/messaging/KSBHttpInvokerServiceExporter.java U impl/src/main/java/org/kuali/rice/ksb/messaging/PersistedMessageBO.java U impl/src/main/java/org/kuali/rice/ksb/messaging/serviceproxies/DelayedAsynchronousServiceCallProxy.java U impl/src/main/java/org/kuali/rice/ksb/messaging/serviceproxies/SynchronousServiceCallProxy.java U impl/src/main/java/org/kuali/rice/ksb/messaging/serviceproxies/AsynchronousServiceCallProxy.java U impl/src/main/java/org/kuali/rice/ksb/messaging/KSBHttpInvokerProxyFactoryBean.java U impl/src/main/java/org/kuali/rice/ksb/messaging/resourceloader/KSBResourceLoaderFactory.java A impl/src/main/java/org/kuali/rice/ksb/messaging/resourceloader/ServiceBusResourceLoader.java U impl/src/main/java/org/kuali/rice/ksb/util/KSBConstants.java U impl/src/main/java/org/kuali/rice/kew/messaging/exceptionhandling/ExceptionRoutingServiceImpl.java U impl/src/main/java/org/kuali/rice/kew/quicklinks/dao/impl/QuickLinksDAOOjbImpl.java U impl/src/main/java/org/kuali/rice/kns/service/impl/RiceApplicationConfigurationMediationServiceImpl.java U impl/src/main/java/org/kuali/rice/kns/service/impl/BusinessObjectSerializerServiceImpl.java A impl/src/main/groovy/org/kuali/rice/ksb A impl/src/main/groovy/org/kuali/rice/ksb/impl A impl/src/main/groovy/org/kuali/rice/ksb/impl/registry A impl/src/main/groovy/org/kuali/rice/ksb/impl/registry/ServiceInfoBo.groovy A impl/src/main/groovy/org/kuali/rice/ksb/impl/registry/ServiceDescriptorBo.groovy U impl/src/main/resources/org/kuali/rice/kcb/config/KCBSpringBeans.xml A impl/src/main/resources/org/kuali/rice/ksb/config/OJB-repository-ksb-bam.xml A impl/src/main/resources/org/kuali/rice/ksb/config/KsbServiceBusClientSpringBeans.xml A impl/src/main/resources/org/kuali/rice/ksb/config/KsbOjbBamSpringBeans.xml A impl/src/main/resources/org/kuali/rice/ksb/config/OJB-repository-ksb-message.xml A impl/src/main/resources/org/kuali/rice/ksb/config/KsbModuleConfigurationSpringBeans.xml A impl/src/main/resources/org/kuali/rice/ksb/config/KsbWebSpringBeans.xml A impl/src/main/resources/org/kuali/rice/ksb/config/KsbOjbMessageClientSpringBeans.xml A impl/src/main/resources/org/kuali/rice/ksb/config/OJB-repository-ksb-registry.xml A impl/src/main/resources/org/kuali/rice/ksb/config/KsbBamSpringBeans.xml A impl/src/main/resources/org/kuali/rice/ksb/config/KsbRegistryServerSpringBeans.xml A impl/src/main/resources/org/kuali/rice/ksb/config/KsbMessageClientSpringBeans.xml A impl/src/main/resources/org/kuali/rice/ksb/config/KsbOjbRegistrySpringBeans.xml A impl/src/main/resources/org/kuali/rice/ksb/config/old A impl/src/main/resources/org/kuali/rice/ksb/config/old/OJB-repository-ksb.xml A impl/src/main/resources/org/kuali/rice/ksb/config/old/KSBJPASpringBeans.xml A impl/src/main/resources/org/kuali/rice/ksb/config/old/KSBOJBSpringBeans.xml A impl/src/main/resources/org/kuali/rice/ksb/config/old/KSBModuleConfigurationSpringBeans.xml A impl/src/main/resources/org/kuali/rice/ksb/config/old/KSBSpringBeans.xml A impl/src/main/resources/org/kuali/rice/ksb/config/old/KSBThinClientSpringBeans.xml D impl/src/main/resources/org/kuali/rice/ksb/config/KSBThinClientSpringBeans.xml D impl/src/main/resources/org/kuali/rice/ksb/config/OJB-repository-ksb.xml D impl/src/main/resources/org/kuali/rice/ksb/config/KSBJPASpringBeans.xml D impl/src/main/resources/org/kuali/rice/ksb/config/KSBOJBSpringBeans.xml D impl/src/main/resources/org/kuali/rice/ksb/config/KSBModuleConfigurationSpringBeans.xml D impl/src/main/resources/org/kuali/rice/ksb/config/KSBSpringBeans.xml U impl/src/main/resources/org/kuali/rice/kim/config/KIMServiceBusSpringBeans.xml U impl/src/main/resources/org/kuali/rice/kim/config/KIMServiceBusSOAPDefaultSpringBeans.xml U impl/src/main/resources/org/kuali/rice/kew/config/KEWSpringBeans.xml U impl/src/main/resources/org/kuali/rice/kew/config/KEWServiceBusSOAPDefaultSpringBeans.xml U impl/src/main/resources/org/kuali/rice/kew/config/KEWServiceBusSpringBeans.xml U impl/src/main/resources/org/kuali/rice/kns/config/KNSServiceBusSpringBeans.xml U impl/src/main/resources/org/kuali/rice/ken/config/KENSpringBeans.xml U web/src/main/webapp/ksb/WEB-INF/jsp/registry/ServiceRegistry.jsp A ksb/impl/src/main/java/org A ksb/impl/src/main/java/org/kuali A ksb/impl/src/main/java/org/kuali/rice A ksb/impl/src/main/java/org/kuali/rice/ksb A ksb/impl/src/main/java/org/kuali/rice/ksb/impl A ksb/impl/src/main/java/org/kuali/rice/ksb/impl/export U ksb/impl/pom.xml U ksb/api/src/main/java/org/kuali/rice/ksb/api/registry/ServiceDescriptor.java U ksb/api/src/main/java/org/kuali/rice/ksb/api/registry/ServiceEndpointContract.java U ksb/api/src/main/java/org/kuali/rice/ksb/api/registry/ServiceEndpoint.java U ksb/api/src/main/java/org/kuali/rice/ksb/api/registry/RegistryConstants.java U ksb/api/src/main/java/org/kuali/rice/ksb/api/registry/ServiceEndpointStatus.java A ksb/api/src/main/java/org/kuali/rice/ksb/api/registry/ServiceRegistry.java A ksb/api/src/main/java/org/kuali/rice/ksb/api/registry/ServiceInfoContract.java A ksb/api/src/main/java/org/kuali/rice/ksb/api/registry/ServiceInfo.java U ksb/api/src/main/java/org/kuali/rice/ksb/api/registry/ServiceDescriptorContract.java D ksb/api/src/main/java/org/kuali/rice/ksb/api/registry/RemoteServiceRegistry.java D ksb/api/src/main/java/org/kuali/rice/ksb/api/registry/ServiceHeader.java D ksb/api/src/main/java/org/kuali/rice/ksb/api/registry/KsbConstants.java A ksb/api/src/main/java/org/kuali/rice/ksb/api/bus A ksb/api/src/main/java/org/kuali/rice/ksb/api/bus/Endpoint.java A ksb/api/src/main/java/org/kuali/rice/ksb/api/bus/services A ksb/api/src/main/java/org/kuali/rice/ksb/api/bus/services/KsbApiServiceLocator.java A ksb/api/src/main/java/org/kuali/rice/ksb/api/bus/ServiceConfiguration.java A ksb/api/src/main/java/org/kuali/rice/ksb/api/bus/ServiceDefinition.java A ksb/api/src/main/java/org/kuali/rice/ksb/api/bus/ServiceBus.java A ksb/api/src/main/java/org/kuali/rice/ksb/api/bus/support A ksb/api/src/main/java/org/kuali/rice/ksb/api/bus/support/BasicEndpoint.java A ksb/api/src/main/java/org/kuali/rice/ksb/api/bus/support/ServiceBusExporter.java A ksb/api/src/main/java/org/kuali/rice/ksb/api/bus/support/RestServiceConfiguration.java A ksb/api/src/main/java/org/kuali/rice/ksb/api/bus/support/RestServiceDefinition.java A ksb/api/src/main/java/org/kuali/rice/ksb/api/bus/support/JavaServiceConfiguration.java A ksb/api/src/main/java/org/kuali/rice/ksb/api/bus/support/JavaServiceDefinition.java A ksb/api/src/main/java/org/kuali/rice/ksb/api/bus/support/SoapServiceConfiguration.java A ksb/api/src/main/java/org/kuali/rice/ksb/api/bus/support/AbstractServiceConfiguration.java A ksb/api/src/main/java/org/kuali/rice/ksb/api/bus/support/PropertyConditionalServiceBusExporter.java A ksb/api/src/main/java/org/kuali/rice/ksb/api/bus/support/SoapServiceDefinition.java A ksb/api/src/main/java/org/kuali/rice/ksb/api/bus/support/AbstractServiceDefinition.java A ksb/api/src/main/java/org/kuali/rice/ksb/api/KsbConstants.java U ksb/api/pom.xml U test/ksb/src/test/java/org/kuali/rice/ksb/test/KSBTestCase.java U test/ksb/src/test/java/org/kuali/rice/ksb/StartBusTest.java U test/ksb/src/test/java/org/kuali/rice/ksb/security/admin/JavaSecurityManagementServiceTest.java U test/ksb/src/test/java/org/kuali/rice/ksb/security/credentials/UsernamePasswordCredentialsSourceTest.java U test/ksb/src/test/java/org/kuali/rice/ksb/security/credentials/CredentialsSourceFactoryTest.java U test/ksb/src/test/java/org/kuali/rice/ksb/security/credentials/CasProxyTicketCredentialsSourceTest.java U test/ksb/src/test/java/org/kuali/rice/ksb/messaging/SOAPMessagingTest.java U test/ksb/src/test/java/org/kuali/rice/ksb/messaging/KSBTestUtils.java U test/ksb/src/test/java/org/kuali/rice/ksb/messaging/RemoteFailureTest.java U test/ksb/src/test/java/org/kuali/rice/ksb/messaging/RestServiceDefinitionTest.java U test/ksb/src/test/java/org/kuali/rice/ksb/messaging/HttpInvokerConnectorConfigurationTest.java U test/ksb/src/test/java/org/kuali/rice/ksb/messaging/TransactionMessagingTest.java U test/ksb/src/test/java/org/kuali/rice/ksb/messaging/exceptionhandling/DefaultMessageExceptionHandlerTest.java U test/ksb/src/test/java/org/kuali/rice/ksb/messaging/exceptionhandling/ExceptionMessagingTest.java D test/ksb/src/test/java/org/kuali/rice/ksb/messaging/StoreAndForwardTest.java D test/ksb/src/test/java/org/kuali/rice/ksb/messaging/RemotedServiceRegistryTest.java D test/ksb/src/test/java/org/kuali/rice/ksb/messaging/RemoteResourceLoaderTest.java D test/ksb/src/test/java/org/kuali/rice/ksb/messaging/objectremoting U test/ksb/src/test/java/org/kuali/rice/ksb/messaging/SoapServiceDefinitionTest.java U test/ksb/src/test/java/org/kuali/rice/ksb/messaging/ExceptionRetryCountTest.java U test/ksb/src/test/java/org/kuali/rice/ksb/messaging/ServiceCallClusterTest.java U test/ksb/src/test/java/org/kuali/rice/ksb/messaging/RESTServiceTest.java U test/ksb/src/test/java/org/kuali/rice/ksb/messaging/ServiceUpdateAndRemovalTest.java U test/ksb/src/test/java/org/kuali/rice/ksb/messaging/Value1AndValue2PersistedOnMessageCall.java U test/ksb/src/test/java/org/kuali/rice/ksb/messaging/DistributedTopicTest.java U test/ksb/src/test/java/org/kuali/rice/ksb/messaging/SOAPServiceTest.java U test/ksb/src/test/java/org/kuali/rice/ksb/messaging/DevModeTest.java U test/ksb/src/test/java/org/kuali/rice/ksb/messaging/MessageFetcherTest.java U test/ksb/src/test/java/org/kuali/rice/ksb/messaging/TestCallback.java U test/ksb/src/test/resources/KSBTestHarnessNoJtaSpring.xml U test/ksb/src/test/resources/KSBTestHarnessSpring.xml U test/ksb/src/test/resources/org/kuali/rice/ksb/testclient1/resources/TestClient1SpringBeans.xml U test/ksb/src/test/resources/org/kuali/rice/ksb/testclient2/resources/TestClient2SpringBeans.xml U test/kim/src/test/java/org/kuali/rice/kim/test/service/PermissionServiceRemoteTest.java U test/kim/src/test/java/org/kuali/rice/kim/test/service/GroupServiceRemoteTest.java U test/kim/src/test/java/org/kuali/rice/kim/test/service/RoleServiceRemoteTest.java U test/kew/src/test/java/org/kuali/rice/kew/engine/StandardWorkflowEngineTest.java U test/kew/src/test/resources/org/kuali/rice/kew/config/OverrideTestSpringBeans.xml U test/kns/src/test/resources/KnsTestSpringBeans.xml U krad/krad-web-framework/src/main/java/org/kuali/rice/kns/util/documentserializer/AlwaysTruePropertySerializibilityEvaluator.java U krad/krad-web-framework/src/main/java/org/kuali/rice/kns/util/documentserializer/MaintenanceDocumentPropertySerializibilityEvaluator.java U krad/krad-web-framework/src/main/java/org/kuali/rice/kns/util/documentserializer/BusinessObjectPropertySerializibilityEvaluator.java U krad/krad-web-framework/src/main/java/org/kuali/rice/kns/util/documentserializer/PropertySerializabilityEvaluatorBase.java U krad/krad-web-framework/src/main/java/org/kuali/rice/kns/util/documentserializer/AlwaysFalsePropertySerializabilityEvaluator.java U krad/krad-web-framework/src/main/java/org/kuali/rice/kns/util/documentserializer/PropertySerializabilityEvaluator.java U krad/krad-web-framework/src/main/java/org/kuali/rice/kns/document/DocumentBase.java U internal-test-tools/src/main/resources/rice-testharness-default-log4j.properties Summary of conflicts: Tree conflicts: 1 |
Comment by Eric Westfall [ 16/May/11 ] |
I'm going to track the remaining todos on this jira in this comment. TODO list:
|
Comment by Rice-CI User (Inactive) [ 17/May/11 ] |
Integrated in rice-trunk-nightly #52 (See http://ci.rice.kuali.org/job/rice-trunk-nightly/52/) |
Comment by Rice-CI User (Inactive) [ 18/May/11 ] |
Integrated in rice-trunk-nightly #53 (See http://ci.rice.kuali.org/job/rice-trunk-nightly/53/) |
Comment by Rice-CI User (Inactive) [ 19/May/11 ] |
Integrated in rice-trunk-nightly #58 (See http://ci.rice.kuali.org/job/rice-trunk-nightly/58/) |
Comment by Rice-CI User (Inactive) [ 20/May/11 ] |
Integrated in rice-trunk-nightly #59 (See http://ci.rice.kuali.org/job/rice-trunk-nightly/59/) |
Comment by Rice-CI User (Inactive) [ 21/May/11 ] |
Integrated in rice-trunk-nightly #60 (See http://ci.rice.kuali.org/job/rice-trunk-nightly/60/) |
Comment by Rice-CI User (Inactive) [ 22/May/11 ] |
Integrated in rice-trunk-nightly #61 (See http://ci.rice.kuali.org/job/rice-trunk-nightly/61/) |
Comment by Eric Westfall [ 25/May/11 ] |
As per previous item mentioned on this jira, I have started a document to document the work for this here: |
Comment by Eric Westfall [ 25/May/11 ] |
Here is some info on what I'm planning for two of the major pieces that are remaining here: Plan for registry connector:
Plan for serialization of ServiceConfiguration to XML:
|
Comment by Rice-CI User (Inactive) [ 26/May/11 ] |
Integrated in rice-trunk-nightly #68 (See http://ci.rice.kuali.org/job/rice-trunk-nightly/68/) |
Comment by Eric Westfall [ 27/May/11 ] |
With last commit, ServiceConfiguration is now being serialized to XML instead of a java serialized form. |
Comment by Rice-CI User (Inactive) [ 28/May/11 ] |
Integrated in rice-trunk-nightly #70 (See http://ci.rice.kuali.org/job/rice-trunk-nightly/70/) |
Comment by Eric Westfall [ 30/May/11 ] |
Just committed work for the LazyRemoteServiceRegistryConnector which uses a combination of unsecured REST and secured SOAP services to establish remote connections from KSB clients. There is still an issue where it kind of goes haywire when the registry endpoint goes down, i'm going to add that to the todo list to address. |
Comment by Eric Westfall [ 30/May/11 ] |
Updated TODO list for this jira: I'm going to track the remaining todos on this jira in this comment. TODO list:
|
Comment by Rice-CI User (Inactive) [ 31/May/11 ] |
Integrated in rice-trunk-nightly #73 (See http://ci.rice.kuali.org/job/rice-trunk-nightly/73/) |
Comment by Rice-CI User (Inactive) [ 01/Jun/11 ] |
Integrated in rice-trunk-nightly #74 (See http://ci.rice.kuali.org/job/rice-trunk-nightly/74/) |
Comment by Eric Westfall [ 01/Jun/11 ] |
Documentation for this is pretty much done. Could probably use an architecture diagram so I still want to do that. |
Comment by Rice-CI User (Inactive) [ 02/Jun/11 ] |
Integrated in rice-trunk-nightly #75 (See http://ci.rice.kuali.org/job/rice-trunk-nightly/75/) |
Comment by Eric Westfall [ 02/Jun/11 ] |
Thought about the following suggestion from Travis: "In the KTI discussion, Travis suggested providing a better "interface" to the ServiceDescriptor instead of just a blob of XML. Should look into if we can make this a little bit better by having this be a map of attributes." I think the issue here is that the remote registry has no knowledge of the information being stored in the service descriptor table, nor should it need to. For example, a new type of service endpoint might get created and published by a client application which uses a format for the descriptor XML that the registry is not aware of. Anybody wanting to invoke that service will, of course, need to be able to understand how to connect to it and read that information but the registry should be "dumb" in this sense. I think a solution here would be to modify the way the descriptor is implemented so that it is simply a set of key-value pairs (or some other standardized format, even if it's XML) but this would be additional scope that I think we don't have the time to implement for 2.0 |
Comment by Eric Westfall [ 02/Jun/11 ] |
Plan for applying versions to Rice services in the registry: For the Rice 2.0 release, all services should start with a version of 2.0. However, for every version of rice, those version numbers should increase accordingly. That way you can tell what version of the software the client is running. So, for example, rice version 2.1 should publish all services as "2.1" version. We will ultimately want to write some utility classes that help with detecting versions and comparing version numbers. They should be aware of things like milestone versions and snapshots. This will allow us to (hopefully) automatically modify the version number based on the maven version we are working with. I'd like to try this through a configuration parameter in common-config-defaults.xml that gets filtered by the maven build. We will create this configuration parameter and call it: rice.version Then in our spring configuration files we will create a common ServiceDefinition parent bean which sets this version number on all our published services appropriately. |
Comment by Eric Westfall [ 02/Jun/11 ] |
Just committed the work to set up service versions on our soapservicedefinitions. For Rice 2.0 the JavaServiceDefinitions should be going away, so I didn't include version numbers on those. |
Comment by Eric Westfall [ 03/Jun/11 ] |
Currently working on the following item:
From my analysis, it seems that we have a series of problems here that need to be addressed. First of all, want to document a major assumption that the KSB makes regarding uniqueness of services: There is a requirement within the KSB implementation that each instance will only publish one service for a particular name. It's assumed there's no real value to having an instance publish more than one of the same service. This enforced on the client side by the ServiceBus implementation in the fact that it stores a map of service name to LocalService instance. However, there are some issues here that need to be addressed:
|
Comment by Rice-CI User (Inactive) [ 04/Jun/11 ] |
Integrated in rice-trunk-nightly #77 (See http://ci.rice.kuali.org/job/rice-trunk-nightly/77/) |
Comment by Rice-CI User (Inactive) [ 06/Jun/11 ] |
Integrated in rice-trunk-nightly #79 (See http://ci.rice.kuali.org/job/rice-trunk-nightly/79/) |
Comment by Eric Westfall [ 06/Jun/11 ] |
Alright, integration tests appear to be working now for the most part. Some appear to fail in eclipse because of db locking issues. Need to see how they fair in CI. |
Comment by Eric Westfall [ 06/Jun/11 ] |
Ok, getting close to where I can close this one out. Still need to do the following:
Once I get the above items completed I'm resolving this jira. I'm deferring these items so jiras need to be created for them:
|
Comment by Rice-CI User (Inactive) [ 07/Jun/11 ] |
Integrated in rice-trunk-nightly #80 (See http://ci.rice.kuali.org/job/rice-trunk-nightly/80/) |
Comment by Eric Westfall [ 07/Jun/11 ] |
Alright, that was a lot of typing but the KSB api is n javadoc'd enough in my opinion. THat just leaves updating wiki and impacting changes document and creating jiras for deferred work and then i will resolve this jira. |
Comment by Eric Westfall [ 07/Jun/11 ] |
Ok, appropriate documentation has been updated and additional jiras have been created and linked to this one. Finally going to resolve this issue. |
Comment by Rice-CI User (Inactive) [ 08/Jun/11 ] |
Integrated in rice-trunk-nightly #81 (See http://ci.rice.kuali.org/job/rice-trunk-nightly/81/) |
Comment by Rice-CI User (Inactive) [ 09/Jun/11 ] |
Integrated in rice-trunk-nightly #82 (See http://ci.rice.kuali.org/job/rice-trunk-nightly/82/) |
Comment by Jessica Coltrin (Inactive) [ 23/Feb/12 ] |
Closing since these items are now in the release notes. |