SlideShare une entreprise Scribd logo
1  sur  33
Télécharger pour lire hors ligne
DocDokuPLM : Using web technologies
in a desktop application
Morgan Guimard - 17 nov 2015 - OW2 con' 2015
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 – Introduction to Product Lifecycle Management
2 – Working with CAD files
3 - Our cross-platform solution
1 - Introduction to Product Lifecycle
Management
6
Manages the entire lifecycle of a product from its conception to
its disposal.
Integrates people, data, processes and business systems and
provides a product information backbone.
Product Lifecycle Management
PBS?
7
Product Breakdown Structure
A hierarchical listing of assemblies and components, and the
quantities there-of, necessary to produce a final product
Parts
8
Each node of a PBS is a part
Stores every information of a component, as its name, custom
attributes, and its geometry file.
The part number is its identifier. You may find the same part at
multiple PBS levels.
V54S3434RTX
Assembly / Leaf
9
● Assembly nodes stores the structure informations
● Leaves stores the geometry
● Assemblies and leaves are both considered as parts
Example: An office desk
Everything is tracked
10
● Through Check-in / Check-out mechanism
● Iteration (1, 2, 3...) and Revision (A, B, C...)
Example: Part 100 A.3
A is the revision, 3 is the iteration and A.3 is the version
● Iteration = minor changes
● Revision = major ones
2 – Working with CAD files
Working with CAD files
12
● Our target: CAD designers
● They are editing lot of files / large files
Check in / Check out
● Those files need to be synchronized on a server
● Collaborative work is a main topic
Standard formats ?
13
Some formats are standard
● STEP, IFC, OBJ, …
And some other formats are not standard
● SLDPRT, CATPART, …
We're trying to convert any format, even if not standard
CAD files content
14
Depends on the format, can contains
● Geometry only
● Structure only
● Both
Managed server side with DocDokuPLM server
● Converting many formats to a WebGL format
● Extracting the structure from CAD files and creating the PBS
● May require proprietary SDK to parse some none standard formats
Multiple editors
15
Many edition tools / platforms
● Windows - Mac OS X - Linux
● AutoCAD, SolidWorks, CATIA, BIM Editor ...
● Developing a plugin for all of them isn't realistic
● Should also be maintained for every software update
How can we help every CAD designer ?
16
Editor plugins ?
● Not realistic: too many editors, versions, languages
Operating system integration ?
● Would be a great solution, but requires more than a single code base
The easiest way for us is a cross platform application
3 – Our cross platform solution
Command line interface
18
Fits for most advanced users...
● Scriptable
● Lightweight
● Easy to use
● Check in / Check out and synchronize files from command line with a
single command
● ...but lacks a graphical user interface to easily make bulk operations
$ dplm checkin some-part-number
Choosing a cross-platform technology
19
Native ? Web based ? What do we need ?
● Read and write the user's FileSystem
● Be able to interact with our JSON WebServices
● Interact with our CLI
● Have a responsive design for each display
● 3D preview
Node Webkit
20
Just a nutshell ...
● Wrapping NodeJS and a Webkit browser
● Let's keep a standard API: HTML5
● And let's use NodeJS low level API
NodeJS brings us ...
21
… exactly what we need
● Ability to walk the user's FileSystem to discover CAD files
● Read CAD files contents to display them in a 3D preview
● An API to interact with our CLI (Directly in java or bash)
● FileSystem watchers to detect any change made on a file
● An easy way to work with JSON objects
Webkit browser
22
Helps us to :
● Create a responsive design
● Keep a single code base for each platform
● Allow HTTP connections and easy JSON parsing
● Load 3D file with WebGL technology for a live preview
Pros and cons of this choice
23
We like...
● One code base, and code reuse
● Standard API
● Fast development process
● Latest web technologies can be used
● Easy to package
We don't like so much…
● App size (must embed Webkit and NodeJs)
● Requires more RAM and CPU
● Hard to mimic the OS look and feel
● May have bugs for NodeWebkit (notification, file system changes)
Our web based solution
24
DocDokuDPLM
● Built with NodeWebkit
● Using AngularJS as the main framework
● Using NodeJS API
Architecture
25
User's desktop
DocDokuDPLM APP
DocDokuCLINodeJS
Webkit + AngularJS
DocDokuPLM server
FSCAD editor
Remote and local navigation
26
● Allows the designer to browse remote and local folders
File change detection
27
● Allows the designer quickly see which files are out of sync
● Green tick icon means synchronized
● Orange cloud icon means modified
Recursive download
28
● Allows the designer to check out / download a whole structure within a
single action
● Select existing baseline
Synchronizing a whole folder
29
● Allows the designer to check in / upload a whole folder
3D preview
30
● Allows the designers to see their files in 3D before uploading them
● The same 3D engine is used in the DocDokuPLM server
To come soon
31
We'd like to bring the following features to our solution
● Desktop notifications (synchronization done, etc…)
● Better errors handling
● Shortcuts to open a part in the user's favorite editor from our app
● SMART check-in order when pushing many files in a single operation
● ...
Questions ?
Thank you !

