SlideShare ist ein Scribd-Unternehmen logo
1 von 33
Downloaden Sie, um offline zu lesen
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 !

Weitere ähnliche Inhalte

Was ist angesagt?

Bachelor's Thesis Presentation (shortened)
Bachelor's Thesis Presentation (shortened)Bachelor's Thesis Presentation (shortened)
Bachelor's Thesis Presentation (shortened)
Nikita Kurpas
 
WebKit Clutter Port Present and Future; WebKitGtk Status and Roadmap to WebKi...
WebKit Clutter Port Present and Future; WebKitGtk Status and Roadmap to WebKi...WebKit Clutter Port Present and Future; WebKitGtk Status and Roadmap to WebKi...
WebKit Clutter Port Present and Future; WebKitGtk Status and Roadmap to WebKi...
Igalia
 

Was ist angesagt? (20)

Next-gen Web technologies for next-gen business applications, Eric Descargues...
Next-gen Web technologies for next-gen business applications, Eric Descargues...Next-gen Web technologies for next-gen business applications, Eric Descargues...
Next-gen Web technologies for next-gen business applications, Eric Descargues...
 
Enterprise Griffon
Enterprise GriffonEnterprise Griffon
Enterprise Griffon
 
Update on the open source browser space (16th GENIVI AMM)
Update on the open source browser space (16th GENIVI AMM)Update on the open source browser space (16th GENIVI AMM)
Update on the open source browser space (16th GENIVI AMM)
 
Improving the MODX Documentation - March 29, 2019
Improving the MODX Documentation - March 29, 2019Improving the MODX Documentation - March 29, 2019
Improving the MODX Documentation - March 29, 2019
 
