+ All Categories
Home > Documents > © 2012 Autodesk The Confluence of AutoCAD® Mobile, Desktop, and the Cloud Albert Szilvasy Software...

© 2012 Autodesk The Confluence of AutoCAD® Mobile, Desktop, and the Cloud Albert Szilvasy Software...

Date post: 23-Dec-2015
Category:
Upload: chloe-powers
View: 240 times
Download: 3 times
Share this document with a friend
Popular Tags:
32
© 2012 Autodesk The Confluence of AutoCAD® Mobile, Desktop, and the Cloud Albert Szilvasy Software Architect, AutoCAD Engineering Team
Transcript

© 2012 Autodesk

The Confluence of AutoCAD® Mobile, Desktop, and the CloudAlbert SzilvasySoftware Architect, AutoCAD Engineering Team

© 2012 Autodesk

Summary

This is a developer oriented presentation An overview of how the technology landscape is changing How we are evolving AutoCAD to fit into this landscape Some future looking content

My guesses are educated but future is uncertain The future is not static: please provide feedback both positive and negative

© 2012 Autodesk

Agenda

State of the art in Cloud Client device (phone, tablet, laptop, desktop) Browser

Evolution of the desktop application Office 2013/Office 365 How is AutoCAD evolving?

How can developers prepare?

© 2012 Autodesk

Cloud

Heavily overloaded term From strictly technical: on-demand computing infrastructure… To anything that you do with a connected application

How does it matter to my application? Storage Compute Data and Services from others Connectivity

© 2012 Autodesk

Cloud providers

Am

azo

n

Rent a virtual machine

Mic

roso

ft

Go

og

le

Sophisticated services• Database as a service• Identity directory• Notifications• Autoscaling• Etc.

Level o

f abstractio

n

© 2012 Autodesk

Cloud storage

For an application there are 2 aspects:1. Storing customer data in the cloud

Drawing files Other data (e.g. comments)

2. Acting on the customer data already in the cloud A360 Skydrive, Gdrive , DropBox, Office 365 APIs to access data are important

© 2012 Autodesk

Cloud Compute

Amazon started with allowing you to rent a virtual machine Maximum control and responsibility Easiest to migrate legacy server applications Azure introduced this capability recently due to it popularity

The execution environment has become more managed Amazon Elastic Beanstalk Azure Cloud Services Google AppEngine

More software readily accessible as virtual machine image AWS marketplace Azure VM images

© 2012 Autodesk

Cloud Data and Services

Applications (client or cloud) can access a vast array of data online Machine friendly presentation Lot of XML/JSON-based formats

Bing/Google/Nokia maps Azure Data Marketplace

OData format is widely used Every major website exposes some level of programmability Facebook, Twitter, Google (+, apps, search), Microsoft (messenger, skydrive,

search)

© 2012 Autodesk

Cloud Connectivity

Client applications can rely on inexpensive servers No upfront investment, easy to scale E.g. Windows Intune (use the cloud to manage PCs) Interesting pattern

Most work happens on the client Requires minimal cloud storage or compute Still provides mobile, browser access

Virtual Private Cloud Rented servers are isolated from internet Connect to on premises network via encrypted channel (vpn)

© 2012 Autodesk

Client Devices Trends

Desktops are getting more parallel (6-8 core CPUs) The difference between laptop and tablet is disappearing (touch screens) Software stack unification

iOS/Android on tablet and phone Windows on tablet, phone and desktop

Sandboxed execution Apps are purchases from Store and run with well understood rights More apps each with limited, focused function

Challenge for developers Support multiple operating systems Support parallelism Break down your large application into smaller apps

© 2012 Autodesk

Browser

The virtual machine that works across all OS-es and device types One programming language: Javascript, becoming an intermediate

language Google GWT, Dart Microsoft Typescript

HTML as a UI framework 2D and 3D graphics

Canvas and WebGL More device access

Local storage, sensors

© 2012 Autodesk

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

© 2012 Autodesk

Office 2013/Office 365

The most widely used desktop application suit Historically many parallels with AutoCAD

Large C++ code base Rich client programmability (vba, .net) Large 3rd party developer community Similar UI elements (e.g. ribbon, task panes)

No reason to believe the future will be very different Looking at Office today may inform the future of AutoCAD and vice versa

© 2012 Autodesk

Office 2013 vs. AutoCAD 2013

Sign in with Microsoft account Save/Open from SkyDrive,

