- From: Mike McKenna <mgm@globalisation.org>
- Date: Wed, 08 Oct 2003 14:06:35 -0700
- To: public-i18n-ws@w3.org
- Message-ID: <3F847C5B.2F5D9F2A@globalisation.org>
Use the attached changes for I-026 (better address example from UDDI). Question: UDDI (http://uddi.org/pubs/uddi_v3.htm) has quite a bit of I18n in place (xml:lang, sorting (poor description, but present, handling Intl address formats)). Do we need to mention this - duplicate, referral, or new - in i18n-ws? I'm having trouble figuring out how to include UDDI Section 5.1 Inquiry API Set (http://uddi.org/pubs/uddi_v3.htm#_Toc42047281) in I-026 "Searching for Web Services" other than a "Best Practices Note" Mike____ Mike McKenna wrote: > Here are my changes, comments - I-017, I-018, I-019, I-020, I-026, > I-027 > > I've indicated below where these sections may be applicable in the new > outline. > > Cheers, > > Mike____ > > "Addison Phillips [wM]" wrote: > > > new activity: provide GEO information to GEO. > > what is purpose of this document? > > what do we accomplish here? > > x New Outline > > What's in > > What's out > > x What's by reference (info) > > New Use Cases (use case) > > Reorder from existing doc to new sections. > > > > 1. Intro to document. > > 2. Intro to Web Services > > - basic framework (description of process) > > - pointers to WS core documents > > - definition of a Web Service > > - overview of SOAP, WSDL, UDDI, SOAP Features, MEPs, etc. > > 3. Intro to Internationalization (definitions for WS discussion) > > - what is internationalization > > - why internationalization (two audiences) > > - why not ad hoc (need for interoperability discussion) > > - what is human language > > - what is a locale/international preferences > > - XML Schema (locale independence) vs. locale dependent data > > - > > - mention RFC2277 ;-) > > 4. WS internationalization issues > > - locale patterns in Web services > > - locale neutral > > - service determined > > I-018 > > > > > - user(caller) influenced > > - data driven (Martin) > > I-017, I-018 > > > > > - legacy issues > > - encoding handling > > - application/soap+xml and charset parameter (info) > > - XML document declaration (info) > > - what if ultimate application has encoding limitations (use > case) > > - attachments (use case) > > - Pandora's box: non-internationalized data structures > (later)(placeholders) > > > > 5. For Implementers of WS Providers, Tools, and Servers > > - Providing locale negotiation (info) > > I-020 > > > > > - Providing support for locale patterns (use case) (Addison) > > * soap-header requirement? > > > > > * standard for locale-pattern communication in WSDL requirement? > > > I-018, I-019 > > > > > - Faults and the Reason Text Element (use cases)(extant) > > - UDDI search and multilingual text (use case) (Mike) > (placeholder) > > I-026 > > > > > - introspection of actual "method" to produce WSDL representation > (JSR-101? Deb placeholder) > > - for example java.util.Locale -> lang/region/variant strings? > > 6. For Implementers of a Web Service > > - use locale neutral data structures > > I-017 > > > > > - sorting/collation (use case - curses) > > - e.g. curses > > - JIS sort vs. U+ sort > > - natural language text search (use case) > > - keyword searching > > - "like" > > - e.g. search "Drst" should return "Duerst" as well (in German) > > - how to handle human-readable text in WS > > - structuring records (info) > > - enumerated values and object naming > > - use of default English-like names (info) > > - allowing for "display names" vs. internal names (Mike - > placeholder) > > I-026 > > > > > - etc. (info) > > - exchanging language preferences (or assuming it?) > > - use metadata > > - use separate bindings or services/servers (use case) > > - ask for the language > > - guess (use case - language default) > > I-020 > > > > > - other i18n-like things: where does this service apply to? > > - timezones and time > > - calendar > > - holiday, and work rules (use case - short example) > > - regimes: tax, customs, legal, and other considerations > > - other transports (later) > > - HTTP accept-language does not exist > > - FTP > > - SMTP > > - MIME tags > > 7. Message Exchange Patterns and Scenarios (WS-Arch reviews?) > > - there are 33 of these (assign 6 to each and review Tuesday) > > 8. complex scenarios? choreography/BPEL/layering/etc. (Later) > > * not done here. > > > > > > Notes: > > - use cases inline? > > - change identifying letter of our scenarios to "I" from "S" > > > > =============== > > data driven examples. > > > > VAT example (source/target location, what commodity is) > > unit of measure example (customary vs. SI or maybe currency) > > ---------------------------------------------------------------- > > 11.3.3 I-017: Data with Additional 'Attributes' > > A sender wishes to send monetary data to a receiver. Each of the > monetary amounts has a specific currency. This usage scenario does not > raise any requirements. It provides an example of best practice. > > SOAP messages are sent to a receiver using XML schema data types such > as integer, double, float, date, time etc. However, these data types > may have locale sensitive semantics such as currency and location. In > order to add data semantics, adding attributes is frequently used for > XML messaging scenario. > > Recommended best practice is to use locale neutral formatted data with > additional attributes. Final locale sensitive formatting should be > done in a presentation layer closest to the receiver. Time and date > are sent using ISO-8601 canonical formatting (YYYY-MM-DD, HH:MM:SS). > For this example, airline departure time is sent in local time as > opposed to Universal (UTC) time, as this is most acceptable for > airline schedule data. If the data were sent directly from > application to application, it should send time in UTC format, with a > local airport timezone presented in time difference from UTC. > Example: Locale neutral formated data with additional attributes > > <?xml version='1.0' ?> > <env:Envelope xmlns:env="http://www.w3.org/2002/06/soap-envelope"> > <env:Header> > </env:Header> > <env:Body> > <c:getAvailableFlightResponse> > <c:price c:currency="USD">123.55</c:price> > <c:departuredate c:location="JFK">2003-05-31</c:departuredate> > <c:departuretime c:location="JFK">13:30:00</c:departuretime> > </c:getAvailableFlightResponse> > </env:Body> > </env:Envelope> > > Another option is to use a structure consisting of two elements for > RPC scenario using SOAP encoding. > Example: Locale neutral formated data with additional semantic data > > <?xml version='1.0' ?> > <env:Envelope xmlns:env="http://www.w3.org/2002/06/soap-envelope"> > <env:Header> > </env:Header> > <env:Body> > <c:getAvailableFlightResponse> > <c:price> > <c:currency>USD<c:currency> > <c:amount>123.55</c:amount> > </c:price> > <c:departuredate> > <c:location>JFK</c:location> > <c:date>2003-05-31</c:date> > </departuredate> > <c:departuretime> > <c:location>JFK</c:location> > <c:time>13:30:00</c:time> > > </departuretime> > </c:getAvailableFlightResponse> > </env:Body> > </env:Envelope> > > Applies to: Web services in general > > 11.3.4 I-018: Data with Default 'Attribute' > > A service is designed around a single currency and therefore did not > associate financial data with currency symbol or codes. However, the > responses from this service may in turn be used by multicurrency > services or incorporated into other messages. Therefore the response > should be modified to identify the currency used by the service. There > are 3 possible solutions. Two involve modifying the message format. > The message can be changed so that a currency element is added to any > node that has financial data elements. An alternative is to provide > the currency as an attribute for any financial data. However, it may > be unacceptable to change the XML message format used by the service. > A third alternative is to indicate the currency used throughout the > message in the SOAP header. > > The following example demonstrates multiple currency data transmission > in a SOAP message and the currency code being provided in a separate > element along with the value. This is recommended best practice for > commerce systems that must transport transaction information. > Example: Multiple currencies in SOAP message > > <?xml version='1.0' ?> > <env:Envelope xmlns:env="http://www.w3.org/2002/06/soap-envelope" > > <env:Header> > </env:Header> > <env:Body> > <c:purchase> > <c:apple> > <c:currency>JPY</c:currency> > <c:amount>123.55</c:amount> > </c:apple> > <c:orange> > <c:currency>USD</c:currency> > <c:amount>325.78</c:amount> > </c:orange> > <c:peach> > <c:currency>EUR</c:currency> > <c:amount>36.55</c:amount> > </c:peach> > </c:purchase> > <env:Body> > </env:Envelope> > > The following is an example which has the default currency in SOAP > header. It is also possible to specify the default currency attribute > in SOAP body instead of SOAP header. > > Although adding parameter to SOAP body requires design change for > service interface, adding default value into SOAP header does not > affect services interface. > > This is an acceptable practice when presenting data from legacy > commerce systems through Web services, for instance a Japanese retail > or banking site, which conducts all transactions in Japanese Yen > providing data to an international commerce system. > Example: Default attribute in SOAP header (the namespace WS-I18N is > only an example) > > <?xml version='1.0' ?> > <env:Envelope xmlns:env="http://www.w3.org/2002/06/soap-envelope" > > <env:Header> > <WS-I18N:WSinternationalization xmlns:WS-I18N="http://example.org/2002/11/21/WS-I18N"> > <WS-I18N:Currency>JPY</WS-I18N:Currency> > </WS-I18N:WSinternationalization> > </env:Header> > <env:Body> > <c:purchase> > <c:apple> > <c:price>123.55</c:price> > </c:apple> > <c:orange> > <c:price>325.78</c:price> > </c:orange> > <c:peach> > <c:price>36.55</c:price> > </c:peach> > </c:purchase> > </env:Body> > </env:Envelope> > > Applies to: Web services in general > > 11.3.5 I-019: Locale Dependent Datatypes > > A sender wishes to send locale dependent data to a receiver for > regional SOAP messaging or RPC. The receiver needs to process the > locale dependent data correctly. > > If a Japanese sender sends dates to a Japanese receiver, the Japanese > sender may wish to send the data in a Japanese date format as required > for government records, such as H13-5-31(H stands for the Heisei era; > see Appendix C Heisei). > Example: Locale sensitive data in regional datatype > > <?xml version='1.0' ?> > <env:Header> > <WS-I18N:WSinternationalization > xmlns:WS-I18N="http://example.org/2002/11/21/WS-I18N"> > <WS-I18N:dataTypePreference> > <ja:JDate xmlns:ja="http//example.org/2003/12/3/ja">EYY-MM-DD</WS-I18N:JDate> > </WS-I18N:dataTypePreference> > </WS-I18N:WSinternationalization> > </env:Header> > <env:Body> > <departuredate>H14-05-31</departuredate> > </env:Body> > > Default is locale neutral mode. If a sender and a receiver can > handshake with each other using the same semantics of locale, sender > can send locale dependent data to a receiver, and the receiver can > process the data consistently. > > If WSDL can describe locale sensitive datatypes, locale negotiation > mechanism can be described in WSDL. Is it a requirement applicable for > interface definitions in WSDL? > > Editorial note: KN 2002-12-10 Possible datatype: Telephone number, Post code etc. Needs feasibility assessment. > > There is a difference between data types such as telephone number, > address elements, post code, forms of address, etc., which can be > modeled as strings with patterns, and data types such as dates and > numbers, where a connection with the value space (e.g. of XML Schema) > may be desirable. It is the responsibility of the presentation layer > (outside of SOAP) to properly format locale sensitive data. > > WSDL can be used to set a locale header and used as a wrapper for data > being sent from a legacy system, such as sending address information > from the Russian Post Office for use by an international postal > system, where all data sent is from only one locale (ru_RU). > > Applies to: WSDL, SOAP, or Localizable datatype > > 11.3.6 I-020: Correlation of Data among Services in Different > Languages > > A service is defined using "Service Oriented Architecture Derivative > Patterns Intermediary" as found in Web Services Architecture document > [WSA]. > > Service "A" is defined as a service that returns status text and > deployed on Providers "A1", "A2", and "A3" in different language > configurations (locales). > > Provider "B" polls Service "A" on each machine and caches the > results. > > Service "B" is defined as a process that returns cached results > and is deployed on Provider "B". > > Requesters "C1", "C2", and "C3", each with different language > preferences, invoke Service "B" sporadically to obtain data. > > Provider "B" must cache faults and data in all possible > negotiated languages since it cannot know in advance which > requesters will want what data. > > Provider "B" must send all data to each requester. > > Correlation of data may prove difficult if good I18n priciples > are not used and proper tracking of source data locale and > Requester locale. > > Best practice solution is for Provider "B" to store results from each > Provider in Service "A", tracking locales of the results. Fault > messages should be sent to "B" in all Provider Languages. "C" > Requesters must identify the locale of expected results. > > For a Web service "wrapper" to a legacy client/server application, the > SOAP header could be used for locale negotiation between Requesters > and Service. > > See I-007 for a similar problem. > > > > 11.6 Finding Services > > 11.6.1 I-026: Searching for Web Services > > Searching for Web services depending on language or culture. > > Repositories and search-able meta-data (such as UDDI [UDDI]) about Web > services need to provide support for multiple language searches. > Transport layer issues do not allow XML data structures to be used for > resolution, except by reference (e.g. the receiver must down-load a > separate resource asynchronously to "decode" the preference). Tags on > this layer may be necessary in place of XML data structures. > > Using xml:lang and multiple entries, a Service Provider can publish > text information about their service in multiple languages. The name, > description, address, and personName UDDI elements MAY be adorned with > the xml:lang attribute to indicate the language in which their content > is expressed. The policyDescription element contains a description of > the effect of the policy implementation. This element can be adorned > with the xml:lang attribute and can appear multiple times to allow for > translations of the policy description. Providers are encouraged to > do this for target language markets that their service may support. > > Ideally, the entity names in UDDI should also provide and Alternate > Name in RFC-2277 default language, readable in English. This provides > a fall back mechanism to allow a search to identify services even if > the named contents may be in a script that is not readable by the > entity doing the search. > > (From the UDDI Spec) > > The following shows an example of romanization where the primary name > of the business (a Chinese flower shop) is in Chinese, and its > alternative name is a romanization: > > <businessEntity . . . > > > ........ > > <name xml:lang="zh">黄河花店</name> > > <name xml:lang="en">Huang He Hwa Dian</name> > > ..... > > </businessEntity> > > The following shows an example of transliteration where the primary > name of the business is in Chinese, and is a transliteration of its > alternative English name: > > <businessEntity . . . > > > ........ > > <name xml:lang="zh">康柏電腦股份有限公司</name> > > <name xml:lang="en">Compaq Computer Taiwan Limited</name> > > ..... > > </businessEntity> > > > > > > > > > The following example XML fragment shows an address written in two > languages, English and Chinese, as indicated by the xml:lang > attribute: > > <address useType=”Sales office” xml:lang="en" > tModelKey=”uddi:…”> > > <addressLine>7 F</addressLine> > > <addressLine>No. 245 </addressLine> > > <addressLine>Sec. 1</addressLine> > > <addressLine>Tunhua South Road</addressLine> > > <addressLine>Taipei </addressLine> > > </address> > > </address><address useType=”Sales office” xml:lang="zh" > tModelKey=”uddi:…”> > > <addressLine> Œ—‚ </addressLine> > > <addressLine> •Œ–—路</addressLine> > > <addressLine> €段</addressLine> > > <addressLine> 245 ™Ÿ</addressLine> > > <addressLine> 7 “</addressLine> > > € > > </address> > > > Editorial note: KN 2002/12/13 UDDI provides TAXONOMY based on the ISO 3166 Geographic Code System. > > 11.6.2 I-027: Fall-Back for Internationalized Web Services > > There is no way for the service to find the best appropriate match > when the user's request cannot be met. > > If the sender specified "ja-JP" and "ja-JP" is not available at the > receiver, what should the fall-back schema be? > > Currently, this is implementation defined? Is there an RFC or W3C > source we can reference? Fall back mechanism in HTML? > > Editorial note: F2F 2002-11-23 Need to more clearly define this scenario and provide examples. > > >
Attachments
- text/html attachment: Overview-mgm.html
Received on Wednesday, 8 October 2003 17:50:58 UTC