SlideShare a Scribd company logo
i18n Architectural/Design Approach for Global
Enterprise Platform Architectures – A usecase from
Automotive domain customer from US Central:
Reddappa Gowd Bandi
15th
Nov 2006
Director Technology & Multibyte COE Head
Background of the System:
i18n is one of the Architectural requirement for a Global Enterprise projects which
supports single/double/multibyte inherently . This project is intended for China/Japanese
Kanzi/Multibyte and other 10 double byte and 7 single byte languages, specifically.
Initially this project is planned for phases. In the phase 1 project, the requirement says,
system will support for Chinese Traditional language at every aspect and at the same
time, application needs to support for other countries like North
America/Japan/Dutch/Portugese and etc.
As per Architectural discussions and artifacts, the Global Enterprise Workbench system
should support for both single byte and double/multibyte languages. This drastically
increases the ROI of the system when it will intend to support for other countries with
minimal configuration support.
I18n Scope within the System:
1. Different components in the Architecture space right from the client side to
Chordiant and DB need to support i18n.
2. CAFÉ (custom chordiant UI application) windows, CAFE UI Pages, CAFE Menu
items, Activities, offerings data, CAFE UI page level data, style sheets,
Javascripts, specific UI components if any should support for standard i18n
implementation & practices.
3. XML configurations and system/application level properties files should have
support for i18n.
4. Landing page & thumbnail JSF pages, UI components, Javascripts, CSS and
other components should have support for i18n.
5. The underlying DB should support for UTF-8/16 data and intern supporting for
i18n.
6. Chordiant workflows and Interaction control flows should support for i18n.
7. Chordiant services, Business objects and persistent layer (Hibernate
components) should support for i18n.
8. Utility components and Business logic helper components should support for
i18n within the project.
9. Interfaces to the external systems like GVS, GGIS, GVUDS and RTE systems
should support i18n implementation.
Out of scope items from Phase 1:
1. Implementation of Address free formats.
2. Phone number free formats implemented partially and to one extent. The full
support for free formats deferred to the next phase.
3. Implementation of the couple of business level services and business logic
components are deferred to the next phase.
Technical Design Approach:
Standard i18n design procedures are considered in the GAA system for the different
components end to end in the Architecture like
1. I18n at UI side
2. I18n at workflows and Services side
3. I18n at third party interfaces
4. I18n at Hibernate side
5. I18n at DB side
i18n at UI side:
1. i18n implementation at UI side components like JSF pages, CSS, UI
components, Javascript are implemented based on UCS2.0 standards and
supports for UTF-8.
2. Standard Resource bundle approach is followed for locale sensitive data like UI
labels, page level data, validations, messages and images.
3. At the time of user login, user credentials are captured, there by application
knows the primary locale of the user at runtime, the same will be stored in the
session for first time and afterwards, locale will be referred from session.
4. Based on the locale from the session, the corresponding resource bundle and
other locale specific resources like Date formats, Time formats, validation
expressions (regular expressions) and etc. will be picked up by using JSF locale
framework.
5. And based on the locale, Charset and Encoding parameters at JSF page level
will be supplied through runtime framework. And the resources from the bundle
will be picked up by Key-value pairs from resource bundle objects. And the same
will be referred at the page level as Key names.
6. UI components like Calendar components and Date/Time formats will be picked
up the properties at runtime accordingly.
7. Locale specific Javascript code will be used in the JS components accordingly.
The JSON/XML transformations will be in UTF-8 accordingly.
8. For double/multibyte (Chinese) resource bundles, the native resource bundles
will be transformed to UTF-8 strings using native2Ascii tool so that JVM native
encoding will be matched with the Resource bundle objects. This step is needed
only when for JVM and Resource bundle native encodings are different.
9. Separate CSS files will managed for Chinese locale as page/UI/cell Layouts,
directions of the text and pixel widths completely driven by the locale.
10. Configuration XML files need to be changed accordingly for chinese locale.
i18n at Workflows and Services side:
1. Chordiant Business Process workflows will be designed accordingly which
supports for i18n operations.
2. UTF-8 will be data format will be considered in the flow interactions. And the
pre/post conditional logic should support i18n specifics.
3. Any business rules checks or execution of validations should consider them in
the UTF-8 format. Use locale specific API appropriately and at respective
locations.
4. Chordiant services and business objects should support the UTF-8 data transfer
as well as the service level operations should consider UTF-8 input data for any
business logic executions.
5. Data transport between the workflows and contexts will be UTF-8. Need to use
Collators/Rule based collators where and when necessary to check the objects,
comparisons and etc.
6. Well defined i18n coding practices are listed out in the coding guidelines
document. This will help in developing the code.
7. Data objects should support for linguistic sorting.
i18n at third party interfaces side:
1. Integrations with the third party systems like GVS, GGIS, GVUDS and RTE
Should support for UTF-8 data transfer. And also the data transport should
support in UTF-8.
2. If any query string parameters are passed across, those will be encoded
accordingly.
3. Date/Time formats should definitely match with application specifics on both
sides. Programmatically force the serializations/deserializations and check for
match or enforce the locale specific Date formats accordingly.
4. JSON/XML operations in the Javascript side need to have special care while
developing methods. This is very much essential when interacting with GGIS.
i18n at Hibernate side:
1. Hibernate session should force to have UTF-8 encoding. Otherwise JVM native
encoding will take precedence.
2. Use UTF-8 as data transfer and for data objects to be handled.
3. Use the Hibernate synchronizer to generate the hibernate artifacts and need to
set the configurations matching to UTF-8.
4. In case if any detached objects are there, try to handle carefully while again
synchronizing back in the Hibernate session. Those always need to be in UTF-8
format.
5. XML Parsers internal to the Hibernate should have support for parsing multibyte
XML files.
i18n at DB side:
1. All the DB parameters set to UTF-8 and schemas are generated with appropriate
column widths.
2. If any columns with byte data type, need specific care and convert them to
appropriate multi byte lengths.
3. Making use of NLS features, follow the DB level case insensitive search features.
4. Create linguistic indexes and use linguistic Sort functionalities accordingly.
Language Translations & Development/Production implementation
Process:
1. Identify the locale sensitive data within the application/system which covers
entire application.
2. And then extract the locale sensitive data for translations from different parts of
the application into one repository and keep track of what data came from which
location.
3. Prepare the dictionary meaning for each Key value so that translation agency will
enforce those rules in translations. For example, translation should be within 10
characters.
4. Export the entire repository to Standard XLIFF format files and send it across to
the Translation Agencies. And also export supporting dictionary files with rules.
5. Translation Agency will put translations accordingly and send back those XLIFF
files back to development team.
6. Development team runs manual programs to import back all the XLIFF data into
repository and then to Resource bundle files. And these resource bundle files will
be in native Chinese.
7. These Chinese resource bundle files will be supplied to the native2Ascii tool for
converting multi byte Chinese strings to UTF-8 ASCII strings.
8. This can be automated through some build scripts. We need to use native2Ascii
ant task to do this job. And save those into other properties file.
9. The saved properties will be now as an input for the application as Resource
Bundle file in which Resource bundle objects will be created for further accessing
the resources through key value pairs.
10. And finally application will be run accordingly.
11. In case any tampered Chinese native files, we have to resend the entire file back
to translations agency and the above steps need to be repeated.
Language Translations & Development/Production implementation
Process:
1. Identify the locale sensitive data within the application/system which covers
entire application.
2. And then extract the locale sensitive data for translations from different parts of
the application into one repository and keep track of what data came from which
location.
3. Prepare the dictionary meaning for each Key value so that translation agency will
enforce those rules in translations. For example, translation should be within 10
characters.
4. Export the entire repository to Standard XLIFF format files and send it across to
the Translation Agencies. And also export supporting dictionary files with rules.
5. Translation Agency will put translations accordingly and send back those XLIFF
files back to development team.
6. Development team runs manual programs to import back all the XLIFF data into
repository and then to Resource bundle files. And these resource bundle files will
be in native Chinese.
7. These Chinese resource bundle files will be supplied to the native2Ascii tool for
converting multi byte Chinese strings to UTF-8 ASCII strings.
8. This can be automated through some build scripts. We need to use native2Ascii
ant task to do this job. And save those into other properties file.
9. The saved properties will be now as an input for the application as Resource
Bundle file in which Resource bundle objects will be created for further accessing
the resources through key value pairs.
10. And finally application will be run accordingly.
11. In case any tampered Chinese native files, we have to resend the entire file back
to translations agency and the above steps need to be repeated.

