SlideShare a Scribd company logo
1 of 49
Download to read offline
What is COTI?
A brief introduction to the new standard for exchanging
translation data
COTI = Common Translation Interface
Common: not proprietary
Translation: the rendering of something into
another language
(dictionary.com)
Interface: a common boundary or interconnection between systems
(dictionary.com)
COTI: Standard for exchanging translation data
with a Translation Management System
Why?
Translation data is complex.
Everybody does it differently.
System integration is key.
Strong demand to increase flexibility and
capability of CMS/ TMS integration
Who?
The Association of German Editing and Content
Management Software System Designers
German vendors for Content Management Systems
How does it
work?
L3:Communication API
L2:Import and Export
L1:Translation
package

3 consecutive integration levels
Level 1: Translation package defined
Translation data is provided in the specified
package structure.
Level 2: automatic export and import
Translation packages are exchanged with the
TMS via the specified exchange folder
mechanism.
Level 3: Communication API
Translation packages are exchanged with the
TMS using the Communication API over SOAP.
Level 1
Translation packages
COTI translation package = ZIP-file with meta
file, translation files, reference files
and additional files
translation-COTI-specification_ 2009-11-13T10:39:35Z.coti

/4711_de-DE_en-GB/
/COTI.xml
/translation files/
/reference files/
/4711_de-DE_ru-RU/
/COTI.xml
/translation files/
/reference files/
A COTI package

multiple projects
in one package!
<coti version="1.0" level="1" ...>
<project name="4711" project-id="123" proposal="yes"
checkout-date= "2013-08-21T11:59:00Z" due-date= "" ...>
<subject>Subject</subject>
<translation source-language= "de-DE" targetlanguage= "en-GB" status="none|proof|final"/>
<meta name="CMS meta field" value="123"
description=""/>*
<files>...</files>
</project>
</coti>

Meta file COTI.xml
Meta file | COTI.xml
Describes the translation project.
References the project content.
Translation content
All files to be translated.
Can be anything, not only XML.
Reference content
Optional support material for the translator or
the TMS.
DTDs, Style sheets, templates, context material
(e.g. rendered output)
Level 2
How to exchange those COTI packages?
the CMS puts
untranslated/
packages here...
translated/
error/untranslated/
...and gets translated content
error/translated/
back, here
archive/untranslated/
archive/translated/
logs/TMS
logs/CMS

The COTI exchange folder
Level 3
Communication API
the “grown up” system integration
<e:Envelopexmlns:e="http://www.w3.org/2003/05/soapenvelope">
<e:Header>
<!-- Header data />
</e:Header>
<e:Body>
<!-- Body data />
</e:Body>
</e:Envelope>

SOAP v1.2 message

Here is where the COTI
payload goes
Binary content? MTOM

(SOAP Message Transmission Optimization Mechanism)
Content-Type: multipart/related;boundary=MIMEBoundary_5F0BF3DC11582467646222; type="application/xop+xml";
start="<0.urn:uuid:5F0BF3DC11582467646223@apache.org>";
start-info="text/xml";charset=UTF-8
--MIMEBoundary_5F0BF3DC11582467646222
content-type: application/xop+xml; charset=UTF-8; type="text/xml"; content-transfer-encoding: binary
content-id: <0.urn:uuid:5F0BF3DC11582467646223@apache.org>
<e:Envelope ...>
<e:Body>
<c:SampleRequest>
<xop:Include href="cid:1.urn:uuid:5F0BF3DC11582467646221@apache.org"/>
</c:SampleRequest>
</e:Body>
</e:Envelope>
--MIMEBoundary_5F0BF3DC11582467646222
content-type: text/plain content-transfer-encoding: binary
content-id: <1.urn:uuid:5F0BF3DC11582467646221@apache.org>
... binarydata ...
--MIMEBoundary_5F0BF3DC11582467646222--

