internationalization and service capabilities
DESCRIPTION
Web Services:. Internationalization and Service Capabilities. Constraints and Capabilities Workshop Presented by Addison P. Phillips Director, Globalization Architecture webMethods, Inc. About This Presentation. - PowerPoint PPT PresentationTRANSCRIPT
Internationalization andInternationalization andService CapabilitiesService Capabilities
Constraints and Capabilities WorkshopConstraints and Capabilities WorkshopPresented by Addison P. PhillipsPresented by Addison P. PhillipsDirector, Globalization ArchitectureDirector, Globalization ArchitecturewebMethods, Inc.webMethods, Inc.
Web Services:Web Services:
About This PresentationAbout This Presentation
Web service constraints and capabilities: Web service constraints and capabilities: Internationalization makes a good use case.Internationalization makes a good use case. The classic internationalization modelThe classic internationalization model Applying the internationalization model to Web servicesApplying the internationalization model to Web services Why constraints? Why capabilities?Why constraints? Why capabilities?
W3C Internationalization Working GroupW3C Internationalization Working Group
Web Services Internationalization Usage ScenariosWeb Services Internationalization Usage Scenarios Web Services Internationalization RequirementsWeb Services Internationalization Requirements (draft) Internationalization Core WG charter(draft) Internationalization Core WG charter
Web Services and InternationalizationWeb Services and Internationalization
So Web Services are internationalized, right?So Web Services are internationalized, right? Locale-neutral representation (XML Schema)Locale-neutral representation (XML Schema) No user interface (machine-to-machine)No user interface (machine-to-machine) Inherits XML’s rich support for Unicode, language tags, Inherits XML’s rich support for Unicode, language tags,
and so forthand so forth ““Internationalization is the problem of the service author, Internationalization is the problem of the service author,
not the provider.”not the provider.”
Programming Paradigms: the classic I18N Programming Paradigms: the classic I18N modelmodel
DesktopDesktop Locales in the environmentLocales in the environment
Web ApplicationWeb Application Locale-related APIs and state mechanismsLocale-related APIs and state mechanisms
Web Service?Web Service? Uh…Uh…
Web Services are a PlatformWeb Services are a Platform
The Importance of Composition and WS*The Importance of Composition and WS*
Web Services (SOAP, WSDL) allow you to use “features” Web Services (SOAP, WSDL) allow you to use “features” and “properties” to add capabilities.and “properties” to add capabilities.
Use different features together to get different results.Use different features together to get different results.
WS-* standardization provides:WS-* standardization provides: Quality-of-ServiceQuality-of-Service Execution StateExecution State
International Patterns: What are they?International Patterns: What are they?
Four Patterns:Four Patterns: Locale NeutralLocale Neutral Service DeterminedService Determined Client InfluencedClient Influenced Data/Resource DrivenData/Resource Driven
What does that service do?What does that service do?
Services generally run in the locale of the server where Services generally run in the locale of the server where they are installedthey are installed
May not be the same as the WS ProviderMay not be the same as the WS Provider May not give the results the user expectsMay not give the results the user expects No way for the user to control itNo way for the user to control it
Developers must program services to provide Developers must program services to provide international capabilitiesinternational capabilities
Provide locale modelProvide locale model Provide localization model and capabilitiesProvide localization model and capabilities Define multiple endpoints for different localesDefine multiple endpoints for different locales ““Providers” do nothing for you.Providers” do nothing for you.
Web Service DescriptionsWeb Service Descriptions
Exchange a locale that is explicitly in the service Exchange a locale that is explicitly in the service signature.signature.
No standards exist for doing thisNo standards exist for doing this Strong platform and programming language dependencyStrong platform and programming language dependency
Exchange a locale that is Exchange a locale that is impliedimplied in the service’s in the service’s operation.operation.
Web service descriptions don’t convey this information.Web service descriptions don’t convey this information.
Describe how a particular endpoint will work.Describe how a particular endpoint will work. There may be multiple endpoints in multiple geographies.There may be multiple endpoints in multiple geographies.
InvocationInvocation
Language negotiationLanguage negotiation Services still need human readable messages.Services still need human readable messages. Faults (exceptions) need human readable messages.Faults (exceptions) need human readable messages. Service may retrieve, process, store, or otherwise access Service may retrieve, process, store, or otherwise access
text.text.
Locale negotiationLocale negotiation Making the service do what the user wants.Making the service do what the user wants.
Collation, calendar, text processing, currency, routing, Collation, calendar, text processing, currency, routing, addressing, formatting, business rules, tax authority, legal addressing, formatting, business rules, tax authority, legal requirements, etc.requirements, etc.
Basic ConclusionsBasic Conclusions
Web services need “international preferences”Web services need “international preferences” Personally: these are “locales”Personally: these are “locales”
Web service descriptions need to describe “policies”Web service descriptions need to describe “policies” ““This service runs in the fr-FR locale.”This service runs in the fr-FR locale.” ““The requester can tell me what locale to use.”The requester can tell me what locale to use.” ““If you request a locale I don’t support, I return a Fault If you request a locale I don’t support, I return a Fault
message.”message.”
Locale identifiers are needed.Locale identifiers are needed. You can tell me what locale to run in… if we can agree on You can tell me what locale to run in… if we can agree on
what the identifier means.what the identifier means.
Web service discovery needs more internationalization.Web service discovery needs more internationalization.
Constraints and CapabilitiesConstraints and Capabilities
Internationalization model describes capabilities:Internationalization model describes capabilities: Policy? Runtime locale? Etc.Policy? Runtime locale? Etc.
Internationalization model describe constraints:Internationalization model describe constraints: Available localesAvailable locales Available resourcesAvailable resources Available language contentAvailable language content Runtime restrictionsRuntime restrictions
SummarySummary
Internationalization is an excellent example of the kinds Internationalization is an excellent example of the kinds of Web service constraints and capabilities that need to of Web service constraints and capabilities that need to be communicated.be communicated.
Standardization is necessary to ensure interoperability.Standardization is necessary to ensure interoperability.
It won’t happen by magic.It won’t happen by magic.
Plays well with others?Plays well with others?
Q&AQ&A