370 Chapter 12:Service Discoverabi l ity(Interpretabi l ityand Communication)
· Tihte enxtimstenance of dr esigrdninstandravrids tmhataesintafbrlimshatai cnon- susteid ef ths o netrcao t Thgiseinf crematei ni oith ro l- os eo eco c . soo se e co laectervdiin ar suiptprlemrenittai l dloacumd einthin pr reipatratitonlfor se ce egs y , o sp ce e egs y se . Ynouthmaliy thafviemnoltimcednthaetiabnsrencueirofma snetrviAce rergivstir-y ou le tsaboli hpdethe alof theqi reinei ls.i tspime l - mo snyt des i ns heara , terigoti owithsinpth c prvei s on t wp iethin thearheistgtucr ce s cs ese ce , o e c ec e.
Wfeb fSlervice Region Evenl though wl e ultimlaftely want a discovery mechani-sm o In uence in p ace , lit is a so ideal or service contralcts to be inde pendent y discoverabhe and intelrpreftab e.Froml al Web h service perspective , t is princip e is ocused so ey on te service contract documents.
Table 12.1
Aprofi le for theServiceDiscoverabi l ityprinciple
SUMMARYOF KEY POINTS
· The Service Discoverabi l ity principle encompasses both discoverabi l ity and interpretabi l ity design characteristics
· The keygoal of this principle isto improvethecommunications qual ityof serv- ice meta data
123 Typesof Discoveryand Discoverabi l ityMeta Information 371
12.3 Types of Discovery and Discoverability Meta Information
There are some key terms that help us distinguish different discovery methods and meta information types most commonly used to enhance discoverability and interpretability. Design-Time and Runtime Discovery
By far the most common form of discovery is carried out by humans.Those responsible for building service consumer programs or assembling service compositions require the ability to search a service inventory during the design phase.
As a result , we refer to the manual process of discovery by humans as design-time discovery .Figure 12.9 illustrates how design-time discovery requires the existence of a central discovery mechanism , most commonly a service registry.Both mediums of dis- coverability meta information discussed so far (service registry records and contracts) are searched for and assessed as humans carry out the discovery and interpretation processes described previously in the Discovery and Interpretation , Discoverability and Interpretability in Abstract section.
372 Chapter 12:Service Discoverabi l ity(Interpretabi l ityand Communication) Common discovery technologies , such as UDDI (Example 12.1) , provide programmatic interfaces into service registry repositories.This enables us to build programs and serv- ices capable of issuing dynamic discovery queries.The result is an automated process called runtime discovery .
<d<iscioveryURLs> dhscoveryURL useTypke=”businesisEntkity=”>k titp://www.s>oaboo s.com?bus ness ey v04292j-sf0f93msl
<i/d scoveryURL>
</d scoveryURLs
Example 12.1
TashseoUciDatDeId d s i er s v c ice o s veryURL construct establ ishing the address of an XML document thatcan describea business and
While this may imply the ability for a service to automatically initiate a discovery process and then locate and even consume the discovered service at runtime , it will require further technology innovations before it becomes part of the mainstream SOA landscape.
One could argue that the front-end tools used by humans to issue queries against serv- ice registries carry out runtime discovery because they make use of the registry APIs. However , this term is usually used in reference to discovery-related functionality car- ried out by services as part of an overall composition or solution.
One runtime technology that is somewhat associated with the discovery of Web services is that of meta data exchange. Through the implementation of the WS-Metadata- Exchange specification , a service consumer is capable of programmatically requesting the most current technical service contract documents from a service (Example 12.2). This automated form of contract access and retrieval has several uses , including runtime version checking.
<Envelope . . .>
<Header>
. . .
<wsa:MessageID> uuid:4906496704
</wsa:MessageID>
</Header>
<Body>
123 Typesof Discoveryand Discoverabi l ityMeta Information 373
<wsx:GetMetadata>
<wsx:Dialect> http://www.w3.org/2001/XMLSchema
</wsx:Dialect>
</wsx:GetMetadata>
</Body>
</Envelope>
Example 12.2
AfSthOAWPSm-eAsdsdage cionta M ining aGetM I e D tadlatacotnstructt thbal it ihsdreqi ueCshtingt th1e1service contract'sXMLschema Note the use o e ress ng essage e emen we esa sen ap er
Discoverability Meta Information
When defining what meta information to add or augment in support of service discov- ery , we need look no further than the four types of meta data we defined earlier in the Types of Meta Abstraction section of Chapter 8.As shown in Figure 12.10 , to support our goal of attaining enhanced discoverability and interpretability , we need to focus on the functional and quality of service meta information types.
联系客服