Contenu connexe

Tendances

QGIS UK: Developing with QGIS - What is possible (Lutra Consulting)
QGIS UK: Developing with QGIS - What is possible (Lutra Consulting)QGIS UK: Developing with QGIS - What is possible (Lutra Consulting)
QGIS UK: Developing with QGIS - What is possible (Lutra Consulting)Ross McDonald
 
Contributing to Apache Projects and Making Profits
Contributing to Apache Projects and Making ProfitsContributing to Apache Projects and Making Profits
Contributing to Apache Projects and Making ProfitsHenry Saputra
 
GitLab: One Tool for Software Development (2018-02-06 @ SEIUM, Braga, Portugal)
GitLab: One Tool for Software Development (2018-02-06 @ SEIUM, Braga, Portugal)GitLab: One Tool for Software Development (2018-02-06 @ SEIUM, Braga, Portugal)
GitLab: One Tool for Software Development (2018-02-06 @ SEIUM, Braga, Portugal)Pedro Moreira da Silva
 
The printing press of 2021 - using GitLab to publish the VSHN Handbook
The printing press of 2021 - using GitLab to publish the VSHN HandbookThe printing press of 2021 - using GitLab to publish the VSHN Handbook
The printing press of 2021 - using GitLab to publish the VSHN HandbookAarno Aukia
 
Meet Microplatforms. Stuart Harris, Red Badger
Meet Microplatforms. Stuart Harris, Red BadgerMeet Microplatforms. Stuart Harris, Red Badger
Meet Microplatforms. Stuart Harris, Red BadgerReact London Community
 
How do you agile your global team to contribute to openstack
How do you agile your global team to contribute to openstackHow do you agile your global team to contribute to openstack
How do you agile your global team to contribute to openstackAlexis Monville
 
Git lab2019 jp-meetup
Git lab2019 jp-meetupGit lab2019 jp-meetup
Git lab2019 jp-meetupGuenjun Yoo
 
SFScon19 - Andreas Shimokawa - Codeberg a free home for free projects
SFScon19 - Andreas Shimokawa - Codeberg a free home for free projectsSFScon19 - Andreas Shimokawa - Codeberg a free home for free projects
SFScon19 - Andreas Shimokawa - Codeberg a free home for free projectsSouth Tyrol Free Software Conference
 

Tendances (8)

QGIS UK: Developing with QGIS - What is possible (Lutra Consulting)
QGIS UK: Developing with QGIS - What is possible (Lutra Consulting)QGIS UK: Developing with QGIS - What is possible (Lutra Consulting)
QGIS UK: Developing with QGIS - What is possible (Lutra Consulting)
 
Contributing to Apache Projects and Making Profits
Contributing to Apache Projects and Making ProfitsContributing to Apache Projects and Making Profits
Contributing to Apache Projects and Making Profits
 
GitLab: One Tool for Software Development (2018-02-06 @ SEIUM, Braga, Portugal)
GitLab: One Tool for Software Development (2018-02-06 @ SEIUM, Braga, Portugal)GitLab: One Tool for Software Development (2018-02-06 @ SEIUM, Braga, Portugal)
GitLab: One Tool for Software Development (2018-02-06 @ SEIUM, Braga, Portugal)
 
The printing press of 2021 - using GitLab to publish the VSHN Handbook
The printing press of 2021 - using GitLab to publish the VSHN HandbookThe printing press of 2021 - using GitLab to publish the VSHN Handbook
The printing press of 2021 - using GitLab to publish the VSHN Handbook
 
