7 Replies Latest reply on May 23, 2011 2:43 AM by atan20

    Auto Registration of services under custom Business Entity

    atan20

      Hi,

       

      I am using JBoss SOA-P 5.1 and I am deploying services by dropping .esb archives into the "deploy" directory. However, when I do so the services get registered under the "Red Hat/JBossESB" Business entity.

       

      Is there an attribute or element that I can configure in the jboss-esb.xml file for my service to register it under a different Business Entity? Or do I have to register it via a UDDIClerk programatically to do so after I deploy the new service?

       

      Also, should I be able to add new jUDDI business entities by adding new *_BusinessEntity.xml files to

      deploy/jbossesb-registry.sar/juddi_custom_install_data


      I have tried this as well as simply changing the names of the existing business entities in existing *_BusinessEntity.xml files but the changes do not appear in the jUDDI browser?

       

      The only way that I have been able to add a new business entity to the registry is programtically via the juddi-client.jar?

       

      Thanks in advance.

      Andrew

        • 1. Auto Registration of services under custom Business Entity
          tcunning

          I think the XML files are only read on registry creation, so if you didn't remove all the other tables in the database, I'm not sure that they will be picked up by just sticking them in juddi_custom_install_data.

           

          You could always programmatically create new business entities.     If you want a code example, there are a number of tests within the uddi-tck module within jUDDI that create entities from XML.

           

          However, I don't think you are going to get away from the requirement that the services created by the ESB from your jboss-esb.xml have to be under the Red Hat/JBossESB BusinessEntity.

          • 2. Auto Registration of services under custom Business Entity
            atan20

            Thanks for the response Tom.

             

            Is it possible for me to make a custom JBoss deployer that auto registers the services to a specific business entity based on a UDDI XML file that I will make service developers include in their service.esb/META-INF directory?

             

            For example: After the esb.deployer has finished deploying the service my new deployer will run and read the UDDI XML file and jboss-esb.xml file and register the service accordingly?

             

            If not I will go down the path of making external juddi-client.jar based utilities that service developers will need to run manually against XML files to register their services after they are deployed to our JBoss SOA-P system.

             

            Looking at section 1.1.7 of the JBoss SOA-P ESB Programmers Guide it seems like I will need to make a custom utility to register new services under different business entities:

             

            The registry plays a central role within the JBoss Enterprise Service-Oriented Architecture Platform. It is used to store the End Point References (EPRs) for the services that have been deployed. It may either be updated dynamically (when services first start) or statically (by an external administrator.)

             

            ESB services create their own end-point references automatically. These end-points are internal implementations and, hence, modification of them is not supported.

            • 3. Auto Registration of services under custom Business Entity
              tcunning

              Andrew Tan wrote:

               

              Thanks for the response Tom.

               

              Is it possible for me to make a custom JBoss deployer that auto registers the services to a specific business entity based on a UDDI XML file that I will make service developers include in their service.esb/META-INF directory?

               

              For example: After the esb.deployer has finished deploying the service my new deployer will run and read the UDDI XML file and jboss-esb.xml file and register the service accordingly?

               

               

              You can take a look at JAXRRegistryImpl.java but I don't think that will be possible.

              • 4. Auto Registration of services under custom Business Entity
                scottdawson

                There was a JIRA a couple of years ago that was supposed to make the default organization ("Red Hat/JBossESB") configurable:

                https://issues.jboss.org/browse/JBESB-2581

                however, the way it got fixed didn't really accomplish that goal in my opinion. Maybe it should be reopened although I don't think it completely solves Andrew's problem.

                 

                Regards,

                Scott

                1 of 1 people found this helpful
                • 5. Auto Registration of services under custom Business Entity
                  tcunning

                  I'm not sure that making the default organization configurable is going to solve his problem though, given that it seems like he wants to be able specify per ESB package the business entity.        There'd need to be some bigger changes to accomodate that.

                   

                  If just configuring the default organization name is the goal, that's pretty trivial, but I got the sense he wanted to flatten the hierarchy out.

                  • 6. Auto Registration of services under custom Business Entity
                    atan20

                    The approach that I am suggesting is for one business entities per department.

                     

                    However, if the customer that I am configuring the JBoss system for believes that would be too much overhead for little gain it would be good to be able to rename/configure the JBoss default business entity.

                     

                    Are my options for renaming/configuring the default JBoss business entity:

                    - Change the jboss_custom_install_data scripts before first startup

                    - Modify the jUDDI database manually

                    • 7. Auto Registration of services under custom Business Entity
                      atan20

                      I looked  through the JAXRRegistryImpl.java class in the SOA-5.1.0.GA src and it seems like changing the name of the organisation/Business Entity manually (i.e. via UDDI Clerk) would not make the JAXRRegistryImpl register under different BusinessEntity as it searches for the "Red Hat/JBossESB" organisation/Business Entity when registering new services and if it cannot find it, it will simply recreate the "Red Hat/JBossESB" organisation/Business Entity.

                       

                      From what I can tell, the changes made in "https://issues.jboss.org/browse/JBESB-2581" allow you to assign an organization name as a category classification on the service, but do not allow you to change the name of the organisation/BusinessEntity that JAXRRegistryImpl registers services under.

                       

                      It would be good if there was a way in JBoss to set the name of the organsation in a property file which is then referenced rather than the hard coded "Red Hat/JBoss" string.

                       

                      For now, it looks like I will need to go back to updating jUDDI manually when a new service is deployed to JBoss.