00:01Andy Gup and I am Jim Barry with Esri in Redlands. We're with the Esri Developer Network team.
00:07And we're going to take the next hour, I guess, to go through kind of an overview of ArcGIS for developers...
00:16...where our goals today are to cover all of ArcGIS.
00:18This is to answer the question, Can someone just tell me everything that's available so I can at least know what's there?
00:26So this is really a familiarization session to start off the week and to answer the questions...
00:31...What is there? What can I do with it? and What resources are available?
00:34We're not going to dig too much into the how to do things; we're going to leave that for other sessions...
00:40...that can go into specific topics and...and do a real deep dive.
00:43There's just...there's just no way we can hit the how on...on all of that in one session.
00:48But that has happened a lot where people say, you know, I see a lot of specifics, but you know...
00:53...I'd like to make sure I understand the whole landscape so that I can pick the tools that are going to work best for me.
01:00And then...and then, most importantly, how do I get started?
01:03So if you've been using GIS, or ArcGIS, or you saw the plenary yesterday, you understand the why...
01:08...of why we use GIS and what it can do, and...and...and what we're going to cover is...is the what, not so much the how.
01:16So, who are you? I'm going to hit this slide real quick to make sure that...that you...you believe you're in the right room...
01:22...and you're making good use of your time.
01:24If you're an experienced application developer but you happen to be new to ArcGIS, this is a good session to start with.
01:30Also if you are a more advanced GIS professional but maybe you're new to leveraging developer tools...
01:37...you've tinkered with some of them, but you just kind of want to know what's the whole landscape and...and...
01:42...and what's there for me at 10.
01:45Or maybe you're in management or you're a project lead and...
01:47...and you kind of want to know the capabilities of the platform from a developer's perspective...
01:51...how can you develop with these tools and customize, this is a good session also.
01:56If you're more advanced or more experienced in any of these areas...
01:59...then you probably want to hit the metadata session down the hall or something.
02:04But I...I just wanted to make sure that we don't...we don't cut things too light for you.
02:09So what we're going to cover is ArcGIS, not as a GIS professional workstation but as a developer toolbox or developer toolkit.
02:18We're going to look at desktop development, desktop application development that you can do with [ArcGIS] Desktop...
02:24...with [ArcGIS] Explorer and with [ArcGIS] Engine.
02:26Also touch on geoprocessing from a developer's perspective; also the geodatabase.
02:31Then Andy's going to take a few minutes and go through client/server applications...
02:35...how to build server applications that serve map services and...and map...and GIS functionality...
02:42...and also client-side development that taps into those services using mobile applications and Web applications.
02:48And then finally, I'm going to sum up by going through a huge set of the developer resources that are available to you.
02:54It's not...the way we see it, it's...it's not enough to just have a bunch of DVDs with software.
02:58What kind of develop...what kind of resources are available for you to be most successful...
03:02... so that you can get up to speed quickly and get them...and get the most out of these technologies.
03:09So to start with, what is GIS? We saw that a little bit in the plenary, if...if you're new to...to GIS.
03:14And, you know, it's just a...a way to...to manage map data and to create maps and do spatial analysis.
03:21It's more than just visualizing maps.
03:23I mean, back in the day we had plastic Mylars of layers, and then it would be your eyes that would do the analysis.
03:30Well, GIS can do that computational geometry that's necessary in order to...to process and really learn about...
03:37...about the world around you by...by doing hard analysis on that.
03:40So ArcGIS, we look at it as a collection of data and functional services that are being viewed and manipulated...
03:48...by a set of windows, either Web clients, mobile clients, or desktop clients, in order to do these things in the middle.
03:55To collaborate, to discover, to analyze.
03:58The...the What Is GIS section of our Web site is a really nice overview.
04:03It's just a few pages but kind of gives you, in a nutshell, what that is.
04:07There's also GIS.com that you can also, if you're new to GIS but you're an advanced developer...
04:13...this the...a good way to kind of come up to speed on what GIS can do, some of the basic term...terms and terminology.
04:22Okay. So let's just start with [ArcGIS] Desktop. I mean, this is the GIS professional workstation.
04:28This is basically everything Esri has with regards to technology for managing and manipulating data...
04:35...it can be found in ArcGIS Desktop.
04:37In fact, if you look at the five pieces of...of GIS, software and hardware, data procedures, and people, you see it all right here.
04:45We've got our layers on the left; some are coming from a local hard drive, some are coming from Web services.
04:51We've got toolboxes and data management tools on the right.
04:54We've got a bunch of tools on the top for...for the user that's driving the system to use...
05:01...and...and this is...is basically the workstation that GIS professionals use every day.
05:07Many of them use it with very little customization and certainly no coding.
05:11But that's not why we're here. We're here to look at ArcGIS Desktop from a developer's perspective.
05:16What can you as developers do to make better applications, make applications that are tailored to your needs?
05:24Well, there's a few ways to do that from...for developers.
05:27One is that ArcGIS Desktop is extremely customizable. We'll just start right from the ground. Very customizable.
05:33If I added every menu, every button, and every tool that was available to ArcGIS Desktop, it would fill up that entire screen.
05:41So it's very important that you really customize the toolbars and the tools and the menus...
05:46...to fit your workflows and to fit what you want to do with GIS.
05:50The next is...oh. And...and so that's what that looks like. Just a little snapshot.
05:56There's some default tools and toolbars that are there already that you can strip away.
06:00There's new toolbars through the Customize dialog that you can add...
06:04...and there is...and then there's a dialog that you can use to do that too.
06:09Each GIS professional can tailor it to their workflow...
06:13...but you can also create standard interfaces that can be used across your organization.
06:19And so that's not really a coded solution, but that's okay too. That's customizing; that's developing.
06:26Had a developer at the DevSummit in March tell me once, it was pretty...pretty neat, saying...
06:31He said, "The best line of code is the...the one that you don't write"...
06:36...because it doesn't require any time to define, it doesn't require any testing, and it can't introduce any what? Bugs.
06:44So if you can get away with customizing or developing an application without...without writing a line of code...
06:49...that can certainly help you a lot.
06:51But if you are going to write code, and you'll need to, we have classic COM development.
06:57We have about a hundred of these object models that contain about a thousand object classes...
07:02...thousands of properties and methods and defined interfaces, and it's all documented there.
07:08And it's an in... In the beginning of ArcGIS Desktop, this was really the only way for developers to interface...
07:15...to...to grab the components and use them, where to use these very fine-grained, esoteric object classes and interfaces...
07:25...and it was doable.
07:26And there was training, but it took...you know, the learning curve was...was pretty steep.
07:30But one of the neat things about COM, even though it's an older standard, an older methodology...
07:36...is that we designed the system to be extensible.
07:39So we have a class that defines...that...that exposes an interface.
07:43Well, if you design your own class that has your own implementation, as long as you stub it out and to...and...
07:49...and implement our interface, then the entire ArcGIS system will treat your class like one of ours.
07:56And the...and so that's...that's one of the neat... You know, a lot of people say, oh, COM; COM is old...
08:01...but that's still one of the neat things that's left is that you're not stuck with our code and our implementation.
08:07Let me give you an example. You know how...you know, like a class breaks renderer, a value map renderer.
08:13Well, one of the renderers that we give you is called a natural breaks renderer, and it's based on a particular algorithm.
08:18Well, you may have a different algorithm, and you can implement that in the system and bring that right into ArcGIS Desktop.
08:27So that's very fine grained.
08:29What about coarse-grained options that are going to get you most of the way there in a way that's...that's...that's fairly quick.
08:36And that's something we call add-ins. Something that's relatively new, and you can...
08:41...as a developer can use Visual Studio or Java to create these things, and then you zip them up into an Esri add-in...
08:49...and you can share them very easily. You can e-mail a file to someone.
08:52All they have to do is double-click on it and it brings that add-in directly into [ArcGIS] Desktop.
08:59Okay. So in ArcGIS Desktop, if...I'm sorry...in Visual Studio, we provide templates for you to get started with these add-ins.
09:08Sure, you can write them from scratch...
09:09...but if you use these templates, this will give you a Visual Studio project that has a kind of vanilla structure.
09:17All of the licensing has been wired, all the binding has been wired, all the references that you need have been included.
09:23So it has everything there to kind of start with, and then you can build from there.
09:27That'll save you a lot of development time.
09:31As long as your add-in is going to contain these types of components, then you're good to go.
09:36And the...an add-in is constructed of some XML metadata...
09:40...some resource files, and then also then the .NET assemblies or the Java jars, all brought into an Esri add-in.
09:48That Esri add-in's really a ZIP file, but we call it Esri add-in so that the file association can launch the install wizard.
09:54It's pretty easy to distribute.
09:57Then once you have an add-in, you can use your Customize dialog and add that thing in...into the interface.
10:05We also have you put that Esri add-in, you can put it in what we call a well-defined location.
10:10It's a specific folder on your machine that when you fire up [ArcGIS] Desktop, it'll just discover the add-in.
10:17And that's on a local machine. If you have add-ins that you're creating for your entire organization...
10:23...you can tell ArcGIS Desktop that that well-defined location is on a network share somewhere...
10:28...so that everyone that's using ArcGIS Desktop will simply inherit that add-in.
10:33If the next day you change that add-in, then the next time they fire up [ArcGIS] Desktop, it's just going to take that add-in.
10:38So it's...it's...it's a neat way to distribute this stuff.
10:43And the help on this is fairly extensive, not only in the detailed developer technology documentation...
10:53...but also we wrote a lot of topics that are conceptual as well.
10:56And I highly encourage you, if you're...if you're...if you're eager to...to start digging into add-ins...
11:01...is to take a look at some of this conceptual documentation so you understand kind of what's being built...
11:06...and then...and then...before digging into the developer doc.
11:12More details? Right here in this room this afternoon and our...is a session for .NET and for Java...
11:20...and then Wednesday and Thursday, that session will be repeated.
11:23So what we're going to do right now with add-ins is kind of "fork" you. If you use Java, go this way, .NET go the other way.
11:29And they will walk you through exactly how this stuff is done, how you make them, and also how to share them with others.
11:37We also, in the Desktop Developer demo theater, which is in the big showcase area, we have demo theater sessions that cover add-ins.
11:45You can meet the developers from the [ArcGIS] Engine and [ArcGIS] Desktop development team.
11:50And then if you have specific questions or specific problems, we have a Tech Support Island you can use.
11:55Next is ArcGIS Engine. Note that I'm not showing an application here.
12:00ArcGIS Engine is not a software application; it's simply a developer toolkit that contains object classes and controls and components.
12:12Again, you have access to the same controls, even more controls than you do at [ArcGIS] Desktop, but you have...
12:18...also have access to the entire fine-grained object model of ArcGIS.
12:24So you can take any components that are in our products and put them into yours. Alright?
12:29So let me do something real quick with [ArcGIS] Engine. If I start up Visual Studio and go to New Project...
12:39...you'll see that there's...you can start from scratch, but there's a bunch of templates here.
12:42I can create an [ArcGIS] Engine application, [ArcGIS] Desktop. I can create 3D applications with [Arc]Globe and [Arc]Scene.
12:47But we have this one template here called Map Control Application that's a pretty neat one to start with.
12:57It's a popular one to start with because if you go to the... Like I said, all of the references are already there.
13:05All of the...all of the licensing, all the...the binding, the wiring under the hood is all there...
13:10...and you're starting with a form that has a map control, a table of contents, and a toolbar control.
13:15Right here at design time, I can add and remove buttons and tools from this toolbar.
13:20There are hundreds to choose from on the menus and toolbars that you can just drag and drop.
13:24This stuff...these tools are already coded; you don't have to write any code on that.
13:30And the licensing control allows you at design time to specify which licenses and which order the application...
13:39...when it starts up is going to try to discover and use them; that also goes for extensions.
13:46And then finally, what I can do, is back in ArcMap, I created this map document that had some local data...
13:53...and also some...some data from ArcGIS Online.
13:58I'm going to open that MXD that I created in [ArcGIS] Desktop and put that into [ArcGIS] Engine. Okay?
14:07And rather than compile, you know, just for sake of time, I'm going to go ahead and just build that solution.
14:14This is about as "hello, world" and vanilla as it gets, but we all have to start somewhere.
14:21Alright. So I'm going to start that up in Runtime, and you're going to see what's going to end up on my screen...
14:25...is my [ArcGIS] Engine application that I created with Visual Studio.
14:31This can be deployed on any machine that has a supported Windows development environment.
14:35Doesn't have to have any Esri products; doesn't have to have ArcGIS Desktop or anything else.
14:40This is your application that you've embedded our components with, and you deploy that through ArcGIS...
14:47No. ...through Visual Studio. Okay?
14:57Okay. For ArcGIS Engine, this isn't for add-ins but just for creating stand-alone applications.
15:04There's...I believe there's a session right here today in this room for .NET, and...and then there's sessions for Java also.
15:13So check the agenda if you want to learn more about creating stand-alone applications.
15:19We also have a bunch of demo theater sessions in the Desktop Developer Island.
15:24There's some What's New at 10 if you've been using 9.x before. There's sessions on how to actually...
15:30...tips and tricks for deploying your application and making sure that all the dependencies are there in...in the...in the app.
15:36We have a really neat session on geoprocessing using ArcGIS Engine and...and also migrating your applications.
15:45Alright. The third desktop option is ArcGIS Explorer.
15:49This is a very lightweight map viewer...
15:51...that can take advantage of some more advanced GIS functionality by tapping into map services.
15:59One of the advantages of [ArcGIS] Explorer is the application is free, the developer SDK is free, and deployment is free.
16:05And as long as you have the map data local or you can get to ArcGIS Online or some ArcGIS services, that stuff's free also.
16:13So if you just need a, you know, basic map viewer that has some neat functionality into it, that's...
16:19...you know, ArcGIS Explorer may be a good option for you.
16:22There are two options for developers with ArcGIS Explorer.
16:26For end users, they just download it, install it, and use it. That's it.
16:29But for developers, you have two options. You have application configuration, which doesn't require any code...
16:35...and then you also have the ArcGIS Explorer SDK that you can download and use in Visual Studio.
16:41And like add-ins, these are portable files. These...these add-ins for ArcGIS Explorer are very easy to deploy.
16:47They're just a single file that you bring into ArcGIS Explorer; you can e-mail it to somebody; you can...
16:54...and...and they can just...they can just go ahead and use it.
16:58This is the Application Configuration Manager. It's an applica...it's a utility that gets installed when you install...
17:04...[ArcGIS] Explorer, and this allows you to real...
17:12I'm sure some of you have built applications where the requirement is this application's going to be used by these people...
17:18...and they need to do these four things and nothing else with no training whatsoever.
17:23This is a really good option.
17:24You can make the interface look exactly the way you want, and then you can go from there.
17:29You can also change the splash screen. So take "ArcGIS Explorer" off there, put your splash screen on there.
17:35Take the...you know, put your own little logo in the corner of the map itself.
17:40So this application really does become yours.
17:42Integrate your help, integrate your About splash screen.
17:48SDK is very well documented; there's conceptual doc, also detailed developer doc.
17:54Much like I showed you with [ArcGIS] Engine, when you open up Visual Studio, there are templates for ArcGIS Explorer as well.
18:01You can create what kind of add-in. You can create a single button add-in that does a specific thing...
18:06...an extension add-in, a dockable window or a...or a gallery. Okay?
18:13You don't just have to create these yourselves. There are developers that are creating add-ins all the time...
18:19...and they're loading them up onto our Resource Center, and you can...
18:24You know, so before you take the time to develop an application or an add-in, probably not a bad idea to go to the Resource Center...
18:35...and see if there's something already there that does either exactly what you want it to do...
18:41...or at least something that gets you a couple steps along the way...
18:44...that has some source code that you can modify and move from there.
18:46Save you a lot of development time.
18:48For example, there's one here I wanted to buffer a point and create a circle out of it.
18:54I found out that there was some code out there already. And let me see here.
19:09And so I downloaded that...that add-in, and the...
19:16Not only did that download come with the .eaz file that I can just use as the add-in, and the end user can use that as an add-in...
19:23...but whoever developed this was nice enough to also give me the Visual Studio project that has all the source code in it.
19:35So if I go into ArcGIS Explorer, and go into ArcGIS Explorer Options, there's a place for me to manage my add-ins.
19:45And what I did is I downloaded that from the Resource Center and threw that right into here.
19:52And then that new buffer point shows up on my tool...on my toolbar.
19:58I can say, hey, I want to create a buffer point by 10 miles, click that by one of these red dots, buffer that point.
20:09How am I creating the buffer?
20:11This is kind of neat too is that I'm not...
20:13...I didn't actually write any code in Visual Studio that did the geometry that buffered the point...
20:18...because from the [ArcGIS] Explorer SDK, you can actually call out to an ArcGIS Server map service or functional service...
20:26...in this case, I'm calling a geometry service...
20:29...that's handing over a point for the radius, and the geometry service is returning that shape back.
20:33So I didn't even have to code that.
20:35Now if I zoom in...Andy, can you see that? The circle?
20:41The circle? No.
20:42Yeah, a little tough to see. Can anybody see it? Yeah. Oh, there you can. Okay. But...
20:47Okay. So I don't like that, but in the source code, I can see that...I can find out where that is happening and...
21:00I found it in here before. Yeah, it's in here before where it has the...the size and the color...
21:07...and I can actually change it from red and 1 to yellow and 5 or whatever.
21:11So I can...I can take this buffer point and enhance it any way I want and then just create a new .eaz file and then move from there.
21:18So that...that saved me a lot of development time also.
21:21So much in the same way that the best line of code is the code... the one you don't write, the...the...the...
21:27An almost best line of code is the code that somebody else wrote, as long as you check it out.
21:34Alright. There I'm managing my add-ins, there's the SDK help.
21:40Also, on ArcGIS.com, you'll find a lot of add-ins through ArcGIS Online.
21:45You can create groups and collaborate on these things and give access to the world...
21:49...or just give access to these things to people in your own group or in your own organization.
21:54You can share not only these tools but maps and applications as well. You saw that a little bit yesterday, so I won't go into that...
22:00...too much, but also...let me see here.
22:05[Inaudible audience question]
22:14You have to write a separate add-in. They're using different SDs...different SDKs.
22:17The question is, Can you write an add-in that works both in [ArcGIS] Desktop and in [ArcGIS] Explorer?
22:27Let me see; what was I going to do? Oh, yeah. Let me go to blogs. Okay. And if I go to ArcGIS Explorer blog...
22:37If you go to the ArcGIS Explorer blog, they actually wrote a blog post that details all of the ArcGIS Explorer sessions for users...
22:44...but also for developers that are going to be here this week.
22:47So take a look at that.
22:48And if you're interested in ArcGIS Explorer as a free option for deploying GIS throughout your organization, go for it.
22:56Alright. The next is geoprocessing.
22:59Geoprocessing, of course, is...goes...takes map visualization and goes even further.
23:04It really is the place to interrogate your data, to create new data, to manage your data.
23:08This...geoprocessing is really what gives GIS its muscle.
23:14And at...at version 9, now at 10 also, we've included Python scripting, so there's a Python interactive window.
23:22In this case, here's a video from the Resource Center that...
23:28Here's a video from the Resource Center where Liz Flanary from the geoprocessing team talks you...
23:34...talks you through an introduction to the Python interactive window and shows how you can use it to actually drive ArcMap.
23:41You can use it to do some more advanced interrogation. She's writing some Python code to do a selection on the map.
23:49And there's...there's a set of those out there, and there's also some other help on...on the Resource Center as well.
23:54And not only do you have that interactive window, but you can save your scripts as .py files, or as Python files...
24:00...and attach those files to tools on the toolbar.
24:02So much in the same way I said you can use an add...you can build an add-in with Visual Studio and put it on the toolbar...
24:08...you can also write Python scripts and put...and make those tools in your toolbox as well.
24:15Geodatabase is a deep and complex topic...
24:18...but for developers, it's very important to know that there are a lot of options for you.
24:22A lot of the applications you're going to build aren't just to do geoprocessing and visualization...
24:26...but also give your users the ability to edit data, to add data, to create new datasets.
24:34There's really no way for me to skim this other than to say if you haven't used the geodatabase before...
24:39...there's a part 1 and a part 2 for essentials and then there is a... I highly recommend this one.
24:47At our Developer Summit in March, there was a preconference seminar, three-hour preconference seminar...
24:53...that was basically a programmer's guide, a developer's guide to the geodatabase.
24:58It's three hours long; it's made by the members of the...the geodatabase development team, and I highly recommend that.
25:05That'll...that'll...that's the best way to kind of kick-start you off there.
25:10So that's basically all the stuff that as I skim the surface that we have on the [ArcGIS] Desktop side.
25:16I want to turn it over to Andy now. He can talk about [ArcGIS] Server and Client Server, mobile and...and Web applications.
25:22And then I'll take it back on the end and talk about developer resources. Andy?
25:35There we go. Can you guys hear me okay? I see a hand way back there. Is it a quick question?
25:42Otherwise, I'll ask you to wait till the end.
25:44[Inaudible audience question]
25:47Oh, sure. Certainly. The question was, Can we go to the Web site or write it down. Another quick question?
25:53[Inaudible audience question]
26:02The question was related to the times for the Geodatabase Essentials. Part 1?
26:07[Inaudible audience question]
26:12Okay. Yeah, there could be. The question is, there may be a discrepancy between the times that I'm giving...
26:18I was going off of the online schedule. You're looking at the printed one? Okay. Yeah.
26:23If...I would...I would say go off... Double-check with the online schedule, 'cause if there's last-minute changes...
26:32...they're going to be visible more in the online schedule than on the...on the...
26:35Well, of course they're not going to be able to be changed on the printed materials, but...
26:39But I...I would suggest you double-check these times and then check the room and...and make sure that'll be there...
26:43...to make sure you get to the session that you want to be at.
26:47And which...Which Web site were you looking for? This, the video one?
26:52[Audience participation] Yes.
26:53Okay. Yeah, I made a short URL out of that 'cause the URL was really, really long.
26:57So it's...it's esriurl.com, which is our in-house shortener, and then it's just slash devgdb, developer geodatabase.
27:09But if...if...if you misplace that URL, if you just go to the Resource Center and Geodatabase, and go into the video section...
27:16...you'll probably find it in there. It's in there somewhere so...
27:19[Inaudible audience question]
27:28The answer to that is yes. You can watch it, the video, in the embedded player as an FLV...
27:35...but every one of these videos has a...has a big orange download button on the bottom.
27:38You can download a WMV local and watch it local on your local machine later. Good question. Thanks for pointing that out.
27:49Arc...I'm going to talk about ArcGIS Server. And it really is an end-to-end system.
27:55I'm going to give you an overview and a hundred thousand foot level of the architecture from a developer perspective.
28:01And I'm going to look at some of the GIS services and the APIs that you can consume these services through...
28:07...and I'm going to just liberally sprinkle some demos in there to keep your interest.
28:13One of the really important things about ArcGIS Server is to remember just how many clients ArcGIS Server can work with.
28:20Jim was talking about [ArcGIS] Desktop; that's a client of ArcGIS Server. ArcGIS Explorer is also a client.
28:26And just about any Web-enabled client that you can think of, if it can talk Internet protocols, it can work with ArcGIS Server.
28:36So just to get your brain cells going here, I'm going to jump into just a few demos that I'm going to show you...
28:42...and then I'm going to tie that back into the presentation. You may have seen some of these demos earlier, maybe not.
28:49First demo that I wanted to show you. This is a USGS natural hazards events map.
28:58Mainly I just wanted to show you that there's lots of different layers that you can...that you can turn off and turn on in this application.
29:05It's the power of the API that's letting you build these applications very quickly.
29:11The next application is an application that was built with our Silverlight API...
29:16...and this application ties in a whole bunch of different types of geoservices.
29:19We have Flickr, we have geoprocessing here, we have Twitter and weather...
29:25...and all sorts of other processes that are going on into the background.
29:30This is using the Visual Studio 2010 templates that are available with the ArcGIS Silverlight API SDK download.
29:39Again, I'm just trying to give you a flavor of some of the types of things that you can do.
29:42This is built with the Flex Viewer; very beautifully done cartographically.
29:47It's pulling... The...the arrows that you can see on...there on the bottom, this is a map of the Gulf Coast.
29:53And that's just live data that's dynamically being pulled in for the...the water flows in the Gulf of Mexico.
30:09So what's behind the scenes here?
30:11There's really four things that you need to know as a developer when you're building against ArcGIS Server.
30:16As Jim was talking about, you have your data, which is stored in a geodatabase for ArcGIS Server.
30:23That data is published in ArcGIS Server as GIS services...
30:28...and then some of my examples, the most common one you're going to see is mapping services.
30:32I mentioned geoprocessing services.
30:36The way that you're consuming those in your applications is through a variety of Web services such as REST and SOAP...
30:43...and using various protocols such as JSON or XML.
30:47We've made your job easier; you don't have to deal with the raw, low-level APIs if you don't want to.
30:53And we do have REST APIs and we do have SOAP APIs.
31:04And I'll go into those in just a little bit more detail in just a minute.
31:11I mentioned GIS services.
31:15Just about any requirement that you can have that's going to come across your desk as a developer...
31:20...there's probably a GIS service that has already been built that can do that for you.
31:25It stands to reason that there's many of them out there.
31:28If you think there's a requirement on your desk, and you're not sure...
31:31...you can always go to the Resource Centers and look.
31:34This is just a sampling of what's available to you.
31:37I mentioned geoprocessing; there's KML-based services, OGC services; and many more.
31:44When you look at the PowerPoint presentation, I...
31:47I've included the link here so you can go to that. And if you need the link later, I can certainly give it to you.
31:52It's esriurl.com/services, and it gives you the highlights of all the services that are available with ArcGIS Server.
32:01So what is a GIS service? It's very simple.
32:04A GIS service is going to let you publish that data so that people can display, edit, or manipulate it.
32:14It...GIS services almost always have some sort of an endpoint that you're going to be able to access it from any one of our APIs.
32:22And that's really all there is to a GIS service.
32:29Show you real quickly what it looks like.
32:35This is a GIS services... This is a services endpoint, and what we're looking at here is the ArcGIS Services Directory.
32:42For any service that you publish, almost always, if you're using the default settings on ArcGIS Server...
32:49...you can go to ArcGIS/REST/services, and in that directory, you'll see if your service was published successfully...
32:57...and you'll have a description of that service.
33:03Looking pretty good so far, right?
33:09The next logical progression. Okay, we talked about our data, we have our GIS services, maybe we have...
33:16...we're wondering how do I get this information into my application.
33:19Well, I mentioned the Web services.
33:22And we have four primary ways that you can get your information into your applications.
33:27We have REST, which is a URL-based API; it looks like just the URL in your browser.
33:34We have SOAP, which used to stand for Simple Object Access Protocol.
33:39In comparison to REST, which can be JSON or XML or a number of other different formats...
33:45...the nice thing about SOAP is, it's pretty much protocol agnostic...
33:50...which is really good for enterprise deployments if you have to traverse through supertight firewalls or proxies.
33:57There's lots of challenges if you're doing that with REST and HTTP; SOAP might help you out a little bit there.
34:03OGC. We have interfaces for WMS, WFS, and WCS.
34:09Don't really have to know what those are right now...
34:11...but those are protocols that are standardized for the Open Geospatial Consortium...
34:15...where you can get your data into the application.
34:19And lastly, AMF. AMF is Action Message Format. It's a bimary...binary format that works with our Flex API.
34:28What it does is it lets you talk from the Flex client to a back-end server such as LiveCycle Data Services or BlazeDS.
34:37And if you don't know what those are, those are just back-end storage products that allow you to store information in Adobe Flex.
34:49Let's look a little bit at the REST API.
34:52The REST API, you saw a lot of Web demos during the plenary. The REST API, as you're going forward, if you're doing...
34:58...especially if you're doing rapid application prototyping, it's going to be your friend.
35:03I do want to stress that you need to understand the workflow on how this information becomes the REST API.
35:11And this is just a high-level abstraction, and I'm going to show you a real quick demo at the very end on how this works.
35:17So you're going to publish your layer file, your MSD or your MXD, to ArcGIS Server.
35:23That information's going to be stored in the database.
35:26You're going to grab that REST endpoint from your Web server and integrate it into your application.
35:34I guarantee you that there's going to be some point when you're developing and you're going to build your sample application...
35:40...and you're going to say, hey, I thought I did everything correctly, but the map's not showing up.
35:44Or...or a layer's not showing up properly, or my symbology isn't correct.
35:49Understanding this workflow at a very high level is going to be key to you solving those problems.
35:59Alright. So I showed you a service endpoint.
36:04Now what we're going to do is we're just going to do a...I'm just...
36:07At the very bottom, you'll see supported operations of your REST endpoint...
36:12... and if our Internet connection cooperates, which it's not...
36:17What you can do is you can click on this...this link.
36:22And if that link works, it'll give you a REST-based URL that shows you a command that launched.
36:30And if you get an image back, you know that your REST endpoint is working...
36:34...or, in this case, your Internet connection is...is working or not.
36:44That's the challenge of doing these demos when everybody else is using the Internet pipe.
37:03It's...it's a much smaller footprint, so when that...
37:06...that...the library comes across the Internet, it's much smaller than the normal one that you're using for Web applications.
37:13Lot of people ask us, well, which one do I pick? There's lots to choose from.
37:17Depends on what your skill sets are for your organization.
37:30If you're a Java shop, you're probably going to be looking at Adobe Flex because it's built on top of Java.
37:35And if you're a .NET shop, you're most likely going to be comfortable with the patterns and workflows of a .NET environment...
37:42...for Microsoft Silverlight or WPF.
37:46So I'm just going to take you through a very quick tour of what some of these features mean.
37:54The easiest place to start if you're looking for a quick place to jump-start and get a flavor for how these APIs work...
38:03...'cause it has a much lower barrier for entry in terms of getting these applications started.
38:08One of the newest features in ArcGIS 10, which is pretty cool, is feature layers which...feature layers.
38:18Feature layers. The nice thing about feature layers from a...from a developer perspective, you have a very, very compact syntax...
38:26...so that the pattern that you're using to draw stuff on the map is very simple.
38:31So this one line of code here where it says "feature layer" and you have out field...
38:38I'm just specifying draw me everything. ...is very simple.
38:42So what we have is a cached basemap as imagery...
38:45...but what I wanted to show you is that one line of code is letting you draw this hydro...
38:51...hydrography operational graphic layer. I can't speak this morning.
38:56But primarily the key takeaway is a very compact syntax.
39:00There's also samples that you can copy directly into your browser and launch or load right on your local IIS machine.
39:08The next thing I'm going to show you is time.
39:11Time is a...is very cool because in addition to the geographic information that you're plugging into your system...
39:17...you can also add time-based elements.
39:23So you can see here, we have some time sliders.
39:25All of the APIs have standardized tools where you can just drop a time slider into your application...
39:31...very easily and plug this temporal data into your applications.
39:38Pretty cool so far, right?
39:42Last but not least, editing.
39:49You now have the power of editing built directly into your Web client applications.
39:54So I can change shapes, add shapes, points, lines, and polygons, directly into my Web applications.
40:02This gives you a very powerful example for any analyst that you're building applications for...
40:10...for manipulating data in ways that you couldn't possibly do it before.
40:13And all this stuff is built into the Web APIs, and all these samples are available in the resource centers.
40:27I just touched on a...three of the key capabilities, but there's much, much more...
40:32...and I highly encourage you to go to the resource centers and check out a lot of the functionality that's there...
40:38...especially the object model.
40:40Geoprocessing, time awareness; I mentioned those. Geometries, graphic layers, symbology.
40:47The purpose of these Web APIs is it's saving you a tremendous amount of time...
40:51...in the cycles that you're going to have to go through to build your applications.
40:55The applications that we can build today in hours or days used to take weeks or months with the tools that we have in the...
41:02These advancements have really, really made our job so much easier.
41:07Just a very quick dive into what's going on behind the scenes.
41:11When you saw these applications, from a programmatic standpoint, just keep in mind that what the API is helping you do...
41:18...is logically order the information that you're visualizing.
41:23The base layer, which is going to set the extents for everything on top of it, such as the operational layers...
41:28...in this case is a tax parcel application where I have imagery as the base layer, so that's setting my projection and my extent.
41:37On top of that, I have the operational layer that's pulling in the polygons and metadata for tax parcels.
41:43If I wanted to, it's very easy to extend that API to pull in any other information into the operational layer that I might want.
41:57So if you already know the patterns and workflows for those languages...
42:00...it's very easy for you to plug that information into the mapping application.
42:08Okay, maybe you're saying, oh, that's great, but I...I really want to get a quick start on these applications.
42:15We have the answer just for you.
42:16We have a number of out-of-the-box solutions can get you quick started, especially if your stakeholders are saying...
42:22...hey, I want to see something today, or I want to see something at the end of the week.
42:26We have a viewer for Flex; you may have seen it demoed in the plenary.
42:30We've had over 26,000 downloads of this...this product.
42:34You can also look at all these...source for the application is open and you can do whatever you want with it.
42:40It's a dependency injection model that comes with prebuilt widgets.
42:44Basically, this is just a great way to get kick-started.
42:48We also have Visual Studio 2010 Silverlight templates that I mentioned earlier with the Live on Everest application.
42:54That comes with the SDK when you install it in Visual Studio 2010.
42:59It won't install in Visio...Visual Studio 2008. I already tried, so you don't need to bother trying it.
43:05We also have quick starts for mapping with SharePoint, if you're doing SharePoint development.
43:13Switching gears just a little bit to the mobile SDKs, we do have three different mobile offerings.
43:21The ArcGIS Mobile SDK in particular is a Microsoft .NET deployment.
43:26It's developed specially for Microsoft Windows and Microsoft CE.
43:33That smaller format for these...for the Windows Mobile phone necessitates a different type of development pattern.
43:42Mobile is a client of ArcGIS Server, and although it has a smaller subset than what's available on the Web APIs...
43:50...it has a very comprehensive SDK in itself.
43:54One thing to keep in mind, if you're...if you think you're going to be doing mobile development...
43:58...is when you publish your service, and I'll show you a demo of that in just a minute...
44:03...make sure that you check Mobile Data Service.
44:06One important differentiation is this particular SDK is SOAP based...
44:11...but remember I told you that there's some advantages to SOAP.
44:13Even though it's XML based, it's protocol agnostic...
44:17...so it's much better for enterprise deployments where you're traversing firewalls and proxies.
44:23The other thing to remember about the ArcGIS Mobile SDK is that there is a local database...
44:29...so that this is good for both connected and disconnected deployments.
44:35An example of a disconnected deployment is if the person with that particular device is in an area where there's no cell phone coverage.
44:42We also have ArcGIS for iPhone; brand-new offering, very exciting.
44:47You can look at this, you can search for ArcGIS for iOS on iTunes, and you...it's also available on the App Store.
44:57Couple of developer things to remember about iOS and our API.
45:02It is REST based, so it's different than the [ArcGIS] Mobile SDK, which was SOAP based.
45:07It is native Objective-C, so if you're used to higher-level programming languages such as our Web APIs...
45:13...this may take you back to the old days where you're doing garbage collection and pointers...
45:18...and those types of things that you may or may not have forgotten about.
45:21Last but not least, if you're planning on doing this on Windows and you have a...a Windows laptop...
45:26...you do need a Mac in order to develop with that API.
45:33Last but not least, ArcPad is our oldest mobile...mobile offering.
45:39It is perfect and designed for disconnected usage where there is no Internet connection.
45:45It's based on the Windows Mobile platform and it's .NET, and the way that you configure it is through XML.
45:52There's a number of ArcPad offerings if you're interested in developing with ArcPad.
45:56There's an introductory session if you just want to get an idea of what it does...
46:00...and if you're a developer looking at customizing it, there's sessions on Tuesdays and Thursdays.
46:10So for my grand finale, what I'm going to show you is from A to Z, very quickly...
46:15...what I mean by publishing this information to ArcGIS Server and then consuming it in a Web app.
46:22So what I did is...find where I am here.
46:29I went to ArcGIS.com and I searched for world physical map, and on World Physical Map...
46:36I know it's very hard to see, but right here, there's an MXD.
46:39And I'm not actually going to do this because the Internet connection here is a little bit flaky.
46:43What I did is I double-clicked on that MXD and it opened up in [ArcGIS] Desktop.
46:49Now that I have it in [ArcGIS] Desktop, and you can see here I have my map; got a map, see it right here.
46:56What I did is I saved it to [ArcGIS] Desktop and then I'm going to go ahead and open Catalog.
47:01Catalog lets me manage my ArcGIS Server very easily. And you can see here that I save...see right here.
47:11That I save right there.
47:14I save this map to [ArcGIS] Desktop, and what I'm going to do is I'm going to right-click and I'm going to say...
47:19...okay, let's publish that to ArcGIS Server.
47:22Now I'm dramatically speeding this up; I've already made sure that [ArcGIS] Server's on my system and I'm connected to it.
47:28What I would do is I would just go ahead and say Yes. Let's go ahead and publish that.
47:33And if it works, what's going to happen is down here, it's going to show up in Catalog...
47:39...and I'm going to go OK. I'm almost there; I think this was successful.
47:45Now remember when I said you've got these REST endpoints.
47:50The first thing you're going to do once you've published this...this service, and I'm publishing a map service.
47:56Remember our GIS services? I'm going to go to <my local host> ArcGIS/REST/services.
48:03Sure enough, it's there, but I'm not done yet.
48:06What I really want to do, if it's going to cooperate, and it worked this time... Yea, it worked!
48:12See along the top of the address bar there?
48:15This is my REST...my raw REST-based command, and it worked, because I got an image.
48:20I know that I'm almost done.
48:23So what I do is I can take this URL for the endpoint, that one right there in the address bar...
48:38...and I plugged my endpoint into it.
48:41So you can see here that I've highlighted.
48:44There's my endpoint; I've specified it as a dynamic service layer, and then I ran it and it worked.
48:51So voilà! There you have it from A to Z; that's what you're going to do when you're developing these applications...
48:57...you're going to publish them in [ArcGIS] Desktop, you're going to consume them in your applications.
49:02So Jim. I'm going to pass it back to you.
49:06Thanks, Andy. One, two...can you hear me? Okay. Alright, let's go back.
49:17Alright. So that's...that's one of the neat things to point out is with these developer options, one of the things Andy said was...
49:25Like I said, you can use these SDKs and APIs and code them from scratch...
49:30...or you can use templates or applications that we provide to kind of give you a kick-start.
49:34The Web APIs are the same way. I mean, the APIs are there; you can use them any way you want technically.
49:41But we also have these sample viewers that you can use as proof of concept.
49:46So that gives you the ability to spin something up real fast that your users can use...
49:50...while at the same time you're designing and building something that you really want to end up at.
49:55So you can kind of take a...a phased approach.
49:58Also while Andy was talking, I double-checked. Thanks for that. I think I transcribed them...them improperly.
50:04The Geodatabase Essentials part 1, like I said, is now, but the next offering is on Friday.
50:10And then the part 2 of the essentials is on Thursday in room 3.
50:15Okay. So those are the products; those are the technologies. What about the resources?
50:20How do...what is available to help me be successful?
50:24Well, first, when in doubt of where to start, start at resources.arcgis.com. This...
50:31We have lots of documentation and lots of samples and lots of tutorials.
50:35This site is designed to give you a focused, filtered view into certain areas of our resource system...
50:43...so that you don't have to hunt and peck around to find things.
50:47Okay. So let me give you a quick tour real quick of the resource center.
50:54You have, you know, quick links to the blogs and to the forums; you have quick links to get to Tech Support.
51:00But then we have these resource centers that are divided by products, functions, industry-based communities, and solution products.
51:07Let's go into, let's just say, geoprocessing.
51:10All of the resource centers are designed similarly...
51:13...in that you have kind of an introduction that you'll read maybe once and then that's it.
51:18But the key here is the left nav...menu links on the left-hand side.
51:22I can give a quick filtered view right into the help system that drills right into geoprocessing.
51:30What is geoprocessing, the conceptual stuff, the technical stuff, the developer stuff.
51:34I can click on the blog to go, instead of to our set of blogs, directly to the geoprocessing blog.
51:40This is stood up and maintained by our geoprocessing development team.
51:44This is their podium to talk to you and with you about things that are new.
51:49So I would suggest...subscribing to that...
51:52...or subscribing to the blog of your choice from the team of your choice that best fits what you're doing.
51:59We have about 60 discussion forums, but if I'm in geoprocessing and I click Forums, it's pretty simple.
52:04It drills right into the geoprocessing forum.
52:07I can ask questions of my choice and talk directly with other users around the world and also the development team.
52:15There's a sharing gallery. If you create script tools and models, if you create applications and add-ins...
52:21...if you create templates, if you want you can share them here with other users or you can...
52:26...more importantly, search here to see if something already exists close to what you need, as I mentioned before.
52:33The videos I mentioned before. We also have a new site called an Ideas site.
52:38This is a place where you can give us your ideas and let the rest of the user community comment on them...
52:45...discuss them, vote on them. And...and as you can see, you can add an idea, but then when you log in...
52:53...you can also demote and promote, giving or taking away points, if you think that this is something that...that should be prioritized.
53:00Esri staff and particularly product management read this stuff all the time, and they're seeing what the community really wants.
53:09And this way, we can reply...
53:10...we can respond with our technologies to what most people need rather than to what the loudest people want.
53:18So, you know, we want to make sure we prioritize our work to stuff that's going to have the...be most beneficial.
53:24And next to each title, a lot of times you'll also see an icon that says Under Consideration or Implemented...
53:32...and these are ideas that we're already working on or...
53:35...or ideas that have already been built and put into the product since that idea came to us.
53:40So it's not just a vent area where you can scream into a box; okay, thank you very much.
53:44No, I mean, we're actually using these ideas to make ArcGIS better.
53:52And there you go on that. Let me see.
53:56Okay. Then we have ArcGIS.com. Particularly right now for developers...
54:01This is particularly important for mobile applications and Web applications.
54:06...are...is...is...you can share and search and find them through ArcGIS Online here.
54:12If I go to the gallery, as a developer, I can find maps that I can put into my applications.
54:18You don't have to have your own map data. You can put your map data on top.
54:22These can be basemaps or sharable, collaborative maps that you're doing with your organization or with the world.
54:29If you click on Web Apps, you can filter them by highest rated, most recent.
54:38...and you can use those applications, and some of them have source code with them also.
54:50One second. We jumped ahead here.
55:03Okay. So there's the Resource Center, there's ArcGIS Online through ArcGIS.com.
55:11How do you get your hands on the software?
55:13Well, you don't need to buy the big production licenses of ArcGIS Server or ArcGIS Desktop.
55:19We have a product just for you developers. EDN.
55:22Anyone in this room an EDN subscriber right now? Okay, some of you.
55:26It's a subscription model where we give you basically all of the ArcGIS stack.
55:33[ArcGIS] Desktop is an optional add-on, but that's discounted as well.
55:35For a very, very low price, it's...it's just a few percentage points over the production...I'm not selling or marketing.
55:41But if you're a developer, this is a...this is developer licenses over our entire stack that you can use...
55:48...to play with, to prototype, to design, to...to build, to test, and you're doing all of this with very inexpensive developer licenses.
55:57And in essence what you're doing really is you're deferring your production license costs until you're actually ready to deploy.
56:04And after you're deploying, you as the developer are also still not using and eating production licenses.
56:11You have your own software, you have your own license, you can put...you yourself, it's linked to you.
56:16You can put it on as many machines as you want that you use, and it's...it's...it's...
56:21If you're doing development work with...with Esri technology, this is a great subscription model.
56:27There's the edn.esri.com gives you quick links to social media, to...quick links to manage your subscription, quick links to the team.
56:37We at Esri are also trying to...constantly improving the ways that we train you.
56:41If you go to the training Web site, you'll find a lot of courses that you can take, and our focus lately has been on...
56:50...more options for organizations and folks that have limited budgets for training and for travel.
56:57We have more options that are inexpensive. We have more options where you don't have to travel at all.
57:02We're doing more with Web-based training, with online training, also live training seminars.
57:07Here's one that Rob Burke did. It's a free, one-hour live webcast training seminar on the ArcGIS Explorer SDK.
57:18He went...goes through it for an hour and not only is it live webcast, it's recorded. If you missed it you can watch it later.
57:25But if you're there when it's happening live, there's also a live text interactive Q&A with Rob...
57:31...and whoever else at Esri is in the room at the same time.
57:34So, you know, he's going through the training and you're just watching it from your desk through your browser.
57:41If you're at the end of your rope with all of the self-help tools, you can also just go to support.esri.com...
57:48...and we'll attach you to our Tech Support.
57:52Now we have an area of our Tech Support called the SDK unit.
57:56These are developers; these aren't the "click the Identify tool" type of tech support people.
58:02These are developers, these are C++ programmers, Java developers that...
58:06...that spend at least half their time developing applications...
58:09...and the other half of the time assigned to you to help you with your issues.
58:15Forums are good because you get the view of the community, but going to Support is really good...
58:20...because then you're guaranteed to be assigned to someone, and this is recorded and accountable...
58:25...and they have to stick with you until there's some type of resolution that...that...that we can find.
58:30You know, whatever best resolution we can come up with.
58:33So it's a very accountable system where you're working one-on-one with a developer and when...
58:37...and that's a part of your maintenance with Esri software.
58:41If you want us to do more of the work for you, we have Professional Services.
58:46We work on a time and materials basis or on a specific deliverables basis where you can bring in...
58:53...consultants in for design, for architecture, or even just for coding. "I need you to code this module."
58:58"I want a programmer for a week that can help us through some specific issues."
59:04You don't just have to use Esri for that. We have a global network of a few thousand partners around the world.
59:12And if you go to the Partners site, you can find an...an Esri partner near you who may be able to...
59:17...who you may be able to contract with for some specific services or training.
59:23How many of you have been to the DevSummit conference in Palm Springs? One, two, three, four...
59:30This is the premier Esri and geospatial developers conference. It's a few days long and this is deep dive on everything.
59:40This is not for beginners or the faint of heart...
59:43...although we do have some preconference seminars that help experienced developers that are new to GIS get on board.
59:50But this is the place to go to really be a...it's a real productivity event.
59:54From meeting the engineers and developers, talking with them one-on-one and...
59:58...and taking a deep dive into all of this stuff that Andy and I are just kind of skimming the surface.
1:00:03This is every March, and it's in Palm Springs.
1:00:09At the DevSummit, we record all of the sessions.
1:00:12In fact, at the last DevSummit, we recorded over 100 technical sessions...
1:00:17...and we put them all for free up onto the Resource Center.
1:00:21So you can search for them, you can query for them, you can go in the Resource Center by topic and find them.
1:00:27And it's...it's...if you cannot get to Palm Springs in March, this is the second-best thing; you see all the same stuff.
1:00:35We have a brand-new event called the Dev Meet Up. We're holding these at specific selected cities around the U.S.
1:00:44We did our first one a few weeks ago in New York. We're going to be doing Baltimore, Philly, and D.C./northern Virginia soon.
1:00:51L.A. County, Orange County soon. I think Florida's coming up and...and Denver.
1:00:57And if...you know, if we get a few of those off the ground and the...and the community really likes those...
1:01:02...then we're going to start stretching out into Canada, into Europe, and...and...and we'll do what we can.
1:01:06This is an after-business-hours, three-hour event. Esri sponsors it, we do all the admin and logistics, but the content is yours.
1:01:17You...you select a...a presenter and you have a one-hour-long lightning session where you can get, you know...
1:01:23...8 or 10 or 12 people in there to do lightning sessions.
1:01:26There's a social before, a social after, gives you a real good chance to meet people in your area that are...
1:01:32...that you might not have known that are doing development work.
1:01:34Also, great community building event. And, the beer, you know, we pay for the beer and the food.
1:01:40So, I mean, come on. Come on out.
1:01:44So watch for that on the...on the Resource Center. We'll announce that as...as we take that road show to you.
1:01:51Social media. Great way for people to connect. I know it's kind of trendy, but there are some...
1:01:57...you can get some value out of it. We have an Esri Developer Network Facebook site.
1:02:01If you're not following #esriUC here at the conference, you really should. It's lots of great conversations...
1:02:08...#devsummit when that conference is going on.
1:02:11LinkedIn is a great way for geospatial developers to professionally connect with others...
1:02:16... build networks, build connections, get out there and connect with us.
1:02:20We also have a LinkedIn EDN site. You don't have to be an EDN subscriber.
1:02:25You can just use that to find and connect with other developers that are using the same tools you are.
1:02:32Hundreds of videos on YouTube; some of them are kind of behind the scenes.
1:02:36We'll just...you know, Andy and I just take our camera all around Esri and say...
1:02:40...Hey, talk to us right now about this tool that you're building.
1:02:43Or, What do you want people to know about printing at version 10?
1:02:47Or, How can I put printing in...into an Explore...an [ArcGIS] Engine application?
1:02:53So we do some tutorials, we do some meet the teams, and...and also presentations as well.
1:03:01We also have a developer blog, wiki.gis.com. We started this last year...no. We started it earlier this year.
1:03:10And we already have hundreds of contributors and thousands of pages and tens of thousands of views...
1:03:15...and our goal is not just Esri, but our goal is to build the world...the...the global repository of GIS knowledge.
1:03:24And at some point, this will be turned over to the community, but...but Esri is starting it.
1:03:30This one's not ours, but I really wanted to point it out, 'cause we're all pretty excited about this.
1:03:34Is Stack Exchange. Someone proposed a geographic information systems stack exchange.
1:03:42Has anyone used Stack Exchange or Stack Overflow? A place where you can ask questions; it's a good Q&A site.
1:03:47The community can vote on the answers, vote on which one's best.
1:03:50It's a great way to drill right into...to good questions and to good answers. I recommend that.
1:03:57This...this one's also not ours, but I wanted to point it out 'cause they're doing a lot of great work, is the GIS Forum.
1:04:03You can join that.
1:04:04They have forums and...and...and sharing sites you can connect with other developers that are doing what you're doing.
1:04:10And then there is the conference that you're at. I mean, this is a great resource. 01:04:14
1:04:16The developer track is...we got more than 70 sessions; look them up.
1:04:21We have product islands, meet the engineers, meet the developers.
1:04:24Andy and I are at the Desktop Developer Island. We have a demo theater. Tech Support Island for specifics.
1:04:30There's a lot of...lot of good stuff there. I want to show you one more thing, though, if I can.
1:04:36I just got an e-mail this morning from the geoprocessing team, and they wanted to make sure I pointed this out...
1:04:43...because it's not in the printed agenda.
1:04:46And because I talked about geoprocessing, I wanted to make sure I included this too.
1:04:50This is not in the printed agenda; it's today. It's in room 8 at one-thirty.
1:04:56And if you want to get started with Python scripting for map automation, this is the session to go to.
1:05:02It's also offered again on Friday, so I wanted to make sure I took a moment to...to point that out.
1:05:08And it appears that we've got...oh, right on time. We've got about 10 minutes for questions. Thank you for your attention.
1:05:18[Inaudible audience question]
1:05:20It's...yeah, it's...it's not in the agenda for Friday either. Friday...okay, yeah. Let me put it like that so that you can see it.
1:05:27It's Tuesday at one-thirty and then Friday at nine. Thanks for having me scroll that. Yes, sir?
1:05:33[Inaudible audience question]
1:05:42Okay. Question is, Visual Studio 2008 version versus 2010...
1:05:48Second? Yeah, go ahead.
1:05:50...as it relates to ArcGIS 10. Okay.
1:05:57The question related to ArcGIS 10 in Visual Studio.
1:06:00It...it really depends on which one of our APIs you want to use.
1:06:05If you want to use ArcGIS 10 and the Silverlight API, you're going to be better off using Visual Studio 2010...
1:06:13...and all the features and functionalities that are enabled with it because that build was compiled to a newer version of .NET.
1:06:22.NET 4 for Visual Studio 2010.
1:06:25If you're currently using Visual Studio 2008 and .NET 3.5...
1:06:30...then some of the features that are available with .NET 4 and Visual Studio 2010 may not be enabled when you install it.
1:06:39And that's primarily the thing to keep in mind is things may or may not work.
1:06:44The best...if you're going to the newer version, it's best to stick with what the dev team is recommending for that.
1:06:50And currently for ArcGIS 10 and .NET, they're recommending Visual Studio 2010 and .NET 4.
1:06:58[Inaudible audience question]
1:07:06Correct. The question was, Does Visual Studio 2008 just support VB .NET?
1:07:12No, it's C# also.
1:07:14Oh, yes, correct. Yeah.
1:07:17[Inaudible audience question]
1:07:21Oh, yeah. VB 6 to VB .NET. That...that was actually my transition too. I started in VB 5...VB 4, VB 5 way back.
1:07:30I...I would recommend the sooner you get the C#, the more flexibility you're going to have.
1:07:34But yeah, just for quick prototyping, you can use VB...you can use the VB part of it or...or C#.
1:07:40Most...a lot of the samples that we publish are in C#, but I think we have a lot of VB samples as well. Okay.
1:07:45[Inaudible audience question]
1:07:51Visual Studio, you can get the Express... The question was, Is Visual Studio a free download?
1:07:58[Inaudible audience question]
1:08:00Yeah. The...the Express is, but the Professional edition or the higher editions, you...you've got to buy those from Microsoft.
1:08:06[Inaudible audience question]
1:08:12Well, you're not going to be able to use VB 6 with ArcGIS 10.
1:08:16[Inaudible audience question]
1:08:21Will...will...oh, yeah. It will work, but you're not going to be able to develop new, okay, with...with 10. At...that...
1:08:29[Inaudible audience question]
1:08:38Okay. I...that's a good question. Let me...let me hit the...I've never used the Express to know what the limitations are.
1:08:47But you know, the next session that's in this room...
1:08:49...in fact, I think that the presenters are going to be coming up here in a couple minutes to set up.
1:08:53So after the session, why don't you come up and we'll ask them too, 'cause I don't have much experience with the Express edition.
1:08:59Okay, thanks. Any other questions?
1:09:03[Inaudible audience question]
1:09:11File geodatabase open API. I don't have an update on that, of when that's going to be available. Do you, Andy?
1:09:17Nope. I don't have an update either.
1:09:18I know it's something that they have been working on and still are working on.
1:09:23The question is about the Open File Geodatabase API.
1:09:26There's a lot of developers around the world that are very eager to get their hands on that...
1:09:31...because that allows you to read and write and create file geodatabases without...you know, just in...
1:09:40Well, I use the word open loosely. I'm not sure it's...if it fits everyone's definition of open, but you're...
1:09:46...the point is you're going to be able to read and write file geodatabases without any Esri technology...
1:09:51...without ArcGIS Desktop, with ArcGIS Server.
1:09:54And...and...and I think it's going to be a C API or maybe even with a dot...you know, a .NET API.
1:10:00But I don't have an update on that.
1:10:02But I would recommend that you get with either on the Geodatabase Island in the showcase area...
1:10:09...or go to one of the geodatabase sessions and...and...and ask those folks.
1:10:14I know they're working on it, but they may have an up-to-date, up-to-today update as to where they are on that. Good. Yes?
1:10:23[Inaudible audience question]
1:10:35Okay. Very good question. EDN subscription just gives you the...the software with the developer license.
1:10:46...the ArcGIS Explorer SDK, all of the Web mapping SDKs, the iPhone stuff.
1:10:52You don't need EDN for that. All that stuff is just available.
1:10:55If you have ArcGIS Desktop already or ArcGIS Server already...
1:11:00...they also come with all of the ArcObjects that you need without EDN also.
1:11:05So EDN is simply a way...it's...it's...
1:11:08EDN, the software and SDKs that come with EDN are really redundant to every one...everything else.
1:11:14And you're thinking, Well, if they're redundant, why?
1:11:16Well, because it's simply...it's...it's everything that's in our other products...
1:11:20...but it's just your kit for your development use in a very inexpensive way.
1:11:25[Inaudible audience question]
1:11:26Oh, the support with EDN, if you're an EDN subscriber, you're not automatically entitled to tech support.
1:11:33There's an add-on that you can purchase. I think it's $2,000 for 10 incidents, but those never expire.
1:11:42But on the other hand, if you're an organization that just has EDN, then that's...you may want that.
1:11:49But if you have EDN and you also have production licenses of Esri software, then you don't need the EDN support either...
1:11:56...'cause you already get support by having those production licenses.
1:12:00[Inaudible audience question]
1:12:02Yes. Okay, what's a production license? Let me give you a great example. ArcGIS Server.
1:12:08ArcGIS Server, you can buy a production license, and I don't have the pricing, but it's five figures somewhere.
1:12:14And you put that on a server or multiple servers with multiple core processes...
1:12:19...and you can actually serve functions and data in production to the world.
1:12:24That's a production license of ArcGIS Server.
1:12:27When you subscribe to EDN, you also get ArcGIS Server software; the same exact software.
1:12:34It's not hobbled in any way.
1:12:35It's the same stuff, but you're only licensed to use it on your development machine for development purposes.
1:12:42Yeah, you can't sell it to clients and you can't use it to serve stuff out to the world.
1:12:47It's really just a developer license versus a production license.
1:12:51So the software's exactly the same; it's just what you can do with it is different.
1:12:55So glad you brought that up, 'cause I was not clear about that. Thanks. Yes.
1:12:59[Inaudible audience question]
1:13:08Very good question. What do I do with add-ins?
1:13:10If you develop an add-in, and that add-in is going to be used by someone who has a desktop license...
1:13:17...then that...there's no deployment cost to that at all. That's... You develop for free and you distribute for free.
1:13:24That also goes for the ArcGIS Explorer add-ins.
1:13:27So really the only desktop model that I can think of that has any type of extra deployment cost is ArcGIS Engine.
1:13:38So you're using Visual Studio, you use [ArcGIS] Engine components, you compile a Visual Studio app into an EXE...
1:13:44...into a deployment package, for every machine you deploy that onto, there's a deployment fee that comes back to Esri.
1:13:50But that's really just [ArcGIS] Engine. Does not apply to [ArcGIS] Desktop, nor does it apply to [ArcGIS] Explorer.
1:13:55So great question. Thanks for bringing that up. Yes?
1:13:58[Inaudible audience question]
1:14:20Good question. She's using VBA with ArcGIS Desktop. How we doing on time?
1:14:26We got a few more minutes.
1:14:27Okay, good, 'cause that's a great question.
1:14:28She's been doing...you've been doing it for a while, right? Yeah. She's been doing VBA scripting.
1:14:33For those of you who remember, at version 8 and version 9, we had the VBA scripting environment...
1:14:37...actually it's in 10 also, which is getting to my answer. Yeah.
1:14:42Has the VBA Script Editor and you can create VBA scripts and macros and build tools using VBA right in [ArcGIS] Desktop.
1:14:49And that was a neat way to...to build customizations.
1:14:52At 10, VBA still exists, but it's a separate license for free. It's a separate download, and it's a separate install.
1:15:01We really kind of have to get off of VBA because Microsoft has left it in the dust a while ago.
1:15:08So if you're at 10 and you have VBA scripts, you can still use them.
1:15:12You just have to download, do the license separate, do the install separate; you're good to go.
1:15:17You want to build new scripts, that's fine. But the writing's been on the wall for a while of moving.
1:15:21Python is an option to do a lot of things, but it's not everything. It's great for geoprocessing...
1:15:26...great for map automation, but there are...there are some things which...too long to get into now.
1:15:32The answer for you...
1:15:35...probably my best recommendation would be to start spinning up on...on Visual Studio and develop add-ins.
1:15:44Because the...the API is very coarse grained.
1:15:49You don't have to get into the sea of a thousand classes and controls to do what you got to do.
1:15:54You could do maybe 80 percent of...of...of...of what you could do with ArcObjects you could do with add-ins.
1:16:00And the...and then, you know, compiling that as an Esri add-in and distributing that on a local...
1:16:06...on a network share on a local machine is very easy. It approaches the ease of VBA. Not quite, but...but there.
1:16:13So I think what you're going to see is kind of a fork in the road with VBA.
1:16:17Python is going to be able to take care of a lot of it...
1:16:19...and Py-...and the exposure of Python with what you can do is going to get better and better.
1:16:24But using Visual Studio with add-ins is...is what I would explore doing next. 01:16:28
1:16:33[Inaudible audience question]
1:16:36It's like the last question.
1:16:37Say again? Last question. Yes.
1:16:39[Inaudible audience question]
1:16:45No. Add-ins...add-ins can do dialogs, can have...
1:16:48...can have, you know, interactive type controls in the add-ins. Yeah. Okay?
10:10:41There are a lot of these SDKs that you can download without having an EDN subscription...
ArcGIS for Developers—An Introduction
ArcGIS is Esri's complete system for creating, managing, analyzing, serving, and displaying geographic information. This session will briefly introduce the ArcGIS platform, then concentrate mainly on exploring the toolkits, APIs, and resources available to developers. With these tools, developers can create and customize a wide variety of applications for the desktop, mobile devices, the web, as well as customizing the integration of ArcGIS throughout the enterprise.
- Recorded: Jul 1st, 2010
- Runtime: 1:17:06
- Views: 111048
- Published: Aug 25th, 2010
- 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.