SharePoint Browser-based viewing/editing in

Office Web Apps Apps for Office: Javascript/HTML

extensibility Server-side: Word, Excel,

PowerPoint services in Sharepoint

Sign in with Autodesk account Save/Open from A360,

Buzzsaw Browser-based viewing/editing in

AutoCAD WS ?

?

© 2012 Autodesk

Apps for Office

A webpage displayed inside Excel, Outlook etc. The webpage is hosted on remote server, it can be updated without having to

install anything on the client The only thing that needs to be installed is an xml file

The webpage can access the host app via JavaScript This is allows the webpage to use the power of the Office app

HTML/Javascript is portable The same app can work in the desktop or web version! Mobile can also work but the form factor does not lend itself very well to

extensions (small screen, tricky to get right)

© 2012 Autodesk

Demo: Creating an App for Outlook

© 2012 Autodesk

Apps for Office cont.

Servers to host webpages for the app Provided by Microsoft – simple no need for additional accounts, infrastructure Provided by developer – very flexible but requires more work

Office Store to sell your application Users take less risk since the app is just a webpage (sandboxed by the

browser)

© 2012 Autodesk

AutoCAD Futures

What happens if AutoCAD follows a similar evolutionary path as Office? Apps for AutoCAD – JavaScript/HTML extensibility

It is already happening: Design Feed in AutoCAD WS AutoCAD services on the server – Process DWG files on the server

AutoCAD

Add-in

Mobile/Browser app

AutoCAD

Add-in

Web Site

© 2012 Autodesk

Apps for AutoCAD

JavaScript/HTML rendering is readily available in open source Chromium, Chromium Embedded

Inject our own functions into the Javascript context

Acweb.dll (.net)

AutoCAD

CefSharp.dll (.net/c++)

HTML/Javascript

Chromium (C++)

© 2012 Autodesk

Demo: Javascript/HTML integration in a AutoCAD

© 2012 Autodesk

How developers can prepare?

Learn HTML/Javascript/CSS Learn to build websites

ASP.NET or another stack Building Apps for Office is a good way to practice

© 2012 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 +

© 2012 Autodesk

acad.exe.arx apps

AcDb (RealDwg).dbx apps

AutoCAD 2000

acad.exe.arx apps

© 2012 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

© 2012 Autodesk

AutoCAD Core Technology Stack

AcDb (RealDwg)

AcCore

.crx

app

s.d

bx a

pps

Graphics Subsystem

AutoCAD for Windows

.arx

app

s

AutoCAD Core Engine

AutoCAD for Mac

AcCoreConsole.exe

© 2012 Autodesk

Demo: accoreconsole.exe

© 2012 Autodesk

Exposing AcCoreConsole.exe as a service

It has not been done. How would we do it? AcCoreConsole.exe /i <inputdwg> /s <script> Inputs

Uploaded Service to HTTP/GET from a web address

Outputs Downloaded Service to HTTP/PUT,POST to a web address

Script Custom commands (autoloader package)

© 2012 Autodesk

How can developers prepare?

Start building CRX applications It is like an ARX application but

C++ Don’t link acad.lib

.NET Don’t reference acmgd.dll

Lisp Don’t use vla, vlax

Learn HTTP/REST Live API Google Apps API

© 2012 Autodesk

Local File Server

Workstation 1

AutoCAD Core

EngineService

Upside down CloudWeb Site

Mobile/Browser App

Workstation 2

AutoCAD Core

EngineService

Workstation 3

AutoCAD Core

EngineServiceWorkstation 4

AutoCAD Core

EngineService

© 2012 Autodesk

Upside Down Cloud

Use the computers on the local network To process dwg files, extract or imprint data

Use the computers in the datacenter To coordinate and manage the local workstations and their “jobs” Store metadata Interact with the users on mobile device, browser

Original design data never leaves the premises. Service is cheap to provide because all heavy duty computation is

done on hardware that is paid for. You can do it now. AutoCAD 2013 ships all you will need.

© 2012 Autodesk

Summary

Desktop applications will need to be more connected Javascript/HTML is the lingua franca of the client. Learn it.

Websites will need to be more programmable REST is the lingua franca of the programmability. Learn it.

The difference between desktop, cloud, mobile is rapidly disappearing Difficult to predict the future.

© 2012 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. © 2012 Autodesk, Inc. All rights reserved.


Recommended