More Related Content

Similar to I18n design approach for global enterprise platforms

IRJET- Hosting NLP based Chatbot on AWS Cloud using Docker
IRJET-  	  Hosting NLP based Chatbot on AWS Cloud using DockerIRJET-  	  Hosting NLP based Chatbot on AWS Cloud using Docker
IRJET- Hosting NLP based Chatbot on AWS Cloud using Docker
IRJET Journal
 
ColdBox i18N
ColdBox i18N ColdBox i18N
ColdBox i18N
Oğuz Demirkapı
 
Animation Framework with Internationalization (I18n)
Animation Framework with Internationalization (I18n)Animation Framework with Internationalization (I18n)
Animation Framework with Internationalization (I18n)
IRJET Journal
 
Cetas - Application Development Services
Cetas - Application Development ServicesCetas - Application Development Services
Cetas - Application Development Services
Kabilan D
 
Saranteja gutta wells
Saranteja gutta wellsSaranteja gutta wells
Saranteja gutta wells
ramesh5080
 
SathishKumar Natarajan
SathishKumar NatarajanSathishKumar Natarajan
SathishKumar NatarajanSathish Kumar
 
Orion context broker webminar 2013 06-19
Orion context broker webminar 2013 06-19Orion context broker webminar 2013 06-19
Orion context broker webminar 2013 06-19Fermin Galan
 
