May 17, 2011, 8:34 a.m.
posted by maxidax
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).
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.
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.