The JAXR Business Objects

The JAXR Business Objects

The purpose of JAXR is twofold: It models the data structures managed by ebXML and UDDI registries and it provides an API for searching registries and publishing data to registries. Because UDDI is the standard XML registry supported by the WS-I Basic Profile 1.0, and J2EE supports the BP, this chapter focuses on explaining the mapping between the JAXR information model and UDDI data structures (XML complex types).

If you need JAXR to access an ebXML registry, you should consult the JAXR 1.0 specification available on Sun Microsystems' Web site.[1] You can also use the OASIS ebXML Registry Reference Implementation (ebxmlrr), an open source JAXR implementation for ebXML at SourceForge.[2]

[1] Java API for XML Registries, version 1.0, April 10, 2002, Appendix C: JAXR Mapping to ebXML Registry. Available at

[2] See

The JAXR information model was originally based on the ebXML data types and was later adapted to support UDDI. As a result you have to do some mental gymnastics to translate JAXR object types and fields into UDDI complex types and elements. This chapter and Chapter 18 will help you understand the mapping between the JAXR information model and the UDDI data structures. You don't need to study Chapter 6 in detail before reading this chapter, but occasionally you will need to refer to some of the material there to understand certain topics. I'll try to keep the shuffling between chapters to a minimum, but keep in mind that UDDI is a complex topic, which is why it required three chapters of its own.

Figure is a visual representation of the mapping between the most significant UDDI data structures and JAXR object types. It's not a complete mapping, but it's a good start.

Mapping JAXR Object Types to UDDI Data Structures


As you can see in the figure, the mapping between UDDI data structures and JAXR interface types is pretty easy to follow. The JAXR names are a little different (they're derived from ebXML), but the purposes of the types and their relationships are the same. As you get a little deeper into the fields of these types, you discover that JAXR has a richer, more object-oriented model than UDDI, because it must model both ebXML and UDDI.

I've broken this topic into two chapters according to the two types of data modeled by JAXR. This chapter covers those JAXR information objects that model business concepts: organization, contact, classification, and so on. Chapter 18 continues the discussion by covering those JAXR information objects that represent technical aspects of a Web service: protocol binding, specifications, and so on. The separation of topics is not perfect. For example, this chapter covers supertypes that are common to information objects discussed in both chapters. Similarly, Chapter 18 is primarily concerned with technical objects, but includes coverage of Association, which is a business type of object. It was more important to me to present the information model clearly than to be rigid about the categories.

The best way to understand the JAXR information model is to jump right in and examine the purposes and behavior of the different object types, starting with the ultimate base type, RegistryObject. This part of the book describes methods whose conformance is ranked Level 0 only, because these are the only methods applicable to UDDI. ebXML registries use both Level 0 and Level 1 methods.

     Python   SQL   Java   php   Perl 
     game development   web development   internet   *nix   graphics   hardware 
     telecommunications   C++ 
     Flash   Active Directory   Windows