MTOM MIME attachment
Authentication and Security? WS-Security;
Support of Username Token and X.509 profiles
is mandatory
<s:Security>
<s:UsernameToken>
<s:Username>TheName</s:Username>
<s:Password Type="s:PasswordDigest">
fj73h83jcG6SD5k98jsd7jgmn/yj0=
</s:Password>
<s:Nonce>5uW4ABku/m6/S5rnE+L7vg==</wsse:Nonce>
<wsu:Created xmlns:wsu=
"http://schemas.xmlsoap.org/ws/2002/07/utility">
2013-07-12T04:24:02Z
</wsu:Created>
</s:UsernameToken>
</s:Security>

WS-Secutity header with Username Token
<e:Envelope
xmlns:e="http://www.w3.org/2003/05/soap-envelope"
xmlns:c="http://www.DERCOM.de/COTI/2013/1.0/namespace">
<e:Header>
<c:COTIsessionId>345jkhjDHjk1Dl9HgelkDLK</c:COTIsessionId>
</e:Header>
<e:Body>
<!-- Body data -->
</e:Body>
</e:Envelope>

COTIsessionId authenticates an API call after
login()
Level 3 - CMS API
The interface of the CMS
SessionService
Login and logout from the CMS
NotificationService
TMS pushes updates for translation projects
ReportService
TMS pushes requested reports
this is where the music plays

Level 3 - TMS API
The interface of the TMS
SessionService
Login and logout from the TMS
InfoService
Request meta info from the TMS: version,
meta attributes, status of a project
ReportService
CMS requests reports
ProjectService
create and manage translation projects
DocumentService
upload and download documents
1.

String CreateProject(byte[] cotiFile)

2.

String UploadDocument(String projectId, FileType
fileType, String fileRef, byte[] content)

3.

void StartProject(String projectId, String workflow)

4.

byte[] DownloadDocument(String documentId)

5.

void CloseProject(String projectId)

Lifecycle of a translation project in TMS API calls

(if all goes well)
Good to know
CreateProject and UploadDocument are
different operations for a reason: by sending
one document at a time, the interfaces scales.
Big documents can still be a problem though
and should be avoided.
And adoption of the standard? The
standardization process is currently in the
Request for Comments status.
The DERCOM members are committed to
implement all levels as soon as RfC phase
concludes.
Thank you!
Get the COTI spec: http://www.dercom.de/projekte

Twitter: #PRubarth

More Related Content

Similar to What is COTI?

cs556-2nd-tutorial.pdf
cs556-2nd-tutorial.pdfcs556-2nd-tutorial.pdf
cs556-2nd-tutorial.pdfssuserada6a9
 
Bsit – integration styles (intra + inter)
Bsit – integration styles (intra + inter)Bsit – integration styles (intra + inter)
Bsit – integration styles (intra + inter)kyroskoh
 
Mazda siv - web services
Mazda   siv - web servicesMazda   siv - web services
Mazda siv - web servicesOlivier Lépine
 
A MEDIA SHARING PLATFORM BUILT WITH OPEN SOURCE SOFTWARE
A MEDIA SHARING PLATFORM BUILT WITH OPEN SOURCE SOFTWAREA MEDIA SHARING PLATFORM BUILT WITH OPEN SOURCE SOFTWARE
A MEDIA SHARING PLATFORM BUILT WITH OPEN SOURCE SOFTWAREvrt-medialab
 
Intranet Messaging Project Report -phpapp02
Intranet Messaging Project Report -phpapp02Intranet Messaging Project Report -phpapp02
Intranet Messaging Project Report -phpapp02dvicky12
 
C# ASP.NET WEB API APPLICATION DEVELOPMENT
C# ASP.NET WEB API APPLICATION DEVELOPMENTC# ASP.NET WEB API APPLICATION DEVELOPMENT
C# ASP.NET WEB API APPLICATION DEVELOPMENTDr. Awase Khirni Syed
 
Osi , tcp/ip protocol and Addressing
Osi , tcp/ip protocol and Addressing Osi , tcp/ip protocol and Addressing
Osi , tcp/ip protocol and Addressing marwan aldulaimy
 
Exchange of data over internet using web service(e.g., soap and rest) in SAS ...
Exchange of data over internet using web service(e.g., soap and rest) in SAS ...Exchange of data over internet using web service(e.g., soap and rest) in SAS ...
Exchange of data over internet using web service(e.g., soap and rest) in SAS ...Kevin Lee
 
Task communication
Task communicationTask communication
Task communication1jayanti
 
Mule ESB Interview or Certification questions
Mule ESB Interview or Certification questionsMule ESB Interview or Certification questions
Mule ESB Interview or Certification questionsTechieVarsity
 
Nobody Uses Files Any More Do They? New Technologies for Old Technology, File...
Nobody Uses Files Any More Do They? New Technologies for Old Technology, File...Nobody Uses Files Any More Do They? New Technologies for Old Technology, File...
Nobody Uses Files Any More Do They? New Technologies for Old Technology, File...Rob Convery
 
IntegrationBroker
IntegrationBrokerIntegrationBroker
IntegrationBrokermeghamystic
 

Similar to What is COTI? (20)

cs556-2nd-tutorial.pdf
cs556-2nd-tutorial.pdfcs556-2nd-tutorial.pdf
cs556-2nd-tutorial.pdf
 
Bsit – integration styles (intra + inter)
Bsit – integration styles (intra + inter)Bsit – integration styles (intra + inter)
Bsit – integration styles (intra + inter)
 
BigDataDebugging
BigDataDebuggingBigDataDebugging
BigDataDebugging
 
Cgi
CgiCgi
Cgi
 
Mazda siv - web services
Mazda   siv - web servicesMazda   siv - web services
Mazda siv - web services
 
A MEDIA SHARING PLATFORM BUILT WITH OPEN SOURCE SOFTWARE
A MEDIA SHARING PLATFORM BUILT WITH OPEN SOURCE SOFTWAREA MEDIA SHARING PLATFORM BUILT WITH OPEN SOURCE SOFTWARE
A MEDIA SHARING PLATFORM BUILT WITH OPEN SOURCE SOFTWARE
 
Intranet Messaging Project Report -phpapp02
Intranet Messaging Project Report -phpapp02Intranet Messaging Project Report -phpapp02
Intranet Messaging Project Report -phpapp02
 
Ccna1v3 mod11
Ccna1v3 mod11Ccna1v3 mod11
Ccna1v3 mod11
 
C# ASP.NET WEB API APPLICATION DEVELOPMENT
C# ASP.NET WEB API APPLICATION DEVELOPMENTC# ASP.NET WEB API APPLICATION DEVELOPMENT
C# ASP.NET WEB API APPLICATION DEVELOPMENT
 
cPanel & WHM Glossary
cPanel & WHM GlossarycPanel & WHM Glossary
cPanel & WHM Glossary
 
Lecture 06
Lecture 06Lecture 06
Lecture 06
 
Osi , tcp/ip protocol and Addressing
Osi , tcp/ip protocol and Addressing Osi , tcp/ip protocol and Addressing
Osi , tcp/ip protocol and Addressing
 
Ccna notes
Ccna notesCcna notes
Ccna notes
 
application layer
application layerapplication layer
application layer
 
Exchange of data over internet using web service(e.g., soap and rest) in SAS ...
Exchange of data over internet using web service(e.g., soap and rest) in SAS ...Exchange of data over internet using web service(e.g., soap and rest) in SAS ...
Exchange of data over internet using web service(e.g., soap and rest) in SAS ...
 
Mule batch processing
Mule batch processingMule batch processing
Mule batch processing
 
Task communication
Task communicationTask communication
Task communication
 
Mule ESB Interview or Certification questions
Mule ESB Interview or Certification questionsMule ESB Interview or Certification questions
Mule ESB Interview or Certification questions
 
Nobody Uses Files Any More Do They? New Technologies for Old Technology, File...
Nobody Uses Files Any More Do They? New Technologies for Old Technology, File...Nobody Uses Files Any More Do They? New Technologies for Old Technology, File...
Nobody Uses Files Any More Do They? New Technologies for Old Technology, File...
 
IntegrationBroker
IntegrationBrokerIntegrationBroker
IntegrationBroker
 

Recently uploaded

Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 

Recently uploaded (20)

Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 

What is COTI?