SlideShare a Scribd company logo
1 of 27
Download to read offline
DocDokuPLM: Domain Specific PaaS
and Business Oriented API
Morgan Guimard - 21 sept 2016 - OW2 con' 2016
We are DocDoku
2
We help industrial organizations digitize their
business
Based in France
● Toulouse
● Paris
Committed to the Open Source, we
make DocDokuPLM:
● https://github.com/docdoku/docdoku-plm
● Twitter: @docdoku
#PLM #HTML5 #Java #BigData
#WebGL #IoT #Industry
About me
3
Tech experience
● 10 years in Web Technologies
● JavaScript developer
● Java EE developer
Morgan Guimard
● DocDokuPLM dev leader
● Technical trainer
Agenda
4
1 – What is DocDokuPLM ?
2 – DocDokuPLM meets PaaS
3 – Technical aspects
4 – Who is using it ?
1 – What is DocDokuPLM ?
What is DocDokuPLM ?
6
Product Lifecycle Management
Manage the entire lifecycle of a product
Create and manage your product structures
Define part variants
Visualize the 3D model of your products
What is DocDokuPLM ?
7
Document management system
Version control
Add tags and custom attributes
Create document models
Define links between documents
Organize, browse, share, search documents
What is DocDokuPLM ?
8
Web and desktop applications
Run in all modern browsers
3D visualization of products
Real time audio/video conversations
Synchronize files with user’s file system
2 – DocDokuPLM meets PaaS
DocDokuPLM meets PaaS
10
Why did we need an API ?
Building quickly new applications
Developing new GUIs
Offering new business perspectives
Bringing the API makes DocDokuPLM
PaaS ready
DocDokuPLM meets PaaS
11
Resolving specific use cases
Creating new APIs and applications around our services
{ api }Specific
use case
DocDoku
PLM
API
{ api }Specific
use case
DocDokuPLM meets PaaS
12
At multiple industry level
For specific industry sectors and domains
DocDokuPLM meets PaaS
13
Benefits for every actors
Innovate faster
Focus on use case / needs
Ease deployment and scale
Save money
Support
3 – Technical aspects
Technical aspects
15
Good bye SOAP, welcome REST
Maintaining both is a pain
Not the same endpoints
Not the same codebase
One layer to rule them all!
Technical aspects
16
Annotations in the REST layer
Specific annotations (not standard yet), we use Swagger
Describes inputs, outputs, names, HTTP codes
@Api("documents")
public class DocumentResource ...
@ApiOperation(value = "Create a document", response = Document.class)
public Document createDocument (
@ApiParam(value = "Document to create") Document document
...
@Api("documents")
public class DocumentResource ...
@ApiOperation(value = "Create a document", response = Document.class)
public Document createDocument (
@ApiParam(value = "Document to create") Document document
...
Technical aspects
17
Parsing these annotations
Annotations reader, Java based program
Parse the entire REST layer
Produces a JSON file
Describes all services
Technical aspects
18
Generating the SDK
Swagger codegen – Apache License, Version 2.0
https://github.com/swagger-api/swagger-codegen
Generates our Java API from JSON description
Packaged as a jar
« Mavenized »
Will be published on next release
Technical aspects
19
JavaScript SDK
Swagger-client
https://www.npmjs.com/package/swagger-client
Used to generate our JavaScript SDK
Runs in a browser, or simply as a NodeJS module
Can be used in a SPA, or in a NodeJS application
Technical aspects
20
Language support
Not using or don’t want to use Java or JavaScript?
We can bring our API to other languages
4 – Who is using it?
Who is using it?
22
We do, in DPLM
The DPLM: a web based desktop application
Mostly designed for CAD designers
Also fits for simple files management
Now DPLM relies on our JavaScript SDK
More flexible
More reliable
Much faster
Who is using it?
23
We do, in DPLM
Who is using it?
24
FarmStar
Jee & web application
Reporting system, modulation and advice
for agricultural industry
Who is using it?
25
You, tomorrow?
Need some kind of …
document management system
within your information system?
Manufacturing or tracking facilities?
Social and notification features?
Next release coming soon, stay tuned!
Questions ?
Contact
Tel : +331 85 09 69 44
Tel : +335 61 72 24 09
Email : info@docdoku.com
Thank you !
Contact
Tel : +331 85 09 69 44
Tel : +335 61 72 24 09
Email : info@docdoku.com

More Related Content

Similar to DocDokuPLM: Domain Specific PaaS and Business Oriented API

Let's build Developer Portal with Backstage
Let's build Developer Portal with BackstageLet's build Developer Portal with Backstage
Let's build Developer Portal with BackstageOpsta
 
2022 APIsecure_Securing APIs with Open Standards
2022 APIsecure_Securing APIs with Open Standards2022 APIsecure_Securing APIs with Open Standards
2022 APIsecure_Securing APIs with Open StandardsAPIsecure_ Official
 
OpenAPI development with Python
OpenAPI development with PythonOpenAPI development with Python
OpenAPI development with PythonTakuro Wada
 
بررسی چارچوب جنگو
بررسی چارچوب جنگوبررسی چارچوب جنگو
بررسی چارچوب جنگوrailsbootcamp
 
Concepts and applications of Django.pptx
Concepts and applications of Django.pptxConcepts and applications of Django.pptx
Concepts and applications of Django.pptxsushmitjivtode4
 
SplunkLive! Introduction to the Splunk Developer Platform
SplunkLive! Introduction to the Splunk Developer PlatformSplunkLive! Introduction to the Splunk Developer Platform
SplunkLive! Introduction to the Splunk Developer PlatformSplunk
 
Use open source software to develop ideas at work
Use open source software to develop ideas at workUse open source software to develop ideas at work
Use open source software to develop ideas at workSammy Fung
 
Build Great Networked APIs with Swift, OpenAPI, and gRPC
Build Great Networked APIs with Swift, OpenAPI, and gRPCBuild Great Networked APIs with Swift, OpenAPI, and gRPC
Build Great Networked APIs with Swift, OpenAPI, and gRPCTim Burks
 
Having fun with code igniter
Having fun with code igniterHaving fun with code igniter
Having fun with code igniterAhmad Arif
 
Akash rajguru project report sem v
Akash rajguru project report sem vAkash rajguru project report sem v
Akash rajguru project report sem vAkash Rajguru
 
Content Strategy and Developer Engagement for DevPortals
Content Strategy and Developer Engagement for DevPortalsContent Strategy and Developer Engagement for DevPortals
Content Strategy and Developer Engagement for DevPortalsAxway
 
API workshop: Introduction to APIs (TC Camp)
API workshop: Introduction to APIs (TC Camp)API workshop: Introduction to APIs (TC Camp)
API workshop: Introduction to APIs (TC Camp)Tom Johnson
 
Company Visitor Management System Report.docx
Company Visitor Management System Report.docxCompany Visitor Management System Report.docx
Company Visitor Management System Report.docxfantabulous2024
 
SharePoint 2013 Dev Features
SharePoint 2013 Dev FeaturesSharePoint 2013 Dev Features
SharePoint 2013 Dev FeaturesRicardo Wilkins
 
Leaping Forward: Finding The Future of Your API Docs
Leaping Forward: Finding The Future of Your API DocsLeaping Forward: Finding The Future of Your API Docs
Leaping Forward: Finding The Future of Your API DocsPronovix
 
Primers or Reminders? The Effects of Existing Review Comments on Code Review
Primers or Reminders? The Effects of Existing Review Comments on Code ReviewPrimers or Reminders? The Effects of Existing Review Comments on Code Review
Primers or Reminders? The Effects of Existing Review Comments on Code ReviewDelft University of Technology
 
Using Data Science & Serverless Python to find apartment in Toronto
Using Data Science & Serverless Python to find apartment in TorontoUsing Data Science & Serverless Python to find apartment in Toronto
Using Data Science & Serverless Python to find apartment in TorontoDaniel Zivkovic
 
Gapand 2017 - Diseñando Arquitecturas Serverless en Azure
Gapand 2017 - Diseñando Arquitecturas Serverless en AzureGapand 2017 - Diseñando Arquitecturas Serverless en Azure
Gapand 2017 - Diseñando Arquitecturas Serverless en AzureAlberto Diaz Martin
 

Similar to DocDokuPLM: Domain Specific PaaS and Business Oriented API (20)

Let's build Developer Portal with Backstage
Let's build Developer Portal with BackstageLet's build Developer Portal with Backstage
Let's build Developer Portal with Backstage
 
Django by rj
Django by rjDjango by rj
Django by rj
 
2022 APIsecure_Securing APIs with Open Standards
2022 APIsecure_Securing APIs with Open Standards2022 APIsecure_Securing APIs with Open Standards
2022 APIsecure_Securing APIs with Open Standards
 
OpenAPI development with Python
OpenAPI development with PythonOpenAPI development with Python
OpenAPI development with Python
 
بررسی چارچوب جنگو
بررسی چارچوب جنگوبررسی چارچوب جنگو
بررسی چارچوب جنگو
 
Concepts and applications of Django.pptx
Concepts and applications of Django.pptxConcepts and applications of Django.pptx
Concepts and applications of Django.pptx
 
SplunkLive! Introduction to the Splunk Developer Platform
SplunkLive! Introduction to the Splunk Developer PlatformSplunkLive! Introduction to the Splunk Developer Platform
SplunkLive! Introduction to the Splunk Developer Platform
 
Use open source software to develop ideas at work
Use open source software to develop ideas at workUse open source software to develop ideas at work
Use open source software to develop ideas at work
 
Build Great Networked APIs with Swift, OpenAPI, and gRPC
Build Great Networked APIs with Swift, OpenAPI, and gRPCBuild Great Networked APIs with Swift, OpenAPI, and gRPC
Build Great Networked APIs with Swift, OpenAPI, and gRPC
 
Having fun with code igniter
Having fun with code igniterHaving fun with code igniter
Having fun with code igniter
 
Akash rajguru project report sem v
Akash rajguru project report sem vAkash rajguru project report sem v
Akash rajguru project report sem v
 
Content Strategy and Developer Engagement for DevPortals
Content Strategy and Developer Engagement for DevPortalsContent Strategy and Developer Engagement for DevPortals
Content Strategy and Developer Engagement for DevPortals
 
API workshop: Introduction to APIs (TC Camp)
API workshop: Introduction to APIs (TC Camp)API workshop: Introduction to APIs (TC Camp)
API workshop: Introduction to APIs (TC Camp)
 
Company Visitor Management System Report.docx
Company Visitor Management System Report.docxCompany Visitor Management System Report.docx
Company Visitor Management System Report.docx
 
SharePoint 2013 Dev Features
SharePoint 2013 Dev FeaturesSharePoint 2013 Dev Features
SharePoint 2013 Dev Features
 
Leaping Forward: Finding The Future of Your API Docs
Leaping Forward: Finding The Future of Your API DocsLeaping Forward: Finding The Future of Your API Docs
Leaping Forward: Finding The Future of Your API Docs
 
Primers or Reminders? The Effects of Existing Review Comments on Code Review
Primers or Reminders? The Effects of Existing Review Comments on Code ReviewPrimers or Reminders? The Effects of Existing Review Comments on Code Review
Primers or Reminders? The Effects of Existing Review Comments on Code Review
 
Using Data Science & Serverless Python to find apartment in Toronto
Using Data Science & Serverless Python to find apartment in TorontoUsing Data Science & Serverless Python to find apartment in Toronto
Using Data Science & Serverless Python to find apartment in Toronto
 
Stmik bandung
Stmik bandungStmik bandung
Stmik bandung
 
Gapand 2017 - Diseñando Arquitecturas Serverless en Azure
Gapand 2017 - Diseñando Arquitecturas Serverless en AzureGapand 2017 - Diseñando Arquitecturas Serverless en Azure
Gapand 2017 - Diseñando Arquitecturas Serverless en Azure
 

More from DocDoku

Meetup Aperotech 4 : retour d'expérience Oracle Code One 2019
Meetup Aperotech 4 : retour d'expérience Oracle Code One 2019Meetup Aperotech 4 : retour d'expérience Oracle Code One 2019
Meetup Aperotech 4 : retour d'expérience Oracle Code One 2019DocDoku
 
Les ZAPeroTech #4 : REX Oracle Code One 2019 sur l'éco-système Java
Les ZAPeroTech #4 : REX Oracle Code One 2019 sur l'éco-système JavaLes ZAPeroTech #4 : REX Oracle Code One 2019 sur l'éco-système Java
Les ZAPeroTech #4 : REX Oracle Code One 2019 sur l'éco-système JavaDocDoku
 
Les ZAPeroTech #4 : découverte de Flutter
Les ZAPeroTech #4 : découverte de FlutterLes ZAPeroTech #4 : découverte de Flutter
Les ZAPeroTech #4 : découverte de FlutterDocDoku
 
Les ZAPeroTech #3 : à la découverte de NBitcoin en C#
Les ZAPeroTech #3 : à la découverte de NBitcoin en C#Les ZAPeroTech #3 : à la découverte de NBitcoin en C#
Les ZAPeroTech #3 : à la découverte de NBitcoin en C#DocDoku
 
Les ZAperoTech #3 : présentation AWS IoT Greengrass
Les ZAperoTech #3 : présentation AWS IoT GreengrassLes ZAperoTech #3 : présentation AWS IoT Greengrass
Les ZAperoTech #3 : présentation AWS IoT GreengrassDocDoku
 
Les Z'ApéroTech Toulouse #2 - Présentation de l'agilité à l'échelle
Les Z'ApéroTech Toulouse #2 - Présentation de l'agilité à l'échelleLes Z'ApéroTech Toulouse #2 - Présentation de l'agilité à l'échelle
Les Z'ApéroTech Toulouse #2 - Présentation de l'agilité à l'échelleDocDoku
 
Les Z'ApéroTech Toulouse #2 - Présentation des nouveautés de JakartaEE 8
Les Z'ApéroTech Toulouse #2 - Présentation des nouveautés de JakartaEE 8Les Z'ApéroTech Toulouse #2 - Présentation des nouveautés de JakartaEE 8
Les Z'ApéroTech Toulouse #2 - Présentation des nouveautés de JakartaEE 8DocDoku
 
Les Z'ApéroTech Toulouse #2 - Présentation Garden Helaer
Les Z'ApéroTech Toulouse #2 - Présentation Garden HelaerLes Z'ApéroTech Toulouse #2 - Présentation Garden Helaer
Les Z'ApéroTech Toulouse #2 - Présentation Garden HelaerDocDoku
 
Présentation DocDoku
Présentation DocDokuPrésentation DocDoku
Présentation DocDokuDocDoku
 
DocDoku - Mobile Monday Toulouse 1ère : la NFC
DocDoku - Mobile Monday Toulouse 1ère : la NFCDocDoku - Mobile Monday Toulouse 1ère : la NFC
DocDoku - Mobile Monday Toulouse 1ère : la NFCDocDoku
 
DocDoku - Les enjeux du back-office mobile
DocDoku - Les enjeux du back-office mobileDocDoku - Les enjeux du back-office mobile
DocDoku - Les enjeux du back-office mobileDocDoku
 
Strategies et developpements mobiles multi-plates-formes.
Strategies et developpements mobiles multi-plates-formes.Strategies et developpements mobiles multi-plates-formes.
Strategies et developpements mobiles multi-plates-formes.DocDoku
 

More from DocDoku (12)

Meetup Aperotech 4 : retour d'expérience Oracle Code One 2019
Meetup Aperotech 4 : retour d'expérience Oracle Code One 2019Meetup Aperotech 4 : retour d'expérience Oracle Code One 2019
Meetup Aperotech 4 : retour d'expérience Oracle Code One 2019
 
Les ZAPeroTech #4 : REX Oracle Code One 2019 sur l'éco-système Java
Les ZAPeroTech #4 : REX Oracle Code One 2019 sur l'éco-système JavaLes ZAPeroTech #4 : REX Oracle Code One 2019 sur l'éco-système Java
Les ZAPeroTech #4 : REX Oracle Code One 2019 sur l'éco-système Java
 
Les ZAPeroTech #4 : découverte de Flutter
Les ZAPeroTech #4 : découverte de FlutterLes ZAPeroTech #4 : découverte de Flutter
Les ZAPeroTech #4 : découverte de Flutter
 
Les ZAPeroTech #3 : à la découverte de NBitcoin en C#
Les ZAPeroTech #3 : à la découverte de NBitcoin en C#Les ZAPeroTech #3 : à la découverte de NBitcoin en C#
Les ZAPeroTech #3 : à la découverte de NBitcoin en C#
 
Les ZAperoTech #3 : présentation AWS IoT Greengrass
Les ZAperoTech #3 : présentation AWS IoT GreengrassLes ZAperoTech #3 : présentation AWS IoT Greengrass
Les ZAperoTech #3 : présentation AWS IoT Greengrass
 
Les Z'ApéroTech Toulouse #2 - Présentation de l'agilité à l'échelle
Les Z'ApéroTech Toulouse #2 - Présentation de l'agilité à l'échelleLes Z'ApéroTech Toulouse #2 - Présentation de l'agilité à l'échelle
Les Z'ApéroTech Toulouse #2 - Présentation de l'agilité à l'échelle
 
Les Z'ApéroTech Toulouse #2 - Présentation des nouveautés de JakartaEE 8
Les Z'ApéroTech Toulouse #2 - Présentation des nouveautés de JakartaEE 8Les Z'ApéroTech Toulouse #2 - Présentation des nouveautés de JakartaEE 8
Les Z'ApéroTech Toulouse #2 - Présentation des nouveautés de JakartaEE 8
 
Les Z'ApéroTech Toulouse #2 - Présentation Garden Helaer
Les Z'ApéroTech Toulouse #2 - Présentation Garden HelaerLes Z'ApéroTech Toulouse #2 - Présentation Garden Helaer
Les Z'ApéroTech Toulouse #2 - Présentation Garden Helaer
 
Présentation DocDoku
Présentation DocDokuPrésentation DocDoku
Présentation DocDoku
 
DocDoku - Mobile Monday Toulouse 1ère : la NFC
DocDoku - Mobile Monday Toulouse 1ère : la NFCDocDoku - Mobile Monday Toulouse 1ère : la NFC
DocDoku - Mobile Monday Toulouse 1ère : la NFC
 
DocDoku - Les enjeux du back-office mobile
DocDoku - Les enjeux du back-office mobileDocDoku - Les enjeux du back-office mobile
DocDoku - Les enjeux du back-office mobile
 
Strategies et developpements mobiles multi-plates-formes.
Strategies et developpements mobiles multi-plates-formes.Strategies et developpements mobiles multi-plates-formes.
Strategies et developpements mobiles multi-plates-formes.
 

Recently uploaded

Introduction to Firebase Workshop Slides
Introduction to Firebase Workshop SlidesIntroduction to Firebase Workshop Slides
Introduction to Firebase Workshop Slidesvaideheekore1
 
Santander Stream Processing with Apache Flink
Santander Stream Processing with Apache FlinkSantander Stream Processing with Apache Flink
Santander Stream Processing with Apache Flinkconfluent
 
SAM Training Session - How to use EXCEL ?
SAM Training Session - How to use EXCEL ?SAM Training Session - How to use EXCEL ?
SAM Training Session - How to use EXCEL ?Alexandre Beguel
 
full course of software engineering mid term.pdf
full course of software engineering mid term.pdffull course of software engineering mid term.pdf
full course of software engineering mid term.pdfAbdul salam
 
The State of the Green IT at the beginning of 2024
The State of the Green IT at the beginning of 2024The State of the Green IT at the beginning of 2024
The State of the Green IT at the beginning of 2024Artur Skowroński
 
eSoftTools IMAP Backup Software and migration tools
eSoftTools IMAP Backup Software and migration toolseSoftTools IMAP Backup Software and migration tools
eSoftTools IMAP Backup Software and migration toolsosttopstonverter
 
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...Bert Jan Schrijver
 
Explore the Three Main Types of Logistics - Inbound Logistics, Outbound Logis...
Explore the Three Main Types of Logistics - Inbound Logistics, Outbound Logis...Explore the Three Main Types of Logistics - Inbound Logistics, Outbound Logis...
Explore the Three Main Types of Logistics - Inbound Logistics, Outbound Logis...Piyovi
 
Understanding Plagiarism: Causes, Consequences and Prevention.pptx
Understanding Plagiarism: Causes, Consequences and Prevention.pptxUnderstanding Plagiarism: Causes, Consequences and Prevention.pptx
Understanding Plagiarism: Causes, Consequences and Prevention.pptxSasikiranMarri
 
Pros and Cons of Selenium In Automation Testing_ A Comprehensive Assessment.pdf
Pros and Cons of Selenium In Automation Testing_ A Comprehensive Assessment.pdfPros and Cons of Selenium In Automation Testing_ A Comprehensive Assessment.pdf
Pros and Cons of Selenium In Automation Testing_ A Comprehensive Assessment.pdfkalichargn70th171
 
Effectively Troubleshoot 9 Types of OutOfMemoryError
Effectively Troubleshoot 9 Types of OutOfMemoryErrorEffectively Troubleshoot 9 Types of OutOfMemoryError
Effectively Troubleshoot 9 Types of OutOfMemoryErrorTier1 app
 
2024-04-09 - From Complexity to Clarity - AWS Summit AMS.pdf
2024-04-09 - From Complexity to Clarity - AWS Summit AMS.pdf2024-04-09 - From Complexity to Clarity - AWS Summit AMS.pdf
2024-04-09 - From Complexity to Clarity - AWS Summit AMS.pdfAndrey Devyatkin
 
VictoriaMetrics Q1 Meet Up '24 - Community & News Update
VictoriaMetrics Q1 Meet Up '24 - Community & News UpdateVictoriaMetrics Q1 Meet Up '24 - Community & News Update
VictoriaMetrics Q1 Meet Up '24 - Community & News UpdateVictoriaMetrics
 
ETE PPT.pdf LMMKLMKLMLKMLLMJKBHJBHBNUIHBU
ETE PPT.pdf LMMKLMKLMLKMLLMJKBHJBHBNUIHBUETE PPT.pdf LMMKLMKLMLKMLLMJKBHJBHBNUIHBU
ETE PPT.pdf LMMKLMKLMLKMLLMJKBHJBHBNUIHBUsamruddhijedgule2004
 
Advantages of Cargo Cloud Solutions.pptx
Advantages of Cargo Cloud Solutions.pptxAdvantages of Cargo Cloud Solutions.pptx
Advantages of Cargo Cloud Solutions.pptxRTS corp
 
What are the core components of Azure Data Engineer courses.docx
What are the core components of Azure Data Engineer courses.docxWhat are the core components of Azure Data Engineer courses.docx
What are the core components of Azure Data Engineer courses.docxkzayra69
 
Effort Estimation Techniques used in Software Projects
Effort Estimation Techniques used in Software ProjectsEffort Estimation Techniques used in Software Projects
Effort Estimation Techniques used in Software ProjectsDEEPRAJ PATHAK
 
Business Analyzopedia - Your Pocket Gita for Business Analysis
Business Analyzopedia - Your Pocket Gita for Business AnalysisBusiness Analyzopedia - Your Pocket Gita for Business Analysis
Business Analyzopedia - Your Pocket Gita for Business AnalysisDEEPRAJ PATHAK
 
Keeping your build tool updated in a multi repository world
Keeping your build tool updated in a multi repository worldKeeping your build tool updated in a multi repository world
Keeping your build tool updated in a multi repository worldRoberto Pérez Alcolea
 
Zer0con 2024 final share short version.pdf
Zer0con 2024 final share short version.pdfZer0con 2024 final share short version.pdf
Zer0con 2024 final share short version.pdfmaor17
 

Recently uploaded (20)

Introduction to Firebase Workshop Slides
Introduction to Firebase Workshop SlidesIntroduction to Firebase Workshop Slides
Introduction to Firebase Workshop Slides
 
Santander Stream Processing with Apache Flink
Santander Stream Processing with Apache FlinkSantander Stream Processing with Apache Flink
Santander Stream Processing with Apache Flink
 
SAM Training Session - How to use EXCEL ?
SAM Training Session - How to use EXCEL ?SAM Training Session - How to use EXCEL ?
SAM Training Session - How to use EXCEL ?
 
full course of software engineering mid term.pdf
full course of software engineering mid term.pdffull course of software engineering mid term.pdf
full course of software engineering mid term.pdf
 
The State of the Green IT at the beginning of 2024
The State of the Green IT at the beginning of 2024The State of the Green IT at the beginning of 2024
The State of the Green IT at the beginning of 2024
 
eSoftTools IMAP Backup Software and migration tools
eSoftTools IMAP Backup Software and migration toolseSoftTools IMAP Backup Software and migration tools
eSoftTools IMAP Backup Software and migration tools
 
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...
 
Explore the Three Main Types of Logistics - Inbound Logistics, Outbound Logis...
Explore the Three Main Types of Logistics - Inbound Logistics, Outbound Logis...Explore the Three Main Types of Logistics - Inbound Logistics, Outbound Logis...
Explore the Three Main Types of Logistics - Inbound Logistics, Outbound Logis...
 
Understanding Plagiarism: Causes, Consequences and Prevention.pptx
Understanding Plagiarism: Causes, Consequences and Prevention.pptxUnderstanding Plagiarism: Causes, Consequences and Prevention.pptx
Understanding Plagiarism: Causes, Consequences and Prevention.pptx
 
Pros and Cons of Selenium In Automation Testing_ A Comprehensive Assessment.pdf
Pros and Cons of Selenium In Automation Testing_ A Comprehensive Assessment.pdfPros and Cons of Selenium In Automation Testing_ A Comprehensive Assessment.pdf
Pros and Cons of Selenium In Automation Testing_ A Comprehensive Assessment.pdf
 
Effectively Troubleshoot 9 Types of OutOfMemoryError
Effectively Troubleshoot 9 Types of OutOfMemoryErrorEffectively Troubleshoot 9 Types of OutOfMemoryError
Effectively Troubleshoot 9 Types of OutOfMemoryError
 
2024-04-09 - From Complexity to Clarity - AWS Summit AMS.pdf
2024-04-09 - From Complexity to Clarity - AWS Summit AMS.pdf2024-04-09 - From Complexity to Clarity - AWS Summit AMS.pdf
2024-04-09 - From Complexity to Clarity - AWS Summit AMS.pdf
 
VictoriaMetrics Q1 Meet Up '24 - Community & News Update
VictoriaMetrics Q1 Meet Up '24 - Community & News UpdateVictoriaMetrics Q1 Meet Up '24 - Community & News Update
VictoriaMetrics Q1 Meet Up '24 - Community & News Update
 
ETE PPT.pdf LMMKLMKLMLKMLLMJKBHJBHBNUIHBU
ETE PPT.pdf LMMKLMKLMLKMLLMJKBHJBHBNUIHBUETE PPT.pdf LMMKLMKLMLKMLLMJKBHJBHBNUIHBU
ETE PPT.pdf LMMKLMKLMLKMLLMJKBHJBHBNUIHBU
 
Advantages of Cargo Cloud Solutions.pptx
Advantages of Cargo Cloud Solutions.pptxAdvantages of Cargo Cloud Solutions.pptx
Advantages of Cargo Cloud Solutions.pptx
 
What are the core components of Azure Data Engineer courses.docx
What are the core components of Azure Data Engineer courses.docxWhat are the core components of Azure Data Engineer courses.docx
What are the core components of Azure Data Engineer courses.docx
 
Effort Estimation Techniques used in Software Projects
Effort Estimation Techniques used in Software ProjectsEffort Estimation Techniques used in Software Projects
Effort Estimation Techniques used in Software Projects
 
Business Analyzopedia - Your Pocket Gita for Business Analysis
Business Analyzopedia - Your Pocket Gita for Business AnalysisBusiness Analyzopedia - Your Pocket Gita for Business Analysis
Business Analyzopedia - Your Pocket Gita for Business Analysis
 
Keeping your build tool updated in a multi repository world
Keeping your build tool updated in a multi repository worldKeeping your build tool updated in a multi repository world
Keeping your build tool updated in a multi repository world
 
Zer0con 2024 final share short version.pdf
Zer0con 2024 final share short version.pdfZer0con 2024 final share short version.pdf
Zer0con 2024 final share short version.pdf
 

DocDokuPLM: Domain Specific PaaS and Business Oriented API

  • 1. DocDokuPLM: Domain Specific PaaS and Business Oriented API Morgan Guimard - 21 sept 2016 - OW2 con' 2016
  • 2. We are DocDoku 2 We help industrial organizations digitize their business Based in France ● Toulouse ● Paris Committed to the Open Source, we make DocDokuPLM: ● https://github.com/docdoku/docdoku-plm ● Twitter: @docdoku #PLM #HTML5 #Java #BigData #WebGL #IoT #Industry
  • 3. About me 3 Tech experience ● 10 years in Web Technologies ● JavaScript developer ● Java EE developer Morgan Guimard ● DocDokuPLM dev leader ● Technical trainer
  • 4. Agenda 4 1 – What is DocDokuPLM ? 2 – DocDokuPLM meets PaaS 3 – Technical aspects 4 – Who is using it ?
  • 5. 1 – What is DocDokuPLM ?
  • 6. What is DocDokuPLM ? 6 Product Lifecycle Management Manage the entire lifecycle of a product Create and manage your product structures Define part variants Visualize the 3D model of your products
  • 7. What is DocDokuPLM ? 7 Document management system Version control Add tags and custom attributes Create document models Define links between documents Organize, browse, share, search documents
  • 8. What is DocDokuPLM ? 8 Web and desktop applications Run in all modern browsers 3D visualization of products Real time audio/video conversations Synchronize files with user’s file system
  • 9. 2 – DocDokuPLM meets PaaS
  • 10. DocDokuPLM meets PaaS 10 Why did we need an API ? Building quickly new applications Developing new GUIs Offering new business perspectives Bringing the API makes DocDokuPLM PaaS ready
  • 11. DocDokuPLM meets PaaS 11 Resolving specific use cases Creating new APIs and applications around our services { api }Specific use case DocDoku PLM API { api }Specific use case
  • 12. DocDokuPLM meets PaaS 12 At multiple industry level For specific industry sectors and domains
  • 13. DocDokuPLM meets PaaS 13 Benefits for every actors Innovate faster Focus on use case / needs Ease deployment and scale Save money Support
  • 14. 3 – Technical aspects
  • 15. Technical aspects 15 Good bye SOAP, welcome REST Maintaining both is a pain Not the same endpoints Not the same codebase One layer to rule them all!
  • 16. Technical aspects 16 Annotations in the REST layer Specific annotations (not standard yet), we use Swagger Describes inputs, outputs, names, HTTP codes @Api("documents") public class DocumentResource ... @ApiOperation(value = "Create a document", response = Document.class) public Document createDocument ( @ApiParam(value = "Document to create") Document document ... @Api("documents") public class DocumentResource ... @ApiOperation(value = "Create a document", response = Document.class) public Document createDocument ( @ApiParam(value = "Document to create") Document document ...
  • 17. Technical aspects 17 Parsing these annotations Annotations reader, Java based program Parse the entire REST layer Produces a JSON file Describes all services
  • 18. Technical aspects 18 Generating the SDK Swagger codegen – Apache License, Version 2.0 https://github.com/swagger-api/swagger-codegen Generates our Java API from JSON description Packaged as a jar « Mavenized » Will be published on next release
  • 19. Technical aspects 19 JavaScript SDK Swagger-client https://www.npmjs.com/package/swagger-client Used to generate our JavaScript SDK Runs in a browser, or simply as a NodeJS module Can be used in a SPA, or in a NodeJS application
  • 20. Technical aspects 20 Language support Not using or don’t want to use Java or JavaScript? We can bring our API to other languages
  • 21. 4 – Who is using it?
  • 22. Who is using it? 22 We do, in DPLM The DPLM: a web based desktop application Mostly designed for CAD designers Also fits for simple files management Now DPLM relies on our JavaScript SDK More flexible More reliable Much faster
  • 23. Who is using it? 23 We do, in DPLM
  • 24. Who is using it? 24 FarmStar Jee & web application Reporting system, modulation and advice for agricultural industry
  • 25. Who is using it? 25 You, tomorrow? Need some kind of … document management system within your information system? Manufacturing or tracking facilities? Social and notification features? Next release coming soon, stay tuned!
  • 26. Questions ? Contact Tel : +331 85 09 69 44 Tel : +335 61 72 24 09 Email : info@docdoku.com
  • 27. Thank you ! Contact Tel : +331 85 09 69 44 Tel : +335 61 72 24 09 Email : info@docdoku.com