Abhishek-Resume_latest.doc
Abhishek-Resume_latest.docAbhishek-Resume_latest.doc
Abhishek-Resume_latest.docAbhishek Parida
 
Localization and Shared Preferences in android
Localization and Shared Preferences in androidLocalization and Shared Preferences in android
Localization and Shared Preferences in android
Aly Arman
 
Report.docx
Report.docxReport.docx
Report.docx
KaliaLawFirm
 
Orion context broker webminar 2013 05-30
Orion context broker webminar 2013 05-30Orion context broker webminar 2013 05-30
Orion context broker webminar 2013 05-30Fermin Galan
 
Enterprise Data Lakes
Enterprise Data LakesEnterprise Data Lakes
Enterprise Data Lakes
Farid Gurbanov
 
Abap interview questions and answers
Abap interview questions and answersAbap interview questions and answers
Abap interview questions and answers
Kaustav Pyne
 
Software Internationalization Crash Course
Software Internationalization Crash CourseSoftware Internationalization Crash Course
Software Internationalization Crash Course
Will Iverson
 
Abinitio Experienced resume-Anilkumar
Abinitio Experienced resume-AnilkumarAbinitio Experienced resume-Anilkumar
Abinitio Experienced resume-Anilkumaranilkumar kagitha
 

Similar to I18n design approach for global enterprise platforms (20)

IRJET- Hosting NLP based Chatbot on AWS Cloud using Docker
IRJET-  	  Hosting NLP based Chatbot on AWS Cloud using DockerIRJET-  	  Hosting NLP based Chatbot on AWS Cloud using Docker
IRJET- Hosting NLP based Chatbot on AWS Cloud using Docker
 
ColdBox i18N
ColdBox i18N ColdBox i18N
ColdBox i18N
 
Animation Framework with Internationalization (I18n)
Animation Framework with Internationalization (I18n)Animation Framework with Internationalization (I18n)
Animation Framework with Internationalization (I18n)
 
Cetas - Application Development Services
Cetas - Application Development ServicesCetas - Application Development Services
Cetas - Application Development Services
 
Saranteja gutta wells
Saranteja gutta wellsSaranteja gutta wells
Saranteja gutta wells
 
SathishKumar Natarajan
SathishKumar NatarajanSathishKumar Natarajan
SathishKumar Natarajan
 
Orion context broker webminar 2013 06-19
Orion context broker webminar 2013 06-19Orion context broker webminar 2013 06-19
Orion context broker webminar 2013 06-19
 
Abhishek-Resume_latest.doc
Abhishek-Resume_latest.docAbhishek-Resume_latest.doc
Abhishek-Resume_latest.doc
 
Localization and Shared Preferences in android
Localization and Shared Preferences in androidLocalization and Shared Preferences in android
Localization and Shared Preferences in android
 
Report.docx
Report.docxReport.docx
Report.docx
 
Parani_Profile
Parani_ProfileParani_Profile
Parani_Profile
 
Orion context broker webminar 2013 05-30
Orion context broker webminar 2013 05-30Orion context broker webminar 2013 05-30
Orion context broker webminar 2013 05-30
 
Enterprise Data Lakes
Enterprise Data LakesEnterprise Data Lakes
Enterprise Data Lakes
 
Abap interview questions and answers
Abap interview questions and answersAbap interview questions and answers
Abap interview questions and answers
 
Gsi
GsiGsi
Gsi
 
Manikanta_Chimata
Manikanta_ChimataManikanta_Chimata
Manikanta_Chimata
 
Software Internationalization Crash Course
Software Internationalization Crash CourseSoftware Internationalization Crash Course
Software Internationalization Crash Course
 
Abinitio Experienced resume-Anilkumar
Abinitio Experienced resume-AnilkumarAbinitio Experienced resume-Anilkumar
Abinitio Experienced resume-Anilkumar
 
SudhanshuKumar
SudhanshuKumarSudhanshuKumar
SudhanshuKumar
 
KRISHNAVENI_GURRAM_CV
KRISHNAVENI_GURRAM_CVKRISHNAVENI_GURRAM_CV
KRISHNAVENI_GURRAM_CV
 

More from Reddappa Gowd Bandi

Global strategy execution and it accountability an accelerator approach
Global strategy execution and it accountability   an accelerator approachGlobal strategy execution and it accountability   an accelerator approach
Global strategy execution and it accountability an accelerator approach
Reddappa Gowd Bandi
 
Why Feasibility delays in the IT organizations - a study on the ground reality
Why Feasibility delays in the IT organizations -  a study on the ground realityWhy Feasibility delays in the IT organizations -  a study on the ground reality
Why Feasibility delays in the IT organizations - a study on the ground reality
Reddappa Gowd Bandi
 
Cea office 121120151619
Cea office 121120151619Cea office 121120151619
Cea office 121120151619
Reddappa Gowd Bandi
 
AMS Delivery Portfolio tailored to the strategic accounts in BFSI microvertic...
AMS Delivery Portfolio tailored to the strategic accounts in BFSI microvertic...AMS Delivery Portfolio tailored to the strategic accounts in BFSI microvertic...
AMS Delivery Portfolio tailored to the strategic accounts in BFSI microvertic...
Reddappa Gowd Bandi
 
Inside my mind - As a CEA & CTO Dimension
Inside my mind - As a CEA & CTO DimensionInside my mind - As a CEA & CTO Dimension
Inside my mind - As a CEA & CTO Dimension
Reddappa Gowd Bandi
 
Business initiatives to user stories implementation reality
Business initiatives to user stories   implementation realityBusiness initiatives to user stories   implementation reality
Business initiatives to user stories implementation reality
Reddappa Gowd Bandi
 

More from Reddappa Gowd Bandi (6)

Global strategy execution and it accountability an accelerator approach
Global strategy execution and it accountability   an accelerator approachGlobal strategy execution and it accountability   an accelerator approach
Global strategy execution and it accountability an accelerator approach
 
Why Feasibility delays in the IT organizations - a study on the ground reality
Why Feasibility delays in the IT organizations -  a study on the ground realityWhy Feasibility delays in the IT organizations -  a study on the ground reality
Why Feasibility delays in the IT organizations - a study on the ground reality
 
Cea office 121120151619
Cea office 121120151619Cea office 121120151619
Cea office 121120151619
 
AMS Delivery Portfolio tailored to the strategic accounts in BFSI microvertic...
AMS Delivery Portfolio tailored to the strategic accounts in BFSI microvertic...AMS Delivery Portfolio tailored to the strategic accounts in BFSI microvertic...
AMS Delivery Portfolio tailored to the strategic accounts in BFSI microvertic...
 
Inside my mind - As a CEA & CTO Dimension
Inside my mind - As a CEA & CTO DimensionInside my mind - As a CEA & CTO Dimension
Inside my mind - As a CEA & CTO Dimension
 
Business initiatives to user stories implementation reality
Business initiatives to user stories   implementation realityBusiness initiatives to user stories   implementation reality
Business initiatives to user stories implementation reality
 

Recently uploaded

Microsoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdfMicrosoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdf
Uni Systems S.M.S.A.
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
DanBrown980551
 
Large Language Model (LLM) and it’s Geospatial Applications
Large Language Model (LLM) and it’s Geospatial ApplicationsLarge Language Model (LLM) and it’s Geospatial Applications
Large Language Model (LLM) and it’s Geospatial Applications
Rohit Gautam
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
Alpen-Adria-Universität
 
How to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptxHow to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptx
danishmna97
 
Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1
DianaGray10
 
By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024
Pierluigi Pugliese
 
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfUnlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Malak Abu Hammad
 
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
Neo4j
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
Kari Kakkonen
 
A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
sonjaschweigert1
 
UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6
DianaGray10
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
Aftab Hussain
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
Safe Software
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
James Anderson
 
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
Neo4j
 
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
James Anderson
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
mikeeftimakis1
 
Building RAG with self-deployed Milvus vector database and Snowpark Container...
Building RAG with self-deployed Milvus vector database and Snowpark Container...Building RAG with self-deployed Milvus vector database and Snowpark Container...
Building RAG with self-deployed Milvus vector database and Snowpark Container...
Zilliz
 
UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5
DianaGray10
 

Recently uploaded (20)

Microsoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdfMicrosoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdf
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
 
Large Language Model (LLM) and it’s Geospatial Applications
Large Language Model (LLM) and it’s Geospatial ApplicationsLarge Language Model (LLM) and it’s Geospatial Applications
Large Language Model (LLM) and it’s Geospatial Applications
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
 
How to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptxHow to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptx
 
Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1
 
By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024
 
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfUnlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
 
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
 
A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
 
UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
 
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
 
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
 
Building RAG with self-deployed Milvus vector database and Snowpark Container...
Building RAG with self-deployed Milvus vector database and Snowpark Container...Building RAG with self-deployed Milvus vector database and Snowpark Container...
Building RAG with self-deployed Milvus vector database and Snowpark Container...
 
UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5
 

I18n design approach for global enterprise platforms

  • 1. i18n Architectural/Design Approach for Global Enterprise Platform Architectures – A usecase from Automotive domain customer from US Central: Reddappa Gowd Bandi 15th Nov 2006 Director Technology & Multibyte COE Head Background of the System: i18n is one of the Architectural requirement for a Global Enterprise projects which supports single/double/multibyte inherently . This project is intended for China/Japanese Kanzi/Multibyte and other 10 double byte and 7 single byte languages, specifically. Initially this project is planned for phases. In the phase 1 project, the requirement says, system will support for Chinese Traditional language at every aspect and at the same time, application needs to support for other countries like North America/Japan/Dutch/Portugese and etc. As per Architectural discussions and artifacts, the Global Enterprise Workbench system should support for both single byte and double/multibyte languages. This drastically increases the ROI of the system when it will intend to support for other countries with minimal configuration support. I18n Scope within the System: 1. Different components in the Architecture space right from the client side to Chordiant and DB need to support i18n. 2. CAFÉ (custom chordiant UI application) windows, CAFE UI Pages, CAFE Menu items, Activities, offerings data, CAFE UI page level data, style sheets, Javascripts, specific UI components if any should support for standard i18n implementation & practices. 3. XML configurations and system/application level properties files should have support for i18n. 4. Landing page & thumbnail JSF pages, UI components, Javascripts, CSS and other components should have support for i18n. 5. The underlying DB should support for UTF-8/16 data and intern supporting for i18n. 6. Chordiant workflows and Interaction control flows should support for i18n. 7. Chordiant services, Business objects and persistent layer (Hibernate components) should support for i18n.
  • 2. 8. Utility components and Business logic helper components should support for i18n within the project. 9. Interfaces to the external systems like GVS, GGIS, GVUDS and RTE systems should support i18n implementation. Out of scope items from Phase 1: 1. Implementation of Address free formats. 2. Phone number free formats implemented partially and to one extent. The full support for free formats deferred to the next phase. 3. Implementation of the couple of business level services and business logic components are deferred to the next phase. Technical Design Approach: Standard i18n design procedures are considered in the GAA system for the different components end to end in the Architecture like 1. I18n at UI side 2. I18n at workflows and Services side 3. I18n at third party interfaces 4. I18n at Hibernate side 5. I18n at DB side i18n at UI side: 1. i18n implementation at UI side components like JSF pages, CSS, UI components, Javascript are implemented based on UCS2.0 standards and supports for UTF-8. 2. Standard Resource bundle approach is followed for locale sensitive data like UI labels, page level data, validations, messages and images. 3. At the time of user login, user credentials are captured, there by application knows the primary locale of the user at runtime, the same will be stored in the session for first time and afterwards, locale will be referred from session. 4. Based on the locale from the session, the corresponding resource bundle and other locale specific resources like Date formats, Time formats, validation expressions (regular expressions) and etc. will be picked up by using JSF locale framework. 5. And based on the locale, Charset and Encoding parameters at JSF page level will be supplied through runtime framework. And the resources from the bundle
  • 3. will be picked up by Key-value pairs from resource bundle objects. And the same will be referred at the page level as Key names. 6. UI components like Calendar components and Date/Time formats will be picked up the properties at runtime accordingly. 7. Locale specific Javascript code will be used in the JS components accordingly. The JSON/XML transformations will be in UTF-8 accordingly. 8. For double/multibyte (Chinese) resource bundles, the native resource bundles will be transformed to UTF-8 strings using native2Ascii tool so that JVM native encoding will be matched with the Resource bundle objects. This step is needed only when for JVM and Resource bundle native encodings are different. 9. Separate CSS files will managed for Chinese locale as page/UI/cell Layouts, directions of the text and pixel widths completely driven by the locale. 10. Configuration XML files need to be changed accordingly for chinese locale. i18n at Workflows and Services side: 1. Chordiant Business Process workflows will be designed accordingly which supports for i18n operations. 2. UTF-8 will be data format will be considered in the flow interactions. And the pre/post conditional logic should support i18n specifics. 3. Any business rules checks or execution of validations should consider them in the UTF-8 format. Use locale specific API appropriately and at respective locations. 4. Chordiant services and business objects should support the UTF-8 data transfer as well as the service level operations should consider UTF-8 input data for any business logic executions. 5. Data transport between the workflows and contexts will be UTF-8. Need to use Collators/Rule based collators where and when necessary to check the objects, comparisons and etc. 6. Well defined i18n coding practices are listed out in the coding guidelines document. This will help in developing the code. 7. Data objects should support for linguistic sorting. i18n at third party interfaces side: 1. Integrations with the third party systems like GVS, GGIS, GVUDS and RTE Should support for UTF-8 data transfer. And also the data transport should support in UTF-8.
  • 4. 2. If any query string parameters are passed across, those will be encoded accordingly. 3. Date/Time formats should definitely match with application specifics on both sides. Programmatically force the serializations/deserializations and check for match or enforce the locale specific Date formats accordingly. 4. JSON/XML operations in the Javascript side need to have special care while developing methods. This is very much essential when interacting with GGIS. i18n at Hibernate side: 1. Hibernate session should force to have UTF-8 encoding. Otherwise JVM native encoding will take precedence. 2. Use UTF-8 as data transfer and for data objects to be handled. 3. Use the Hibernate synchronizer to generate the hibernate artifacts and need to set the configurations matching to UTF-8. 4. In case if any detached objects are there, try to handle carefully while again synchronizing back in the Hibernate session. Those always need to be in UTF-8 format. 5. XML Parsers internal to the Hibernate should have support for parsing multibyte XML files. i18n at DB side: 1. All the DB parameters set to UTF-8 and schemas are generated with appropriate column widths. 2. If any columns with byte data type, need specific care and convert them to appropriate multi byte lengths. 3. Making use of NLS features, follow the DB level case insensitive search features. 4. Create linguistic indexes and use linguistic Sort functionalities accordingly.
  • 5. Language Translations & Development/Production implementation Process: 1. Identify the locale sensitive data within the application/system which covers entire application. 2. And then extract the locale sensitive data for translations from different parts of the application into one repository and keep track of what data came from which location. 3. Prepare the dictionary meaning for each Key value so that translation agency will enforce those rules in translations. For example, translation should be within 10 characters. 4. Export the entire repository to Standard XLIFF format files and send it across to the Translation Agencies. And also export supporting dictionary files with rules. 5. Translation Agency will put translations accordingly and send back those XLIFF files back to development team. 6. Development team runs manual programs to import back all the XLIFF data into repository and then to Resource bundle files. And these resource bundle files will be in native Chinese. 7. These Chinese resource bundle files will be supplied to the native2Ascii tool for converting multi byte Chinese strings to UTF-8 ASCII strings. 8. This can be automated through some build scripts. We need to use native2Ascii ant task to do this job. And save those into other properties file. 9. The saved properties will be now as an input for the application as Resource Bundle file in which Resource bundle objects will be created for further accessing the resources through key value pairs. 10. And finally application will be run accordingly. 11. In case any tampered Chinese native files, we have to resend the entire file back to translations agency and the above steps need to be repeated.
  • 6. Language Translations & Development/Production implementation Process: 1. Identify the locale sensitive data within the application/system which covers entire application. 2. And then extract the locale sensitive data for translations from different parts of the application into one repository and keep track of what data came from which location. 3. Prepare the dictionary meaning for each Key value so that translation agency will enforce those rules in translations. For example, translation should be within 10 characters. 4. Export the entire repository to Standard XLIFF format files and send it across to the Translation Agencies. And also export supporting dictionary files with rules. 5. Translation Agency will put translations accordingly and send back those XLIFF files back to development team. 6. Development team runs manual programs to import back all the XLIFF data into repository and then to Resource bundle files. And these resource bundle files will be in native Chinese. 7. These Chinese resource bundle files will be supplied to the native2Ascii tool for converting multi byte Chinese strings to UTF-8 ASCII strings. 8. This can be automated through some build scripts. We need to use native2Ascii ant task to do this job. And save those into other properties file. 9. The saved properties will be now as an input for the application as Resource Bundle file in which Resource bundle objects will be created for further accessing the resources through key value pairs. 10. And finally application will be run accordingly. 11. In case any tampered Chinese native files, we have to resend the entire file back to translations agency and the above steps need to be repeated.