Uploaded image for project: 'Kuali Rice Development'
  1. Kuali Rice Development
  2. KULRICE-4816

Implement interaction with the service registry so that it goes over remote connection instead of direct database access

    Details

    • 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.

        Attachments

          Issue Links

            Activity

            Hide
            jwhaley Jason Whaley (Inactive) added a comment -

            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?

            Show
            jwhaley Jason Whaley (Inactive) added a comment - 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?
            Hide
            ewestfal Eric Westfall added a comment -

            Notes from meeting today in New Orleans:

            These are the items that we agreed are "in scope" for 2.0:

            1. SOAP-based interface to the service registry
            2. Replace serialized form of service definition with XML/JAXB-based form
            3. Remove "dead" indicator from the registry, move the "dead service" state to the client app so it's not in the registry.
            4. Add "version" information into the registry.
            5. API to get version for a service.
            6. Implement a model by which applications automatically have a version and their services are published under that version.
            7. Client application configures a registry "url" in order to configure it. Build in backend support for "loading" the service that points to the registry (might work similar to ThinClientResourceLoader?)

            Items we agreed were out of scope for 2.0:

            1. Keep database mode as a backup.
            2. Add the concept of getting all services for an interface to the registry.
            3. The ability to configure a "single" service registry url and have it "detect" all available service registry service endpoints. Then providing capabilities like automatic failover, etc.
            Show
            ewestfal Eric Westfall added a comment - Notes from meeting today in New Orleans: These are the items that we agreed are "in scope" for 2.0: SOAP-based interface to the service registry Replace serialized form of service definition with XML/JAXB-based form Remove "dead" indicator from the registry, move the "dead service" state to the client app so it's not in the registry. Add "version" information into the registry. API to get version for a service. Implement a model by which applications automatically have a version and their services are published under that version. Client application configures a registry "url" in order to configure it. Build in backend support for "loading" the service that points to the registry (might work similar to ThinClientResourceLoader?) Items we agreed were out of scope for 2.0: Keep database mode as a backup. Add the concept of getting all services for an interface to the registry. The ability to configure a "single" service registry url and have it "detect" all available service registry service endpoints. Then providing capabilities like automatic failover, etc.
            Hide
            ewestfal Eric Westfall added a comment -

            Assigning to myself as per our discussion today.

            Show
            ewestfal Eric Westfall added a comment - Assigning to myself as per our discussion today.
            Hide
            ewestfal Eric Westfall added a comment -

            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
            2) Hook up the ability to define a url to the service registry, along with security.
            3) Refactoring existing KSB internal code to use this new service. This is probably going to be the most difficult part because right now all of this stuff is intertwined in the remoted service registry.

            Show
            ewestfal Eric Westfall added a comment - 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 2) Hook up the ability to define a url to the service registry, along with security. 3) Refactoring existing KSB internal code to use this new service. This is probably going to be the most difficult part because right now all of this stuff is intertwined in the remoted service registry.
            Hide
            ewestfal Eric Westfall added a comment -

            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".

            Show
            ewestfal Eric Westfall added a comment - 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".
            Hide
            ewestfal Eric Westfall added a comment -

            A couple of other just general design notes here, I created the following concepts:

            1) ServiceEndpoint
            2) ServiceHeader
            3) ServiceDescriptor

            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.

            Show
            ewestfal Eric Westfall added a comment - A couple of other just general design notes here, I created the following concepts: 1) ServiceEndpoint 2) ServiceHeader 3) ServiceDescriptor 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.
            Hide
            ewestfal Eric Westfall added a comment -

            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

            Show
            ewestfal Eric Westfall added a comment - 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
            Hide
            ewestfal Eric Westfall added a comment - - edited

            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:

            1. Create RestServiceRegistryConnector implementation general ServiceRegistryConnector interface
              • this will be the piece that hits the rest service and reads from the configuration on the url to hit
            2. Make sure dev.mode and batch.mode still work properly and are implemented correctly in the appropriate places
            3. Implement XML serialization of serviceconfiguration
              • Currently this is still being handled as java serialization of the ServiceConfiguration
            4. Update the master database for the new changes - wasn't able to connect on Sunday night because the MDS is down and being rebuilt from backup
              • 2011-05-13.sql
            5. Deal with KSBThinClientResourceLoader, do we even need this anymore with the ability to connect to the registry via URL?
            6. The service bus might not cleaning up "I" services in the registry after a restart...
            7. go back through and fully javadoc at least the api
            8. go back and update our services so that they publish their version, also have a way to configure a "current" version in the config? Could it be derived somehow from pom.xml?
            9. Look into how registry synchronization is locking, seems like it might be too heavy handed
            10. Can org.kuali.rice.ksb.service.KSBContextServiceLocator be removed?
            11. On every new startup, it deletes existing and publishes new endpoints...is this desirable? Should it instead "update" existing entries in the registry if they are pretty much the same?
            12. Some of the impl tests didn't come over (the "groovy" ones that test the diff calculator)
            13. Moved Coded to mo/common
            14. Need to the delete the "old" spring bean folder
              1. Create a document given a rough rundown of the new design, a couple of random notes joted down early on:
              • registry will simply store the checksum, not responsible for generating it, that's client responsibility
              • service namespace on registry table is actually becoming application namespace
              • document the renamed changes packages (see below)
            15. Get KSB integration tests working again
              • ContextObjectMessagingTest throws some bam-related nullpointerexceptions
              • Need to write a test for ServiceBusImpl and ServiceRegistryImpl
                • deleted RemotedServiceRegistryTest
                • deleted RemoteResourceLoaderTest
              • Tests are getting locked up sometimes, appear to be outstanding threads holding connections open to krsb_bam_t?
            16. Write some more "pure" unit tests to test some of the ksb impl code
            17. If possible, move KSB-impl-specific code out of rice-impl to ksb-impl
            18. For configuration stuff:
              • should CommonOJBSpringBeans.xml setup be moved somewhere else?
            19. Update Modularity Changes document to


            Files Renamed/Changed Packages:

            (I'm sure I missed some other important ones, so will augment this list as needed)

            • KSBExporter renamed to org.kuali.rice.ksb.api.bus.support.ServiceBusExporter
            • PropertyConditionalKSBExporter renamed to org.kuali.rice.ksb.api.bus.support.PropertyConditionalServiceBusExporter
            • all of the service definition classes moved to org.kuali.rice.ksb.api.support package
            • org.kuali.rice.ksb.messaging.SOAPServiceDefinition -> org.kuali.rice.ksb.api.bus.support.SoapServiceDefinition
            • org.kuali.rice.ksb.messaging.RESTServiceDefinition -> org.kuali.rice.ksb.api.bus.support.RestServiceDefinition
            • org.kuali.rice.ksb.messaging.JavaServiceDefinition -> org.kuali.rice.ksb.api.bus.support.JavaServiceDefinition
            • org.kuali.rice.ksb.messaging.KSBExporter -> org.kuali.rice.ksb.api.bus.support.ServiceBusExporter
            Show
            ewestfal Eric Westfall added a comment - - edited 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: Create RestServiceRegistryConnector implementation general ServiceRegistryConnector interface this will be the piece that hits the rest service and reads from the configuration on the url to hit Make sure dev.mode and batch.mode still work properly and are implemented correctly in the appropriate places Implement XML serialization of serviceconfiguration Currently this is still being handled as java serialization of the ServiceConfiguration Update the master database for the new changes - wasn't able to connect on Sunday night because the MDS is down and being rebuilt from backup 2011-05-13.sql Deal with KSBThinClientResourceLoader, do we even need this anymore with the ability to connect to the registry via URL? The service bus might not cleaning up "I" services in the registry after a restart... go back through and fully javadoc at least the api go back and update our services so that they publish their version, also have a way to configure a "current" version in the config? Could it be derived somehow from pom.xml? Look into how registry synchronization is locking, seems like it might be too heavy handed Can org.kuali.rice.ksb.service.KSBContextServiceLocator be removed? On every new startup, it deletes existing and publishes new endpoints...is this desirable? Should it instead "update" existing entries in the registry if they are pretty much the same? Some of the impl tests didn't come over (the "groovy" ones that test the diff calculator) Moved Coded to mo/common Need to the delete the "old" spring bean folder Create a document given a rough rundown of the new design, a couple of random notes joted down early on: registry will simply store the checksum, not responsible for generating it, that's client responsibility service namespace on registry table is actually becoming application namespace document the renamed changes packages (see below) Get KSB integration tests working again ContextObjectMessagingTest throws some bam-related nullpointerexceptions Need to write a test for ServiceBusImpl and ServiceRegistryImpl deleted RemotedServiceRegistryTest deleted RemoteResourceLoaderTest Tests are getting locked up sometimes, appear to be outstanding threads holding connections open to krsb_bam_t? Write some more "pure" unit tests to test some of the ksb impl code If possible, move KSB-impl-specific code out of rice-impl to ksb-impl For configuration stuff: should CommonOJBSpringBeans.xml setup be moved somewhere else? Update Modularity Changes document to Files Renamed/Changed Packages: (I'm sure I missed some other important ones, so will augment this list as needed) KSBExporter renamed to org.kuali.rice.ksb.api.bus.support.ServiceBusExporter PropertyConditionalKSBExporter renamed to org.kuali.rice.ksb.api.bus.support.PropertyConditionalServiceBusExporter all of the service definition classes moved to org.kuali.rice.ksb.api.support package org.kuali.rice.ksb.messaging.SOAPServiceDefinition -> org.kuali.rice.ksb.api.bus.support.SoapServiceDefinition org.kuali.rice.ksb.messaging.RESTServiceDefinition -> org.kuali.rice.ksb.api.bus.support.RestServiceDefinition org.kuali.rice.ksb.messaging.JavaServiceDefinition -> org.kuali.rice.ksb.api.bus.support.JavaServiceDefinition org.kuali.rice.ksb.messaging.KSBExporter -> org.kuali.rice.ksb.api.bus.support.ServiceBusExporter
            Hide
            ewestfal Eric Westfall added a comment -

            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
            
            Show
            ewestfal Eric Westfall added a comment - 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
            Hide
            ewestfal Eric Westfall added a comment - - edited

            I'm going to track the remaining todos on this jira in this comment.

            TODO list:

            1. Create RestServiceRegistryConnector implementation general ServiceRegistryConnector interface
              • this will be the piece that hits the rest service and reads from the configuration on the url to hit
            2. Make sure dev.mode and batch.mode still work properly and are implemented correctly in the appropriate places
            3. Implement XML serialization of serviceconfiguration
              • Currently this is still being handled as java serialization of the ServiceConfiguration
            4. Update the master database for the new changes - wasn't able to connect on Sunday night because the MDS is down and being rebuilt from backup
              • 2011-05-13.sql
            5. Deal with KSBThinClientResourceLoader, do we even need this anymore with the ability to connect to the registry via URL?
            6. The service bus might not cleaning up "I" services in the registry after a restart...
            7. go back through and fully javadoc at least the api
            8. go back and update our services so that they publish their version, also have a way to configure a "current" version in the config? Could it be derived somehow from pom.xml?
            9. Look into how registry synchronization is locking, seems like it might be too heavy handed
            10. Can org.kuali.rice.ksb.service.KSBContextServiceLocator be removed? Removed
            11. On every new startup, it deletes existing and publishes new endpoints...is this desirable? Should it instead "update" existing entries in the registry if they are pretty much the same?
            12. Some of the impl tests didn't come over (the "groovy" ones that test the diff calculator)
            13. Moved Coded to mo/common
            14. Need to the delete the "old" spring bean folder
            15. Create a document given a rough rundown of the new design, a couple of random notes joted down early on:
              • registry will simply store the checksum, not responsible for generating it, that's client responsibility
              • service namespace on registry table is actually becoming application namespace
              • document the renamed changes packages (see below)
            16. Get KSB integration tests working again
              • ContextObjectMessagingTest throws some bam-related nullpointerexceptions
              • Need to write a test for ServiceBusImpl and ServiceRegistryImpl
                • deleted RemotedServiceRegistryTest
                • deleted RemoteResourceLoaderTest
              • Tests are getting locked up sometimes, appear to be outstanding threads holding connections open to krsb_bam_t?
            17. Write some more "pure" unit tests to test some of the ksb impl code
            18. If possible, move KSB-impl-specific code out of rice-impl to ksb-impl
            19. For configuration stuff:
              • should CommonOJBSpringBeans.xml setup be moved somewhere else?
            20. Update Modularity Changes document to reflect files that have changed names or moved
            21. Modify other instances where we are using Enums with JAXB so that they use the Enum adapter
            Show
            ewestfal Eric Westfall added a comment - - edited I'm going to track the remaining todos on this jira in this comment. TODO list: Create RestServiceRegistryConnector implementation general ServiceRegistryConnector interface this will be the piece that hits the rest service and reads from the configuration on the url to hit Make sure dev.mode and batch.mode still work properly and are implemented correctly in the appropriate places Implement XML serialization of serviceconfiguration Currently this is still being handled as java serialization of the ServiceConfiguration Update the master database for the new changes - wasn't able to connect on Sunday night because the MDS is down and being rebuilt from backup 2011-05-13.sql Deal with KSBThinClientResourceLoader, do we even need this anymore with the ability to connect to the registry via URL? The service bus might not cleaning up "I" services in the registry after a restart... go back through and fully javadoc at least the api go back and update our services so that they publish their version, also have a way to configure a "current" version in the config? Could it be derived somehow from pom.xml? Look into how registry synchronization is locking, seems like it might be too heavy handed Can org.kuali.rice.ksb.service.KSBContextServiceLocator be removed? Removed On every new startup, it deletes existing and publishes new endpoints...is this desirable? Should it instead "update" existing entries in the registry if they are pretty much the same? Some of the impl tests didn't come over (the "groovy" ones that test the diff calculator) Moved Coded to mo/common Need to the delete the "old" spring bean folder Create a document given a rough rundown of the new design, a couple of random notes joted down early on: registry will simply store the checksum, not responsible for generating it, that's client responsibility service namespace on registry table is actually becoming application namespace document the renamed changes packages (see below) Get KSB integration tests working again ContextObjectMessagingTest throws some bam-related nullpointerexceptions Need to write a test for ServiceBusImpl and ServiceRegistryImpl deleted RemotedServiceRegistryTest deleted RemoteResourceLoaderTest Tests are getting locked up sometimes, appear to be outstanding threads holding connections open to krsb_bam_t? Write some more "pure" unit tests to test some of the ksb impl code If possible, move KSB-impl-specific code out of rice-impl to ksb-impl For configuration stuff: should CommonOJBSpringBeans.xml setup be moved somewhere else? Update Modularity Changes document to reflect files that have changed names or moved Modify other instances where we are using Enums with JAXB so that they use the Enum adapter
            Hide
            riceci Rice-CI User (Inactive) added a comment -

            Integrated in rice-trunk-nightly #52 (See http://ci.rice.kuali.org/job/rice-trunk-nightly/52/)
            KULRICE-4816 - fixed up how enums are mapped according to our standards
            KULRICE-4816 - moved Coded interface to mo.common (for some reason the first commit didn't get everything)
            KULRICE-4816 - moved Coded interface to mo.common
            KULRICE-4816 - committing ksb impl unit tests that got missed in the merge
            KULRICE-4816 - removed "old" spring config directory and KSBContextServiceLocator
            KULRICE-4816 - removed "old" spring config directory and KSBContextServiceLocator
            KULRICE-4816 - cleaned up some warnings on ksb classes
            KULRICE-4816 - added a TODO comment to ServiceConnectorFactory
            KULRICE-4816 - committing merge of my ksb refactor branch to trunk

            Show
            riceci Rice-CI User (Inactive) added a comment - Integrated in rice-trunk-nightly #52 (See http://ci.rice.kuali.org/job/rice-trunk-nightly/52/ ) KULRICE-4816 - fixed up how enums are mapped according to our standards KULRICE-4816 - moved Coded interface to mo.common (for some reason the first commit didn't get everything) KULRICE-4816 - moved Coded interface to mo.common KULRICE-4816 - committing ksb impl unit tests that got missed in the merge KULRICE-4816 - removed "old" spring config directory and KSBContextServiceLocator KULRICE-4816 - removed "old" spring config directory and KSBContextServiceLocator KULRICE-4816 - cleaned up some warnings on ksb classes KULRICE-4816 - added a TODO comment to ServiceConnectorFactory KULRICE-4816 - committing merge of my ksb refactor branch to trunk
            Hide
            riceci Rice-CI User (Inactive) added a comment -

            Integrated in rice-trunk-nightly #53 (See http://ci.rice.kuali.org/job/rice-trunk-nightly/53/)
            KULRICE-4816 - fixed an issue where the wrong id was being used when lazy loading the service descriptor

            Show
            riceci Rice-CI User (Inactive) added a comment - Integrated in rice-trunk-nightly #53 (See http://ci.rice.kuali.org/job/rice-trunk-nightly/53/ ) KULRICE-4816 - fixed an issue where the wrong id was being used when lazy loading the service descriptor
            Hide
            riceci Rice-CI User (Inactive) added a comment -

            Integrated in rice-trunk-nightly #58 (See http://ci.rice.kuali.org/job/rice-trunk-nightly/58/)

            Show
            riceci Rice-CI User (Inactive) added a comment - Integrated in rice-trunk-nightly #58 (See http://ci.rice.kuali.org/job/rice-trunk-nightly/58/ )
            Hide
            riceci Rice-CI User (Inactive) added a comment -

            Integrated in rice-trunk-nightly #59 (See http://ci.rice.kuali.org/job/rice-trunk-nightly/59/)
            KULRICE-4816 - added class level comments to ServiceBus.java
            KULRICE-4816 - modified ServiceBusImpl so that export manager operations handle prior to putting into or removing from hashmap (just in case there's an error during the process or something)

            Show
            riceci Rice-CI User (Inactive) added a comment - Integrated in rice-trunk-nightly #59 (See http://ci.rice.kuali.org/job/rice-trunk-nightly/59/ ) KULRICE-4816 - added class level comments to ServiceBus.java KULRICE-4816 - modified ServiceBusImpl so that export manager operations handle prior to putting into or removing from hashmap (just in case there's an error during the process or something)
            Hide
            riceci Rice-CI User (Inactive) added a comment -

            Integrated in rice-trunk-nightly #60 (See http://ci.rice.kuali.org/job/rice-trunk-nightly/60/)
            KULRICE-4816 - Added javadoc to ServiceBus interface.

            Show
            riceci Rice-CI User (Inactive) added a comment - Integrated in rice-trunk-nightly #60 (See http://ci.rice.kuali.org/job/rice-trunk-nightly/60/ ) KULRICE-4816 - Added javadoc to ServiceBus interface.
            Hide
            riceci Rice-CI User (Inactive) added a comment -

            Integrated in rice-trunk-nightly #61 (See http://ci.rice.kuali.org/job/rice-trunk-nightly/61/)
            KULRICE-4816 - committed fix for ksb oracle sql script

            Show
            riceci Rice-CI User (Inactive) added a comment - Integrated in rice-trunk-nightly #61 (See http://ci.rice.kuali.org/job/rice-trunk-nightly/61/ ) KULRICE-4816 - committed fix for ksb oracle sql script
            Hide
            ewestfal Eric Westfall added a comment -

            As per previous item mentioned on this jira, I have started a document to document the work for this here:

            https://wiki.kuali.org/x/T3dyEg

            Show
            ewestfal Eric Westfall added a comment - As per previous item mentioned on this jira, I have started a document to document the work for this here: https://wiki.kuali.org/x/T3dyEg
            Hide
            ewestfal Eric Westfall added a comment -

            Here is some info on what I'm planning for two of the major pieces that are remaining here:

            Plan for registry connector:

            • Create a configuration parameter rice.ksb.registry.serviceUrl
              • this can contain a single url value for a service for accessing the registry
              • could add support for multiple in the future (with built-in client side load balancing), but for now, people should implement load balancing behind the url if they want some sort of failover capabilities
              • the url will automatically default based on the value of rice.url and using /remoting....
            • Create a ServiceRegistry implementation which reads this url and creates a SOAPConnector to it, delegating methods appropriately
              • if the url configuration parameter does not exist on startup, then fail startup of client-side ksb
              • note, in the future we may want to allow for apps to easily start up without configuring connections to the registry, but would be scope creep for this particular exercise
            • Add the exporting of the ServiceRegistry service to the KSB on ksb registry startup
              • need to determine if this can easily be done with the KSBExporter or if it has to be more carefully bootstrapped

            Plan for serialization of ServiceConfiguration to XML:

            • currently, serialization is handled in LocalService.constructDescriptor and deserialization is handled in RemoteService.constructServiceConfiguration
            • simplest approach for now will be to jaxb annotate the ServiceConfiguration objects and replace object serialization with xml serialization using jaxb
            • since KSB doesn't have a great pluggable SPI for implementing custom exporters, connectors, and configuration it doesn't make sense to extract (or make "pluggable") the process by which configurations are serialized
              • could do that in a future iteration however
            • need to be sure to apply our existing best practices for jaxb and compatibility to this (i.e. using @XsdAnyElement to allow for future extension)
            Show
            ewestfal Eric Westfall added a comment - Here is some info on what I'm planning for two of the major pieces that are remaining here: Plan for registry connector: Create a configuration parameter rice.ksb.registry.serviceUrl this can contain a single url value for a service for accessing the registry could add support for multiple in the future (with built-in client side load balancing), but for now, people should implement load balancing behind the url if they want some sort of failover capabilities the url will automatically default based on the value of rice.url and using /remoting.... Create a ServiceRegistry implementation which reads this url and creates a SOAPConnector to it, delegating methods appropriately if the url configuration parameter does not exist on startup, then fail startup of client-side ksb note, in the future we may want to allow for apps to easily start up without configuring connections to the registry, but would be scope creep for this particular exercise Add the exporting of the ServiceRegistry service to the KSB on ksb registry startup need to determine if this can easily be done with the KSBExporter or if it has to be more carefully bootstrapped Plan for serialization of ServiceConfiguration to XML: currently, serialization is handled in LocalService.constructDescriptor and deserialization is handled in RemoteService.constructServiceConfiguration simplest approach for now will be to jaxb annotate the ServiceConfiguration objects and replace object serialization with xml serialization using jaxb since KSB doesn't have a great pluggable SPI for implementing custom exporters, connectors, and configuration it doesn't make sense to extract (or make "pluggable") the process by which configurations are serialized could do that in a future iteration however need to be sure to apply our existing best practices for jaxb and compatibility to this (i.e. using @XsdAnyElement to allow for future extension)
            Hide
            riceci Rice-CI User (Inactive) added a comment -

            Integrated in rice-trunk-nightly #68 (See http://ci.rice.kuali.org/job/rice-trunk-nightly/68/)
            KULRICE-4816 - Added javadoc to SerializationUtils class.

            Show
            riceci Rice-CI User (Inactive) added a comment - Integrated in rice-trunk-nightly #68 (See http://ci.rice.kuali.org/job/rice-trunk-nightly/68/ ) KULRICE-4816 - Added javadoc to SerializationUtils class.
            Hide
            ewestfal Eric Westfall added a comment -

            With last commit, ServiceConfiguration is now being serialized to XML instead of a java serialized form.

            Show
            ewestfal Eric Westfall added a comment - With last commit, ServiceConfiguration is now being serialized to XML instead of a java serialized form.
            Hide
            riceci Rice-CI User (Inactive) added a comment -

            Integrated in rice-trunk-nightly #70 (See http://ci.rice.kuali.org/job/rice-trunk-nightly/70/)
            KULRICE-4816 - modified KSBConfigurer so that it recognizes proper run modes
            KULRICE-4816 - committing work for service registry connector
            KULRICE-4816 - modified KSB so that the service registry endpoint is getting published now
            KULRICE-4816 - final work on service configuration being sored as XML in the registry
            KULRICE-4816 - commiting work to add jaxb annotations to SoapServiceConfiguration
            KULRICE-4816 - committing first chunk of work to convert ServiceConfigurations to an XML format for storage in the registry

            Show
            riceci Rice-CI User (Inactive) added a comment - Integrated in rice-trunk-nightly #70 (See http://ci.rice.kuali.org/job/rice-trunk-nightly/70/ ) KULRICE-4816 - modified KSBConfigurer so that it recognizes proper run modes KULRICE-4816 - committing work for service registry connector KULRICE-4816 - modified KSB so that the service registry endpoint is getting published now KULRICE-4816 - final work on service configuration being sored as XML in the registry KULRICE-4816 - commiting work to add jaxb annotations to SoapServiceConfiguration KULRICE-4816 - committing first chunk of work to convert ServiceConfigurations to an XML format for storage in the registry
            Hide
            ewestfal Eric Westfall added a comment -

            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.

            Show
            ewestfal Eric Westfall added a comment - 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.
            Hide
            ewestfal Eric Westfall added a comment - - edited

            Updated TODO list for this jira:

            I'm going to track the remaining todos on this jira in this comment.

            TODO list:

            1. Make sure dev.mode and batch.mode still work properly and are implemented correctly in the appropriate places
            2. Deal with KSBThinClientResourceLoader, do we even need this anymore with the ability to connect to the registry via URL?
            3. go back through and fully javadoc at least the api
            4. go back and update our services so that they publish their version, also have a way to configure a "current" version in the config? Could it be derived somehow from pom.xml?
            5. Look into how registry synchronization is locking, seems like it might be too heavy handed I think it's ok for now
            6. On every new startup, it deletes existing and publishes new endpoints...is this desirable? Should it instead "update" existing entries in the registry if they are pretty much the same?
              • Additionally, if entries in the registry are marked as "I" for inactive/offline, then when the application starts back up it is creating a whole new set of active/online endpoints rather then updating the status on the offline ones. This basically means the registry table grows and grows everytime you shutdown/startup.
            7. Create a document given a rough rundown of the new design, a couple of random notes joted down early on:
              • registry will simply store the checksum, not responsible for generating it, that's client responsibility
              • service namespace on registry table is actually becoming application namespace
              • document the renamed changes packages (see below)
            8. Get KSB integration tests working again
              • ContextObjectMessagingTest throws some bam-related nullpointerexceptions
              • Need to write a test for ServiceBusImpl and ServiceRegistryImpl
                • deleted RemotedServiceRegistryTest
                • deleted RemoteResourceLoaderTest
              • Tests are getting locked up sometimes, appear to be outstanding threads holding connections open to krsb_bam_t?
            9. Write some more "pure" unit tests to test some of the ksb impl code
            10. If possible, move KSB-impl-specific code out of rice-impl to ksb-impl
              • Did some analysis here, it's going to take some work to do this which will involve dealing with the fact that a lot of code from other modules depends on the KSBScheduled and thread pool which are not currently part of the api
            11. For configuration stuff:
              • should CommonOJBSpringBeans.xml setup be moved somewhere else?
            12. Update Modularity Changes document to reflect files that have changed names or moved
            13. 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.
            14. Add an architecture diagram to documentation.
            Show
            ewestfal Eric Westfall added a comment - - edited Updated TODO list for this jira: I'm going to track the remaining todos on this jira in this comment. TODO list: Make sure dev.mode and batch.mode still work properly and are implemented correctly in the appropriate places Deal with KSBThinClientResourceLoader, do we even need this anymore with the ability to connect to the registry via URL? go back through and fully javadoc at least the api go back and update our services so that they publish their version, also have a way to configure a "current" version in the config? Could it be derived somehow from pom.xml? Look into how registry synchronization is locking, seems like it might be too heavy handed I think it's ok for now On every new startup, it deletes existing and publishes new endpoints...is this desirable? Should it instead "update" existing entries in the registry if they are pretty much the same? Additionally, if entries in the registry are marked as "I" for inactive/offline, then when the application starts back up it is creating a whole new set of active/online endpoints rather then updating the status on the offline ones. This basically means the registry table grows and grows everytime you shutdown/startup. Create a document given a rough rundown of the new design, a couple of random notes joted down early on: registry will simply store the checksum, not responsible for generating it, that's client responsibility service namespace on registry table is actually becoming application namespace document the renamed changes packages (see below) Get KSB integration tests working again ContextObjectMessagingTest throws some bam-related nullpointerexceptions Need to write a test for ServiceBusImpl and ServiceRegistryImpl deleted RemotedServiceRegistryTest deleted RemoteResourceLoaderTest Tests are getting locked up sometimes, appear to be outstanding threads holding connections open to krsb_bam_t? Write some more "pure" unit tests to test some of the ksb impl code If possible, move KSB-impl-specific code out of rice-impl to ksb-impl Did some analysis here, it's going to take some work to do this which will involve dealing with the fact that a lot of code from other modules depends on the KSBScheduled and thread pool which are not currently part of the api For configuration stuff: should CommonOJBSpringBeans.xml setup be moved somewhere else? Update Modularity Changes document to reflect files that have changed names or moved 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. Add an architecture diagram to documentation.
            Hide
            riceci Rice-CI User (Inactive) added a comment -

            Integrated in rice-trunk-nightly #73 (See http://ci.rice.kuali.org/job/rice-trunk-nightly/73/)
            KULRICE-4816 - removed old ServiceRegistryConnector and implemented a LazyRemoteServiceRegistryConnector class which handles lazy loading of the remote service registry upon application startup.
            KULRICE-4816 - modified ServiceInfo so that it uses an XmlAdapter for marshalling of QName since the default marshalling is problematic
            KULRICE-4816 - modified ServiceRegistryDiffCalculatorImplTest so that it handles switching out config in a more robust manner
            KULRICE-4816 - modified MessageFetcher so that it doesn't execute if message persistence is turned off
            KULRICE-4816 - fixed a slight bug in BusClientFailureProxy whereby it wasn't properly re-pointing to a new service implementation upon failed invocation
            KULRICE-4816 - modified ServiceBusImpl so that it doesn't invoke ServiceRegistry.removeAndPublish with empty lists because it's unecessary to do so
            KULRICE-4816 - improved error messages in ModuleConfigurer

            Show
            riceci Rice-CI User (Inactive) added a comment - Integrated in rice-trunk-nightly #73 (See http://ci.rice.kuali.org/job/rice-trunk-nightly/73/ ) KULRICE-4816 - removed old ServiceRegistryConnector and implemented a LazyRemoteServiceRegistryConnector class which handles lazy loading of the remote service registry upon application startup. KULRICE-4816 - modified ServiceInfo so that it uses an XmlAdapter for marshalling of QName since the default marshalling is problematic KULRICE-4816 - modified ServiceRegistryDiffCalculatorImplTest so that it handles switching out config in a more robust manner KULRICE-4816 - modified MessageFetcher so that it doesn't execute if message persistence is turned off KULRICE-4816 - fixed a slight bug in BusClientFailureProxy whereby it wasn't properly re-pointing to a new service implementation upon failed invocation KULRICE-4816 - modified ServiceBusImpl so that it doesn't invoke ServiceRegistry.removeAndPublish with empty lists because it's unecessary to do so KULRICE-4816 - improved error messages in ModuleConfigurer
            Hide
            riceci Rice-CI User (Inactive) added a comment -

            Integrated in rice-trunk-nightly #74 (See http://ci.rice.kuali.org/job/rice-trunk-nightly/74/)
            KULRICE-4816 - javadoc'd ServiceInfo
            KULRICE-4816 - javadoc'd ServiceInfoContract

            Show
            riceci Rice-CI User (Inactive) added a comment - Integrated in rice-trunk-nightly #74 (See http://ci.rice.kuali.org/job/rice-trunk-nightly/74/ ) KULRICE-4816 - javadoc'd ServiceInfo KULRICE-4816 - javadoc'd ServiceInfoContract
            Hide
            ewestfal Eric Westfall added a comment -

            Documentation for this is pretty much done. Could probably use an architecture diagram so I still want to do that.

            Show
            ewestfal Eric Westfall added a comment - Documentation for this is pretty much done. Could probably use an architecture diagram so I still want to do that.
            Hide
            riceci Rice-CI User (Inactive) added a comment -

            Integrated in rice-trunk-nightly #75 (See http://ci.rice.kuali.org/job/rice-trunk-nightly/75/)
            KULRICE-4816 - implemented proper support for checking rice.ksb.batch.mode to the service bus
            KULRICE-4816 - modified how service registry bootstrap process works so it is simpler
            KULRICE-4816 - javadocs for ServiceEndpoint, ServiceEndpointContract
            KULRICE-4816 - javadocs for ServiceDescriptor, ServiceDesriptorContract, and ServiceInfo
            KULRICE-4816 - Improved ServiceInfoContract javadocs

            Show
            riceci Rice-CI User (Inactive) added a comment - Integrated in rice-trunk-nightly #75 (See http://ci.rice.kuali.org/job/rice-trunk-nightly/75/ ) KULRICE-4816 - implemented proper support for checking rice.ksb.batch.mode to the service bus KULRICE-4816 - modified how service registry bootstrap process works so it is simpler KULRICE-4816 - javadocs for ServiceEndpoint, ServiceEndpointContract KULRICE-4816 - javadocs for ServiceDescriptor, ServiceDesriptorContract, and ServiceInfo KULRICE-4816 - Improved ServiceInfoContract javadocs
            Hide
            ewestfal Eric Westfall added a comment -

            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

            Show
            ewestfal Eric Westfall added a comment - 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
            Hide
            ewestfal Eric Westfall added a comment -

            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.

            Show
            ewestfal Eric Westfall added a comment - 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.
            Hide
            ewestfal Eric Westfall added a comment -

            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.

            Show
            ewestfal Eric Westfall added a comment - 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.
            Hide
            ewestfal Eric Westfall added a comment -

            Currently working on the following item:

            • On every new startup, it deletes existing and publishes new endpoints...is this desirable? Should it instead "update" existing entries in the registry if they are pretty much the same?
              • Additionally, if entries in the registry are marked as "I" for inactive/offline, then when the application starts back up it is creating a whole new set of active/online endpoints rather then updating the status on the offline ones. This basically means the registry table grows and grows everytime you shutdown/startup.

            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:

            1. On the registry side there is no protection against more than one service with a particular name getting published for a specific instance id. The registry needs to be modified on the "publish" operation such that it queries the database first to determine if an entry exists in the registry for that instance id + service name combination. And then implement the following behavior:
              1. If there is an existing service in the registry and the incoming service info does not have a service id on it, then throw an error about attempting to publish a service that already exists
              2. If there is an existing service in the registry, and the incoming service info does have a service id on it, compare the service id and the service descriptor ids:
                1. If they are different, give the same "duplicate service" error as above
                2. If they are the same, execute an update, if the version numbers don't match an OptimisticLockException will get thrown by OJB
            2. Currently, the service bus is not comparing the services from the registry with the local services before publishing, it should be doing the following:
              1. For the given local service, look for a service in the registry with that service name and instance id.
              2. If one exists, that means we want to update it in the registry rather then insert a new entry, to do this copy the service id, service descriptor id, and version number over into the client-side copy of the ServiceEndpoint and then publish that service instead
              3. If one does not exist, that means we need to insert the service when we publish, pass to the registry as-is
            Show
            ewestfal Eric Westfall added a comment - Currently working on the following item: On every new startup, it deletes existing and publishes new endpoints...is this desirable? Should it instead "update" existing entries in the registry if they are pretty much the same? Additionally, if entries in the registry are marked as "I" for inactive/offline, then when the application starts back up it is creating a whole new set of active/online endpoints rather then updating the status on the offline ones. This basically means the registry table grows and grows everytime you shutdown/startup. 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: On the registry side there is no protection against more than one service with a particular name getting published for a specific instance id. The registry needs to be modified on the "publish" operation such that it queries the database first to determine if an entry exists in the registry for that instance id + service name combination. And then implement the following behavior: If there is an existing service in the registry and the incoming service info does not have a service id on it, then throw an error about attempting to publish a service that already exists If there is an existing service in the registry, and the incoming service info does have a service id on it, compare the service id and the service descriptor ids: If they are different, give the same "duplicate service" error as above If they are the same, execute an update, if the version numbers don't match an OptimisticLockException will get thrown by OJB Currently, the service bus is not comparing the services from the registry with the local services before publishing, it should be doing the following: For the given local service, look for a service in the registry with that service name and instance id. If one exists, that means we want to update it in the registry rather then insert a new entry, to do this copy the service id, service descriptor id, and version number over into the client-side copy of the ServiceEndpoint and then publish that service instead If one does not exist, that means we need to insert the service when we publish, pass to the registry as-is
            Hide
            riceci Rice-CI User (Inactive) added a comment -

            Integrated in rice-trunk-nightly #77 (See http://ci.rice.kuali.org/job/rice-trunk-nightly/77/)
            KULRICE-4816 - committed some more work related to proper handling of service diffs by the registry

            Show
            riceci Rice-CI User (Inactive) added a comment - Integrated in rice-trunk-nightly #77 (See http://ci.rice.kuali.org/job/rice-trunk-nightly/77/ ) KULRICE-4816 - committed some more work related to proper handling of service diffs by the registry
            Hide
            riceci Rice-CI User (Inactive) added a comment -

            Integrated in rice-trunk-nightly #79 (See http://ci.rice.kuali.org/job/rice-trunk-nightly/79/)
            KULRICE-4816 - finished standardizing on "application id"
            KULRICE-4816 - modified the AttributeSetAdapter so that it produces similar xml to MapStringString adapter
            KULRICE-4816 - modified the core jaxb adapters so that they use the core namespace, made some modifications to the XML that MapStringStringAdapter generates
            KULRICE-4816 - made some improvements to the ServiceRegistry interface so that the SOAP message comes out better
            KULRICE-4816 - fixed an issue with KSBCOnfigurer that was preventing integration test startup
            KULRICE-4816 - first big commit of work to standardize "service namespace" and "application namespace" on "application id"

            Show
            riceci Rice-CI User (Inactive) added a comment - Integrated in rice-trunk-nightly #79 (See http://ci.rice.kuali.org/job/rice-trunk-nightly/79/ ) KULRICE-4816 - finished standardizing on "application id" KULRICE-4816 - modified the AttributeSetAdapter so that it produces similar xml to MapStringString adapter KULRICE-4816 - modified the core jaxb adapters so that they use the core namespace, made some modifications to the XML that MapStringStringAdapter generates KULRICE-4816 - made some improvements to the ServiceRegistry interface so that the SOAP message comes out better KULRICE-4816 - fixed an issue with KSBCOnfigurer that was preventing integration test startup KULRICE-4816 - first big commit of work to standardize "service namespace" and "application namespace" on "application id"
            Hide
            ewestfal Eric Westfall added a comment -

            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.

            Show
            ewestfal Eric Westfall added a comment - 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.
            Hide
            ewestfal Eric Westfall added a comment - - edited

            Ok, getting close to where I can close this one out. Still need to do the following:

            1. Ensure that the KSB api is fully javadoc'd. In particular, need to make sure that the ServiceRegistry interface is well documented as it forms a part of the contract.
            2. Update wiki page to reflect change from application namespace to application id concept
            3. Update modularity document with information on package name changes, renamed files, etc.
              • Considering possibly putting together a wiki page instead to track impacting changes in rice?

            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:

            1. Deal with KSBThinClientResourceLoader, do we even need this anymore with the ability to connect to the registry via URL?
            2. Look into remaining failures of KSB integration tests. Intermittent Oracle locking issues when running KSB integration tests.
              • Tests are getting locked up sometimes, appear to be outstanding threads holding connections open to krsb_bam_t?
            3. Implement some more integration and unit tests for KSB, including:
              • ServiceBusImpl
              • ServiceRegistryImpl
              • Write some more "pure" unit tests to test some of the ksb impl code, in particular could use one which tests the ServiceRegistry contract
            4. Move KSB code which is currently in rice-impl into ksb-impl module
              • It's going to take some work to do this which will involve dealing with the fact that a lot of code from other modules depends on the KSBScheduled and thread pool which are not currently part of the api
            5. Implement the ability for a client application to start up even if the service registry services are not online.
            6. Implement the ability to run just the service registry as a standalone application to help with high availability concerns.
            Show
            ewestfal Eric Westfall added a comment - - edited Ok, getting close to where I can close this one out. Still need to do the following: Ensure that the KSB api is fully javadoc'd. In particular, need to make sure that the ServiceRegistry interface is well documented as it forms a part of the contract. Update wiki page to reflect change from application namespace to application id concept Update modularity document with information on package name changes, renamed files, etc. Considering possibly putting together a wiki page instead to track impacting changes in rice? 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: Deal with KSBThinClientResourceLoader, do we even need this anymore with the ability to connect to the registry via URL? Look into remaining failures of KSB integration tests. Intermittent Oracle locking issues when running KSB integration tests. Tests are getting locked up sometimes, appear to be outstanding threads holding connections open to krsb_bam_t? Implement some more integration and unit tests for KSB, including: ServiceBusImpl ServiceRegistryImpl Write some more "pure" unit tests to test some of the ksb impl code, in particular could use one which tests the ServiceRegistry contract Move KSB code which is currently in rice-impl into ksb-impl module It's going to take some work to do this which will involve dealing with the fact that a lot of code from other modules depends on the KSBScheduled and thread pool which are not currently part of the api Implement the ability for a client application to start up even if the service registry services are not online. Implement the ability to run just the service registry as a standalone application to help with high availability concerns.
            Hide
            riceci Rice-CI User (Inactive) added a comment -

            Integrated in rice-trunk-nightly #80 (See http://ci.rice.kuali.org/job/rice-trunk-nightly/80/)
            KULRICE-4816 - Added some improved content logging to SpringResourceLoader to help with debugging
            KULRICE-4816 - organized imports on CoreConfigurer
            KULRICE-4816 - modified GlobalResourceLoader so that it executes a stop on resource loader based on default classloader
            KULRICE-4816 - fixed RestServiceDefinitionTest
            KULRICE-4816 - fixing up some of the ksb integration tests
            KULRICE-4816 - modified the various rice JAXB-d exceptions so they use the proper namespace

            Show
            riceci Rice-CI User (Inactive) added a comment - Integrated in rice-trunk-nightly #80 (See http://ci.rice.kuali.org/job/rice-trunk-nightly/80/ ) KULRICE-4816 - Added some improved content logging to SpringResourceLoader to help with debugging KULRICE-4816 - organized imports on CoreConfigurer KULRICE-4816 - modified GlobalResourceLoader so that it executes a stop on resource loader based on default classloader KULRICE-4816 - fixed RestServiceDefinitionTest KULRICE-4816 - fixing up some of the ksb integration tests KULRICE-4816 - modified the various rice JAXB-d exceptions so they use the proper namespace
            Hide
            ewestfal Eric Westfall added a comment -

            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.

            Show
            ewestfal Eric Westfall added a comment - 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.
            Hide
            ewestfal Eric Westfall added a comment -

            Ok, appropriate documentation has been updated and additional jiras have been created and linked to this one. Finally going to resolve this issue.

            Show
            ewestfal Eric Westfall added a comment - Ok, appropriate documentation has been updated and additional jiras have been created and linked to this one. Finally going to resolve this issue.
            Hide
            riceci Rice-CI User (Inactive) added a comment -

            Integrated in rice-trunk-nightly #81 (See http://ci.rice.kuali.org/job/rice-trunk-nightly/81/)
            KULRICE-4816 - javadoc'd RemoveAndPublishResult
            KULRICE-4816 - fixed a typo in MessageHelper javadoc
            KULRICE-4816 - updated RestServiceDefinition javadocs
            KULRICE-4816 - javadoc'd BasicEndpoint
            KULRICE-4816 - moved KsbApiServiceLocator into a different package.
            KULRICE-4816 - javadoc'd ServiceDefinition
            KULRICE-4816 - javadoc'd ServiceConfiguration
            KULRICE-4816 - javadoc'd ServiceConfiguration
            KULRICE-4816 - added missing return annotations to ServiceRegistry interface
            KULRICE-4816 - finished javadocs for the ServiceRegistry service interface
            KULRICE-4816 - working on javadocs on the ServiceRegistry service interface
            KULRICE-4816 - working on javadocs on the ServiceRegistry service interface
            KULRICE-4816 - working on javadocs on the ServiceRegistry service interface

            Show
            riceci Rice-CI User (Inactive) added a comment - Integrated in rice-trunk-nightly #81 (See http://ci.rice.kuali.org/job/rice-trunk-nightly/81/ ) KULRICE-4816 - javadoc'd RemoveAndPublishResult KULRICE-4816 - fixed a typo in MessageHelper javadoc KULRICE-4816 - updated RestServiceDefinition javadocs KULRICE-4816 - javadoc'd BasicEndpoint KULRICE-4816 - moved KsbApiServiceLocator into a different package. KULRICE-4816 - javadoc'd ServiceDefinition KULRICE-4816 - javadoc'd ServiceConfiguration KULRICE-4816 - javadoc'd ServiceConfiguration KULRICE-4816 - added missing return annotations to ServiceRegistry interface KULRICE-4816 - finished javadocs for the ServiceRegistry service interface KULRICE-4816 - working on javadocs on the ServiceRegistry service interface KULRICE-4816 - working on javadocs on the ServiceRegistry service interface KULRICE-4816 - working on javadocs on the ServiceRegistry service interface
            Hide
            riceci Rice-CI User (Inactive) added a comment -

            Integrated in rice-trunk-nightly #82 (See http://ci.rice.kuali.org/job/rice-trunk-nightly/82/)
            KULRICE-4816 - minor correction to ServiceRegistry javadoc

            Show
            riceci Rice-CI User (Inactive) added a comment - Integrated in rice-trunk-nightly #82 (See http://ci.rice.kuali.org/job/rice-trunk-nightly/82/ ) KULRICE-4816 - minor correction to ServiceRegistry javadoc
            Hide
            jcoltrin Jessica Coltrin (Inactive) added a comment -

            Closing since these items are now in the release notes.

            Show
            jcoltrin Jessica Coltrin (Inactive) added a comment - Closing since these items are now in the release notes.

              People

              • Assignee:
                ewestfal Eric Westfall
                Reporter:
                ewestfal Eric Westfall
              • Votes:
                0 Vote for this issue
                Watchers:
                1 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: