© 2011 autodesk moving from desktop to cloud albert szilvasy software architect, autocad...
Post on 05-Jan-2016
216 Views
Preview:
TRANSCRIPT
© 2011 Autodesk
Moving from Desktop to Cloud
Albert SzilvasySoftware Architect, AutoCAD Engineering Team
© 2011 Autodesk
Agenda
Why does the ‘cloud’ matter? Understand how AutoCAD is changing Understand how to change your apps
© 2011 Autodesk
Why does the cloud matter?
Pay as you go computing power Background tasks (e.g. drawing standard compliance) Simulations, rendering
Pay as you go storage Autodesk Cloud Docs iCloud, Skydrive, Dropbox
Very high speed network Accessing other web services from your own is fast
© 2011 Autodesk
Using the cloud from a desktop application
Rendering Simulation Document management Etc.
AutoCAD
Add-in
© 2011 Autodesk
Using the cloud from a mobile application
Most mobile apps have a ‘connected aspect’ Data is in the cloud (e.g. maps, dropbox etc.) Battery must be conserved
Examples: Amazon Silk browser Evernote Navigation apps
Mobile app
© 2011 Autodesk
Add-in
Using AutoCAD from a mobile application
AutoCAD WS Your app?
AutoCAD
Mobile app
© 2011 Autodesk 7
Desktop vs. Mobile vs. Cloud
Desktop Mobile CloudCPU CISC & Many RISC & Few ‘unlimited’/pay as you goGPU Common Common RareStorage TBs GBs ‘unlimited’/pay as you goNetwork Gbit Mbit GbitPower ‘unlimited’ Limited by battery ‘unlimited’Sensors Few Many NoneInteraction High precision Less precise Programmatic only
© 2011 Autodesk
Demo: Running AutoCAD on a mobile device
CAD authoring is difficult on a touch-only device A traditional desktop app draws a lot of power There’s room for apps optimized for mobile
© 2011 Autodesk
Evolving AutoCAD for the cloud era
© 2011 Autodesk
Our goal: Provide AutoCAD as a Service (SaaS)
What does this mean for you, the 3rd party developers? AutoCAD evolves to become Platform as a Service (PaaS):
Pay as you go service to run your AutoCAD add-ins
We are at the early stages of this evolution We want to preserve your existing investment We want to enable ‘write once run everywhere’
Apps written for the desktop work in the cloud/mobile devices The more code you can share the better
© 2011 Autodesk
Server friendly components
The economy of the cloud comes from maximum resource utilization Host as many task as possible on a given hardware
Running the entire AutoCAD with UI is expensive nobody is there to see it, interact with it
Need components that are server friendly RealDWG = DWG DOM AutoCAD Core Engine = Real DWG +
© 2011 Autodesk
acad.exe.arx apps
AcDb (RealDwg).dbx apps
AutoCAD 2000
acad.exe.arx apps
© 2011 Autodesk
.crx apps
AutoCAD Core
AutoCAD.arx apps
AutoCAD 2011
AutoCAD.arx apps
AcDb (RealDwg).dbx apps
Osnap
Core commands
Plot
Command processor Input acquisition Viewports
Lisp Selection Layouts
ToolbarsMenus Palettes Dialogs
© 2011 Autodesk
AutoCAD Core Technology Stack
AcDb (RealDwg)
AcCore
.crx
app
s.d
bx a
pps
Graphics Subystem
Acad
.arx
app
s
AutoCAD Core Engine
© 2011 Autodesk
Demo: console autocad
© 2011 Autodesk
One Core
AutoCAD for Windows AutoCAD for Mac AutoCAD WS
AutoCAD Core Engine
© 2011 Autodesk
One API
AutoCAD Core Engine
Aut
oCA
D
for
Win
dow
s
Au
toC
AD
fo
r M
acA
uto
CA
D
WS
DBX AppsCRX Apps
© 2011 Autodesk
One Backend
CRX Apps
AutoCAD WSmobile
AutoCAD WSbrowser
AutoCAD for Windows
AutoCAD for Mac
AutoCAD WS (PaaS)
DBX Apps
© 2011 Autodesk
Evolving AutoCAD Add-ins for the cloud era
© 2011 Autodesk
Desktop application
User interacts with mouse/keyboard and sees results on screen
Remote desktop: Remotes mouse/keyboard events and bitmaps Latency is a problem Underutilizes most clients Form factor mismatch (screen size, pointer vs. touch)
Driver
OS
OSDriver
Application
© 2011 Autodesk
AutoCAD to AutoCAD WS
Driver
OS
OSDriver
AutoCADAutoCAD
WS
AutoCAD Core
Engine
Commands, 3D point input, selection
3D primitives
Mobile/Browser client Server
© 2011 Autodesk
What does it take to be cloud ready?
Your add-in must run on top of the Core Engine Separate in-canvas UI from out of canvas UI (dialogs)
Make sure that all your ‘business logic’ is accessible via the command line Split your code:
CRX app: Command line UI ARX app: Form-based UI
The mechanics are different for each API technology: C++ .NET Lisp COM/VBA
© 2011 Autodesk
Useful pattern
‘Host pattern’ Represent the out of canvas UI as a proxy object in CRX code Implement the real out of canvas UI in ARX Proxy holds back pointer to Host Fallback when Host not present
AutoCAD Core Engine
Host application (e.g. AutoCAD for Window)
XYZDialogProxy
XYZDialogHost
IXYZDialogHost
© 2011 Autodesk
Porting a C++ application
Main libraries that applications now reference: Acad.lib, accore.lib, acdbXX.lib
Applications that target the Core Engine should only reference Accore.lib and acdbXX.lib
© 2011 Autodesk
Porting a .NET application
Applications can reference 3 main assemblies: Acdbmgd.dll, accoremgd.dll, acmgd.dll
Accoremgd.dll: Much of APIs that used to be in acmgd.dll Command registration Prompts, selection Graphics Publishing/Plotting
Acmgd.dll All the out of canvas stuff Dialogs Palettes
© 2011 Autodesk
Porting a .NET Application
Apps that run on the Core Engine should reference only these: Acdbmgd.dll, AcCoreMgd.dll
Split your assembly into two: One that supplies command line UI One that provides windows, palettes, dialogs
© 2011 Autodesk
Porting Lisp code
No vla-/vlax- COM API is only partially available in the Core Engine
No DCL Out of canvas UI does no make sense on the server
© 2011 Autodesk
Porting VBA/COM code
VBA apps will not work COM apps (VB6?) may work if they only use a subset of the API
Unlikely since most applications would use the Application object Port these apps to .NET
© 2011 Autodesk
Summary and Call to Action
Mobile & Cloud go hand in hand Your mobile apps will be hybrids: do some of their work in the cloud
Mobile apps need access to DWG data AutoCAD is evolving to meet this challenge Your apps must evolve too
Make your apps scriptable: ensure that functionality is available without dialogs/windows, via the command line
Start separating your code: keep command line UI in one module and move dialog/windows into another
© 2011 Autodesk
Related sessions
“Get under the AutoCAD WS hood” Thursday 3:15pm at Delfino 4105.
© 2011 Autodesk
Autodesk, AutoCAD* [*if/when mentioned in the pertinent material, followed by an alphabetical list of all other trademarks mentioned in the material] are registered trademarks or trademarks of Autodesk, Inc., and/or its subsidiaries and/or affiliates in the USA and/or other countries. All other brand names, product names, or trademarks belong to their respective holders. Autodesk reserves the right to alter product and services offerings, and specifications and pricing at any time without notice, and is not responsible for typographical or graphical errors that may appear in this document. © 2011 Autodesk, Inc. All rights reserved.
top related