visualization as a service · gateway data-center (e.g teamcenter) get/head on url soa/rest vaas...
TRANSCRIPT
Visualization as a ServiceJohannes Behr, Fraunhofer IGD
Ziel
ARVIDA-ArchitekturkonzepteARVIDA-Architekturkonzepte
ARVIDA-DiensteARVIDA-Dienste
© Volkswagen 2015 ARVIDA-Architektenteam: DFKI, FHG-IAO, FHG-IGD, KIT, TUM 1
Daten-Transcoding
Daten-TranscodingTrackingTrackingRenderingRendering NavigationNavigation InteraktionInteraktion
DatenbankenDatenbanken GenerischesMenschmodellGenerisches
Menschmodell AnimationenAnimationenSimulationenSimulationenMultiagentenMultiagenten
RESTfulRESTful
VT-AnwendungenVT-Anwendungen
StandardisierteRückgabe-
werte
StandardisierteRückgabe-
werte
RDF-Vokabulare
RDF-Vokabulare
EinheitlichesDienst-
verhalten
EinheitlichesDienst-
verhalten
Komposition,DataFu EngineKomposition,
DataFu EngineLinked DataPrinzipien
Linked DataPrinzipien
Ziel
ARVIDA-ArchitekturkonzepteARVIDA-Architekturkonzepte
ARVIDA-DiensteARVIDA-Dienste
© Volkswagen 2015 ARVIDA-Architektenteam: DFKI, FHG-IAO, FHG-IGD, KIT, TUM 2
Daten-Transcoding
Daten-TranscodingTrackingTrackingRenderingRendering NavigationNavigation InteraktionInteraktion
DatenbankenDatenbanken GenerischesMenschmodellGenerisches
Menschmodell AnimationenAnimationenSimulationenSimulationenMultiagentenMultiagenten
RESTfulRESTful
VT-AnwendungenVT-Anwendungen
StandardisierteRückgabe-
werte
StandardisierteRückgabe-
werte
RDF-Vokabulare
RDF-Vokabulare
EinheitlichesDienst-
verhalten
EinheitlichesDienst-
verhalten
Komposition,DataFu EngineKomposition,
DataFu EngineLinked DataPrinzipien
Linked DataPrinzipien
Ziel: Dienste-basierte Rendering-Lösung für interaktive VE-Anwendung
• From Local to Remote DataFrom local files to distributed resource networks
• From Large to Massive Data ModelsIncreased rate of product individualization and 3D scanner capabilities
• From Static to Varying Data ElementsSingle Data container to part hierarchy with variable update rates
• From Fat-Clients to “Any Device“ and Web-ClientsClient-Hardware characteristics must be less critical for system performance
• From Single-File to Hybrid/Multi-ResourcesShape/Sample mixtures in multiple data sources
• From manual import/export to automated machine-to-machine pipelinesAllows dynamic content negotiation and adaptive processing
• From Low to High-Security RequirementsRemote Data access and distributed rendering needs to be secured
Visualization-Trends und ARVIDA: “Service as Chance“
1. VR/AR Generation: Local Data and Local Rendering
VR/AR
Application
Display
Display
Display
3D Data
2. VR/AR Generation: Single Data Source with manual update process
VR/AR
Application
Display
Display
Display
3D Data
Data Provider (e.g. PLM)
3D Data
Network
Data Provider
3. VR/AR Generation: Multiple network data providers
VR/AR
Application
Display
Display
Display
3D Data
Network
Data Provider
3D Data
Data Provider
3D Data
Data Provider
4. VR/AR Generation: Services for client/server and hybrid rendering
VR/AR
Application
Display
Display
Display
3D Data
Network
Data Provider
3D Data
Data Provider
3D Data
ARVIDA
Render Service
Client/Server/HybridRendering
Resource Provider
5. VR/AR Generation: Spatial Index Cache and Resource Observer
VR/AR
Application
Display
Display
Display
3D Data
Network
Resource Provider
3D Data
Resource Provider
3D Data
ARVIDA
Architecture
SpatialIndexCache
Client/Server/HybridRendering
Linked “3D Resource” Network• Linked Resource Network (HATEOAS)
• RDF• Link in domain container
• Domain specific container and relation• PDM: Structure/Assembly to Part (e.g. step242/plmxml->jt->jt )• WEB: Scene Graph Link (e.g. X3D->X3B->X3V->X3D )• GEO: Geo coordinate System to Region (e.g. KLM->KLM->DAE->DAE)• BIM: Building to section (e.g. IFC->IFC->step203)• PoTree: Point Octree (e.g. cell->cell->cell)
R1R1R2R2
R3R3R4R4
R5R5 R6R6
Linked “3D Resource” Network• Pros
• Open Structure• Simple traversal for rendering
• Cons• Traversal needs to transmit, parse and understand the container• Links have no spatial property (e.g. volume)• Links have no complexity information (e.g. data quantifier)
• => Render costs are not predictable
• Solution• => Use ARVIDA Service to build Spatial Index Cache for decreased render costs
R1R1R2R2
R3R3R4R4
R5R5 R6R6
Linked Resources Requirements for Visualization in ARVIDA• Identifiable
Data should be identifiable without location
• AddressableData must be addressable with service location
• DereferenceableResource retrieval mechanism with know container or self-describing
• AuthorizeableResource access should be authorized with trusted secure mechanism
• MonitorableDynamic resources and versioning should be supported
Solution: Simple and decoupled resource pattern with http(s) (1,1.1,2),• Identifiable
URI (URN or URL), URN Resolver in ARVIDA Data Transcoder
• AddressableURL on http(s) resources.
• DereferenceableGET on URL, http content negotiation and RDF, 202/not-yet
• AuthorizeableGET/HEAD with SSO Token handover (e.g. SM) and Basic Auth (RFC2617)
• MonitorableGET/HEAD with http “etag” for change detection
Solution: Simple and decoupled data-center interface Minimal interface to pull/monitor data from any Data-Center Based on standard http/https techniques and best practice subset High performance (minimal content parsing, maximal standard reuse) Standard Web-Server should be able to provide sufficient functionality Provide single interface to all persistent and dynamic resources
webVisHUB
URI to URL
get on URIDC -
GatewayData-Center
(e.g TeamCenter)
get/head on URL SOA/REST
VaaS Infrastructure
App
CRUD on URI
Data-Center Gateway classification
Request Data(GET)
Request Property(HEAD)
★★★★★ HTTP-2 push updates HTTP-2 push updates
★★★★☆ HTTP-1.1. pipeline HTTP-1.1 pipeline
★★★☆☆ Provide etag, Cache-Control Validate etag
★★☆☆☆ Provide WWW-Authenticate Validate SSO,401 on fail
★☆☆☆☆ 200 (OK), 401 (Unauthorized),404
No Hander, No WWW-Authenticate data
ContainerContainer
Service ContractsService Contracts
ContainerContainer
Issue: Container specific Scene Structure (e.g. X3D, JT)
InputData
Transport &Cache
RuntimeAPI
Rendering
X3D Runtime X3D, X3DVX3DB, (SRC)
X3D, X3DVX3DB, (SRC)
X3D SAI Web-Plugin,Fat-Client
X3DOM X3D, X3Dj,SRC
X3D, X3Dj,SRC
X3D, DOM WebGL, Flash,(SAI-Plugin)
webVis/instant3Dhub
X3D, X3DB,RVM, JT, …
Linked 3D Data(HSI + SRC)
CRUD on datarelation
Client, serverand hybrid
Domainto 3D
Domainto 3D
3D toVis
3D toVis
Vis toPixelVis toPixel
X3DX3D
VaaSVaaS
Solution: Consistent ARVIDA “Scene-Graph“ vocabulary
Result: Consistent Visualization as a Service (VaaS) solution
• Client Interface for Pixel Generator• Web/Java/Native application• Render-pipeline driven service orchestration• Local and remote components
• Flexible Service Integration• Single resource driven interface• Interchangeable Service component• Service-Based orchestration for
complex use-cases
Web-Applicationwith WebVIS
Generic Information Service
SAP
PDM
ISSUESystem
SupplierGate
GenericText, Image,PDF, Video,Information
3D Canvasfor CAx
Data
PDM
http/https/
PDM-API
Arvida VaaSDiskor
MemoryCache
TranscoderService PIXI