Meet Microplatforms. Stuart Harris, Red Badger
Meet Microplatforms. Stuart Harris, Red BadgerMeet Microplatforms. Stuart Harris, Red Badger
Meet Microplatforms. Stuart Harris, Red Badger
 
How do you agile your global team to contribute to openstack
How do you agile your global team to contribute to openstackHow do you agile your global team to contribute to openstack
How do you agile your global team to contribute to openstack
 
Git lab2019 jp-meetup
Git lab2019 jp-meetupGit lab2019 jp-meetup
Git lab2019 jp-meetup
 
SFScon19 - Andreas Shimokawa - Codeberg a free home for free projects
SFScon19 - Andreas Shimokawa - Codeberg a free home for free projectsSFScon19 - Andreas Shimokawa - Codeberg a free home for free projects
SFScon19 - Andreas Shimokawa - Codeberg a free home for free projects
 

Similaire à DocDokuPLM presentation - OW2Con 2015 Community Award winner

Devoxx : being productive with JHipster
Devoxx : being productive with JHipsterDevoxx : being productive with JHipster
Devoxx : being productive with JHipsterJulien Dubois
 
Instant developer onboarding with self contained repositories
Instant developer onboarding with self contained repositoriesInstant developer onboarding with self contained repositories
Instant developer onboarding with self contained repositoriesYshay Yaacobi
 
Acjim acmacs presentation
Acjim acmacs presentationAcjim acmacs presentation
Acjim acmacs presentationhda_jim
 
Snowflake Automated Deployments / CI/CD Pipelines
Snowflake Automated Deployments / CI/CD PipelinesSnowflake Automated Deployments / CI/CD Pipelines
Snowflake Automated Deployments / CI/CD PipelinesDrew Hansen
 
Acjim acmacs presentation
Acjim acmacs presentationAcjim acmacs presentation
Acjim acmacs presentationRohan Maleku
 
Programming for non tech entrepreneurs
Programming for non tech entrepreneursProgramming for non tech entrepreneurs
Programming for non tech entrepreneursRodrigo Gil
 
Design Summit - Technology Vision - Oleg Barenboim and Jason Frey
Design Summit - Technology Vision - Oleg Barenboim and Jason FreyDesign Summit - Technology Vision - Oleg Barenboim and Jason Frey
Design Summit - Technology Vision - Oleg Barenboim and Jason FreyManageIQ
 
Hong Kong Drupal User Group - 2014 March 8th
Hong Kong Drupal User Group - 2014 March 8thHong Kong Drupal User Group - 2014 March 8th
Hong Kong Drupal User Group - 2014 March 8thWong Hoi Sing Edison
 
Introduction to DevOps and the Practical Use Cases at Credit OK
Introduction to DevOps and the Practical Use Cases at Credit OKIntroduction to DevOps and the Practical Use Cases at Credit OK
Introduction to DevOps and the Practical Use Cases at Credit OKKriangkrai Chaonithi
 
JIO and WebViewers: interoperability for Javascript and Web Applications
JIO and WebViewers: interoperability  for Javascript and Web ApplicationsJIO and WebViewers: interoperability  for Javascript and Web Applications
JIO and WebViewers: interoperability for Javascript and Web ApplicationsXWiki
 
Electron JS | Build cross-platform desktop applications with web technologies
Electron JS | Build cross-platform desktop applications with web technologiesElectron JS | Build cross-platform desktop applications with web technologies
Electron JS | Build cross-platform desktop applications with web technologiesBethmi Gunasekara
 
Multiplier Effect: Case Studies in Distributions for Publishers
Multiplier Effect: Case Studies in Distributions for PublishersMultiplier Effect: Case Studies in Distributions for Publishers
Multiplier Effect: Case Studies in Distributions for PublishersJon Peck
 
Angular (v2 and up) - Morning to understand - Linagora
Angular (v2 and up) - Morning to understand - LinagoraAngular (v2 and up) - Morning to understand - Linagora
Angular (v2 and up) - Morning to understand - LinagoraLINAGORA
 
Collaborative environment with data science notebook
Collaborative environment with data science notebook Collaborative environment with data science notebook
Collaborative environment with data science notebook Moon Soo Lee
 
Data Science in Production: Technologies That Drive Adoption of Data Science ...
Data Science in Production: Technologies That Drive Adoption of Data Science ...Data Science in Production: Technologies That Drive Adoption of Data Science ...
Data Science in Production: Technologies That Drive Adoption of Data Science ...Nir Yungster
 
