arcgis server 发布manager 里没有Create a web application这个选项

 下载
 收藏
该文档贡献者很忙,什么也没留下。
 下载此文档
正在努力加载中...
【精品】ArcGIS_Server_For_the_Java_Platform开发培训练习
下载积分:680
内容提示:ArcGIS_Server_For_the_Java_Platform开发培训练习
文档格式:PPT|
浏览次数:1|
上传日期: 05:57:22|
文档星级:
该用户还上传了这些文档
下载文档:【精品】ArcGIS_Server_For_the_Java_Platform开发培训练习.PPT
官方公共微信ArcGIS server安装与管理_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
评价文档:
34页免费31页免费19页免费3页¥2.0039页1下载券 7页免费34页2下载券11页1下载券11页免费2页免费
喜欢此文档的还喜欢6页免费34页免费54页免费73页免费15页免费
ArcGIS server安装与管理|安​装​信​息
把文档贴到Blog、BBS或个人站等:
普通尺寸(450*500pix)
较大尺寸(630*500pix)
你可能喜欢ArcGIS Server 连接方式(ZZ) - GIS的学习 - 博客园
It is never to late to learn
随笔 - 445
Connections ArcGIS
Server services can be made accessible via Local and Internet
connections.& &Local connections are established by using ArcObjects
within a client application to connect to the Server Object Manager
(SOM).&&Internet connections are established by using native objects
within a client application to connect to a Web service endpoint.&
&"Native object" means an object managed solely in the native
development environment, like .NET or Java.&&Local connections offer the
ability to work with services, namely server objects and server
context, using the ArcObjects API and the SOAP API.& & Stateful changes
to a service (server object) can only be made using the ArcObjects API
and thus require a local connection.&&Internet connections only offer
the ability to work with services using the SOAP API, so all service
interaction is stateless.& &In general, ArcGIS Server connections in
client applications can be summarized as follows:Internet
connections always use the SOAP API and define a connection using a url
to a Web service endpoint.& &Internet connections can be used by both
internal (LAN) and external (Internet) clients.&&Local connections
always use the ArcObjects API and may use the SOAP API, depending on the
client application.&&Connections are defined using the name of the SOM
machine with optional identity credentials.&&Local connections can only
be used by internal (LAN) clients. ArcGIS Server可以通过Local和Internet两种方式连接,Local连接是在客户端利用AO连接到SOM的,而Internet连接是在客户端利用本地代理连接到Web service端,本地代理是指在本地环境(.net,java)中独立的对象。Local
方式的连接提供了利用AO API和SOAP API操作services,即server objects和server
context,如果需要永久改变server object的状态(stateful)只能利用AO
API,当然也就需要使用Local方式连接,Local连接需要提供server机器名和需要连接的service服务名,并且此连接必须利用
agsusers或agsadmin组中的添
加Identity验证;Local data sources使开发者可以通过server context操作细粒AO,即可以在Web ADF
application中使用丰富的AO功能,例如编辑图层、网络分析等。如果以编程方式使用Local data source,利用资源库ESRI.ArcGIS.ADF.Web.DataSources.ArcGISServer,通过类Functionality可以得到而MapResourceLocal也可以通过ServerContextInfo.ServerContext得到context。Internet
方式连接仅提供利用SOAP API以通过WSDL来访问和操作services的能力,而所有的service也是无状态的。对Internet
data source来说context是无效的,当然也没有细粒AO的功能,此种连接Indentity验证不是必须的,因为ArcGIS
Server Web services可以使用基于web server的验证,即在一个web
application中多个internet数据源可以采用各自不同的安全验证方式。对Internet方式连接的服务推崇使用pool类型,而
non-pool类型只对单个用户服务,并且每次用完后都得显式的进行销毁。如果以internet方式连接并使用non-pool类型服务,每一次操
作过程都会创建和销毁一个进程,这样将大大影响你的工作效率。如果以编程方式使用Internet data
source,利用数据资源库ESRI.ArcGIS.ADF.Web.DataSources.ArcGISServer,此库中包含
functionality类和其他一些用于在无状态下使用的细粒任务类。总之,客服端连接server的方式可以按如下规则选取:1、Internet连接方式使用soap api并且利用url连接到web service端,internet连接可以运用到internal(LAN)和internet网。2、Local连接方式即可利用AO API也可以利用SOAP API,根据客服端的需要,而Local连接仅能用于局域网内。ArcGIS
Server是一个服务器端的AO组件集,我们对AS的编程操作,都意味着对远端服务器上对象的操作,这是一个很大的不同。以使用AE开发成为为例,我们
新建一个对象,使用的是new关键字,这是在本地机器上新建一个对象的操作,这个操作一直封装在一个进程中。而AS的开发,意味着本地的一个对象,必须调
用远端的一个对象来实现某种功能,本地的操作进程与远程的操作进程实际上是两个不同的进程,如何在两个进程之间进行通讯呢?AS使用了分布式对象DOT来处理这个问题,ADF提供了一系列所谓的ArcObjects proxy对象,一个proxy对象就是一个远端对象在本地的引用,它的接口和方法与proxy对象的远端对象完全一致,这样,我们对proxy对象的操作,就会直接影响到它代理的远端对象。我们说过,AS是一个三层模型,其中通过浏览器访问的WEB和
WEB服务都是放在第二层,即WEB服务器上的,为了让WEB服务器上的程序能够通过操作AO组件来与GIS服务器上的AO组件进行交互,我们需要在
WEB服务器上安装ADF,如果是发布的话,安装ADF Runtime就行了。因此,AO的proxy对象都是安装在web服务器上的。WEB程序或WEB Service使用的组件是Server API,这些API分为三种:Server API,.NET WebControl和Java WebControl。当一个WEB程序连接到GIS服务器的时候,WEB程序使用的Server API将调用一个代理对象去访问远程服务器上的SOM对象,并通过SOM对象寻找到SOM管理的Server Object对象。它使用了分布式对象技术DOT。这个过程是这样的:IGISServerConnection pGISServerConn=new GISServerConnectionClass();pGISServerConn.Connect("nbjbt");//连接到GIS服务器IServerObjectManager SOM=pGISServerConn.ServerObjectM//找到GIS Server上的SOMIServerContext pServerContext=SOM.CreateServerContext("nbserver","MapServer");//通过SOM创建一个服务器对象的上下文IServerObject pSO=pServerContext.ServerO //从上下文对象找到服务器对象IMapServer pMapServer=(IMapServer)(pSO);//使用IMapServer接口来访问服务器对象。。。。。。pServerContext.ReleaseContext();//释放服务器对象的上下文,即关闭该进程ServerContext
本质上是一个GIS服务器上的进程,它也是我们服务器端编程的起点。因此,我们是通过CreateServerContext命令在服务器端上创建的,而
不是使用NEW关键字在本机上创建。我们是通过这个进程在访问服务器对象nbserver。我们的工作也是在这个进程中完成的。既然是在一个进程中编程,那么,在这个进程中新建一个对象使用的关键字就不是NEW了,而是下面的方式:新建对象 pSC.CreateObject("esriGeometry.IPoint")将一个对象放入一个进程 pSC.LoadObject(pPt)将一个对象放在进程的字典中pSC.SetObject("a",pPt)将对象从进程字典取出pNewPt=pSC.GetObject("a")ServerObject的池化和非池化模式当
我们访问一个服务器对象Server
Object的时候,这个对象是已经存在的呢?还是在访问时新建的?都有可能,这取决于我们如何选择。如果我们选择共享池化模式,则在SOM启动的时
候,SOM就建立了几个SO供外界访问,一个SO被A请求访问后,被释放回共享池中,还可以下次被B访问使用,因此,SO将可以被多个用户访问。如果是非
共享池模式,当一个请求访问时,SOM专门为它新建一个SO。这样,在池化模式下,访问与SO的比例不是1:1,它支持更多的用户;而非池化模式就是1:1的,它支持的用户比池化模式少。SO
放在什么地方,对,它就放在一个Server
Context中,即一个进程中。一个访问连接到SO,是一个例程,这个例程是放置在一个进程中的。而对于这个进程的特征,我们还需要进一步设置,即进程
的孤立性。如果Server Context是高孤立的(high
isolation),那么一个进程中只能放置一个例程,这样保障了安全性;如果是低孤立的,四个访问连接的例程都可以放置在一个进程中,它的特点是节约
资源。至于如何设置,就有必要考虑我们的硬件设备了
阅读(...) 评论()【概述】概述如何通过ArcGIS Server 9.3提供的Mobile SDK开发移动设备应用。【环境】Windows XP SP3,ArcGIS Server 9.3,Visual Studio 2008,Windows Mobile 6 Professional SDK
ArcGIS Mobile简介 随 着3G移动通讯时代的到来,移动设备开始扮演越来越重要的角色。包括各种智能手机、PDA、导航设备、平板电脑在内的各种移动终端,在人们生活和业务中发 挥越来越重要的作用。对于移动设备来说,构建其上的GIS应用天生与目前基本属于移动设备标准配置的GPS关系密切;同时,有了3G高速带宽的支 持,GIS在移动设备上的各种应用,也能够凭借互联网的东风,扶摇直上。这个时候,ArcPad以及其它很多嵌入式GIS开发工具已经不能满足这样的需求 了,ArcGIS Mobile应运而生。 ArcGIS Mobile开发的应用,不仅支持在线应用,它同时也支持离线应用。在应用程序有可用的网络使用时,ArcGIS Mobile应用可以在线同步更新数据,并下载到本地设备上作为缓存;当网络暂时不可用时,ArcGIS Mobile应用同样可以通过操作缓存数据来使用;甚至在应用部署的时候,我们可以预先生成缓存直接部署到目标设备上。这种灵活的模式使ArcGIS Mobile应用在移动环境下有着非常好的伸缩性。
通过SDK我可以做什么? 通过ArcGIS Mobile SDK,我们可以实现以下一些主要功能:
1. 浏览空间数据2. 捕捉、标注GPS位置3. 创建或更新点、线、面等要素4. 通过ADO.Net编辑表格数据5. 自动从GIS服务器同步更新数据
我们看到,以上的这些功能,基本上已经可以满足移动GIS应用的需求了。那么我们再来看一看从整体流程上如何创建一个移动应用。
从上图我们可以看到,通过ArcGIS Mobile创建一个移动应用大体可以通过这几个步骤完成:
1. 在ArcGIS Desktop中设计创建地图2. 将地图通过ArcGIS Server发布3. 使用ArcGIS Mobile SDK创建移动应用程序4. 将程序部署到目标设备上
是不是很简单?对于了解并熟悉ArcGIS Server和.Net程序开发的人来说,开发移动应用无非是换了一个开发环境——在ArcGIS Server强大的支持下,万变不离其宗。
好,让我们开始开发我们的第一个ArcGIS Mobile应用吧!
准备数据并发布服务 对 于熟悉ArcGIS Desktop和ArcGIS Server的人来说,这和桌面应用的数据准备没有任何区别。我们首先使用ArcMap进行地图的组织,然后通过ArcCatalog或者ArcGIS Server Manager将这个地图发布成服务,只需注意,为了支持我们的移动应用,在发布服务时,选中“Mobile Data Access”。
我们在移动设备上使用的地图服务一般应该是如下的这种URL形式:
支持的设备平台 ArcGIS Mobile 9.3支持以下这些智能设备平台:
Windows Mobile 6 ProfessionalWindows Mobile 6 StandardWindows Mobile 5 Pocket PCWindows Mobile 5 SmartphoneWindows Mobile 2003Windows CE .NET 5.0
以 上这些移动设备平台SDK都可以在微软的网站上免费下载。另外需要说明的是,除了这些智能设备,ArcGIS Mobile支持完整的.Net框架,因此ArcGIS Mobile也支持开发能够在Ultra-Mobile PC(超便携移动个人电脑,操作系统可能包括Windows XP、Windows XP Tablet PC edition和Windows Vista)上运行的桌面程序。当然,在进行开发之前,你首先需要确定你的应用最终是要部署到哪里的,为智能设备开发的应用和为PC开发的应用是不能通用 的。
使设备联网 如今我们的移动应用大部分都要整合到Internet中去,形成 MID(Mobile Internet Device)应用。ArcGIS Mobile也需要Internet与ArcGIS Server进行同步和交互,所以,我们需要首先想办法让我们的设备能够联网。 关于使模拟器上网,你可以在Google搜索“模拟器 上网”,有很多可供参考的材料。这里选择的是适合只有一个IP地址的上网方法:通过ActiveSync连接PC上网。
1. 打开ActiveSync ,点击“文件”—>“连接设置”,在“允许连接到以下其中一个端口”下选择“DMA”。
2. 打开Visual Studio,点击菜单“工具”—>“设备仿真管理器”,选择模拟器,在右键菜单中点击“连接”。等模拟器启动后,再点击“插入底座”(Cradle),此时,通过ActiveSync来连接到模拟器,并进行数据同步。
3. 在模拟器中,点击“开始”—>“设置”,点击“连接”选项卡。(1)选择“网卡”-“我的网卡连接到”选“默认单位设置”。在 “点击适配器以修改设置:”下面选“AsyncMac NDISWAN Miniport”,选中“使用服务器分配的IP地址”,点击右上角的“ok”,连续确认后结束设置。(2)在“连接”选项卡中选择“连接”。在“高级”选项卡中,点击“选择网络”,在“在程序自动连接到Internet时,使用:”下面选“单位设置”(默认是“Internet设置”),然后,连续点击右上角的“ok”确认设置。
4. 在“设备仿真器管理器”中选中该模拟器,先点击右键菜单中的“移除底座”,再点击“插入底座”,重新与ActiveSync连接一次后就可以上网了。打开浏览器,输入Google的网址,它还很智能唉,自动跳转到布局比较小的Mobile页面上去了。
测试Mobile服务和设备连接情况 在 正式动手开发我们的移动应用之前,先不要着急,我们还没有检查我们的Mobile服务是否正常,我们也没有检查设备能否通过网络连接到GIS服务器,获得 Mobile地图数据。所以,最好还是先测试一下看看效果再说。但是,我们还没有开发任何一个哪怕“Hello World”程序,怎么测试呢? ArcGIS Mobile想得很周到,你从浏览器打开ArcGIS Server Manager可以看到,首页很醒目的一个选项是“Create a mobile project”。跟Web程序很类似,通过这个向导我们可以快速地生成一个Mobile应用。
哦,这里插播一句,如果你对智能设备调试比较熟悉的话,你也可以使用Sample程序(比如:“%ARCGIS_HOME%DeveloperKitSamplesNETServerMobile_ApplicationsMapViewer_PPC05CSharp.zip”)来测试,效果也很不错的。
这 个向导很简单,无非根据一些提示选择一些数据源,一路next而已。套用一句书面语:“此处不再赘述”——听说有一部明朝历史剧,愣是能把一个太监泡茶拍 了小半集,我想如果是我看一定会睡着的。OK,新建完成以后我们再点击“View Mobile Project via the web”,在跳转的页面中点击“ArcGIS Mobile Application”,下载“ArcGISMobile.cab”到本地。这个cab文件可以在设备中进行安装,跟PC上经常出场的 “Setup.exe”类似。这这里,我这个应用的名称叫“WuMobileMap”。
我 们的阵地要转移到模拟器上了,当然,目前为止这个可爱的“ArcGISMobile.cab”文件还在PC硬盘上,先想办法给挪到设备上去。这个很简单, 在模拟器菜单“File”->“Configure…”中设置“Share folder”到你PC上的一个目录,这个目录就好像一张存储卡一样插到设备中去了。
好 了,一切完成以后,我们可以从模拟器的资源管理器中找到“Storage Card”,运行上面的那个cab文件,把ArcGIS Mobile Application安装到设备上。OK,运行它!它会提示你需要你指定一下下载应用的位置,我输入了我的机器名和arcgis服务名称,在这个位置, 程序可以找到我们刚刚生成的Mobile应用“WuMobileMap”。
再继续,不出意外的话,我们很快就看到了服务器上发布地图。嗯,证明了服务和连接都没有问题。
新建项目 从这里开始,我们从零开始构建我们自己的移动设备应用,这才是我们的目的所在。
新建一个Smart Device项目,选择目标平台,这里选择的是Windows Mobile 5 Pocket PC。同时,选择.Net框架版本为2.0 。
点击确定按钮以后,经过短暂的等待(多短暂视你的机器强劲程度),和桌面应用开发一样,我们看到项目解决方案里面有一些自动生成的文件和目录,仔细一看,竟然还有一个Form1,看名字就是那么的熟悉!看,这和桌面开发有什么区别?
有个地方值得我们稍微注意一下,看下图的下拉框:
这 个下拉框包括了所有你可用的目标设备(视你安装了多少个智能设备SDK),最后以Emulator结尾的表明是模拟器,如果你手边没有一个真实的智能设 备,那当然要选择模拟器进行开发;显然,还有一个选项是为真实设备准备的,如果你手头有一个真实的智能设备,并且这个设备已经成功地和电脑连接,那么你可 以选择这个直接在机器上开发。 上面的Square表示模拟器的屏幕是方形的,当然,对应的还有长方形的,一般来说是4:3,比如 320×240像素大小。这个通常在模拟器名称上可以看出来。对于计算机屏幕大小还有一些术语,比如VGA、QVGA等等,等你看到的时候,适时 Google一下就知道了。 最后再唠叨一句,如果你开发的是中文程序(废话…),最好还是要下载一个中文版的模拟镜像装上,要不然在调试的时候中文内容只能看到方块字(是真的方块字,每个字都是一个方块…)是一件很郁闷的事情。
Windows Mobile 6 Professional SDK:/download/f/2/3/f232f773-7edc-4300-be07-d3b76a5b3a91/Windows%20Mobile%206%20Professional%20SDK%20Refresh.msi
Windows Mobile 6 Professional中文镜像:/download/0/1/2/012bfbba-9fe5-4e68-86c9-ddd/0804/Windows%20Mobile%206%20Professional%20Images%20(CHS).msi 好了,调试一下,在模拟器中我们可以看到一个空白的窗体,表明我们的工程创建成功了。好了,这个模拟器你可以放在那里不要关掉,好节省它每次启动花费的时间。
顺便打开Toolbox(工具箱)看看,在ArcGIS Mobile Controls选项卡下可以看到ArcGIS Mobile SDK提供的若干开发控件。让我们还是从听名字就最熟悉的Map控件开始吧……
Map控件 和 桌面程序类似,Map控件提供了对地图内容进行管理和控制的功能。当我们给窗体添加了一个Map对象时,我们可以发现Map自动绑定了一个 MobileService对象,在ArcGIS Mobile中,地图内容通过MobileService控件获得和发送,Map则主要负责表现。MobileService对象同时还能够管理缓存。 我们指定MobileService对象的Url属性为上面发布的Mobile地图服务地址:。
接 下来,我们需要给Map控件指定若干操作,比如平移、缩放等等。这可以在Map控件的MapActions集合中进行设置,这里首先先添加 PanMapAction、ZoomInMapAction等几个基本操作。在我们预先设定的工具条按钮上(当然,如果你喜欢使用菜单也是一样的),将每 个按钮的点击事件设定到对应的地图操作上去。我是这样做的(每个按钮设置一个Tag):
private void toolBar_ButtonClick(object sender, ToolBarButtonClickEventArgs e)
this.map.CurrentMapAction = this.map.MapActions[Convert.ToInt32(e.Button.Tag)];
好 了,Map控件的基本雏形完成,万事俱备、只欠东风,只要有数据过来,我们就可以渲染出来,并且进行操作了。让我们想一想现在我们有什么,还需要什么。我 们有的就是这个Map对象和在服务器上发布的Mobile地图服务,显然,要想显示地图,我们还需要把Mobile服务的数据下载到本地设备上来,好,这 就是我们剩下的目标。 对于第一个应用,本地设备上没有缓存,需要首先初始化缓存的目录(btw:智能设备上的目录结构和PC不同,它有一个根目录,所有文件在这个根目录下组织,比如“Storage Cardcache”),在此基础上打开缓存,用以接受数据。
这一切都完成以后,程序就要告诉服务器,嗨,把数据发过来了。好的,我现在需要获得所有的Feature,那么就用MobileService的GetFeatureDataAsync方法通知服务器,服务器很聪明的把结果全部给你返回过来。
以上这一切,我都让它在窗体的Load事件中完成。
private void FormMain_Load(object sender, EventArgs e)
this.mobileService.CacheStoragePath = Environment.GetFolderPath(Environment.SpecialFolder.Personal) + @"WuMobileMap_Cache";
if (!this.mobileService.IsValid)
if (this.mobileService != null && this.mobileService.IsOpen)
this.mobileService.Close();
this.mobileService.Open(ESRI.ArcGIS.Mobile.MobileServices.CacheOpenMode.Create);
this.mobileService.GetFeatureDataAsync(map, false, "GetFeatures");
好了,我们现在已经可以浏览地图了,运行一下,看看我们的成果:
到这里,可以算完成了一个简单似“Hello World”的移动GIS应用了。在本文的后续,将对ArcGIS Mobile的其他功能开始展开叙述,本篇先暂告一段落:)
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:360803次
积分:5615
积分:5615
排名:第1480名
原创:178篇
评论:394条
(1)(2)(1)(1)(2)(19)(4)(1)(2)(10)(3)(22)(21)(4)(5)(1)(1)(6)(4)(1)(12)(6)(23)(6)(3)(5)(3)(1)(2)(6)}

我要回帖

更多关于 arcgis server 发布 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信