Transcript
00:01Let's move on to the Runtime, 'cause I'm done demoing now.
00:09The Runtime is something new for us at Esri.
00:14You know, I talked about it at the beginning, right?
00:16As developers, you know, you approach the system from a number of different ways.
00:19Hopefully, you know, this afternoon you're thinking about that statement I made at the beginning...
00:24...that you can't just approach it from the platform you're developing on, like Server or Engine...
00:28...or the language; you've also got to consider the data source.
00:32But, you know, that statement of how you approach the ArcGIS system or how you think about it...
00:39...really is about approaching it from the platform that you're on, right?
00:41Whether you're programming something on a mobile device like I have here on the left-hand side...
00:46...or whether it might be on a Windows or a Linux box.
00:51The way that we're thinking about the Runtime at Esri is really a series of runtimes...
00:57...and they're meant to run on specific platforms like I have listed here.
01:02Now, if you go to other sessions over the course of this week on the Runtime because you're interested in it...
01:08...they're going to go into much more detail than I can here, on the Runtime.
01:13Just for the purpose of this, I'm talking mainly about the Windows system that I've got highlighted here.
01:19So the Runtime is a whole new system or a whole new product that we brought in for ArcGIS...
01:28...but it's well integrated into the ArcGIS system.
01:33It's got a small footprint on disk for you as API and Engine-based developers...
01:41...and it provides fast display and the ability to easily deploy it throughout the system.
01:49So a number of things we've heard. You like Engine; it's great, it gives you a lot of control of things...
01:53...but it's got a big footprint on disk, it's not that easy to deploy; you guys need to solve that.
01:58Runtime is based, the Runtime project was based on solving those questions from you.
02:06Some of the specifics about the Runtime, specifically for Desktop, it's a new architecture, so it is native 32 and 64 bit.
02:14You do have to make the decision when you're deploying it which one you're going to deploy.
02:18It does make better usage of the hardware that's there, so if you have eight CPUs available...
02:24...it will attempt to use those eight CPUs, whichever ones are not currently being used. Okay?
02:30So we've really written it to take better advantage of the available cores and the CPUs that are set up.
02:36It's also an asynchronous programming pattern, by default; you can't change it. That's it. You get asynchronous.
02:42You issue a statement into the Runtime, it goes and does its thing; you do your thing on the map.
02:47Zoom around, pan, do things. When the Runtime is done, it lets you know, Hey, I'm done.
02:52You can then grab what it's giving you and continue on, okay?
02:56But it's asynchronous; that's it. You don't get a choice to go to synchronous.
03:01It's a simplified deployment so there's no install required.
03:05You might see the demos this week of it.
03:06It's really as easy as just grabbing the code, putting it on something like a thumb drive.
03:11You know, Euan Cameron, the lead developer for it, has shown that a number of times last year and at the UC.
03:16You really just need the components for it. That's it. So it's very simplified install and setup.
03:21It's also a side by side by default, so you don't run into rev locking with it. Makes it very flexible for you.
03:27And it is independent of these other ArcGIS installs.
03:32Now, one of the things that we heard from you when we moved to .NET- and Java-specific SDKs on Engine...
03:39...was, you know, that's fine; it works, but, you know, you've really just wrapped COM with .NET and Java...
03:45...and if you're a .NET and Java person, it kind of looked okay.
03:49But there was stuff about it that just didn't look right.
03:52That's not the case with Runtime.
03:54If you're a Java developer, you're going to see a very Java-like experience with the Runtime.
03:59The same thing with .NET. You'll see specifics.
04:02There'll be similarities between them, so if you move between languages, it'll be familiar to you...
04:06...but if there's things we can take advantage of with .NET for the Runtime, we will.
04:12But it's not just about writing code with the Runtime; it's also about the data...
04:16...and this kind of loops in with that statement I made at the beginning of the session.
04:20For the Runtime, you use ArcGIS Desktop to provision the content for it.
04:25That content could be in map packages, tile packages, layer, geoprocessing packages...
04:32...the packaging functionality that we added originally at 10.0 and are building on at 10.1.
04:39Those packages can be consumed by the Runtime.
04:42You can also use the Runtime to consume services from Server, as well. Okay?
04:47So that's what we mean when we say it's well integrated into the entire system and into the entire stack.
04:55A number of different functionality that's available with the Runtime.
04:58I've got listed here the key one for us is the geodatabase feature editing.
05:01I think Brent's going to show something...not something like that? No, okay.
05:06He's going to show something with the Runtime.
05:09In terms of sort of where the Runtime sits, this is the slide that's trying to explain to you, you know, where it sits...
05:15...in terms of your development options, your customizations, your deployment.
05:19You know, there was this gap in between the options down at the bottom like Explorer and tablet...
05:27...between something like Engine and Desktop. The jump from those lower levels up to Engine was a really large jump.
05:34We think Runtime really hits this sweet spot in between the two, which allows you to get up and running sooner...
05:42...smaller footprint on disk, gives you a lot of the benefits that you'll get with Engine.
05:46Not everything you get with Engine, but a lot of the benefits, and a lot of benefits you didn't get with Engine...
05:55...like the smaller footprint on disk, the ability to use multiple cores and CPUs.
06:00Okay, so I'm going to pass it over to Brent for a demo on Runtime.
06:18Thanks, Craig. So the first place I'll start with this demo is actually in ArcGIS Desktop in ArcMap...
06:24...and that's because the first thing I need to do is create a map package...
06:27...to provision the data that I'm going to use in the Runtime application I'm going to create.
06:35So I just share this data as a map package, and when you're sharing the data as a map package...
06:40...in the publishing experience, all you have to do is check the Support ArcGIS Runtime...
06:46...and here I want to reference all the data directly.
06:49So this map document is pointing to a database - not a geodatabase, but a database running on this laptop here.
06:59And I just want to reference that data instead of copying the data into the map package I'm about to create.
07:05So I'll create that map package, and as it's creating the map package, then it - remember this path.
07:12So it's going to create the MPK file, which is the actual map package that has all the contents...
07:17...that the Runtime application is going to need to spin up the services.
07:23So now, jumping back to, coming back to Visual Studio...
07:30...I've created that application, and I'll just run my ArcGIS Runtime application.
07:37And here I have to specify which layers to reference to the map control I'm using in my application.
07:44I've gone ahead and I've created a tile package, which is just a bunch of image tiles...
07:49...that I'm going to use as a basemap layer or a basemap to my application.
07:53So I reference that by name on disk, that tile package, and I do the exact same thing to the map package...
08:01...which is actually the dynamic data, the data I just published through ArcMap...
08:06...which will make up a dynamic map service layer.
08:09And what actually happens with Runtime is it spins up a local instance of ArcGIS Server.
08:15So just going back to Visual Studio here, in the output window, you can actually see the services directory...
08:23...linked to in the output window, and I can actually bring that up.
08:27So as my application is running, I actually have access to the services directory...
08:32...and I can see the map service that it created and all the layers in that map service.
08:38Going to the application that's running now...this is behaving a little funny.
08:45Here's the application. This is the main window, the map control that I've referenced.
08:51This is the dynamic service, and because it's using a tile package, it's very fast to render...
08:58...'cause these are just accessing, locally, images on disk.
09:02I could also - so this is accessing a database and referencing that Postgres database instance...
09:08...and actually query that database directly.
09:11So here I'm going to execute a query on the name attribute...
09:14...and this will zoom to the incident command center in my dynamic map layer.
09:19When I select on that, you'll notice that I can do identifies and it'll pull values in and display that in my application.
09:28So this is a very quick demo showing how to make a very lightweight application which references database data...
09:35...that I can deploy on any system, and the Windows system, in this case, on my laptop. Thanks.
09:42That is cool. So, you know, hopefully, we've done a good job of getting the point across about what Runtime is.
09:52You know, it really gives you a different view as opposed to Engine.
09:57You know, Engine was all about ArcObjects and a lot of the low-level ArcObjects calls that you would make...
10:02...and you had a huge amount of control with Engine and ArcObjects.
10:07Runtime's different. It's about using the content that you author in Desktop like Brent did with his map package...
10:15...and issuing these coarser-grained calls to that data to be able to display and use it.
10:23So hopefully, for you, that's going to mean being able to spin up these types of projects and applications...
10:32...a lot quicker and sooner because it's going to mean less code.
10:35For us, what it's going to mean is a lot more freedom under the covers also...
10:40...because you're making a lot of coarse-grained calls, to changing and improving how things work.
10:46Because up until now, remember I mentioned before that ArcObjects - when you're using ArcObjects...
10:50...you're issuing the same calls and using the same APIs that we do in ArcGIS when we build it?
10:55Runtime's different. Okay? It's not using the same sort of thing.
10:59So that gives us a lot of flexibility to change and improve how things work under the covers and really frees us up in that way.
11:07So we're really excited about Runtime, and if you're excited about it too and are looking for more information...
11:12...definitely head to the sessions that are there this week talking about Runtime.
Developer's Guide to Geodata Access in ArcGIS: Runtime
Craig Gillgrass and Brent Pierce demonstrate using ArcGIS Runtime SDKs to access geodata in ArcGIS.
- Recorded: Mar 26th, 2012
- Runtime: 11:18
- Views: 646
- Published: May 17th, 2012
- Night Mode (Off)Automatically dim the web site while the video is playing. A few seconds after you start watching the video and stop moving your mouse, your screen will dim. You can auto save this option if you login.
- HTML5 Video (Off) Play videos using HTML5 Video instead of flash. A modern web browser is required to view videos using HTML5.
Right-click on these links to download and save this video.
- 480x270:WebM (25.5 MB)MP4 (25.0 MB)
- 960x540:WebM (65.7 MB)MP4 (66.2 MB)
If you don't have an Esri Global Login ID, please register here.