Ad101 - IBM Lotus Domino Designer: Full Speed Ahead!
Ad101 - IBM Lotus Domino Designer: Full Speed Ahead!Ad101 - IBM Lotus Domino Designer: Full Speed Ahead!
Ad101 - IBM Lotus Domino Designer: Full Speed Ahead!ddrschiw
 
Drupal in 5mins + Previewing Drupal 8.x
Drupal in 5mins + Previewing Drupal 8.xDrupal in 5mins + Previewing Drupal 8.x
Drupal in 5mins + Previewing Drupal 8.xWong Hoi Sing Edison
 

Similaire à DocDokuPLM presentation - OW2Con 2015 Community Award winner (20)

Devoxx : being productive with JHipster
Devoxx : being productive with JHipsterDevoxx : being productive with JHipster
Devoxx : being productive with JHipster
 
Instant developer onboarding with self contained repositories
Instant developer onboarding with self contained repositoriesInstant developer onboarding with self contained repositories
Instant developer onboarding with self contained repositories
 
Acjim acmacs presentation
Acjim acmacs presentationAcjim acmacs presentation
Acjim acmacs presentation
 
Snowflake Automated Deployments / CI/CD Pipelines
Snowflake Automated Deployments / CI/CD PipelinesSnowflake Automated Deployments / CI/CD Pipelines
Snowflake Automated Deployments / CI/CD Pipelines
 
Acjim acmacs presentation
Acjim acmacs presentationAcjim acmacs presentation
Acjim acmacs presentation
 
Programming for non tech entrepreneurs
Programming for non tech entrepreneursProgramming for non tech entrepreneurs
Programming for non tech entrepreneurs
 
Enterprise Griffon
Enterprise GriffonEnterprise Griffon
Enterprise Griffon
 
Design Summit - Technology Vision - Oleg Barenboim and Jason Frey
Design Summit - Technology Vision - Oleg Barenboim and Jason FreyDesign Summit - Technology Vision - Oleg Barenboim and Jason Frey
Design Summit - Technology Vision - Oleg Barenboim and Jason Frey
 
Hong Kong Drupal User Group - 2014 March 8th
Hong Kong Drupal User Group - 2014 March 8thHong Kong Drupal User Group - 2014 March 8th
Hong Kong Drupal User Group - 2014 March 8th
 
Introduction to DevOps and the Practical Use Cases at Credit OK
Introduction to DevOps and the Practical Use Cases at Credit OKIntroduction to DevOps and the Practical Use Cases at Credit OK
Introduction to DevOps and the Practical Use Cases at Credit OK
 
JIO and WebViewers: interoperability for Javascript and Web Applications
JIO and WebViewers: interoperability  for Javascript and Web ApplicationsJIO and WebViewers: interoperability  for Javascript and Web Applications
JIO and WebViewers: interoperability for Javascript and Web Applications
 
Electron JS | Build cross-platform desktop applications with web technologies
Electron JS | Build cross-platform desktop applications with web technologiesElectron JS | Build cross-platform desktop applications with web technologies
Electron JS | Build cross-platform desktop applications with web technologies
 
How to sell drupal 8
How to sell drupal 8How to sell drupal 8
How to sell drupal 8
 
Multiplier Effect: Case Studies in Distributions for Publishers
Multiplier Effect: Case Studies in Distributions for PublishersMultiplier Effect: Case Studies in Distributions for Publishers
Multiplier Effect: Case Studies in Distributions for Publishers
 
Angular (v2 and up) - Morning to understand - Linagora
Angular (v2 and up) - Morning to understand - LinagoraAngular (v2 and up) - Morning to understand - Linagora
Angular (v2 and up) - Morning to understand - Linagora
 
Collaborative environment with data science notebook
Collaborative environment with data science notebook Collaborative environment with data science notebook
Collaborative environment with data science notebook
 
Data Science in Production: Technologies That Drive Adoption of Data Science ...
Data Science in Production: Technologies That Drive Adoption of Data Science ...Data Science in Production: Technologies That Drive Adoption of Data Science ...
Data Science in Production: Technologies That Drive Adoption of Data Science ...
 