HTML5 Apps on AGL Platform with the Web Application Manager (Automotive Grade...
HTML5 Apps on AGL Platform with the Web Application Manager (Automotive Grade...HTML5 Apps on AGL Platform with the Web Application Manager (Automotive Grade...
HTML5 Apps on AGL Platform with the Web Application Manager (Automotive Grade...
 
Gutenberg: You Can't Teach an Old Dev New Tricks - WordCamp Chicago 2018
Gutenberg: You Can't Teach an Old Dev New Tricks - WordCamp Chicago 2018Gutenberg: You Can't Teach an Old Dev New Tricks - WordCamp Chicago 2018
Gutenberg: You Can't Teach an Old Dev New Tricks - WordCamp Chicago 2018
 
Andrew Berezovsky - Drupal 8 How to Migr8
Andrew Berezovsky - Drupal 8 How to Migr8Andrew Berezovsky - Drupal 8 How to Migr8
Andrew Berezovsky - Drupal 8 How to Migr8
 
Umbraco development across large and distributed teams
Umbraco development across large and distributed teamsUmbraco development across large and distributed teams
Umbraco development across large and distributed teams
 
WebKit and Blink: Bridging the Gap Between the Kernel and the HTML5 Revolution
WebKit and Blink: Bridging the Gap Between the Kernel and the HTML5 RevolutionWebKit and Blink: Bridging the Gap Between the Kernel and the HTML5 Revolution
WebKit and Blink: Bridging the Gap Between the Kernel and the HTML5 Revolution
 
Best Angular JS training in Hyderabad, India
Best Angular JS training in Hyderabad, IndiaBest Angular JS training in Hyderabad, India
Best Angular JS training in Hyderabad, India
 
Drupal Café October - DrupalCon Highlights
Drupal Café October - DrupalCon HighlightsDrupal Café October - DrupalCon Highlights
Drupal Café October - DrupalCon Highlights
 
FTC7 Michel Lefranc - Developing software based on the FSDL software library ...
FTC7 Michel Lefranc - Developing software based on the FSDL software library ...FTC7 Michel Lefranc - Developing software based on the FSDL software library ...
FTC7 Michel Lefranc - Developing software based on the FSDL software library ...
 
Bachelor's Thesis Presentation (shortened)
Bachelor's Thesis Presentation (shortened)Bachelor's Thesis Presentation (shortened)
Bachelor's Thesis Presentation (shortened)
 
uPortal Q1 2018 Quarterly Briefing
uPortal Q1 2018 Quarterly BriefinguPortal Q1 2018 Quarterly Briefing
uPortal Q1 2018 Quarterly Briefing
 
WebKit Clutter Port Present and Future; WebKitGtk Status and Roadmap to WebKi...
WebKit Clutter Port Present and Future; WebKitGtk Status and Roadmap to WebKi...WebKit Clutter Port Present and Future; WebKitGtk Status and Roadmap to WebKi...
WebKit Clutter Port Present and Future; WebKitGtk Status and Roadmap to WebKi...
 
Angular2 - A story from the trenches
Angular2 - A story from the trenchesAngular2 - A story from the trenches
Angular2 - A story from the trenches
 
Defrag 2014 - Blend Web IDEs, Open Source and PaaS to Create and Deploy APIs
Defrag 2014 - Blend Web IDEs, Open Source and PaaS to Create and Deploy APIsDefrag 2014 - Blend Web IDEs, Open Source and PaaS to Create and Deploy APIs
Defrag 2014 - Blend Web IDEs, Open Source and PaaS to Create and Deploy APIs
 
QGIS UK: QGIS Performance Enhancements (Lutra Consulting)
QGIS UK: QGIS Performance Enhancements (Lutra Consulting)QGIS UK: QGIS Performance Enhancements (Lutra Consulting)
QGIS UK: QGIS Performance Enhancements (Lutra Consulting)
 
Polymer & PWA: Understanding the “why”
Polymer & PWA: Understanding the “why”Polymer & PWA: Understanding the “why”
Polymer & PWA: Understanding the “why”
 
OpenCms Days 2015 OpenCms at erarta
OpenCms Days 2015 OpenCms at erarta OpenCms Days 2015 OpenCms at erarta
OpenCms Days 2015 OpenCms at erarta
 

Andere mochten auch

2013 cch basic principles ch02
2013 cch basic principles ch022013 cch basic principles ch02
2013 cch basic principles ch02
dphil002
 
SOA in the cloud with FraSCAti, OW2con11, Nov 24-25, Paris
SOA in the cloud with FraSCAti, OW2con11, Nov 24-25, ParisSOA in the cloud with FraSCAti, OW2con11, Nov 24-25, Paris
SOA in the cloud with FraSCAti, OW2con11, Nov 24-25, Paris
OW2
 
OtaSizzle Platform for Technology Transfert
OtaSizzle Platform for Technology TransfertOtaSizzle Platform for Technology Transfert
OtaSizzle Platform for Technology Transfert
OW2
 
Vol 02 chapter 7 2012
Vol 02 chapter 7 2012Vol 02 chapter 7 2012
Vol 02 chapter 7 2012
dphil002
 
Trustie Forge Solutions Linux Ow2
Trustie Forge Solutions Linux Ow2Trustie Forge Solutions Linux Ow2
Trustie Forge Solutions Linux Ow2
OW2
 
Kalimucho Project Use Cases
Kalimucho Project Use CasesKalimucho Project Use Cases
Kalimucho Project Use Cases
OW2
 
Transforming Datacenter Jaspersoft-ow2-conference-nov10
Transforming Datacenter Jaspersoft-ow2-conference-nov10Transforming Datacenter Jaspersoft-ow2-conference-nov10
Transforming Datacenter Jaspersoft-ow2-conference-nov10
OW2
 

Andere mochten auch (20)

2013 cch basic principles ch02
2013 cch basic principles ch022013 cch basic principles ch02
2013 cch basic principles ch02
 
SOA in the cloud with FraSCAti, OW2con11, Nov 24-25, Paris
SOA in the cloud with FraSCAti, OW2con11, Nov 24-25, ParisSOA in the cloud with FraSCAti, OW2con11, Nov 24-25, Paris
SOA in the cloud with FraSCAti, OW2con11, Nov 24-25, Paris
 
OtaSizzle Platform for Technology Transfert
OtaSizzle Platform for Technology TransfertOtaSizzle Platform for Technology Transfert
OtaSizzle Platform for Technology Transfert
 
Square Numbers - Update September 12
Square Numbers - Update September 12Square Numbers - Update September 12
Square Numbers - Update September 12
 
Vol 02 chapter 7 2012
Vol 02 chapter 7 2012Vol 02 chapter 7 2012
Vol 02 chapter 7 2012
 
1 literatura hispanoamericana
1 literatura hispanoamericana1 literatura hispanoamericana
1 literatura hispanoamericana
 
Project Progress
Project ProgressProject Progress
Project Progress
 
OpenPaaS, the open-source Enterprise Social network for the Cloud, OW2con'12,...
OpenPaaS, the open-source Enterprise Social network for the Cloud, OW2con'12,...OpenPaaS, the open-source Enterprise Social network for the Cloud, OW2con'12,...
OpenPaaS, the open-source Enterprise Social network for the Cloud, OW2con'12,...
 
Opencloudware, a Paas management stack over multiple clouds, Daniel Stern, O...
 Opencloudware, a Paas management stack over multiple clouds, Daniel Stern, O... Opencloudware, a Paas management stack over multiple clouds, Daniel Stern, O...
Opencloudware, a Paas management stack over multiple clouds, Daniel Stern, O...
 
Introduction to the CII Badge Programe, OW2con'16, Paris.
Introduction to the CII Badge Programe, OW2con'16, Paris. Introduction to the CII Badge Programe, OW2con'16, Paris.
Introduction to the CII Badge Programe, OW2con'16, Paris.
 
One year solving infrastructure management with FusionDirectory and OpenLDAP,...
One year solving infrastructure management with FusionDirectory and OpenLDAP,...One year solving infrastructure management with FusionDirectory and OpenLDAP,...
One year solving infrastructure management with FusionDirectory and OpenLDAP,...
 
Git, как инструмент управления веб-контентом
Git, как инструмент управления веб-контентомGit, как инструмент управления веб-контентом
Git, как инструмент управления веб-контентом
 
Trustie Forge Solutions Linux Ow2
Trustie Forge Solutions Linux Ow2Trustie Forge Solutions Linux Ow2
Trustie Forge Solutions Linux Ow2
 
Kalimucho Project Use Cases
Kalimucho Project Use CasesKalimucho Project Use Cases
Kalimucho Project Use Cases
 
LemonLDAP::NG 2.0. OW2con'15, November 17, Paris.
LemonLDAP::NG 2.0. OW2con'15, November 17, Paris.  LemonLDAP::NG 2.0. OW2con'15, November 17, Paris.
LemonLDAP::NG 2.0. OW2con'15, November 17, Paris.
 
We Were
We WereWe Were
We Were
 
Chapter 7
Chapter 7Chapter 7
Chapter 7
 
Square update december 12
Square update december 12Square update december 12
Square update december 12
 
Using Community Clouds for Load Testing- the ProActive CLIF solution, OW2con'...
Using Community Clouds for Load Testing- the ProActive CLIF solution, OW2con'...Using Community Clouds for Load Testing- the ProActive CLIF solution, OW2con'...
Using Community Clouds for Load Testing- the ProActive CLIF solution, OW2con'...
 
Transforming Datacenter Jaspersoft-ow2-conference-nov10
Transforming Datacenter Jaspersoft-ow2-conference-nov10Transforming Datacenter Jaspersoft-ow2-conference-nov10
Transforming Datacenter Jaspersoft-ow2-conference-nov10
 

Ähnlich wie DocDoku: Using web technologies in a desktop application. OW2con'15, November 17, Paris.

Programming for non tech entrepreneurs
Programming for non tech entrepreneursProgramming for non tech entrepreneurs
Programming for non tech entrepreneurs
Rodrigo Gil
 

Ähnlich wie DocDoku: Using web technologies in a desktop application. OW2con'15, November 17, Paris. (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
 
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
 
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
 
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
 
[scala.by] Launching new application fast
[scala.by] Launching new application fast[scala.by] Launching new application fast
[scala.by] Launching new application fast
 
Modern Web-site Development Pipeline
Modern Web-site Development PipelineModern Web-site Development Pipeline
Modern Web-site Development Pipeline
 
An XPager's Guide to Process Server-Side Jobs on Domino
An XPager's Guide to Process Server-Side Jobs on DominoAn XPager's Guide to Process Server-Side Jobs on Domino
An XPager's Guide to Process Server-Side Jobs on Domino
 
ICONUK 2013 - An XPager's Guide to Process Server-Side Jobs on IBM® Domino®
ICONUK 2013 - An XPager's Guide to Process Server-Side Jobs on IBM® Domino®ICONUK 2013 - An XPager's Guide to Process Server-Side Jobs on IBM® Domino®
ICONUK 2013 - An XPager's Guide to Process Server-Side Jobs on IBM® Domino®
 

Mehr von OW2

OW2 Association Européenne aux racines grenobloises, transformer l'industrie ...
OW2 Association Européenne aux racines grenobloises, transformer l'industrie ...OW2 Association Européenne aux racines grenobloises, transformer l'industrie ...
OW2 Association Européenne aux racines grenobloises, transformer l'industrie ...
OW2
 
Enabling DevOps for IoT software development, powered by Open Source, OW2onli...
Enabling DevOps for IoT software development, powered by Open Source, OW2onli...Enabling DevOps for IoT software development, powered by Open Source, OW2onli...
Enabling DevOps for IoT software development, powered by Open Source, OW2onli...
OW2
 

Mehr von OW2 (20)

OW2 and RIOS teaming up to boost the open source impact, Nov. 2022 in Roma
OW2 and RIOS teaming up to boost the open source impact, Nov. 2022 in RomaOW2 and RIOS teaming up to boost the open source impact, Nov. 2022 in Roma
OW2 and RIOS teaming up to boost the open source impact, Nov. 2022 in Roma
 
The Open Source Good Governance Initiative presented at RIOS OS Week, Nov. 20...
The Open Source Good Governance Initiative presented at RIOS OS Week, Nov. 20...The Open Source Good Governance Initiative presented at RIOS OS Week, Nov. 20...
The Open Source Good Governance Initiative presented at RIOS OS Week, Nov. 20...
 
GLPi v.10, les fonctionnalités principales et l'offre cloud
GLPi v.10, les fonctionnalités principales et l'offre cloudGLPi v.10, les fonctionnalités principales et l'offre cloud
GLPi v.10, les fonctionnalités principales et l'offre cloud
 
Centreon: superviser le Cloud et le Legacy à partir d'une même plateforme, po...
Centreon: superviser le Cloud et le Legacy à partir d'une même plateforme, po...Centreon: superviser le Cloud et le Legacy à partir d'une même plateforme, po...
Centreon: superviser le Cloud et le Legacy à partir d'une même plateforme, po...
 
FusionIAM : la gestion des identités et des accés open source
FusionIAM : la gestion des identités et des accés open sourceFusionIAM : la gestion des identités et des accés open source
FusionIAM : la gestion des identités et des accés open source
 
OW2 Association Européenne aux racines grenobloises, transformer l'industrie ...
OW2 Association Européenne aux racines grenobloises, transformer l'industrie ...OW2 Association Européenne aux racines grenobloises, transformer l'industrie ...
OW2 Association Européenne aux racines grenobloises, transformer l'industrie ...
 
SFScon'20 Bringing the User into the Equation
SFScon'20 Bringing the User into the EquationSFScon'20 Bringing the User into the Equation
SFScon'20 Bringing the User into the Equation
 
Towards a sustainable solution to open source sustainability, OW2online20, Ju...
Towards a sustainable solution to open source sustainability, OW2online20, Ju...Towards a sustainable solution to open source sustainability, OW2online20, Ju...
Towards a sustainable solution to open source sustainability, OW2online20, Ju...
 
Advanced proactive and polymorphing cloud application adaptation with MORPHEM...
Advanced proactive and polymorphing cloud application adaptation with MORPHEM...Advanced proactive and polymorphing cloud application adaptation with MORPHEM...
Advanced proactive and polymorphing cloud application adaptation with MORPHEM...
 
Open Source governance and the Eclipse Foundation, OW2online, June 2020
Open Source governance and the Eclipse Foundation, OW2online, June 2020Open Source governance and the Eclipse Foundation, OW2online, June 2020
Open Source governance and the Eclipse Foundation, OW2online, June 2020
 
Open source contribution policies, OW2online, June 2020
Open source contribution policies, OW2online, June 2020Open source contribution policies, OW2online, June 2020
Open source contribution policies, OW2online, June 2020
 
Software development at scale, pandemic lockdown and oss ecosystems, OW2onlin...
Software development at scale, pandemic lockdown and oss ecosystems, OW2onlin...Software development at scale, pandemic lockdown and oss ecosystems, OW2onlin...
Software development at scale, pandemic lockdown and oss ecosystems, OW2onlin...
 
Overview of the OpenChain Reference Tooling Work Group, OW2online20, June 2020
Overview of the OpenChain Reference Tooling Work Group, OW2online20, June 2020Overview of the OpenChain Reference Tooling Work Group, OW2online20, June 2020
Overview of the OpenChain Reference Tooling Work Group, OW2online20, June 2020
 
Open Source Compliance at Orange, OW2online, June 2020
Open Source Compliance at Orange, OW2online, June 2020Open Source Compliance at Orange, OW2online, June 2020
Open Source Compliance at Orange, OW2online, June 2020
 
Ideas, methods and tools for OSS Compliance assessment, OW2online, June 2020
Ideas, methods and tools for OSS Compliance assessment, OW2online, June 2020Ideas, methods and tools for OSS Compliance assessment, OW2online, June 2020
Ideas, methods and tools for OSS Compliance assessment, OW2online, June 2020
 
Intelligent package management with FASTEN, OW2online, June 2020
Intelligent package management with FASTEN, OW2online, June 2020Intelligent package management with FASTEN, OW2online, June 2020
Intelligent package management with FASTEN, OW2online, June 2020
 
DECODER, a Smarter Environment for DevOps Teams , OW2online, June 2020
DECODER, a Smarter Environment for DevOps Teams , OW2online, June 2020DECODER, a Smarter Environment for DevOps Teams , OW2online, June 2020
DECODER, a Smarter Environment for DevOps Teams , OW2online, June 2020
 
Enabling DevOps for IoT software development, powered by Open Source, OW2onli...
Enabling DevOps for IoT software development, powered by Open Source, OW2onli...Enabling DevOps for IoT software development, powered by Open Source, OW2onli...
Enabling DevOps for IoT software development, powered by Open Source, OW2onli...
 
Upcoming Challenges in Artificial Intelligence Research and Development, OW2o...
Upcoming Challenges in Artificial Intelligence Research and Development, OW2o...Upcoming Challenges in Artificial Intelligence Research and Development, OW2o...
Upcoming Challenges in Artificial Intelligence Research and Development, OW2o...
 
Cacti and Big Data at Orange France, OW2online, June 2020
Cacti and Big Data at Orange France, OW2online, June 2020Cacti and Big Data at Orange France, OW2online, June 2020
Cacti and Big Data at Orange France, OW2online, June 2020
 

Kürzlich hochgeladen

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 

Kürzlich hochgeladen (20)

Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
A Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusA Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source Milvus
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 

DocDoku: Using web technologies in a desktop application. OW2con'15, November 17, Paris.

  • 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 ● ...