ESRI 框架:java 与 javascript

发布于 2024-08-02 08:31:25 字数 275 浏览 4 评论 0原文

我即将使用 ESRI 产品(例如 ArcGIS Server 和 Image Server)开发一个 Web 地图应用程序。

我找不到 Java Web ADF 和 Javascript 框架之间的良好比较。它们当然是不同的,因为一个是完整的环境,另一个只是客户端,但它更加简洁,而且启动步骤也很少。

另一个问题是 Java Web ADF 与我们当前的应用程序服务器 (JBoss 4.2.2) 不兼容,需要旧的 4.0.2 版本。

有人有经验可以帮助我吗?

非常感谢。

I'm about to develop a web mapping application with ESRI Products like ArcGIS Server and Image Server.

I can't find a good comparison between the Java Web ADF and the Javascript Framework. They're of course different because one is a full environment and the other is only client side but it's much more concise and the step to start is minimal.

Another problem is that the Java Web ADF is not compatible with our current application server (JBoss 4.2.2) and require an old 4.0.2 version.

Someone out there has experience that can help me?

Many thanks.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(9

那小子欠揍 2024-08-09 08:31:25

我没有使用 Java Web ADF 的直接经验,但我使用过 .Net 版本,现在正在使用 Flex API。

我从其他开发人员那里看到和听到的 Web ADF 的主要问题是它们使用起来非常麻烦。较新的框架(Javascript、Silverlight 和 Flex)更轻量、更易于使用,并且您可以更快地使用它们。例如,我用 .Net ADF 编写的一个测试应用程序花了近三周的时间才放弃。当时我放弃使用 ADF,只是对 ArcGIS Server 进行 WebService 调用,因为这比尝试找出 ADF 更容易。与在我上周刚刚开始的类似项目中使用 Flex API 相比,截至今天早上我已经有了一个几乎完整的应用程序。

我会避免使用 ADF,而使用 Javascript API。

I don't have direct experience with the Java Web ADF, but I have worked with the .Net version and am now working with the Flex API.

The main problem with the Web ADFs that I have seen and heard from other developers is that they're very cumbersome to use. The newer frameworks (Javascript, Silverlight, and Flex) are much lighter-weight, easier to use, and you can up to speed much quicker with them. For example, a test application I wrote withg the .Net ADF took me almost three weeks before I gave up on it. At that time I gave up using the ADF and just did WebService calls against ArcGIS Server since that was easier to do than to try to figure out the ADF. Contrast that to using the Flex API on a similar project, which I just started last week, and I have an almost complete app as of this morning.

I would avoid the ADFs and go with the Javascript API.

或十年 2024-08-09 08:31:25

你需要什么取决于你想要什么。如果您只想创建一个查看器(而不是用户可以在其中添加(例如绘制)地理数据的应用程序),请务必使用 javascript api!

我已经使用 web adf (v9.3) 一段时间了,但每次仍然感到沮丧。主要是因为它缺乏适当的文档,但也有其他各种原因,例如:

  • 它要求您使用 jsf 参考实现,但不允许您使用它的一些基本功能,例如 (f:)subviews 。这使得无法使用任何模板系统,例如facelets。
  • 您希望能够配置的许多内容都硬编码在 esri 的 jar 文件中。例如,地图必须直接位于 <<表格>它必须是 DOM 树的第一个元素。如果不是,地图移动侦听器(例如 ContinuousPanListener)将无法找到地图,因此无法更新地图位置。
  • 不可能以 xml 样式对 jsp 页面进行编码,因为 Web adf 使用 xslt 在代码中的很多位置内联了一些内容。
  • 它的学习曲线非常陡峭,如果没有适当的文档,您将需要花费几天甚至几周的时间来学习如何做最琐碎的事情。其中一些最终是完全不可能或不切实际的,因为您没有采用 esri 的思维方式。
  • 默认界面不是很直观。您可能仍然需要在 javascript 中做大量工作才能让应用程序按照您的喜好进行绘制。
  • 撤消功能需要版本化数据库,这对于同时服务超过 10 个左右用户的应用程序来说是不切实际/不可能的,此外,每个撤消操作到服务器的往返也是一种浪费。

简而言之:您可以制作一些有趣的应用程序,如果您了解自己的知识,那么该领域有很多工作可以找到,但如果只是为了“某个项目”,我会切换到一些......任何!其他框架,例如 openGeo..

What you need depends on what you want. If you want to create just a viewer (as opposed to an application in which users can add (e.g. draw) geographical data), by all means, use the javascript api!

I've been working with the web adf (v9.3) for some time now and am still frustrated at every turn. Primarily for its lack of proper documentation, but also for various other reasons, such as these:

  • It requires you to use the jsf reference implementation, but it does not allow you to use some of its basic functionality, such as (f:)subviews. This makes it impossible to use any templating systems, such as facelets.
  • Lots of stuff you want to be able to configure is hardcoded in esri's jar files. For example, the map MUST be directly under < form> which must be the first element of the DOM tree. If not, map-movement listeners such as the ContinueousPanListener are unable to find the map and hence fail at updating the map position.
  • It's impossible to code your jsp pages in xml style, since the web adf inlines pieces of at a lot of places in your code, with xslt.
  • Its learning curve is very steep and without the proper docs, you'll be looking for days or even weeks on how to do the most trivial things. Some of these end up to be downright impossible or impractical, because you're not adopting esri's mindset.
  • The default interface is not very intuitive. You may still end up doing lots of work in javascript to get the way the application draws to your liking.
  • The undo functionality requires a versioned database, which is impractical/impossible for application that serves more than 10 or so users at the same time, plus, the round trip to the server for every undo action is a waste.

In short: You can make some interesting apps and if you know your stuff, there's work a plenty to be found in the sector, but if its just for 'some project', I'd switch to some.. any! other framework, such as openGeo..

天冷不及心凉 2024-08-09 08:31:25

Web ADF 是 ESRI 创建 ArcGIS Server 简化 API 的首次尝试。然而,随着时间的推移,Web ADF 最终产生了自己的抽象,这些抽象与“标准”ArcGIS Server ArcObjects API 一样复杂,但功能却不那么强大。因此,我会推荐后来的版本...... javascript、flex 等

Web ADF was ESRI's first attempt to create an ArcGIS Server simplified API. However, as time progressed, the Web ADF ended up with its own abstractions that were as complicated as the "standard" ArcGIS Server ArcObjects API and not as powerful. Therefore, I would recommend the later incarnations... javascript, flex, etc

半衾梦 2024-08-09 08:31:25

这取决于要求。
与 java script api 相比,在 java web adf 中,您可以更灵活地使用 arcobjects。
我正在使用 .net adf &我想转向 jsapi。但由于 jsapi 中 arcobject 使用的限制,我仍然使用 web adf。
我认为与 web adf 相比,jsapi 仍然没有增长。仅供观众使用小任务js api就可以了。但如果您正在创建复杂的任务并且地理处理那么坚持使用 web adf 是值得的。

Its depends on the requirements.
I java web adf you could have more flexiblity to use arcobjects compared to java script api.
i am using .net adf & i was wanted to move to jsapi. but due to limitation of arcobject usage in jsapi i am still with web adf.
I think still jsapi is not grown as compared to web adf. for just viwer & small task js api is fine. but if you are creating complex tasks & geoprocessing then its worth to stick with web adf.

怪我太投入 2024-08-09 08:31:25

如果您需要编辑地理空间数据,则必须使用可访问 ArcObjects 的 Web ADF。

如果您只是查看数据,也许一些红线未保存到您的地理数据库中,那么 JavaScript API 就可以很好地工作。

地理处理可以在 JSAPI 中完成。您还可以发布模型并在 JSAPI 中使用它们。

我听说较新的 API - JavaScript API 在不久的将来将具有编辑功能。

如前所述,Web ADF 范围广泛且相当复杂。它有一个很好的学习曲线。我刚刚开始思考并弄清楚其中的逻辑。我正在使用 .NET ADF v9.3.1,一旦我开始了解 API,就没有遇到太多问题。它不适合临时用户。

If you need to edit geospatial data then you have to use the Web ADF which is access to the ArcObjects.

If you are just working with viewing data maybe some redlines that are not saved to your geodatabase then JavaScript API works nice.

Geoprocessing can be done in the JSAPI. You can also publish models and use them in the JSAPI.

I hear that the newer APIs - JavaScript API will have the ability to edit in the near future.

As is mentioned the web ADF is broad and fairly complex. It has a good learning curve to it. I have just started getting my head around it and figuring out the logic. I am using the .NET ADF v9.3.1 I have not had many problems with it once I started figuring out the API. It is not for the casual user.

み青杉依旧 2024-08-09 08:31:25

您也可以使用地理处理服务通过 JSAPI 进行编辑。 2.0 版(随 ArcGIS Server 9.4 一起推出)将内置编辑功能。也就是说,如果计划涉及通过面向公众的网页公开地理空间数据的编辑,则需要重新考虑该计划。如果您在内部工作,ArcGIS Engine 可能是更好的选择。

You can do editing via the JSAPI using a geoprocessing service too. Version 2.0 (due out with ArcGIS Server 9.4) will have editing capabilities built in. That said, if a plan involves exposing editing of geospatial data via a public facing webpage, that plan needs to be rethought. If you are working internally, ArcGIS Engine is probably a better option.

全部不再 2024-08-09 08:31:25

远离 Java Web ADF。我宁愿把热熨斗放在眼睛里,也不愿用 ADF 显影。它不能与其他 JSF 框架很好地配合,任何自定义功能都会导致您尝试开发 javascript - 但只能首先将 javascript 嵌入到 XSL 页面片段中。它很麻烦、令人困惑,但是——至少它很慢。

ESRI 不推荐将 Java Web ADF 用于任何新应用程序。

Stay far, far away from the Java Web ADF. I would rather stick hot irons in my eyes than develop with the ADF. It doesn't work well with other JSF frameworks, any custom functionality results in you trying to develop javascript - but only by first embedding the javascript within XSL page fragments. It is cumbersome, confusing, but - at least it is slow.

ESRI is not recommending the Java Web ADF for any new applications.

往事随风而去 2024-08-09 08:31:25

我们刚刚经历了同样的事情,如果您想要一个具有“丰富”前端的基于轻量级服务的应用程序,而不是臃肿的 ADF,那么 ESRI REST API 似乎是您的最佳选择。

英国网站上有一个关于所有 ESRI 框架的很好的总结 此处

We've just gone through the same thing and it would appear the ESRI REST APIs are the way to go if you want a lightweight services based application with a 'rich' front end, rather than the ADF bloat.

There's a good summary of all the ESRI frameworks on their UK site here.

陌伤浅笑 2024-08-09 08:31:25

使用 REST API 和客户端 API(JS、Flex、Silverlight)进行编辑将在版本 10(版本 9.4 重命名)中提供,该版本将于 2010 年夏季发布。

这个线程现在有点旧了,但我同意那些建议的人不使用 Java ADF。使用 JavaScript、Flex 或 Silver light API,因为它们的扩展性更好。如果您需要在服务器上执行 GIS 操作,请在自定义 Web 服务中使用 SOAP API。仅在确实需要时才查看 ArcObjects,然后确保使用服务器对象实用程序或扩展,以便为自己提供创建快速运行的在线应用程序的最佳机会。

http: //edndoc.esri.com/arcobjects/9.2/net_server_doc/developer/samples/web_applications/arcgis_simple_server_object_extension/8e8b2bf6-1877-4c48-80fe-266f5fa70f57.htm

Editing with the REST API and the client API's (JS, Flex, Silverlight) will be available at version 10 (verison 9.4 renamed) which will be released in Summer 2010.

This thread is a bit old now, but I concur with those who suggest not using the Java ADF. Use the JavaScript, Flex or Silver light API's as they scale much better. If you need to perform GIS actions on the server then use the SOAP API in a custom web service. Only look at ArcObjects when you definitely have to and then make sure you use a Server Object Utility or extension to give yourself the best chance of making a online application that runs quickly.

http://edndoc.esri.com/arcobjects/9.2/net_server_doc/developer/samples/web_applications/arcgis_simple_server_object_extension/8e8b2bf6-1877-4c48-80fe-266f5fa70f57.htm

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文