docdokuplm presentation - ow2con 2015 community award winner

33
DocDokuPLM : Using web technologies in a desktop application Morgan Guimard - 17 nov 2015 - OW2 con' 2015

Upload: docdoku

Post on 15-Apr-2017

685 views

Category:

Presentations & Public Speaking


0 download

TRANSCRIPT

Page 1: DocDokuPLM presentation - OW2Con 2015 Community Award winner

DocDokuPLM : Using web technologiesin a desktop application

Morgan Guimard - 17 nov 2015 - OW2 con' 2015

Page 2: DocDokuPLM presentation - OW2Con 2015 Community Award winner

We are DocDoku

2

We help industrial organizations digitize their business

Based in France● Toulouse● Paris

Committed to the Open Source, wemake DocDokuPLM:

● https://github.com/docdoku/docdoku-plm● Twitter: @docdoku

#PLM #HTML5 #Java #BigData#WebGL #IoT #Industry

Page 3: DocDokuPLM presentation - OW2Con 2015 Community Award winner

About me

3

Tech experience● 10 years in Web Technologies● JavaScript developer● Java EE developer

Morgan Guimard● DocDokuPLM dev leader● Technical trainer

Page 4: DocDokuPLM presentation - OW2Con 2015 Community Award winner

Agenda

4

1 – Introduction to Product Lifecycle Management2 – Working with CAD files3 - Our cross-platform solution

Page 5: DocDokuPLM presentation - OW2Con 2015 Community Award winner

1 - Introduction to Product LifecycleManagement

Page 6: DocDokuPLM presentation - OW2Con 2015 Community Award winner

6

Manages the entire lifecycle of a product from its conception toits disposal.

Integrates people, data, processes and business systems andprovides a product information backbone.

Product Lifecycle Management

Page 7: DocDokuPLM presentation - OW2Con 2015 Community Award winner

PBS?

7

Product Breakdown Structure

A hierarchical listing of assemblies and components, and thequantities there-of, necessary to produce a final product

Page 8: DocDokuPLM presentation - OW2Con 2015 Community Award winner

Parts

8

Each node of a PBS is a part

Stores every information of a component, as its name, customattributes, and its geometry file.

The part number is its identifier. You may find the same part atmultiple PBS levels.

V54S3434RTX

Page 9: DocDokuPLM presentation - OW2Con 2015 Community Award winner

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

Page 10: DocDokuPLM presentation - OW2Con 2015 Community Award winner

Everything is tracked

10

● Through Check-in / Check-out mechanism● Iteration (1, 2, 3...) and Revision (A, B, C...)

Example: Part 100 A.3A is the revision, 3 is the iteration and A.3 is the version

● Iteration = minor changes● Revision = major ones

Page 11: DocDokuPLM presentation - OW2Con 2015 Community Award winner

2 – Working with CAD files

Page 12: DocDokuPLM presentation - OW2Con 2015 Community Award winner

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

Page 13: DocDokuPLM presentation - OW2Con 2015 Community Award winner

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

Page 14: DocDokuPLM presentation - OW2Con 2015 Community Award winner

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

Page 15: DocDokuPLM presentation - OW2Con 2015 Community Award winner

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

Page 16: DocDokuPLM presentation - OW2Con 2015 Community Award winner

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

Page 17: DocDokuPLM presentation - OW2Con 2015 Community Award winner

3 – Our cross platform solution

Page 18: DocDokuPLM presentation - OW2Con 2015 Community Award winner

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

Page 19: DocDokuPLM presentation - OW2Con 2015 Community Award winner

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

Page 20: DocDokuPLM presentation - OW2Con 2015 Community Award winner

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

Page 21: DocDokuPLM presentation - OW2Con 2015 Community Award winner

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

Page 22: DocDokuPLM presentation - OW2Con 2015 Community Award winner

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

Page 23: DocDokuPLM presentation - OW2Con 2015 Community Award winner

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)

Page 24: DocDokuPLM presentation - OW2Con 2015 Community Award winner

Our web based solution

24

DocDokuDPLM

● Built with NodeWebkit● Using AngularJS as the main framework● Using NodeJS API

Page 25: DocDokuPLM presentation - OW2Con 2015 Community Award winner

Architecture

25

User's desktop

DocDokuDPLM APP

DocDokuCLINodeJS

Webkit + AngularJS

DocDokuPLM server

FSCAD editor

Page 26: DocDokuPLM presentation - OW2Con 2015 Community Award winner

Remote and local navigation

26

● Allows the designer to browse remote and local folders

Page 27: DocDokuPLM presentation - OW2Con 2015 Community Award winner

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

Page 28: DocDokuPLM presentation - OW2Con 2015 Community Award winner

Recursive download

28

● Allows the designer to check out / download a whole structure within asingle action

● Select existing baseline

Page 29: DocDokuPLM presentation - OW2Con 2015 Community Award winner

Synchronizing a whole folder

29

● Allows the designer to check in / upload a whole folder

Page 30: DocDokuPLM presentation - OW2Con 2015 Community Award winner

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

Page 31: DocDokuPLM presentation - OW2Con 2015 Community Award winner

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

Page 32: DocDokuPLM presentation - OW2Con 2015 Community Award winner

Questions ?

Page 33: DocDokuPLM presentation - OW2Con 2015 Community Award winner

Thank you !