15
Internationalization Internationalization and and Service Capabilities Service Capabilities Constraints and Capabilities Workshop Constraints and Capabilities Workshop Presented by Addison P. Phillips Presented by Addison P. Phillips Director, Globalization Architecture Director, Globalization Architecture webMethods, Inc. webMethods, Inc. Web Services: Web Services:

Internationalization and Service Capabilities

Embed Size (px)

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 Presentation

Citation preview

Page 1: Internationalization and Service Capabilities

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:

Page 2: Internationalization and Service Capabilities

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?

Page 3: Internationalization and Service 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

Page 4: Internationalization and Service Capabilities

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.”

Page 5: Internationalization and Service Capabilities

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…

Page 6: Internationalization and Service Capabilities

Web Services are a PlatformWeb Services are a Platform

Page 7: Internationalization and Service Capabilities

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

Page 8: Internationalization and Service Capabilities

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

Page 9: Internationalization and Service Capabilities

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.

Page 10: Internationalization and Service Capabilities

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.

Page 11: Internationalization and Service Capabilities

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.

Page 12: Internationalization and Service Capabilities

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.

Page 13: Internationalization and Service Capabilities

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

Page 14: Internationalization and Service Capabilities

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?

Page 15: Internationalization and Service Capabilities

Q&AQ&A