Beyond the Chrome Building Multi-Lingual and Multi-Locale Business Processes - PowerPoint PPT Presentation

1 / 26
About This Presentation
Title:

Beyond the Chrome Building Multi-Lingual and Multi-Locale Business Processes

Description:

Internationalization mostly deals with presentation and input problems: ... Vegetarian, non-smoking, blonde, sports car-locale. vs. en-US ... – PowerPoint PPT presentation

Number of Views:17
Avg rating:3.0/5.0
Slides: 27
Provided by: addisonp
Category:

less

Transcript and Presenter's Notes

Title: Beyond the Chrome Building Multi-Lingual and Multi-Locale Business Processes


1
Beyond the ChromeBuilding Multi-Lingual and
Multi-Locale Business Processes
  • 24th Internationalization and Unicode Conference
  • Presented by Addison P. Phillips
  • Director, Globalization Architecture
  • webMethods, Inc.

2
What is the presentation about?
  • Internationalization in a service oriented
    architecture
  • What are business processes? How do they differ
    from applications?
  • How do you approach internationalization of a
    business process?
  • Differences between internationalizing GUI and
    processes.
  • Data structuring basics
  • I18N Effects on Processing

3
What is this presentation about? (drooling
version)
  • There is very little information about
    internationalization of complex enterprise
    systems.
  • So Internationalization folks dont always have
    a good understanding of the issues.
  • Which leads to wanting locales in thewrong
    places, misunderstandings withcore developers,
    etc.

4
Shiny Chrome
  • Chrome, of course, is the shiny metal stuff you
    most commonly see on automobiles.
  • Chrome (in software) refers to the attractive,
    but not necessarily functional, user interface
    components. Like nifty buttons and graphics used
    to make up a website.

5
Model-View-Controller Internationalization
  • MVC is a traditional software pattern.
  • In MVC
  • Models contain the datastructures and most of
    thebusiness logic.
  • Controllers receive input anddecide which
    actions to take(routing).
  • Views contain the user interface components (or
    chrome).

6
Shiny I18N
  • Internationalization mostly deals with
    presentation and input problems
  • Localizability and resource management (View)
  • Formatting objects as strings (View)
  • Validation of input (Controller)
  • Date and timezone issues (View, Controller)
  • Character encoding issues (View, Controller)
  • Common internationalization rarely applies to the
    model.
  • Middleware, platform and operating environment
    architects rely on this fact to avoid
    internationalization.

7
And A Good Thing Too
  • Late localization, formatting, and validation are
    a good thing.
  • Separation of presentation from logic.
  • Separation of presentation from data model.
  • Locale and culturally neutral business logic
    (models).
  • Deliver language according the user requirements.
  • But
  • What about that nagging feeling that
    internationalization also applies to middleware
    and back-end systems?

8
Whats a Business Process?
  • Generally, a composite application, rather than a
    discrete collection of logic
  • May be composed of many applications.
  • Service or task oriented.
  • May incorporate human interactive steps.

9
Process a Purchase Order
  • Involves many applications
  • Finance, ERP, Customer Profile, B2B, CRM, etc.
  • Highly distributed
  • Complex
  • Mutable

10
Business Processes
  • Business processes have three parts
  • Tasks" or "steps".
  • "Clients"
  • "Documents" or "messages"

11
Relating Processes to MVC
  • Surface appearance the process is all model.
  • Complex processes each task may have
  • One or more viewers
  • One or more controllers
  • Its own model
  • Web service orchestration

12
International Business Processes
  • What are the requirements for making a business
    process sensitive to differences in the way your
    business operates in different markets (country,
    state, city, language, social grouping, etc.)?
  • Modify your documents (data structures) to
    contain the necessary information in the
    necessary format.
  • Modify your business logic to encapsulate or
    reflect global business conditions.
  • Intelligently model user preferences, partner
    profiles, and other metadata to tailor processing
    and business logic to a specific clients needs.

13
Documents
  • These are the data structures in a business
    process.
  • Real documents XML files, flatfiles, EDI, etc.
  • SOAP documents
  • Message broker or message queue message (as with
    JMS or MQ)
  • Might even be something like an EJB or data bean.
  • Documents form the model on which the business
    process operates.