Ad101 - IBM Lotus Domino Designer: Full Speed Ahead!
Ad101 - IBM Lotus Domino Designer: Full Speed Ahead!Ad101 - IBM Lotus Domino Designer: Full Speed Ahead!
Ad101 - IBM Lotus Domino Designer: Full Speed Ahead!
 
DevOps & SRE at Google Scale
DevOps & SRE at Google ScaleDevOps & SRE at Google Scale
DevOps & SRE at Google Scale
 
Drupal in 5mins + Previewing Drupal 8.x
Drupal in 5mins + Previewing Drupal 8.xDrupal in 5mins + Previewing Drupal 8.x
Drupal in 5mins + Previewing Drupal 8.x
 

Plus de 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
 
DocDokuPLM: Domain Specific PaaS and Business Oriented API
DocDokuPLM: Domain Specific PaaS and Business Oriented APIDocDokuPLM: Domain Specific PaaS and Business Oriented API
DocDokuPLM: Domain Specific PaaS and Business Oriented APIDocDoku
 
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
 

Plus de DocDoku (13)

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
 
DocDokuPLM: Domain Specific PaaS and Business Oriented API
DocDokuPLM: Domain Specific PaaS and Business Oriented APIDocDokuPLM: Domain Specific PaaS and Business Oriented API
DocDokuPLM: Domain Specific PaaS and Business Oriented API
 
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.
 

Dernier

Testing and Development Challenges for Complex Cyber-Physical Systems: Insigh...
Testing and Development Challenges for Complex Cyber-Physical Systems: Insigh...Testing and Development Challenges for Complex Cyber-Physical Systems: Insigh...
Testing and Development Challenges for Complex Cyber-Physical Systems: Insigh...Sebastiano Panichella
 
Don't Miss Out: Strategies for Making the Most of the Ethena DigitalOpportunity
Don't Miss Out: Strategies for Making the Most of the Ethena DigitalOpportunityDon't Miss Out: Strategies for Making the Most of the Ethena DigitalOpportunity
Don't Miss Out: Strategies for Making the Most of the Ethena DigitalOpportunityApp Ethena
 
Scootsy Overview Deck - Pan City Delivery
Scootsy Overview Deck - Pan City DeliveryScootsy Overview Deck - Pan City Delivery
Scootsy Overview Deck - Pan City Deliveryrishi338139
 
05.02 MMC - Assignment 4 - Image Attribution Lovepreet.pptx
05.02 MMC - Assignment 4 - Image Attribution Lovepreet.pptx05.02 MMC - Assignment 4 - Image Attribution Lovepreet.pptx
05.02 MMC - Assignment 4 - Image Attribution Lovepreet.pptxerickamwana1
 
Sunlight Spectacle 2024 Practical Action Launch Event 2024-04-08
Sunlight Spectacle 2024 Practical Action Launch Event 2024-04-08Sunlight Spectacle 2024 Practical Action Launch Event 2024-04-08
Sunlight Spectacle 2024 Practical Action Launch Event 2024-04-08LloydHelferty
 
Understanding Post Production changes (PPC) in Clinical Data Management (CDM)...
Understanding Post Production changes (PPC) in Clinical Data Management (CDM)...Understanding Post Production changes (PPC) in Clinical Data Management (CDM)...
Understanding Post Production changes (PPC) in Clinical Data Management (CDM)...soumyapottola
 
Basic overview of nerve conduction studies
Basic overview of nerve conduction studiesBasic overview of nerve conduction studies
Basic overview of nerve conduction studiesDrAbdulAli1
 
Testing with Fewer Resources: Toward Adaptive Approaches for Cost-effective ...
Testing with Fewer Resources:  Toward Adaptive Approaches for Cost-effective ...Testing with Fewer Resources:  Toward Adaptive Approaches for Cost-effective ...
Testing with Fewer Resources: Toward Adaptive Approaches for Cost-effective ...Sebastiano Panichella
 
Understanding Cyberbullying Laws in Canada's Criminal Code
Understanding Cyberbullying Laws in Canada's Criminal CodeUnderstanding Cyberbullying Laws in Canada's Criminal Code
Understanding Cyberbullying Laws in Canada's Criminal CodeBrian Markle
 
GESCO SE Press and Analyst Conference on Financial Results 2024
GESCO SE Press and Analyst Conference on Financial Results 2024GESCO SE Press and Analyst Conference on Financial Results 2024
GESCO SE Press and Analyst Conference on Financial Results 2024GESCO SE
 
