Introduction to the ArcGIS Mobile SDK Transcript Copyright 2007 ESRI All rights reserved. The information contained in this document is the exclusive property of ESRI. This work is protected under United States copyright law and other international copyright treaties and conventions. No part of this work may be reproduced or transmitted in any form or by any means, electronic or mechanical, including photocopying and recording, or by any information storage or retrieval system, except as expressly permitted in writing by ESRI. All requests should be sent to Attention: Contracts and Legal Services Manager, ESRI, 380 New York Street, Redlands, CA 92373-8100, USA. The information contained in this document is subject to change without notice. @esri.com, 3D Analyst, ADF, AML, ARC/INFO, ArcAtlas, ArcCAD, ArcCatalog, ArcCOGO, ArcData, ArcDoc, ArcEdit, ArcEditor, ArcEurope, ArcExplorer, ArcExpress, ArcFM, ArcGIS, ArcGlobe, ArcGrid, ArcIMS, ArcInfo Librarian, ArcInfo, ArcInfo- Professional GIS, ArcInfo-The World's GIS, ArcLocation, ArcLogistics, ArcMap, ArcNetwork, ArcNews, ArcObjects, ArcOpen, ArcPad, ArcPlot, ArcPress, ArcQuest, ArcReader, ArcScan, ArcScene, ArcSchool, ArcSDE, ArcSdl, ArcStorm, ArcSurvey, ArcTIN, ArcToolbox, ArcTools, ArcUSA, ArcUser, ArcView, ArcVoyager, ArcWatch, ArcWeb, ArcWorld, Atlas GIS, AtlasWare, Avenue, BusinessMAP, Database Integrator, DBI Kit, ESRI, ESRI-Team GIS, ESRI-The GIS Company, ESRI-The GIS People, FormEdit, Geographic Design System, Geography Matters, Geography Network, GIS by ESRI, GIS Day, GIS for Everyone, GISData Server, InsiteMAP, JTX, MapBeans, MapCafé, MapObjects, ModelBuilder, MOLE, NetEngine, PC ARC/INFO, PC ARCPLOT, PC ARCSHELL, PC DATA CONVERSION, PC STARTER KIT, PC TABLES, PC ARCEDIT, PC NETWORK, PC OVERLAY, PLTS, Rent-a-Tech, RouteMAP, SDE, SML, Spatial Database Engine, StreetEditor, StreetMap, TABLES, the ARC/INFO logo, the ArcCAD logo, the ArcCAD WorkBench logo, the ArcCOGO logo, the ArcData logo, the ArcData Online logo, the ArcEdit logo, the ArcExplorer logo, the ArcExpress logo, the ArcFM logo, the ArcFM Viewer logo, the ArcGIS logo, the ArcGrid logo, the ArcIMS logo, the ArcInfo logo, the ArcLogistics Route logo, the ArcNetwork logo, the ArcPad logo, the ArcPlot logo, the ArcPress for ArcView logo, the ArcPress logo, the ArcScan logo, the ArcScene logo, the ArcSDE CAD Client logo, the ArcSDE logo, the ArcStorm logo, the ArcTIN logo, the ArcTools logo, the ArcView 3D Analyst logo, the ArcView Business Analyst logo, the ArcView Data Publisher logo, the ArcView GIS logo, the ArcView Image Analysis logo, the ArcView Internet Map Server logo, the ArcView logo, the ArcView Network Analyst logo, the ArcView Spatial Analyst logo, the ArcView StreetMap 2000 logo, the ArcView StreetMap logo, the ArcView Tracking Analyst logo, the Atlas GIS logo, the Avenue logo, the BusinessMAP logo, the Data Automation Kit logo, the ESRI ArcAtlas Data logo, the ESRI ArcEurope Data logo, the ESRI ArcScene Data logo, the ESRI ArcUSA Data logo, the ESRI ArcWorld Data logo, the ESRI Digital Chart of the World Data logo, the ESRI globe logo, the ESRI Press logo, the Geography Network logo, the MapCafé logo, the MapObjects Internet Map Server logo, the MapObjects logo, the MOLE logo, the NetEngine logo, the PC ARC/INFO logo, the Production Line Tool Set logo, the RouteMAP IMS logo, the RouteMAP logo, the SDE logo, The World's Leading Desktop GIS, Water Writes, www.esri.com, www.geographynetwork.com, www.gisday.com, and Your Personal Geographic Information System are trademarks, registered trademarks, or service marks of ESRI in the United States, the European Community, or certain other jurisdictions. Other companies and products mentioned herein are trademarks or registered trademarks of their respective trademark owners.
Introduction to the ArcGIS Mobile SDK Presenters: Myles Sutherland, Allan Laframboise ESRI Redlands, California Welcome to today's Live Training Seminar. My name is Myles and with me today I have Allen. We both work at the Redlands campus at ESRI. The title of today's seminar is the Introduction to the ArcGIS Mobile SDK. Copyright 2007 ESRI. All rights reserved. 1
Seminar overview Topics Mobile GIS overview Introduction to the ArcGIS Mobile SDK ArcGIS Mobile workflow Designing mobile applications Format The seminar will consist of lecture, Q & A sessions and demonstrations. So the seminar overview for today is going to cover four key topics. We're going to quickly jump in and have a look at Mobile GIS and some the technologies. We're going to move onto an introduction to the SDK itself. We're going to look at the workflow it takes to set up ArcGIS Mobile deployment. And then we're going to look at designing mobile applications themselves. The format for today will consist of a lecture with some slides and then we'll jump into a Q & A session and some demonstrations at the end of each section. Copyright 2007 ESRI. All rights reserved. 2
Mobile GIS overview Okay, so Mobile GIS overview. Copyright 2007 ESRI. All rights reserved. 3
Mobile GIS: A GIS extension Extension of GIS beyond the office into the mobile environment Mobile information workers can capture, store, update, and manipulate geographic information Mobile Enterprise leverages GIS technology to ensure the currency of business information In the past a lot of the field data collection that's been performed has been paper-based, whether it was people filling out forms in the field or perhaps taking large paper maps out and marking up the maps. Over time with the development of GIS technology we've seen major advancements in this area. Specifically in the last five years we've seen a lot of new tools available for leveraging GIS technology out in the mobile environment. You can think of Mobile GIS as really an extension of the GIS beyond the office into the mobile environment. The Mobile GIS really enables the information workers to capture and store, they can update and manipulate geographic information out in the field where they need to, when they need to. In return the enterprise itself in leverage with GIS technology to really ensure the currency of the business information to make sure at all times the enterprise is a good picture of the status of all of the objects or events or things that they are really interested in. Copyright 2007 ESRI. All rights reserved. 4
Enabling technologies Key enabling technologies essential to ensuring a successful mobile GIS: Mobile devices Accurate positioning Wireless connectivity As part of a successful Mobile GIS deployment, there are really three key technologies that we need to understand. The first are the mobile devices. In the last five to eight years there have been huge advances in mobile device technology. Today we have a range of different devices that we can leverage out in the field. They range from very small, mobile, easy to use smart phone type devices right up to extremely powerful, sometimes a lot larger tablet or laptop PCs. The majority of our Mobile GIS technology works within the Windows environment. So when we talk about devices we're really speaking about Windows mobile devices and Windows desktop devices. The second key technology is the development of a range of different positioning technologies. The most important one, of course, is the global positioning system. Over the last 20 years or so we've been leveraging GPS in a number of different industries, and Mobile GIS is no different. Today there are a lot of forms of GPS that you can leverage whether it's the autonomous system itself with consumer style chip sets which provide accuracies that range from probably about 5 meters up to 20 meters, right through to very professional systems available from some of our partners who develop systems designed purely for GIS data collection. They would leverage differential correction services or additional services that enhance the accuracy. We also have seen major advancements in the area of wireless connectivity. In the past a lot of our Mobile GIS components have worked in disconnected fashion. Today we have the technology especially in the wireless space to be able to connect to servers and synchronize data over the wireless. Two of the key areas in the wireless space that are important for us to track are WiFi hotspots or the 802-11 technologies but also cellular data technologies. We now have the capability to synchronize data or push data over the cellular systems. And really there are two main differences you need to consider between these technologies. With the WiFi hotspots we have a very high bandwidth and a limited range. Often there might be up to a maximum of maybe fifteen to twenty meters range around a WiFi hotspot. This is great for supporting somebody who wants to work in kind of a nomadic style Mobile GIS deployment where they Copyright 2007 ESRI. All rights reserved. 5
might take the application and the device and the data out, perform the job and then when they can get access to the WiFi hotspot and synchronize back the data to the office without having to physically go back to the office itself. The cellular data services provide us with a more seamless coverage. Bandwidth is definitely not as high or as available like with the WiFi hotspots but the coverage is much better. So this is really good for Mobile GIS deployment where we want to constantly synchronize and push small updates back to the office in near real time. Copyright 2007 ESRI. All rights reserved. 6
Mobile devices Smart phones Pocket PC phones Tablet PC/Laptops So let's just jump in and take a quick look at some of the devices themselves. So I mentioned smart phones, pocket PCs and tablet PCs. As you can see from the slide, there is a major difference between the screen real estates and the palm factors of these devices. And at the high end and the tablets and the laptops down at the bottom you can see they've got very large screen real estate, some are more rugged, some are consumer. In the pocket PC space we have the same break in terms of having consumer and rugged devices but you'll see that the screen real estate is much more restricted. One of the key things that come into these two types of devices is the touch screen. So when we're developing Mobile GIS applications it's important to understand that we can leverage the screen and the stylus or the pen with these types of devices. The smart phone itself is very different in that it has a much smaller screen real estate but most importantly it doesn't have a touch screen. So when it comes to developing applications as we'll see further in the presentation you need to leverage menus and really the hardware imports to control the application. Copyright 2007 ESRI. All rights reserved. 7
Introduction to the ArcGIS Mobile SDK Okay, so flying off from that we're going to now look at the SDK itself. We're just going to cover a quick introduction to it and then we'll get into a wonderful demonstration. Copyright 2007 ESRI. All rights reserved. 8
ArcGIS Server 9.2 overview Complete and integrated server-based GIS Out-of-the-box applications and services Rich developer opportunities Spatial Data Management ArcGIS Desktop Java Visualization (Mapping) ArcGIS Explorer.NET ArcGIS Server Spatial Analysis WebMap Applications ArcGIS Mobile So the ArcGIS Mobile SDK is available in 9.2 as part of our ArcGIS Server product. ArcGIS Server is a complete and integrated Server-based GIS. The product itself provides us with very rich developer ADFs or SDK's but also an out of the box experience. We have both applications and services that can be controlled very easily from any user's standpoint without having to perform any sort of development tasks. Server itself, very much like a desktop product, provides three core capabilities. First is the special data management, storing the spatial data and managing the storage of that data inside a relational database. Obviously the visualization and mapping both in the 2D and 3D environments and of course the spatial analysis that we can perform in terms of modeling against the data and leveraging the visualization to really highlight the results. As you can see from the slides we also have range of clients now that work against ArcGIS Server at 9.2. Not only does ArcGIS Desktop, really our flagship product, work against us but you also now have ArcGIS Explorer which is a Windows based application that provides a very rich 3D experience for consuming globes from the Server. We also have WebMap applications. You can think of these as very simple and focused applications that can be deployed inside the browser environment and they work in an always connected fashion. And of course most importantly for this seminar we have ArcGIS Mobile developer toolkits, the software development kit today as part of Server we do not provide applications in the 9.2 release. Copyright 2007 ESRI. All rights reserved. 9
Software development kits Build and deploy web and enterprise geospatial applications and services Productivity boost with out-of-the-box IDE integration Software Development Kit (SDK) includes:.net components Web ADF Mobile ADF Java components Web ADF Enterprise ADF WebMap Applications ArcGIS Mobile Integration Environment Business Applications Web Mobile.NET Web Enterprise Java Software Development Kit (SDK) So let's look at these software development kits in a bit more detail. In terms of the server, when you purchase the Server you get access to both.net components and Java components. We have a Web ADF for Mobile SDK on the.net side. On the Java side we have a Web ADF and an Enterprise ADF. The important piece here to understand is that the Mobile SDK or ADF is only available in the.net environment. Copyright 2007 ESRI. All rights reserved. 10
ArcGIS Mobile SDK ArcGIS Server developer solution for mobile applications SDK shipped with ArcGIS Server for building mobile applications Suite of.net components for developing custom server-centric, lightweight mobile applications Okay, so, in summary, we have the ArcGIS Mobile SDK. It's a developer solution for mobile applications that's shipped as part of ArcGIS Server; and it's a suite of.net components for developing custom Server centric lightweight mobile applications. Copyright 2007 ESRI. All rights reserved. 11
Key features Supports field workflows Data viewing Feature inspection Basic data collection Direct synchronization with ArcGIS Server Connected and disconnected environments Windows Mobile and Desktop platforms Some of the key features that we have available within the SDK itself; we really support three main field workloads. As an application developer you can deploy very simple rich viewing applications in the Mobile environment. You can also deploy feature inspection or basic data collection applications where the only way you can synch out data from the server and view the data itself on the mobile device or we can also interact with the data in terms of updating attribution but also geometries. We have direct synchronization with the server itself so we can request and post data back to the server. We work in both connected and disconnected environments. So when the SDK was designed it was understood that many of our users and customers wanted to deploy mission-critical applications. To support this we needed to not only be able to connect to the server but also to be able to cache the data locally so that if we didn't have current connection to the server maybe we're working using a cellular data service and we've moved outside the coverage area. The person that's using the application still needs to be able to perform the daily tasks. And the SDK has been developed around the Windows mobile and desktop platforms. I'm going to pass over to Allen, and he's going to show us a wonderful demonstration. Copyright 2007 ESRI. All rights reserved. 12
Software demonstration Thanks, Myles. Let's start by looking at some different variations of mobile applications. This first application is a Pocket PC application. It's running now through an emulator. This is called a building inspector application, and it's really as simple as that. It's designed for somebody who's out in the field who's out on site looking at buildings and inspecting them and then sending data back to the backend server. As you can see, right now we have this device up and running, and just to support some of the concepts that Myles was saying, this could be running in either a connected or disconnected mode. If this is, in fact, disconnected at this point in time, the user can still use the application just like I am here. Even though we're using an emulator, this is running exactly as it would on a hardware device. Just a couple things, we have some basic map tools down at the bottom if you want to do any mapping operations. What we're really interested in today is working with this small device and interacting with the data. Again, the Pocket PCs have the ability to tap on the screen. If you're tapping on the screen and picking up buildings, that building is actually information that's coming from the local cache. We're on site now, and actually, let's pretend this is myself, and I'm going to make a statement here that geotechnical evaluation is needed, and I'm going to limit entry to this particular building and the date, today's date. Let's move forward here in our calendar, and I'm the inspector. Because I'm not a geotechnical person myself, what I'm going to do is I'm going to write a comment here. I'm going to send for Myles. Myles is also out in the field using a mobile device as well, and we'll see how that works in a second. What I've done is I've updated the data on this local device. Now what I need to do as a worker out in the field is to send this information back up to the server. I do that just by synchronizing with the server. So, I can have this program do it Copyright 2007 ESRI. All rights reserved. 13
automatically. Here you can see the progress bar showing us that it's getting updates and actually synchronizing with the server. While that's going on, let's take a look at what Myles is doing out in the field. Here's application number 2, if you will, and it's, again, another building inspector application except this time the application is running on a Tablet PC. It basically has the same interface. You can see it's slightly bigger and most of the controls have some buttons instead of menus down at the bottom. It's basically the exact same application. The first thing that Myles needs to do if he's out in the field is he needs to synchronize his data with the server data, because it may have been updated. Sure enough, I have updated. We can see here that this building, if we just pick on it, is the building that I went and made the recommendation inspection information for. Here, we have my recommendation, limited entry posting, and so forth. Myles sees this, and he's out with his Tablet PC and he's like, well you know what, I'm actually going to restrict use of this building and he is actually not a geotechnical person, so he's going to send for Fred, and Fred is our back office person who will be looking at this information that's coming in. So, we use the same date and we'll change the inspection person to Myles. We're going to save that information. You can see the color of the building actually changes over here to represent that our posting changes. Now, we're going to synchronize that information, and you can see that happen quite quickly to our back-end server. Again, this is hooked into ArcGIS Server and version SDE on the back end. Let's take a look at this data from another angle. Here's an example of ArcMAP just accessing the same data that the mobile applications were accessing, again, the SDE version data. What I can do is zoom into that area of interest, and we can see that our building now has changed color and it actually matches the building from the last posting. What we can do is use all of the features of this thick client, the ArcMAP here. We can pick on that building, and we can see all of the information for it. The building inspection information has been relayed here. It's sending for Fred, and he's our geotechnical person, and here's the recommendation, and it's been set to restrict use. You can see the difference between sort of the heavyweight backend application like ArcMAP and some of the lighter weight mobile applications. Here we have access to all the various fields and information, whereas in the mobile application we're simply restricted to these drop-down menus that we're working through domain and so forth. So, just a quick demonstration that basically supports the concept that Myles went through in terms of being disconnected out in the field either with a Tablet PC like in this Windows formsbased application or out in the field with a Pocket PC or, again, this could be just a standard smart phone and then making some changes to the data, saving them locally, and then synchronizing them with the database on the back end. There's an example of the Mobile SDK in action. Copyright 2007 ESRI. All rights reserved. 14
Review and Q & A Mobile GIS overview ArcGIS Mobile directly synchronized with Server SDK helps build and deploy mobile applications Thank you for that, Allen. We're going to move on now and do a quick recap and then a Q&A session. If you have any questions, please send them through now, and Allen and myself will do the best to answer them in a second. In the first section of the seminar, we covered a quick overview of Mobile GIS and the technologies. We've looked at some of the capabilities of ArcGIS Mobile. We've kind of highlighted the synchronization with the server which Allen just demonstrated to us and it was touched on how SDK is really about building in the plane, simple and easy to use mobile applications. I'm going to take some questions right now. I have a couple of great product segmentation questions here. One from Ann in Redding, and her question reads, "Is there a browser-based.net Mobile solution as opposed to being a smart client?" A quick answer to that is no, we currently don't have a browser-based technology for a mobile deployment. The majority of our efforts is going into developing around the smart client technology or concept that Microsoft promotes. I've got a second question here from Mel in Mesa, and it reads, "We just implemented ArcGIS Server 9.2 Work Group Standard. Can we build any mobile apps with this edition?" The answer to that is that the Mobile SDK is available with part of ArcGIS Server Advanced Enterprise edition. No, you cannot develop mobile applications to work with the Work Group Standard edition. You must purchase ArcGIS Server 9.2 Advanced Enterprise edition. As part of that, you will get 50 deployments bundled up with that edition, and if you want to deploy more SDK clients against the server, you can purchase them in packs of 25. A third question here from James in Ann Arbor, "Is ArcGIS Mobile an ArcPad replacement? How does ArcPad integrate with the SDK? Today, ArcPad is a rich, out-of-the-box Mobile GIS Copyright 2007 ESRI. All rights reserved. 15
application. The Mobile SDK is really about a developer experience. You could almost look at this as being not a replacement for ArcPad. Do we integrate with ArcPad? The answer to that is no. There is currently no integration story between the ArcGIS Mobile SDK and ArcPad itself. They are independent products at the 9.2 release. I'm going to switch back to the presentation now. Copyright 2007 ESRI. All rights reserved. 16
ArcGIS Mobile workflow In the next section, we're going to take a look at the ArcGIS Mobile workflow. Copyright 2007 ESRI. All rights reserved. 17
ArcGIS Mobile workflow steps 1. ArcGIS Server setup Design and build your geodatabase for mobile Author your map for mobile Serve your mobile map service There are three key steps to setting up and managing an ArcGIS Mobile deployment. The first is to set up ArcGIS Server. We're going to design and build a geodatabase. Perhaps you might want to optimize the geodatabase for Mobile to really eke out the best performance in terms of synchronizing data over a wireless connection. We might want to replicate or ETL some data from existing enterprise databases or servers because we might have a field team or a mobile team within that organization that is responsible for collecting data for all aspects or groups within the enterprise. We also need to author a map. As part of this process, deploying from Mobile is very different than developing for desktop and, as we'll see in a moment, we need to author our map specifically for the Mobile. The third piece here says we need to serve this mobile map up as a server, so we need to create the Web service so that we can enable the synchronization between the client's application and the server itself. Copyright 2007 ESRI. All rights reserved. 18
ArcGIS Mobile workflow steps 1. ArcGIS Server setup Design and build your geodatabase for mobile Author your map for mobile Serve your mobile map service 2. ArcGIS Mobile application development Design and build your mobile application Integrate in core mobile technologies The second key step in the workflow is to develop our application. We're going to go through a process of designing and building the mobile application around the SDK and we might want to integrate in some other core mobile technologies. Maybe we're going to leverage some external sensors or some APIs that exist inside the Windows mobile operating system. We might even interface with another mobile database system. Copyright 2007 ESRI. All rights reserved. 19
ArcGIS Mobile workflow steps 1. ArcGIS Server setup Design and build your geodatabase for mobile Author your map for mobile Serve your mobile map service 2. ArcGIS Mobile application development Design and build your mobile application Integrate in core mobile technologies 3. Deploy your Mobile GIS solution Provision mobile application and mapcache The third step that we shouldn't overlook is how we deploy Mobile GIS solutions. Obviously, we're going to develop our application. We might also want to create a map cache, and we might want to pull some of the data from the server up front and create a package together that we then would deploy onto numerous devices before our field crew and mobile information workers take them out and perform their day-to-day tasks. Copyright 2007 ESRI. All rights reserved. 20
ArcGIS Mobile technical overview ArcGIS Desktop Let's have a top down look at this and the pieces that are involved. We're going to leverage ArcGIS Desktop. Copyright 2007 ESRI. All rights reserved. 21
ArcGIS Mobile technical overview ArcGIS Server Publish Map as service Get schema Extract base data URL Web Services ArcGIS Desktop ArcGIS Desktop is really our control room application for managing ArcGIS Server. So, we're going to build our geodatabase, author our map, and set up ArcGIS Server and then publish our map as a Web service. Copyright 2007 ESRI. All rights reserved. 22
ArcGIS Mobile technical overview ArcGIS Server Publish Map as service Get schema Extract base data URL Web Services Day to day data synchronization GIS data Device Application (EXE) ArcGIS Desktop Microsoft Visual Studio ArcGIS Mobile SDK We're also going to leverage a sample application called the data extractor. The data extractor itself is built out of the SDK and we'll see a bit more about this in future slides. Basically, it takes responsibility for synchronizing out a map cache that we're going to put together in the package that we're going to deploy out onto our mobile devices. Copyright 2007 ESRI. All rights reserved. 23
ArcGIS Mobile technical overview ArcGIS Server Publish Map as service Get schema Extract base data URL Web Services Day to day data synchronization GIS data Device Application (EXE) Device DB Deploy ArcGIS Desktop Microsoft Visual Studio ArcGIS Mobile SDK Data Extractor Mobile worker operates on and offline Mobile And, of course, the last piece of this is in the application that we design. We take responsibility for managing the day-to-day synchronization of the GIS data with the server. Copyright 2007 ESRI. All rights reserved. 24
ArcGIS Server setup GDB ArcCatalog Build geodatabase for mobile Let's look at each of these steps in a bit more detail. In terms of building a geodatabase for Mobile, you're going to leverage ArcCatalog. Within ArcCatalog, we might create a new database specifically for our mobile deployment and set up a schema. If we were to do this, one of the things we might want to consider is how we optimize the storage of the data inside the geodatabase. Obviously, we're going to store lots of text fields. It might not be the most efficient way to synchronize data between the server and the mobile client. We might want to look at leveraging lots of domains to really minimize the way we store the data and how we push the data out over the service. Copyright 2007 ESRI. All rights reserved. 25
ArcGIS Server setup GDB Mobile Map Document ArcCatalog ArcMap Build geodatabase for mobile Author mobile map The second piece of this is authoring the Mobile map. Today, we're all very experienced with developing maps for desktop or printing style application. In the Mobile space, it's no different. We have to leverage the tools that we have inside ArcMap to develop a map that suits the needs of the mobile information worker when they're out in the field. Some of the things we need to take into consideration, obviously, the screen real estate and the resolution of the devices that the map is going to be displayed on. Obviously, they're much smaller than what we have on the desktop environment. Pocket PCs run at about 320 x 240, so lots more than at desktop resolution. We also need to take into account the type of environment. What's the level or strength of the sunlight out in the field. Obviously, it varies. We want to use very simple and easy to view and understand symbology within our maps. We might want to deploy just a couple of background layers and a couple of edit layers and really use very simple and clean symbology. Copyright 2007 ESRI. All rights reserved. 26
ArcGIS Server setup GDB Mobile Map Document ArcCatalog ArcMap ArcCatalog Build geodatabase for mobile Author mobile map Set up the server Publish the map as a mobile map service ArcGIS Server Web Services The third piece to this is also the scale dependencies on the layers. Also, if we want to create the best drawing performance of the map on the mobile device, we need to make sure that we are very in tune with the different scales that we want to render each particular layer. We'll see a bit more of the detail of this when Allen shows us the next software demonstration. The last piece in setting up the server is, obviously, to publish the map as a Mobile map service. Allen is going to take us through that, and you'll see that it is a very easy process to enable mobile data access and expose the Web service. Copyright 2007 ESRI. All rights reserved. 27
Design mobile applications Mobile SDK installed as part of ArcGIS Server Use Visual Studio 2005: Windows Mobile 5.0 for Pocket PC Pocket PC 2003 Windows Mobile 5.0 for Smartphone Tablets and Notebooks (Windows XP) IDE Integration Build simple and focused user interfaces Develop for function and form factor The second step to ArcGIS Mobile deployment is to design our applications. So, the SDK is installed as part of your ArcGIS Server product. You need to leverage Visual Studio 2005, and in terms of the operating systems that you can deploy applications onto, we're going to run inside Windows Mobile 5 for Pocket PC, Pocket PC 2003, Windows Mobile 5 for Smart Phone, and Windows XP, so the tablets or notebook style devices that are running Windows XP operating system. The SDK itself has been integrated directly into the IDE. It's a very seamless integration, very easy to use, drag-and-drop experience with lots of properties that you can leverage. We've tried to make the experience for the developer as clean as possible. The SDK allows us to build very simple and focused user interfaces. One of the things that we need to be aware of is that many of our field workers just want to use a tool. They don't have to necessarily understand the complexity of GIS and what points, lines, and polygons are, how to edit geometries. We can provide them with very simple tools to use. The last piece of this is developing for the form and function. As I mentioned previously, a lot of this work comes in terms of how you set up a map. When it comes to developing the application, we have to take into account what capabilities does the device have. So, with their Pocket PCs, like I mentioned in one of the earlier slides about the devices, they have a touch screen, so you can leverage the stylus to pan or zoom the map. But, on a smart phone, for example, they do not have a touch screen so you have to leverage the key pad and the rocker in menu options to really control and interact with the map or any tools that you want to provide to your field workers. Copyright 2007 ESRI. All rights reserved. 28
Deploy mobile solutions Design mobile application Visual Studio Mobile EXE The last step is to go through a deployment process. Not only are we going to design the application then the end result of that is going to be an executable and a couple of.dlls. We might integrate with some existing solutions. Copyright 2007 ESRI. All rights reserved. 29
Deploy mobile solutions Design mobile application Integrate with existing solutions Visual Studio Mobile EXE We're also going to generate this initial client data, and I touched on the data extractor previously. Today, while its connectivity scenarios; although they're getting much, much better, we're still not at a point where we want to be pulling tens or hundreds of megabytes of data out of the wireless connection, especially a seller data service. Copyright 2007 ESRI. All rights reserved. 30
Deploy mobile solutions Design mobile application Integrate with existing solutions Generate initial client data ArcGIS Server Visual Studio Mobile EXE Map Cache Extractor To get around this, what we do is use the data extractor in the office to pull data from ArcGIS Server, bundle it up with the executable and.dlls, create this deployment package, and then we deploy it onto our devices. Copyright 2007 ESRI. All rights reserved. 31
Deploy mobile solutions Design mobile application Integrate with existing solutions Generate initial client data ArcGIS Server Visual Studio Mobile EXE Deployment Map Cache Extractor Secure server and client data Deploy to devices Mobile EXE Map Cache There are a range of different strategies that you could leverage to deploy the package onto the devices. Many of us will be familiar with using Active Synch, especially in the past with ArcPad, we've been deploying the application and perhaps the data from a desktop or a laptop to a device. So, it's a one-to-one relationship. We can pretty quickly deploy ArcPad and some data onto maybe one, two, three, may ten devices. With the Mobile SDK, we're now looking at very large deployments. When you're getting up to thousands of devices, you need to really leverage some of the more professional systems that are available for synchronizing deployment packages onto these devices. An example of this would be Microsoft System Management Server. Copyright 2007 ESRI. All rights reserved. 32
ArcGIS Mobile: Data extraction MapCache Extractor Map Server Connection MapCache ArcGIS Server Mobile MapCache Deploy We'll touch a bit more on the data extractor. This is actually a sample application built out of our SDK so you can either leverage it yourself or you could throw it away and start again and build your own extractor or integrate into your own workflow. The extractor itself leverages the map components, the server components, the map cache component, and we'll see more details about these in the next section. Basically the end result of building this mobile map cache which contains all of the data that we want to be either displayed as background or editable data up front. Copyright 2007 ESRI. All rights reserved. 33
Synchronize mobile GIS solution Application: Takes responsibility for managing sync process Pushes and pulls new and updated features Leverages spatial and attribute queries to optimize feature pull from the server ArcGIS Server Web Service Day to Day sync The final piece to the picture here is, of course, the synchronization. This is the real goodies of the system. Your application itself as the developer takes responsibility for managing the synchronization process. So, as we saw in the demonstration that Al provided earlier, he had an option which manually or explicitly synchronized the data back to the server. Within the SDK and developing against it, you can create a function that would automatically push the data back. It would take any of the updates that exist in a specific feature layer and push it back to the server automatically. You also have to take responsibility for requesting or pulling down the data so you might pass up a special attribute query to optimize the data that you're actually going to pull out from the server itself. Copyright 2007 ESRI. All rights reserved. 34
Software demonstration With that in mind, I'm going to pass over to Allen again, and he's going step us through this workflow and all the tools that we use to achieve a successful setup for ArcGIS Mobile deployment. Thank you, Myles. Let we're going to start here by looking at ArcMap, and what I'm doing is I'm loading up just the simple documents,.mxd document, and I think simple is the key word here. We'll look at a few things and how this document is different than maybe some of the documents you're used to authoring and working with inside of ArcMap. To start, we have only two layers that are referenced here, and they're referencing back to SDE. We have only two layers, and you'll notice initially the symbology is very simple and it's very straightforward. The parcels are color coded, sort of what this yellow to beige color, and then the buildings are also easy to identify throughout. You'll notice that we don't have a whole lot of other information or a lot of layers available. It's very simple. The second thing to note is the symbology. The symbology is very simple, and you'll notice that when you're reading through and starting to work with the Mobile technology that there is only a limited set of symbols that are supported. It really makes sense because of the size of the device that you are working with and so forth. That's all well documented throughout the SDK. The other thing to note, too, is this application is right now, as we're zoomed into locations, we'll actually zoom out and we'll contrast the difference in extents. If you'll look at the entire extent of this data really millions of features available through SDE. On a mobile device, of course, if you look at the size of a screen, you're looking at about 320 x 240 so we'll recalculate this ArcMap screen to look like a mobile device. You'll see that it's actually not really representative of what you'd want to see on the device out in the field. What we'll do is we'll zoom into a more appropriate extent. From there, we're now basically set to author this application up as a service through ArcGIS Server and SDE. We'll save this document, and we'll move on to ArcCatalog. With ArcCatalog, Copyright 2007 ESRI. All rights reserved. 35
actually there're a couple of different ways we can publish services with ArcGIS Server. Probably the easiest way is through ArcCatalog. We're going to publish our.mxd and here we're just going to select the defaults. One thing that's really important is looking at the, or setting the mobile data access check box. This is one of the capabilities that we're enabling throughout this service. What this is going to do behind the scenes is create a SOAP Web service end point by which your smart clients can interact with this Web service through. If we click on the Web service, we can actually preview it here using ArcCatalog as a client. It's important to realize that here we're just looking at a very simple image that has been screened back to this client through SOAP, so the actual features aren't present here. What do we have so far? We have the data that's authored. We talked about the symbology, and then we talked about billing this as a Web service and publishing it for mobile application. There are a couple different ways we can go from here, but we want to show you at this point how to use the extractor application. As Myles made mention of earlier, what we're able to do with this sample application again, it's included with the SDK. You can download it from the Web site or it's also included with the product software. What we can do is communicate to the Web service endpoint that we just created and extract data, and that data represents a map cache. What I'm going to do is go back to the service that we just created, click on the mobile data access link. I'm going to copy that URL to memory. Now we have all the information we need. I'm going to paste that in then I'm going to connect this URL to the Web service that we just generated. The extractor, the whole objective of the extractor is to work with that SOAP service endpoint and extract the data for the extent that you're interested in. So, we'll just leave all the defaults here and we'll hit Extract and we'll see what's happened. Basically we have retrieved 73 buildings and 69 parcels, and it's built the map cache into this directory on the local machine. If we just click on this link, this is our file explorer, and we can see that it's actually created three files. We have the building inspection, the parcels which represent both layers, and we have a map schema as well. These three bin files together is the map cache. Now, we have lots of options at this point. If we want, we can package this up into a cav or go through several click deployment, however we want to get to our end-user device. We can package up this map cache and send it to the device if we want. There are some other options, too, for extracting data. The smart clients have the ability of extracting the data on the fly, if you will. We wanted to show you this extractor application and its purpose and its usage. Copyright 2007 ESRI. All rights reserved. 36
Review and Q & A ArcGIS Server setup ArcGIS Mobile application development Deploy your Mobile GIS solution Thank you, Allen. Thanks for that. Let's go to a set of questions here which I'm going to work through. If you can, please send through any more questions you have right now, and we'll answer those as best we can, and we're going to do a quick review while those questions are coming through. We've looked at ArcGIS Server setup. We've covered a little bit on the ArcGIS Mobile application developments. We've looked at how you can deploy your Mobile GIS solution. Before we jump into the next section, I've got a few questions here. I have one from Karen from Tallahassee, and the question reads, "Can ArcPad synchronize with ArcGIS Server the same as ArcGIS Mobile?" The current answer to that is it doesn't use the same synchronization method. ArcPad works in a disconnected mode. When you're using ArcPad, you're going to synchronize directly with ArcGIS Desktop, but as part of that synchronization process, or the check-in, check-out process as it's referred to with Desktop, you can access data from within SDE or behind the Server itself. Yes, you can get to server data from within ArcPad, but it's a very different mechanism for synchronizing the data. It's really about disconnected workflows, whereas with ArcGIS Mobile, we're focusing a lot on the kind of wireless synchronization strategies. I actually have a question here from Guy from Cameroon which I'm going to pass over to Allen. The question reads, "Is the service XML only?" Allen, perhaps you could answer that for us. We have some different options with the communication protocol that's used. I'll be able to show you that in a little while. We can actually set the default setting of the map cache so that it can screen just the standard XML or if you want to use different protocol, well like, for example, packaging it up as binary, so binary sometimes ships a little faster and more efficiently, so we recommend that. We'll see that option in the developer control in the next section. Thanks, Guy. Copyright 2007 ESRI. All rights reserved. 37
We've got a lot of questions here, but I've got one last one I want to do before we move on. As we go through this, keep sending your questions in. At the end, hopefully we'll be able to answer all of them for you. I have one from Robert in Houston and it reads, "Through ArcGIS Mobile, can you perform markups in the field and post markups back to your database?" We have a lot of discussion with our customers and users about what people actually mean by markups. If you're talking about sketching on a Tablet PC or a Pocket PC and really sketching on top of the map, the answer is yes, you can achieve it. With inside ArcGIS Server, you would just store a polygon or polyline feature class which you would expose as your markups layer, and then within your Mobile SDK developments, you would create a simple sketching tool which would store the geometry from the sketch into that layer or that feature layer that you have specified to be your markup layer. So, to the end user, it feels like they're just marking up on top of the maps. If you're on a Tablet PC, for example, you could take advantage of some of the wonderful linking technology that's available with that operating system also. Copyright 2007 ESRI. All rights reserved. 38
ArcGIS Mobile SDK Features We're just going to jump back into the presentation, and we're now going to move on and take a look at the features of the SDK itself. Copyright 2007 ESRI. All rights reserved. 39
Prerequisites Familiarity with:.net Framework 2.0.NET Compact Framework 2.0 C# or VB.NET You need: Visual Studio 2005 SDK for Windows Mobile 5.0 for Pocket PC 5.0 development SDK for Windows Mobile 5.0 for Smartphone 5.0 development Active Sync 4.1 or higher installed The SDK was developed around, or on top of, the.net Compact Framework 2.0. What this means for us is that we run or gives us the ability to create applications that will run on smart phone and Pocket PC operating systems, mainly the Windows Mobile 5 operating systems but also the old Pocket PC 2003. It also means that because the compact framework is a subset of the.net framework, we can also run on the tablet and laptop devices. So, anything running Windows XP would have the.net framework 2.0 running on it. From a development standpoint, you need to be able to develop against C# or VB.NET. You're going to have to leverage Visual Studio 2005. One of the key things to remember about Visual Studio 2005 is that when it shipped, it didn't actually ship with the SDKs for the Windows Mobile 5 for Pocket PC or for smart phones. So, you need to go to the Microsoft.com Web site and download or access the SDKs and install them so you can successfully develop against our ArcGIS Mobile SDK. The final thing that you need is Active Synch 4.1 or higher. The reason that you'd need Active Synch is that from a development standpoint, when you're coding and building and deploying your application, you're going to want to push it against the emulator, so there are a set of emulators that come as part of the SDKs that you can use inside Visual Studio, and we saw one of those earlier, the Pocket PC one that Al used to show the application. To interface between Visual Studio and the emulator, you need to use Active Synch. Similarly, if you're going to test and deploy your application on a real device, which we would highly recommend that you do before deploying it to your end users, Active Synch is your mechanism for deploying or synchronizing the data or connecting with the device itself. Copyright 2007 ESRI. All rights reserved. 40
.NET compact framework considerations Subset of.net framework Optimized for smart devices Not everything works the same Read documentation Use Visual Studio emulators to develop Use actual devices to test and deploy Some of the considerations for.net compact framework as I mentioned, it's a subset of the.net framework, so if you're experienced in developing against Windows XP inside the.net framework itself, when we move down and develop applications in the Mobile environment, we'll quickly discover that not all the components or controls that you are used to using are available. So, really, it's been optimized for smart devices and have made decisions about what they're going to make available for you out-of-the-box to develop against. Not everything works the same. It's really the key message here. The way to deal with this is to read the documentation. There is a lot of wonderful documentation on the differences between the.net framework and the.net compact framework. As I mentioned previously, obviously you need to leverage the emulators and the devices themselves to test and deploy. Copyright 2007 ESRI. All rights reserved. 41
Features overview Suite of.net mobile GIS components Designed for Client-Server applications Support multiple connectivity scenarios Long and short transactions Versioned and disconnected editing capabilities Leverage Visual Studio 2005 WinForms Small footprint and high performance Comprehensive developer help Visual Studio integration Walkthrough, samples Online documentation Some of the high-level features or an overview of the features inside the SDK itself, it's a suite of.net Mobile GIS components. It's designed for the client server synchronization or client server style applications. You can support multiple connectivity scenarios. We would talk about this as a kind of occasionally connected strategy where you might want to deploy a fully disconnected solution where I design the application so it pulls out or caches the data from the server when it's connected by Active Synch against my desktop. Then, as the mobile information worker, I'd take the device out in the field, perform my job fully disconnected from the enterprise, come back at the end of the day, and then resynchronize. You can go to the next step where I might have wireless access to hotspots out in the field. I might build what we could call a nomadic style application where it can synchronize periodically throughout the day. Of course, the other end of the continuum is to develop a fully hosted, always-connected application where the user might actually access the application over the year on the device, pull or cache the data from the server through the wireless, and then perform the job as they go. They may even throw the application away when they're finished. The SDK itself was designed and developed over a couple of years, and two of the key things about it is that we've developed it with a very small footprint. The developers on the team were very successful at keeping the.dlls down to about 540 kb in size, so that's huge when it comes to moving to the point where you want to do an over-the-year deployment, because it's now very easy to push this out. Also, it's very high performance in terms of the rendering of the map and the performance of the map against onside or in the smart phone and Pocket PC operating systems, so we've done a lot of work in that area. Obviously, we've had experience in this in past applications, so in the SDK we've really tuned on this, and I think you'll see that the absolutely wonderful performance in the way that we render the maps. Of course, the last piece that should not be forgotten is comprehensive developer help. We've integrated directly into Visual Studio so Allen will show you that later on today, the controls inside the toolbox and how easy it is to drag and drop and work with them. We also have a set of walkthroughs and samples that come out-of- Copyright 2007 ESRI. All rights reserved. 42
the-box with the SDK, and, of course, their online documentation. You can access the online documentation from the ESRI Developer Network, so it's edn.esri.com is the URL to access it. Copyright 2007 ESRI. All rights reserved. 43
Core components ArcGIS Server URL Let's look at some of the core components. We've talked a lot about ArcGIS Server and exposing a Web service. That's the first core component that we need. Copyright 2007 ESRI. All rights reserved. 44
Core components ArcGIS Server URL Server Connection MapCache We also have a map cache component, and as part of the map cache, we have a server connection or capabilities to manage to the server connection. The map cache really takes responsibility for storing all of the data published through the Web service, and the server connection controls the way that we synchronize with the server. We use the server connection to manage when we want to request, create spatial attribute queries against the server, and when we want to post back just the deltas from the map cache, so we're creating edits in our application and pushing them into the map cache. When we post them back, we'll post on the feature layer and it's only going to ship back the changes inside the map cache. The reason we've done that is we really wanted to optimize the performance and the ability to synchronize data back over very slow wireless connections. Copyright 2007 ESRI. All rights reserved. 45
Core components ArcGIS Server URL Server Connection MapCache Feature FeatureLayer Annotation FeatureLayer Raster FeatureLayer In terms of the way that we store the data inside the map cache, we support feature layers, annotation layers, and raster layers from the server. Of course, the features layers are what we are going to edit against. For the layers themselves to be editable inside the map cache, they need to come from an SDE source behind the server. We can pull features layers from a file geodatabase or an SDE, but we can only edit against SDE. The reason for this is we're going to be in a situation where we're going to have multiple user edits, and we can't support that against the file geodatabase itself. We support annotation so we can pull it out or edit the annotation. We do not support editing against the annotation. We also support pulling out the raster layers and creating the pyramids and be able to read the really rich raster information on the mobile device itself. Copyright 2007 ESRI. All rights reserved. 46
Core components Map ArcGIS Server URL Server Connection MapCache Feature FeatureLayer Annotation FeatureLayer Raster FeatureLayer We have a map component. We can't forget about that. The map component works directly with the map cache. This takes responsibility for rendering the layers inside the map. Copyright 2007 ESRI. All rights reserved. 47
Core components Map MapAction ArcGIS Server URL Server Connection MapCache Feature FeatureLayer Annotation FeatureLayer Raster FeatureLayer On top of the map, we have a set of map actions that we'll look at in more detail, but these map actions are really tools that you can take advantage of to manage various things relating to a map, maybe it's panning and zooming around the map or sketching against the map itself. Copyright 2007 ESRI. All rights reserved. 48
GPS components NMEA GPS implementation NMEA SerialPort GPS Connection FileGPS We're also integrated in support for GPS. So, we have GPS components. They support the NMEA protocol so we can we can read from a serial port GPS connection or even a file GPS connection. By that, what I mean is that we can take a text file that stores a set of NMEA messages and we can read that. It's very valuable for when we're developing or debugging our applications. Copyright 2007 ESRI. All rights reserved. 49
GPS components NMEA GPS implementation Smart GPS map display Interface with serial and file GPS NMEA SerialPort GPS Connection GPS Display FileGPS We have GPS display component. This component really takes responsibility for listening to and managing or reading the serial port or file GPS NMEA messages that come through and then rendering or displaying or providing some feedback on the map. We read from the PDOP. Obviously, the x, y, an v location but we also provide to you the number of satellites and we've created a very simple symbol that sits on top of the map and displays these core pieces of information to you. It also takes responsibility or has the capability to pan or manage the navigation around the map automatically. We have some navigation capabilities in terms of as-the-crow-flies navigation, so you could pass in a coordinate and it would display to you a very simple navigation symbol with the current error pointing to the direction that you need to hit. From the standpoint of using this, we tried to create it so it's very simple and meets the needs of the majority of our developers. But, it's also developed from the standpoint that if you're not happy with the way that we've implemented support for GPS or perhaps you're a vendor who's got your own protocols, then you can replace this and use it to develop your own GPS connection components and also display components. Copyright 2007 ESRI. All rights reserved. 50
GPS components NMEA GPS implementation Smart GPS map display Interface with serial and file GPS Fires events with GPS positions for use in custom tools NMEA SerialPort GPS Connection Map GPS Display FileGPS The mission that we can edit against features layers you see on this slide here the way we've gone about this or exposed it to the developers through the ADO.NET interfaces, so you can perform special attribute queries on the map cache so we can search through the feature layers themselves. The queries are executed against the local cache. You can also load the data directly into a feature layer data table which is really ADO data table, and, of course, the featured data reader if you really want the fastest or best, most optimal performance for reading large amounts of data. Copyright 2007 ESRI. All rights reserved. 51
ADO.NET interface Spatial and attribute queries on map cache feature layers Queries are executed against local data Data loaded to FeatureLayerDataTable (ADO DataTable) *Forward and Backward FeatureDataReader (ADO IDataReader) *Forward only, faster Updates supported Annotation Layer ADO.NET FeatureLayer DataTable Layer Collection Feature Layer Feature DataReader MapCache Raster Layer And, of course, we support updating the map cache, and the way we update the map cache is through ADO. We would manage and take control of the actual feature layer and the records inside the feature layer that we want to work with. Copyright 2007 ESRI. All rights reserved. 52
Editing Edits can be performed in a disconnected mode Let's look at some of the editing capabilities in more detail. Edits can be performed in a disconnected mode. Earlier on I talked about the fact that we can work in this disconnected mode. Copyright 2007 ESRI. All rights reserved. 53
Editing Edits can be performed in a disconnected mode Only SDE layers are editable We were caching the data locally on the device, so anytime in your application as long as the cache exists, you can edit against it provided the feature layers are coming from an SDE data source. Copyright 2007 ESRI. All rights reserved. 54
Editing Edits can be performed in a disconnected mode Only SDE layers are editable Connection required to synchronize updates with the server We do require the connection to synchronize directly with the server. All the data transactions take place through the Web service. If you don't have access to the connection, then you can't post the updates back to the server itself. Copyright 2007 ESRI. All rights reserved. 55
Editing Edits can be performed in a disconnected mode Only SDE layers are editable Connection required to synchronize updates with the server Editing is supported for non-versioned and versioned transaction models We support editing for both nonversioned and versioned transaction models. Copyright 2007 ESRI. All rights reserved. 56
Editing Edits can be performed in a disconnected mode Only SDE layers are editable Connection required to synchronize updates with the server Editing is supported for non-versioned and versioned transaction models Coarse grained sketching components for geometry construction I mentioned some of the map actions, and one of the map actions we put in place is a sketching map action. You can leverage this map action. It's a very coarse-grained component. The majority of customers and users or partners want to develop applications that, of course, have editing in it, whether it's creating points, lines, or polygons or maybe modifying existing geometries. The sketching component exists we feel that the majority of users want to leverage it, so we provide it to you out-of-the-box. Copyright 2007 ESRI. All rights reserved. 57
Editing Edits can be performed in a disconnected mode Only SDE layers are editable Connection required to synchronize updates with the server Editing is supported for non-versioned and versioned transaction models Coarse grained sketching components for geometry construction Attribute editing via ADO.NET components And, we touched on the last slide, all of our attribute edits occurs via ADO.NET components. Copyright 2007 ESRI. All rights reserved. 58
Software demonstration That was just a quick overview of the SDK and some of the components inside the SDK. I'm going to pass over to Allen, and he's going to run us through a development scenario. Thanks, Myles. Let's take a look at some of the critical pieces here that Myles mentioned. The first thing we're going to do is, we're an ambitious developer and we just want to start developing straight-away with the Mobile SDK. We're going to pick a Visual Studio C# smart device, and a mobile Windows 5 Pocket PC device application. We'll let Visual Studio go ahead and build that for us. Of course, it can do so because we've previously installed the.net 2.0 compact framework. That's what gives us those options in the project new menu. If we just want to start developing, a few other pieces of the puzzle that Myles mentioned before we get started actually, is looking at this device emulator. We have this emulator that comes as part of the compact framework install, and here we can see we're connected to the PC emulator right now. That's a bit of a preconfiguration thing. After you connect and cradle, you'll see that you need to go to Active Synch and, as long as Active Synch is connected out to the emulator, because it is running right now, then that means I'll be able to run this application in real time. It's actually going to run and deploy to this emulator device that is running. That's a little bit of the background configuration that has happened here. Let's get back to development. What I'm going to do is go to the toolbox and look at some of the mobile controls that are available. We have the map control, the map cache, GPS display, and then you'll see a number of actions down here. We've got the scale bar, sketch, zoom in, and zoom out. These are the basic tools that come as part of the SDK install. What I'm going to do here is just simply drag the map onto our form that's available on the default form for this project. You'll notice that a map cache is automatically added, so one thing that's interesting is that as a developer, you know we can work with the map cache outside of the map, but you can't work Copyright 2007 ESRI. All rights reserved. 59
with the map without a map cache. The map cache is really the thing that connects you to the server on the back end. Let's take a look at that. In order to make this project run and work, we need to hook the map cache up to a URL. Let's take a look at our service that we created earlier. We go to the properties. Again, we'll just copy the mobile URL endpoint. We'll paste that in the URL property for the map cache. We're also going to specify the storage path location. This is the location on the device and right now we're looking at the emulator of the device. If we're to run this application, then we wouldn't see a map cache, and many of you may have run into this, because there's a little more coding that's involved here. What I want to do is point everyone to the ESRI EDN Web site which basically has our EDN. Basically, it has all of our walkthroughs and so forth that are set up. Here you can see we have a Mobile ADF developer scenario. Click down here. We're creating a Mobile ADF Pocket PC. It takes you through all the steps that I just basically stepped you through, and you'll see in the form load the application needs to be told to load the cache or load the map if it has one available. What we're going to do is just paste in that code. Here we're looking at making sure the cache is valid. If it is, we're going to open it. We'll add using reference to the project. You notice that there's only one assembly that is required to develop with the SDK. Unlike working with ArcObjects, you had many, many assemblies. Here, we just have the one. We should be ready to run this application. Let's do a few things more before we get going because we're running out of time here. What we're going to do add some actions so people can actually interact with the application. I'm going to add a pan and a zoom in/out action here. These are the actions that Myles was making reference to earlier. We could do sketch action and there's all kinds of custom actions that can be developed from a developer. It's essentially the same as implementing I command if you're an ArcObjects developer. Here, what I'm going to do is just title the menus. I'm going to go ahead and step out the handlers for the menu. What we need to do now is hook up the current map action to, in the first case, will be our zoom in/out map action. See how that works in a second. In the second case, set up a current map action to simply just panning. Now we have some functionality to make our application work. We have our emulator up and running. If you're using an actual device, the device would be just sitting beside me and it would be cradled and the emulator simulating that configuration. I'm going to start debugging, and you'll see what happens is when the project was to build itself, what it does it goes through and recognizes that in order for the application to deploy this to either a device or the emulator that it requires the ESRI Mobile 92CE.dll. This is the.dll that will support the.exe and that was the 540 kb.dll that Myles mentioned earlier. This went through and did the compile and now it's deploying and we'll go back to our emulator device and you can see that the application is essentially being uploaded or deployed to this device on-the-fly. Again, this is all working through Active Synch and through the emulator. Here is the Web service that we published earlier. We can see that we have some functionality to implement it. Our map action to zoom in a little different operation than you might be used to. Here, I'm actually tapping and dragging on the display, simulating using the pen device itself. If I want to pan over to the side, then I can change the action and just pan over to the map. Right now, it's just feeing off of that map cache and drawing to the display. This is a very simple application that illustrates how to use the SDK, some of the components involved including the Copyright 2007 ESRI. All rights reserved. 60
device emulator manager, the Active Synch, and basically how to bring the whole thing together with the SDK. Copyright 2007 ESRI. All rights reserved. 61
Review and Q & A Designing mobile applications.net compact framework considerations Core components Editing capabilities Thanks for that, Allen. That was a pretty wonderful demonstration there, very easy to get a viewing application up and running. Let's move on and finish up today, because we're running out of time here slowly. We're going to jump into a quick review and then a question and answer set, so this is your last chance. If you've got any questions, please forward them through now, and we'll do out best to answer them in a second. We've looked at designing mobile applications. We looked at some of the considerations in terms of the.net compact framework. We also covered the core components to the SDK itself and the editing capabilities, and then we saw a demonstration tying all these pieces together. I'm just going to take a few questions. I have a question from Spencer, and it reads, "Is ESRI planning on releasing a Java SDK for mobile applications?" The current answer to that is we don't have plans to do that. Our approach to this is to look at the demand for that requirement. I think if we start to see lots of questions and customers who are demanding that we do a Java SDK, that would definitely be something that we would look at. If you need to, feel free to e-mail me directly at msutherland@esri.com, and if you have any requirements like that, I'd definitely like to hear from you. I have a question here from Chris in Greenwood Village. "Are complex features, geometric networks, and tracking supported?" The answer to that today is that we don't support the complex features or the networks or the tracing inside the Mobile SDK and its cache itself. But, from a development standpoint, what you can do is develop a Mobile SDK application that would interact with some of the geometric networks and perform tracing on the server side. So, if you do have the connection, we can deploy that level of functionality. That's currently something that we do not have in the client side of the SDK. I have a question here from Daniel in New York which reads, "Which version of ArcGIS Server do we need to deploy Mobile?" The answer to that is today you need to purchase ArcGIS Server Copyright 2007 ESRI. All rights reserved. 62
Advanced Enterprise edition. As I mentioned previously, with that edition, you'll get 50 deployments of the SDK and, if you wish to, you can purchase additional packs of 25 deployments of the SDK deployment itself. I have a question here from Laurel, and the question reads, "What if you have a large SDE raster, say 100 gigabytes in your MXD?" That's a very good question. Today, in the way that the SDK is developed, a lot of the limitations come about because of the device and the operating system that we're running. Today, we definitely cannot support synchronizing out a 100 gigabyte raster through the Web service. One thing that you could look at doing if you wanted to deploy from a service that had such a big raster in it is to chunk out the data as much as possible. But, really, even if you're looking at one gigabyte raster data is really going to be maxing out what you could store on a mobile device and operate against as part of the SDK. I have a question here from Christopher in Chicago. "How easy is it to deploy both a PDA-based and Tablet PC-based application, keeping the functionality identical?" A simple answer to that is it's actually very easy, and the way to go about it is to actually develop around the Pocket PC platform first. Because the.net compact framework is a subset of the.net framework, if you develop the capabilities that are available inside the.net compact framework, you could very easily deploy the same application with the same capabilities on the Tablet PC. Of course, I wouldn't necessarily recommend that you develop the same user interface for both platforms, so that's definitely something you might want to modify because on the PDAs we have different ways of interacting with the devices whereas on the Tablets you can really leverage big buttons and leverage the stylus and the inking capabilities. You might want to change the user interface experience. I have lots and lots of other questions here. I'm going to take one more, and then we're going to finish up today. The question here, another from Chris in Greenwood Village, and it reads, "While disconnected, does the cache expire?" The answer to that is that no, it doesn't. The purpose behind the cache itself is really to store the data, but mainly so that we can operate in this disconnected manner. If you lose connection to the server, the cache definitely doesn't expire, and when you regain the connection to the service again, you can just continue to post data back to that service provided it's the same service that your application was previously pointing to, and by that I mean the schema exists in the same form that it was previously. Of course, if you change the schema on the back end, then your cache will effectively have expired or would no longer work with that service. Copyright 2007 ESRI. All rights reserved. 63
For more information Training seminar Building Applications with ArcGIS Server using the Microsoft.NET Framework Instructor led training Introduction to ArcGIS Server Developing Applications with ArcGIS Server using the Microsoft.NET Framework Other resources EDN Web site edn.esri.com.net Compact Framework msdn.microsoft.com/netframework ADO.NET msdn2.microsoft.com Mobile Development and Deployment msdn.microsoft.com/mobility Before we go today, I would like to point you to a few resources. On the slide you'll see that we've highlighted a few of these. You can access another Virtual Campus course titled Building Applications Using the Microsoft.NET Framework. We also have an instructor-led training course coming up, An Introduction to ArcGIS Server. I would highly recommend you do that if you haven't had experience with a Server product previously. And, also, there are other resources available for you on the Web. As Allen pointed out earlier in the session, there's the ESRI Developer Network Web site which can be accessed from EDN.ESRI.com. On the slide we also have three other great resources that you can get from our friends at Microsoft. You can read up on the.net compact framework, ADO.NET, and mobile development and deployments. Your comments help us improve our seminars. Please take a moment to complete our survey. Just click the Give Us Feedback link to take the survey. We hope you enjoyed today's seminar. On behalf of ESRI, I'd like to thank you all for attending. Copyright 2007 ESRI. All rights reserved. 64