14
International Implications for the Model
  • Need to handle cultural differences.
  • Different fields for different countries, markets
    or regions.
  • Different data routing, processing or logic may
    apply.
  • Different models may be needed.
  • Culture, region, locality, etc. may apply.

15
Issues with Data Structures
  • Documents and data structures shouldnt include
    locales.
  • Basic datatypes are (mostly) locale-neutral.
    (cf. XML Schema, Java, etc.)
  • If a data structure is composed of locale neutral
    types, how is it locale affected?
  • Why is it designed in a locale affected way?
  • Documents may include language identifiers for
    text.
  • Why do you have text there? Can you do late(r)
    localization?
  • Allow multiple resolution.

16
For Example Currency
  • ltpricegt123.45lt/pricegt
  • ltpricegt
  • ltamountgt123.45lt/amountgt
  • ltlocalegten-USlt/localegt
  • lt/pricegt

ltpricegt ltamountgt123.45lt/amountgt
ltcurrencygtUSDlt/currencygt lt/pricegt
17
For Example Postal Address
  • ltaddressgt
  • ltaddr1gt123 Main St.lt/addr1gt
  • ltcitygtSan Joselt/citygt
  • ltstategtCAlt/stategt
  • ltzipgt12345lt/zipgt
  • ltlocalegten-USlt/localegt
  • lt/addressgt

ltaddressgt ltcountrygtUSlt/countrygt
ltaddr1gt123 Main St.lt/addr1gt ltcitygtSan
Joselt/citygt ltprovincegtCAlt/provincegt
ltpostalcodegt12345lt/postalcodegt lt/addressgt
18
For Example SOAPFault
  • ltenvFaultgt
  • ltenvCodegt
  • ltenvValuegtenvSenderlt/envValuegt
  • ltenvSubcodegt
  • ltenvValuegtmMessageTimeoutlt/envValuegt
  • lt/envSubcodegt
  • lt/envCodegt
  • ltenvReasongt
  • ltenvText xmllang"en"gtSender Timeout
  • lt/envTextgt
  • lt/envReasongt

19
Consider Global Requirements
  • Need to consider all of the different
    requirements for separate applications with the
    same data structure.

20
Modify Business Logic for Global Requirements
  • De-normalization of processing
  • Regulatory
  • Cultural
  • Business Practices
  • Routing
  • Etc.
  • Routing based on customer profile.
  • Routing based on user profile.
  • Rule differences based on market.
  • and so on.

21
Process Execution
  • Internationalization affects process execution
  • Collation sequences for result sets and queries
  • Natural language processing
  • Differentiating templates from alternate
    content
  • Processing rules depending on
  • Who the user or trading partner is.
  • Where the transaction is taking place.
  • Tax regime, legal authority, local calendar
  • Etc.
  • The interplay of all of the above.
  • Policy based execution.

22
Execution Policies in Service Oriented
Architectures
  • How are user preferences propagated?
  • Profiles
  • Sessions
  • Cookies
  • Explicitly in each request
  • What makes sense?
  • The interesting data is usually application
    driven.
  • May need a short-hand and a long-hand version.

23
Airplane Reservation
  • Things you can select
  • Start, destination, seating, meal, reminder
    email, route, class, etc.
  • Things you might prefer
  • SFO, IAD, aisle, regular, yes, direct, business,
    etc.
  • Things you might infer from a locale
  • Language of the reminder email?

24
User Metadata
  • Vegetarian, non-smoking, blonde, sports
    car-locale
  • vs.
  • en-US
  • Maybe users dont have locales either?
  • Maybe locales are application specific?
  • What does your application do on the Front Door?

25
Internationalization Lost in the Fog
  • If it doesnt use locales and has all this
    personalization stuff and data structuring stuff,
    then is it still internationalization? Isnt it
    just good development?
  • Globalization is a fundamental architectural
    approach. It is how you think when you are
    writing the software. It is not a feature.
    (Glen Perkins, Globalization Architect,
    Macromedia)

26
QA
Write a Comment
User Comments (0)
About PowerShow.com