cse-csp batch4 review-1.1.pptx cyber security
cse-csp batch4 review-1.1.pptx cyber securitycse-csp batch4 review-1.1.pptx cyber security
cse-csp batch4 review-1.1.pptx cyber securitysandeepnani2260
 

Dernier (11)

Testing and Development Challenges for Complex Cyber-Physical Systems: Insigh...
Testing and Development Challenges for Complex Cyber-Physical Systems: Insigh...Testing and Development Challenges for Complex Cyber-Physical Systems: Insigh...
Testing and Development Challenges for Complex Cyber-Physical Systems: Insigh...
 
Don't Miss Out: Strategies for Making the Most of the Ethena DigitalOpportunity
Don't Miss Out: Strategies for Making the Most of the Ethena DigitalOpportunityDon't Miss Out: Strategies for Making the Most of the Ethena DigitalOpportunity
Don't Miss Out: Strategies for Making the Most of the Ethena DigitalOpportunity
 
Scootsy Overview Deck - Pan City Delivery
Scootsy Overview Deck - Pan City DeliveryScootsy Overview Deck - Pan City Delivery
Scootsy Overview Deck - Pan City Delivery
 
05.02 MMC - Assignment 4 - Image Attribution Lovepreet.pptx
05.02 MMC - Assignment 4 - Image Attribution Lovepreet.pptx05.02 MMC - Assignment 4 - Image Attribution Lovepreet.pptx
05.02 MMC - Assignment 4 - Image Attribution Lovepreet.pptx
 
Sunlight Spectacle 2024 Practical Action Launch Event 2024-04-08
Sunlight Spectacle 2024 Practical Action Launch Event 2024-04-08Sunlight Spectacle 2024 Practical Action Launch Event 2024-04-08
Sunlight Spectacle 2024 Practical Action Launch Event 2024-04-08
 
Understanding Post Production changes (PPC) in Clinical Data Management (CDM)...
Understanding Post Production changes (PPC) in Clinical Data Management (CDM)...Understanding Post Production changes (PPC) in Clinical Data Management (CDM)...
Understanding Post Production changes (PPC) in Clinical Data Management (CDM)...
 
Basic overview of nerve conduction studies
Basic overview of nerve conduction studiesBasic overview of nerve conduction studies
Basic overview of nerve conduction studies
 
Testing with Fewer Resources: Toward Adaptive Approaches for Cost-effective ...
Testing with Fewer Resources:  Toward Adaptive Approaches for Cost-effective ...Testing with Fewer Resources:  Toward Adaptive Approaches for Cost-effective ...
Testing with Fewer Resources: Toward Adaptive Approaches for Cost-effective ...
 
Understanding Cyberbullying Laws in Canada's Criminal Code
Understanding Cyberbullying Laws in Canada's Criminal CodeUnderstanding Cyberbullying Laws in Canada's Criminal Code
Understanding Cyberbullying Laws in Canada's Criminal Code
 
GESCO SE Press and Analyst Conference on Financial Results 2024
GESCO SE Press and Analyst Conference on Financial Results 2024GESCO SE Press and Analyst Conference on Financial Results 2024
GESCO SE Press and Analyst Conference on Financial Results 2024
 
cse-csp batch4 review-1.1.pptx cyber security
cse-csp batch4 review-1.1.pptx cyber securitycse-csp batch4 review-1.1.pptx cyber security
cse-csp batch4 review-1.1.pptx cyber security
 

