You are on page 1of 20

Dassault Enovia, a Case Study of CORBA

Int roduct ion Dist ribut ed Archit ect ure Orbix Im plem ent at ion Det ail Conlcusion

Introduction

What 's a PLM solut ion ? Who uses PLM product s ? The dist ribut ed requirem ent of t he users

Distributed Architecture of Enovia

Relevant components

Client , VPM Navigator Enovia LCA Server Manager Enovia Vault Manager Relational Database Engine Accessibility Transparency Openness Scalability

Requirements

Basic Enovia Architecture

Accessibility Requirement

Different disciplines

Aerospace Engineer Industrial Engineer Repeairman

Integration with existing Authentication mechanism Difference in measure systems Difference in language

Transparency Requirement

Access: hide physical representation of data

Different IT infrastructure Server Manager proxies requests Distributed Vaults DNS, IP Aliases Using master vault and read-only vault

Location: Hide the real location of a data


Migration: No reconfigurations required

Replication: Hide data replication

Distributed Enovia Architecture

Openness Requirement

Extendability

CORBA CAA C/C++/Java API

scalability Requirement

Geographically

Distributed vaults Remote invocation using CORBA Clustering of independent vault managers Scalable underlying technologies

Load wise

Oracle NFS

IONA Orbix

CORBA3 Compliant Orb Most Deployed in the industry Available for leading applicative platforms

Linux, Windows, UNIX DII Bidirectional GIOP etc

Advanced Features

Technical Implementation Details

Client configuration

VPM Navigator

Orbix naming daemon host:port VaultClient.properties

3DCom Web Client

Naming Daemon configuration


Implementation Repository

Server Manager Configuration Vault Manager Configuration

Client Configuration

Centralized

Ease of administration Consistent across all sites Single point of failure can be avoided Load balancing Failover Use of local vault replica

Dynamic configuration

Centralized Dynamic Configuration

Sample VaultClient.propreties
Host A VaultClient_DefaultAliasName = Vault VaultClient_Vault_ReadVaultServerName = Vault VaultClient_Vault_ReadVaultServerHostName = X VaultClient_Vault_ReadVaultServerDaemonPort = 54270 VaultClient_Vault_WriteVaultServerName = Vault VaultClient_Vault_WriteVaultServerHostName = Z VaultClient_Vault_WriteVaultServerDaemonPort = 54270

Host B VaultClient_DefaultAliasName = Vault VaultClient_Vault_ReadVaultServerName = Vault VaultClient_Vault_ReadVaultServerHostName = Y VaultClient_Vault_ReadVaultServerDaemonPort = 54270 VaultClient_Vault_WriteVaultServerName = Vault VaultClient_Vault_WriteVaultServerHostName = Z VaultClient_Vault_WriteVaultServerDaemonPort = 54270

Naming Deamon Configuration

Indirect Binding

Object persistence Enovia LCA server Manager ( CATIAServerManager) Enovia Vault Manager Text, editable .imp file Read at runtime

Orbix Implementation Repository


Vault Manager .imp file


Name : Vault Comms : cdr/tcp Activation : shared Owner : root Launch : ;all; Invoke : ;all; ImpRep Version : 2 no. of servers : 1 server's port : 0 Marker * Launch Command /...somepath.../runENOVVaultStarter 319 300

Server Manager Details


Started by indirect binding Responsible for activating object for clients VPM example

See following chart

Flow of initial VPM invocation

Vault Manager details


Started by Indirect binding Takes requests from Server Manager to setup file transfers Only one servant is required to handle file transfers Only receives incoming connections from clients.

Conclusion

Enovia is a Distributed system


Accessible Transparent Open Scalable Remote invocation Naming service & indirect binding Openness & Extendability

CORBA is a key component in making it possible

You might also like