DocDokuPLM presentation - OW2Con 2015 Community Award winner

  • 1. DocDokuPLM : Using web technologies in a desktop application Morgan Guimard - 17 nov 2015 - OW2 con' 2015
  • 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 – Introduction to Product Lifecycle Management 2 – Working with CAD files 3 - Our cross-platform solution
  • 5. 1 - Introduction to Product Lifecycle Management
  • 6. 6 Manages the entire lifecycle of a product from its conception to its disposal. Integrates people, data, processes and business systems and provides a product information backbone. Product Lifecycle Management
  • 7. PBS? 7 Product Breakdown Structure A hierarchical listing of assemblies and components, and the quantities there-of, necessary to produce a final product
  • 8. Parts 8 Each node of a PBS is a part Stores every information of a component, as its name, custom attributes, and its geometry file. The part number is its identifier. You may find the same part at multiple PBS levels. V54S3434RTX
  • 9. Assembly / Leaf 9 ● Assembly nodes stores the structure informations ● Leaves stores the geometry ● Assemblies and leaves are both considered as parts Example: An office desk
  • 10. Everything is tracked 10 ● Through Check-in / Check-out mechanism ● Iteration (1, 2, 3...) and Revision (A, B, C...) Example: Part 100 A.3 A is the revision, 3 is the iteration and A.3 is the version ● Iteration = minor changes ● Revision = major ones
  • 11. 2 – Working with CAD files
  • 12. Working with CAD files 12 ● Our target: CAD designers ● They are editing lot of files / large files Check in / Check out ● Those files need to be synchronized on a server ● Collaborative work is a main topic
  • 13. Standard formats ? 13 Some formats are standard ● STEP, IFC, OBJ, … And some other formats are not standard ● SLDPRT, CATPART, … We're trying to convert any format, even if not standard
  • 14. CAD files content 14 Depends on the format, can contains ● Geometry only ● Structure only ● Both Managed server side with DocDokuPLM server ● Converting many formats to a WebGL format ● Extracting the structure from CAD files and creating the PBS ● May require proprietary SDK to parse some none standard formats
  • 15. Multiple editors 15 Many edition tools / platforms ● Windows - Mac OS X - Linux ● AutoCAD, SolidWorks, CATIA, BIM Editor ... ● Developing a plugin for all of them isn't realistic ● Should also be maintained for every software update
  • 16. How can we help every CAD designer ? 16 Editor plugins ? ● Not realistic: too many editors, versions, languages Operating system integration ? ● Would be a great solution, but requires more than a single code base The easiest way for us is a cross platform application
  • 17. 3 – Our cross platform solution
  • 18. Command line interface 18 Fits for most advanced users... ● Scriptable ● Lightweight ● Easy to use ● Check in / Check out and synchronize files from command line with a single command ● ...but lacks a graphical user interface to easily make bulk operations $ dplm checkin some-part-number
  • 19. Choosing a cross-platform technology 19 Native ? Web based ? What do we need ? ● Read and write the user's FileSystem ● Be able to interact with our JSON WebServices ● Interact with our CLI ● Have a responsive design for each display ● 3D preview
  • 20. Node Webkit 20 Just a nutshell ... ● Wrapping NodeJS and a Webkit browser ● Let's keep a standard API: HTML5 ● And let's use NodeJS low level API
  • 21. NodeJS brings us ... 21 … exactly what we need ● Ability to walk the user's FileSystem to discover CAD files ● Read CAD files contents to display them in a 3D preview ● An API to interact with our CLI (Directly in java or bash) ● FileSystem watchers to detect any change made on a file ● An easy way to work with JSON objects
  • 22. Webkit browser 22 Helps us to : ● Create a responsive design ● Keep a single code base for each platform ● Allow HTTP connections and easy JSON parsing ● Load 3D file with WebGL technology for a live preview
  • 23. Pros and cons of this choice 23 We like... ● One code base, and code reuse ● Standard API ● Fast development process ● Latest web technologies can be used ● Easy to package We don't like so much… ● App size (must embed Webkit and NodeJs) ● Requires more RAM and CPU ● Hard to mimic the OS look and feel ● May have bugs for NodeWebkit (notification, file system changes)
  • 24. Our web based solution 24 DocDokuDPLM ● Built with NodeWebkit ● Using AngularJS as the main framework ● Using NodeJS API
  • 26. Remote and local navigation 26 ● Allows the designer to browse remote and local folders
  • 27. File change detection 27 ● Allows the designer quickly see which files are out of sync ● Green tick icon means synchronized ● Orange cloud icon means modified
  • 28. Recursive download 28 ● Allows the designer to check out / download a whole structure within a single action ● Select existing baseline
  • 29. Synchronizing a whole folder 29 ● Allows the designer to check in / upload a whole folder
  • 30. 3D preview 30 ● Allows the designers to see their files in 3D before uploading them ● The same 3D engine is used in the DocDokuPLM server
  • 31. To come soon 31 We'd like to bring the following features to our solution ● Desktop notifications (synchronization done, etc…) ● Better errors handling ● Shortcuts to open a part in the user's favorite editor from our app ● SMART check-in order when pushing many files in a single operation ● ...