﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>语源科技BlogJava-zkjbeyond</title><link>http://www.blogjava.net/zkjbeyond/</link><description>原创专栏 开源学习</description><language>zh-cn</language><lastBuildDate>Tue, 28 Apr 2026 05:07:55 GMT</lastBuildDate><pubDate>Tue, 28 Apr 2026 05:07:55 GMT</pubDate><ttl>60</ttl><item><title>说说arcgisserver9.2</title><link>http://www.blogjava.net/zkjbeyond/archive/2006/11/17/81869.html</link><dc:creator>原创专栏 开源学习</dc:creator><author>原创专栏 开源学习</author><pubDate>Fri, 17 Nov 2006 15:06:00 GMT</pubDate><guid>http://www.blogjava.net/zkjbeyond/archive/2006/11/17/81869.html</guid><wfw:comment>http://www.blogjava.net/zkjbeyond/comments/81869.html</wfw:comment><comments>http://www.blogjava.net/zkjbeyond/archive/2006/11/17/81869.html#Feedback</comments><slash:comments>14</slash:comments><wfw:commentRss>http://www.blogjava.net/zkjbeyond/comments/commentRss/81869.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zkjbeyond/services/trackbacks/81869.html</trackback:ping><description><![CDATA[
		<p>没时间参加大会，下载了文档看了看。</p>
		<p>很是失望！随便说几条</p>
		<p>
				<strong>一、arcgis server的进一步推广</strong>
		</p>
		<p>自从9.0推出arcgis server我就感觉不妙。那时rob的 <a href="http://www.china-pub.com/computers/common/info.asp?id=26147">without ejb</a> 在国内正是火热，关于类似EJB的远程调用组件模型都值得我们思考。但ESRI却把宝压在这上面。</p>
		<p>不但进一步完善COM恶心的组件模型，还通过java-com桥，.net对com的向下兼容，整合出了arcgis server。</p>
		<p>增加的开发难度一会在说。”循证框架“的选择权利也不给我们了吗？sde/soc/som/webserver 我都装在一台机器上，还是远程访问，够郁闷。系统/平台的分层不一定都要物理分离吧！ </p>
		<p>
				<strong>二、关于开发平台和操作系统平台</strong>
		</p>
		<p>     .net/j2ee 的比较会带来太多的争论。具我了解esri对于java/.net开发是两个项目组。所以公司的侧重，开发的难易程度很是明显。当然底层组件的开发更重要。</p>
		<p>      据悉esri gis软件最早是在unix系统下运行。不知道什么时候靠拢到window了。估计MS资组esri了<img src="http://www.gissky.net/blog/images/emot/face2.gif" /> 。就arcgis server 最先发布的是window平台下的。然后才是linux/solaris。。。别的不敢说，arcims9.1在 window/solaris/ibm aix的表现相差很多。当然是window支持的最好。 </p>
		<p>    虽然我喜欢.net的简单、开发效率。但我更相信大的企业应用是unix的天下。也就是j2ee是首选。arcgis server /arcims虽然官方支持多了平台，但是让我选择的话，为了让自己能睡着觉，我会先给客户选择window 2003。真是悲哀，客户花100万买的ibm p570/aix 居然让在那躺的睡觉。</p>
		<p>     esri的做法让我很是不爽。</p>
		<p>
				<strong>三、esri烦乱的产品线</strong>
		</p>
		<p>    作为gis界”老大“，让人琢磨不透的复杂的产品线，让国内gis行业不能很好的发展，把门槛提的这么老高，到底是为了多卖点钱，随意分割产品呢？还是要故作深沉呢？ 首推arc engine,卖老贵，还没什么东西还有gis portal/adf/webservice支持....什么GS玩意？把gis这部分做好就让人满意了，还老跟着it潮流，可怜我们这帮gis程序员。</p>
		<p>可能这也不能怪美国老，可能他们用的不错，但esri中国也给我们过滤一下啊。</p>
		<p>
				<strong>四、技术选择</strong>
		</p>
		<p> esri是个没有创新的公司，只能跟着规范走的弱弱。</p>
		<p>1、应用iframe/frame无刷新的提交数据是什么时候提出了，可能这方面arcims 的htmlview算早了吧！看看现在的AJAX，官方文档只在9.2里出现过。但ajax还没出现，无刷新的技术当在javaeye讨论的时候，我这个新手就早在htmlview见识过。我想表达的是 为什么在我接触的arcims3.0/4.0/9.0 htmlview模板 丝毫没有变化过。这么好的思想n年都没有进步，还有模板例子中那些恶心，难懂的javascript代码？</p>
		<p> 2、顺着ajax说下去。jsf/asp.net 这类 mvc框架天生不适合ajax的应用，而webgis天生就是ajax应用。 为什么选择这么恶心的官方标准。随便搜索一下ms ajax</p>
		<p>
				<a href="http://searchwebservices.techtarget.com.cn/atlas/">http://searchwebservices.techtarget.com.cn/atlas/</a> 人家ms用ajax有atlas，</p>
		<p>
				<a href="http://www.cnw.com.cn/news/news/htm2006/20060619_10C8P.htm">http://www.cnw.com.cn/news/news/htm2006/20060619_10C8P.htm</a>  sun也不在jsf上搞ajax。 顺便在这推荐一下 dojo <img src="http://www.gissky.net/blog/images/emot/face2.gif" />。</p>
		<p>esri不能这样落伍了，为什么jsf还没有正式发布的时候，你的arcgis server ADF for java 就选择的jsf。为什么那时不关注一下ms的atlas。 而还要自己写那些恶心的javascript代码， 用服务器端语言封装javascript。 我们是跟着你走，你跟这 sun/ms 走。 </p>
		<p>难道不知道 sun 提出规范/标准基本都是<img src="http://www.gissky.net/blog/images/emot/face50.gif" />吗？强烈建议大家看 without ejb。</p>
		<p>不知道跟ms合作的公司一般都会倒闭吗？</p>
		<p>
				<strong>五、谁能给我解释AO如何在浏览器调用？</strong>
		</p>
		<p>题目有些问题。</p>
		<p>arcgis server 最想解决的问题是 让AO对象可以用浏览器调用。而不是象在arcims中，都是通过人可以识别的xml来描述。而是通过远程对象访问。</p>
		<p> 到底是二进制远程对象访问好呢？还是象webservice 的xml协议好？我没能力说，但就开发难度，”性能“来说，arcims比arcgis server强很多。</p>
		<p>所以arcims能解决的问题，没必要arcgis server。小道消息，arcims还有两年的生命力。</p>
		<p> 关于arcgis server能实现的功能我们很想与人讨论。谁有兴趣可留言。</p>
		<p> 我们可以从这个角度考虑。 arcmap是AO的实现。试问你arcmap的功能用了多少？没多少吧！因为很多人认为mapinfo比arcmap好用多了。　AO庞大的类库你熟悉吗？谁敢说熟悉，赶快通知我，我去拜师！</p>
		<p>既然在桌面环境下，我们也没用AO的多少功能。更不用说我们二次开发商的客户了。所以我说：把AO搬到服务器端意义不大。</p>
		<p>当然不是没意义，就象without EJB中说的。我们并不是在j2ee中不用ejb，但至少90%的j2ee项目不需要EJB，但我们却用了。</p>
		<p>我现在就怕，arcgis server的宣传把国内那些所谓的“方案撰写者”迷失了。</p>
		<p>前天和一朋友聊天，他说arcgis server可以实现严谨的浏览器采集（可能只拓扑关系，图形校验等）。但浏览器上的绘图限制已经让AO数据编辑没什么意义了。还是用arcsde for　java api.(不知道.net用户怎么办，用c的api?)</p>
		<p>
				<strong>六、后记</strong>
		</p>
		<p>一气呵成，大家看着开心一下就好。</p>
<img src ="http://www.blogjava.net/zkjbeyond/aggbug/81869.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zkjbeyond/" target="_blank">原创专栏 开源学习</a> 2006-11-17 23:06 <a href="http://www.blogjava.net/zkjbeyond/archive/2006/11/17/81869.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>说说关于AJAX的书籍</title><link>http://www.blogjava.net/zkjbeyond/archive/2006/07/03/56224.html</link><dc:creator>原创专栏 开源学习</dc:creator><author>原创专栏 开源学习</author><pubDate>Sun, 02 Jul 2006 17:12:00 GMT</pubDate><guid>http://www.blogjava.net/zkjbeyond/archive/2006/07/03/56224.html</guid><wfw:comment>http://www.blogjava.net/zkjbeyond/comments/56224.html</wfw:comment><comments>http://www.blogjava.net/zkjbeyond/archive/2006/07/03/56224.html#Feedback</comments><slash:comments>12</slash:comments><wfw:commentRss>http://www.blogjava.net/zkjbeyond/comments/commentRss/56224.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zkjbeyond/services/trackbacks/56224.html</trackback:ping><description><![CDATA[
		ajax这个词很是流行,相关的图书也不少.周末又到书店(杭州)仔细翻了翻这些图书,大感失望!难道我们国人就写不出像样的本书来吗?<br />
图书大厦躺着的就这几本.我就枉自评评.排名由烂到优!<br /><br /><strong>1 Ajax开发精要——概念、案例与框架  </strong><br />
看过作者写的,知道作者也下了不少功夫学习ajax.在网上发表,还挺感激你的,印成书买就得说两句了.<br />

   首先我先声名,我只看了你书的目录就没兴趣看下去了.《Ajax开发简略》倒是看过.我猜测作者在听说ajax这个名词前对
javascript,css,dom甚至web开发经验也不多.整书好像在解释A+J+A+X的概念一样,完全没有深度.书中涉及xml,
javascript,css,html.....基本概念的解释,sorry,不是解释,而是作者对它们的理解.<br />
    更有趣的是,作者在   第11章  开源Ajax框架 中举的例子,暴露作者根本没有对ajax有彻底的认识.<br />
    文中举的例子到是浅显易懂.很适合初学者.<br />
   <br />
    推荐指数:  1星. <br />
    推荐理由:  如果你是web开发入门者,可以试试这本书,可以与作者共同进步.<br /><br /><strong>2 征服系列e书.</strong><br />
征服Ajax——Web 2.0开发技术详解<br />
征服Ajax——Web 2.0快速入门与项目实践（Java）<br />
征服Ajax——Web 2.0快速入门与项目实践（.net）<br />
征服Ajax+Lucene——构建搜索引擎  <br /><br />
   一进门,看到醒目的征服系列图书.封面够恶心的.据说是几个老师写的书.一个ajax技术,拆成四本书来讲.明显要渣我们劳动人民的血汗钱.<br />
   书中几乎没有亮点,抱歉我连目录也没看完.为了图书的厚度,对些基本的知识不厌其烦的叙述,牢牢叨叨.难道我不知道javascript语言吗?我不知道表单吗?我要学的是ajax新的思想,摆脱抓住中心思想好好不好啊.<br />
   本来对  征服Ajax+Lucene——构建搜索引擎   还有点兴趣,可是絮烦的基础知识介绍让我打消的买书的念头.<br /><br />
    推荐指数:  1星半. <br />
    推荐理由:  如果这四本书可以修订成一本的话,我相信还是不错的.<br /><br /><strong>3  Ajax Hacks (英文影印版)  </strong><br /><br />
    如果你想重构你的现有网站或系统的话,你可以看看这本书.本书试图对ajax应用做全面介绍,不能算纯技术书籍.书中也叙述了几种ajax的框架,也讲到开发ajax程序时遇到的些问题及解决方法.<br />
   比较有深度的也就最后一章  Chapter 9. Options and Effiencies<br />
   <br />
   由于偶英文较差,也是扫了一遍.不感枉加评论.<br /><br />
    推荐指数:  2星半. <br />
    推荐理由:  可以比较全面的了解ajax能解决现在网站中的哪些问题.其实这本书不建议大家买,可以先看看目录,相信你会很清楚它要讲什么的.然后到书店看看相关内容得了.<br />
   <br /><br /><strong>4 Ajax基础教程  </strong><br /><br />

   ajax入门推荐书籍.书中讲解了ajax出现得背景,相关得技术.最有价值得是书中   第5章  构建完备的Ajax开发工具箱  第6章
 使用JsUnit测试JavaScript代码  第7章  分析JavaScript调试工具和技术 这三章花25块钱也值了.<br />
    该书定位很准,对高级知识没有讲解,只为入门.<br /><br />
    推荐指数:  4星. <br />
    推荐理由: 绝对最好的入门书籍,尤其是把最先进的ajax开发方式介绍给大家.<br /><br /><strong>5 Ajax 修炼之道-Web 2.0 入门  </strong><br /><br />

 
原书作者是Ajaxian.com的创始人，JavaOne、TheServerSide等诸多高级别会议的演讲者。该书更像Ajaxian.com的一
个总结.书中涉及内容很多,组织也比较凌乱.无疑Ajaxian.com是ajax领域数的上的几个站点之一,或者叫blog合适点.该书也有这方面特
点,有些娱乐元素,目的并不是给开发人员讲解技术.而是告诉我们ajax可以干什么.<br />
   我觉得把ajax的杂志来看不错.<br /><br />
    推荐指数:  4星. <br />
    推荐理由: 当成床头杂志来看应该不错.能够比较全面得到ajax的相关知识.如果你已经关注Ajaxian.com很久了,那这本书就算了. ajaxcn.org 的新闻很多来自这里.<br /><br /><strong>6 Ajax实战（Ajax in action中文版）</strong><br /><br />
    我只买了这本书,是一个月前.值的买.因为看好多次才能完全明白书中的思想.<br />
    这本书我会写个读书笔记的.<br /><br />
    推荐指数:  4星半. <br />
    推荐理由: 满分5星.可惜这本书起点太高了.<img src ="http://www.blogjava.net/zkjbeyond/aggbug/56224.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zkjbeyond/" target="_blank">原创专栏 开源学习</a> 2006-07-03 01:12 <a href="http://www.blogjava.net/zkjbeyond/archive/2006/07/03/56224.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>研究研究YUI</title><link>http://www.blogjava.net/zkjbeyond/archive/2006/06/21/54322.html</link><dc:creator>原创专栏 开源学习</dc:creator><author>原创专栏 开源学习</author><pubDate>Wed, 21 Jun 2006 09:44:00 GMT</pubDate><guid>http://www.blogjava.net/zkjbeyond/archive/2006/06/21/54322.html</guid><wfw:comment>http://www.blogjava.net/zkjbeyond/comments/54322.html</wfw:comment><comments>http://www.blogjava.net/zkjbeyond/archive/2006/06/21/54322.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://www.blogjava.net/zkjbeyond/comments/commentRss/54322.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zkjbeyond/services/trackbacks/54322.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 跟我研究一下YUI的 dom.js和event.js<br><br>例子中用javascript弄了个简单的AOP实现&nbsp;&nbsp;<a href='http://www.blogjava.net/zkjbeyond/archive/2006/06/21/54322.html'>阅读全文</a><img src ="http://www.blogjava.net/zkjbeyond/aggbug/54322.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zkjbeyond/" target="_blank">原创专栏 开源学习</a> 2006-06-21 17:44 <a href="http://www.blogjava.net/zkjbeyond/archive/2006/06/21/54322.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>这段时间对ajax的感想</title><link>http://www.blogjava.net/zkjbeyond/archive/2006/06/18/53589.html</link><dc:creator>原创专栏 开源学习</dc:creator><author>原创专栏 开源学习</author><pubDate>Sun, 18 Jun 2006 04:58:00 GMT</pubDate><guid>http://www.blogjava.net/zkjbeyond/archive/2006/06/18/53589.html</guid><wfw:comment>http://www.blogjava.net/zkjbeyond/comments/53589.html</wfw:comment><comments>http://www.blogjava.net/zkjbeyond/archive/2006/06/18/53589.html#Feedback</comments><slash:comments>9</slash:comments><wfw:commentRss>http://www.blogjava.net/zkjbeyond/comments/commentRss/53589.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zkjbeyond/services/trackbacks/53589.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 这几个月都沉迷在ajax这种”让人抓狂“的技术中。有几点感想，交流交流。也算提问，希望高手解答解答。&nbsp;&nbsp;<a href='http://www.blogjava.net/zkjbeyond/archive/2006/06/18/53589.html'>阅读全文</a><img src ="http://www.blogjava.net/zkjbeyond/aggbug/53589.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zkjbeyond/" target="_blank">原创专栏 开源学习</a> 2006-06-18 12:58 <a href="http://www.blogjava.net/zkjbeyond/archive/2006/06/18/53589.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>再说说prototype.js的事件注册</title><link>http://www.blogjava.net/zkjbeyond/archive/2006/06/12/52083.html</link><dc:creator>原创专栏 开源学习</dc:creator><author>原创专栏 开源学习</author><pubDate>Sun, 11 Jun 2006 18:12:00 GMT</pubDate><guid>http://www.blogjava.net/zkjbeyond/archive/2006/06/12/52083.html</guid><wfw:comment>http://www.blogjava.net/zkjbeyond/comments/52083.html</wfw:comment><comments>http://www.blogjava.net/zkjbeyond/archive/2006/06/12/52083.html#Feedback</comments><slash:comments>6</slash:comments><wfw:commentRss>http://www.blogjava.net/zkjbeyond/comments/commentRss/52083.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zkjbeyond/services/trackbacks/52083.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 框架实现人员必看<br>关于prototype.js中 bind函数的问题  和  拖拉层代码的建议<br><br>&nbsp;&nbsp;<a href='http://www.blogjava.net/zkjbeyond/archive/2006/06/12/52083.html'>阅读全文</a><img src ="http://www.blogjava.net/zkjbeyond/aggbug/52083.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zkjbeyond/" target="_blank">原创专栏 开源学习</a> 2006-06-12 02:12 <a href="http://www.blogjava.net/zkjbeyond/archive/2006/06/12/52083.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>写给gis程序员</title><link>http://www.blogjava.net/zkjbeyond/archive/2006/06/08/51399.html</link><dc:creator>原创专栏 开源学习</dc:creator><author>原创专栏 开源学习</author><pubDate>Thu, 08 Jun 2006 08:52:00 GMT</pubDate><guid>http://www.blogjava.net/zkjbeyond/archive/2006/06/08/51399.html</guid><wfw:comment>http://www.blogjava.net/zkjbeyond/comments/51399.html</wfw:comment><comments>http://www.blogjava.net/zkjbeyond/archive/2006/06/08/51399.html#Feedback</comments><slash:comments>27</slash:comments><wfw:commentRss>http://www.blogjava.net/zkjbeyond/comments/commentRss/51399.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zkjbeyond/services/trackbacks/51399.html</trackback:ping><description><![CDATA[
		<div>
				<b>一 写在前面的话</b>
		</div>
		<div>  首先我就是gis程序员，也在迷惘，希望大家指点。</div>
		<div>  <br /></div>
		<div>  作为某大学地理系本科专业毕业学生,我庆幸没继续"生造"考研.在gis,it行业编程混几年,唯一感受是程序员不是人干的活,gis程序员不是正常人干的活.<img src="http://mimg.163.com/popo/smile43.gif" />.难啊!</div>
		<div>  可能以下言语中太多个人色彩,很多内容也是猜想,查证对我没什么意义.但目的是让搞gis的技术人员能走好.</div>
		<div>  想拍就拍吧<img src="http://mimg.163.com/popo/smile23.gif" /></div>
		<div> </div>
		<div>
				<b>二 国内gis行业状况</b>
		</div>
		<div>  几近被高校,研究部门,政府垄断的行业.先提个醒,如果你已经在这个行业混了,跳潮前千万慎重,很容易踩雷的,炸你个几年缓不过气来.<img src="http://mimg.163.com/popo/smile39.gif" /></div>
		<div> 
中国gis行业的发展还是要感谢这些老前辈的,尤其是几个国产gis软件,争光不少(可惜偶一个也没有用过).不过,感觉它们的优势也在逐渐减少,可能是
产品发展跟不上用户需求,可能是技术创新完全来自"抄袭"过外软件,最大问题可能是它们核心技术的close,核心技术人员的太过稳定限制的发展.当然在
如此透明,高速发展的it行业里,凭些老教授和在它们体系下培养的理论博士生,发展也是很艰难的.</div>
		<div>  举几个例子,国产linix,还有什么wps....,可能中国整个it也都有这种问题.</div>
		<div>  可能你就是从这些机构"生造"出来的一员,想想你硕士,博士干了些什么.<br /><br /></div>
		<div>  我在一级***上发表了n篇论文;</div>
		<div>  我对***软件了如指掌;</div>
		<div>  我开发了某国产gis软件的**模块;<br /><br /></div>
		<div>
				<img src="http://mimg.163.com/popo/smile17.gif" />,你仔细想想吧,可能也就是你帮着导师发了篇文章;你也只会使用使某某软件,如果你能掌握核心技术,那你不可能离开培养你的机构的,咋们的软件可以自主产权的,别出去泄露了;你可能参与的某gis软件的开发,但你每界的师兄弟都和你一样,帮着导师积累了下产品.</div>
		<div>惨点的GGMM也就每天搞些数字化,整理整理数据混个文凭.我不知道你们毕业了都去干吗?</div>
		<div> </div>
		<div>
				<b>三 你能去哪就业</b>
		</div>
		<div>  没有调查,我也发发言.</div>
		<div>  <strong>政府事业单位</strong>:不到博士你休想,没有关系休想,没有嘴皮子休想,不懂特有的仕途国情休想,休想......,</div>
		<div>  <strong>留校,继续深造:</strong>如果你你是这种人,你不会看到这了.两字: 难啊!</div>
		<div>  <b>出国:</b>看你和导师关系,以及你导师的高度了.几率很小啊.</div>
		<div>  <b>转行:</b>我把这里被的行业特指与IT相关的.恭喜你,有先见之明啊!</div>
		<div>  <b>去搞gis的公司:</b><img src="http://mimg.163.com/popo/57.gif" />,欢迎加入.希望我们未来美好.</div>
		<div> </div>
		<div>
				<b>四 你懂编程吗</b>
		</div>
		<div> 
如果你和我一样来到搞GIS的公司.那你只能从coder做起.在这我不是贬低coder,是怕你贬低.可能你会说,我可以做售前,可以做销售,可以做数
据.从gis公司结构上来看,这些职位你可能不符合,你受的教育,你的知识结构限制你去做销售,而售前你贫乏的行业知识决定你需要重新认识一门行业,而这
些行业如水利,森林,土地,房产....都是政府部门,及其复杂.做数据的给不了你几个钱.</div>
		<div> 
如果你是博士毕业,你也愿意来公司发展.那可能会给你项目经理之类的职位,但你很快就会发现,现实会让你失望的.你的位置会很尴尬,你对IT的了解,决定
你底下的人会很不服你,领导会觉得你技术不行.试问你懂j2ee,.net吗?你能写出象样的设计文档吗?不会写代码的上司你好受吗?你在公司发展空间大
吗?.....可能这类人不多!<br />
  (请允许我没做全面调查而做以下发言，我只是让大家更好发展)<br /></div>
		<div>  看到这的估计就是那些以coder身份来到公司的.回到标题,你懂编程吗?以上是我常见的几类gis程序员。<br /><br />
  擅长使用各种数据处理软件，略懂vb或vc.<br />
  用vb/vc用mo,mapx等控件开发个小软件。<br />
  熟悉tab,mif,shape...数据结构，能做数据转换。<br />
  能用asp用arcims,mapxtreme模板开发个小webGis.<br /> 
能用asp.net基于arcims,mapxtreme,super IS开发webgis.<br />
  <br />
 
可能是常见的几种gis程序员，他们的代码我也看过一些。都有一个特点。如：他们学习vb是从mo或mapx提供的例子开始的，真正ｖｂ，ｖｃ他们根本不
是很熟悉。如果好点，能用asp开发webgis，但也是在vb基础上开始接触web的。可能自己努力点，会接触.net,J2ee，但无论那样。<b>都是为了gis而学习一门语言的。<br />
  引出我的主题：<br />
  我们gis程序员的编程能力，与计算机科班出生的人，各方面都有差距。<br />
  因为你的编程能力差，可能在某个职位竞争时，你会输给不懂gis的程序员。<br /></b></div>
		<div>  如果公司给我分配两个程序员，我会要编程能力好的，而懂不懂gis无所谓。<br />
  我们公司技术总监也是这个态度。<br />
  一个gis公司的部门经理也亲口对我说了这个事实，他们部门很少懂gis的人。<br />
  让个懂编程的人熟悉gis软件很容易。但让懂gis的人提高编程水平很难。<br /><br /></div>
		<div>
				<b>五 我们该怎么办</b>
				<br />
  现在我也感觉到GIS程序员很尴尬。国内gis行业的不景气，新的地图形式（google maps mapbar，mapabc...）与传统gis的竞争，国内教育机构培养的GIS专业人员与IT行业的脱节......<br />
  还好，现在行业对既懂GIS，编程能力水平不错的专业人员需求很大，而且都是一定的职位。<br />
 <br />
  所以我们最既紧要的事是提高自己计算机能力，主动学习新的技术，而不是被动的跟的GIS软件的支持学习新技术。<br /></div>
		<div> </div>
		<div>
				<b>六 技术方向<br /></b>  1 gis数据，gis分析是大数据量，大运算的操作。web,webservice的发展弱化了桌面GIS的应用。对于跨平台的java语言，对GIS来说，无疑是现阶段最佳的编程语言。<br />
  2 ajax技术。现在真火的技术。google在这无疑走在前面，google
maps更对gis行业影响巨大。传统webgis的开发更需要ajax对用户交互来次创新。
arcims模板(javascript)，arcgis server(JSF)都做了些尝试。无疑ajax是最合适的。<br />
  3 python.如果你有vb,vc基础。python脚本语言你该关注了。arcgis好多模块改用python实现的。<b><br /><br /><br />
以上都是我个人的一些感想，由于水平有限，希望批评，共同提高。<br /></b><br /><b><br /></b></div>
		<div> </div>
<img src ="http://www.blogjava.net/zkjbeyond/aggbug/51399.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zkjbeyond/" target="_blank">原创专栏 开源学习</a> 2006-06-08 16:52 <a href="http://www.blogjava.net/zkjbeyond/archive/2006/06/08/51399.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>跟我再深入啃啃prototype.js</title><link>http://www.blogjava.net/zkjbeyond/archive/2006/05/25/48069.html</link><dc:creator>原创专栏 开源学习</dc:creator><author>原创专栏 开源学习</author><pubDate>Thu, 25 May 2006 08:45:00 GMT</pubDate><guid>http://www.blogjava.net/zkjbeyond/archive/2006/05/25/48069.html</guid><wfw:comment>http://www.blogjava.net/zkjbeyond/comments/48069.html</wfw:comment><comments>http://www.blogjava.net/zkjbeyond/archive/2006/05/25/48069.html#Feedback</comments><slash:comments>11</slash:comments><wfw:commentRss>http://www.blogjava.net/zkjbeyond/comments/commentRss/48069.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zkjbeyond/services/trackbacks/48069.html</trackback:ping><description><![CDATA[
		<p>
				<strong>以下有些观点有些偏激.关于事件注册的相关模式我相信会很快出现的,偶正在研究中.<br /><br />1、关于javascript的apply和call函数</strong>
		</p>
		<p>prototype.js中用了大量的apply和call函数，不注意会造成理解偏差。<br />官方解释：应用某一对象的一个方法，用另一个对象替换当前对象。<br />apply与call的区别是第二个参数不同。apply是  数组或者arguments 对象。而call是逗号隔开的任何类型。</p>
		<p>apply,call方法最让人混淆的地方也是apply,call的特色。但最好不要滥用。<br />能改变调用函数的对象。如下例，函数中用到this关键字，这时候this代表的是apply,call函数的第一个参数。<br /><br />&lt;script src="prototype1.3.1.js"&gt;&lt;/script&gt;<br />&lt;input type="text" id="myText"  value="input text"&gt;<br />&lt;script&gt;<br />   function Obj(){<br />       this.value="对象！";<br />   }<br />   var value="global 变量";<br />   function Fun1(){<br />       alert(this.value);<br />   }<br />   window.Fun1();<br />   Fun1.apply(window); <br />   Fun1.apply($('myText')); <br />   Fun1.apply(new Obj()); <br />&lt;/script&gt;</p>
		<p>
				<strong>2、关于闭包</strong>
				<br />prototype.js在Class.create,bind等中用到javascript的闭包特色。但整体上prototype.js对于强大的闭包特性用的不多。大家可以参阅我翻译的<a class="" title="" href="/zkjbeyond/archive/2006/05/23/47725.html" target="_blank">篇文章了解闭包</a>。<br /><strong>3、让我比较反感的两个方法</strong><br /><strong>（1）<br /></strong>var Class = {<br />  create: function() {<br />    return function() { <br />      this.initialize.apply(this, arguments);<br />    }<br />  }<br />}<br />很讨厌用别的语言的风格来写javascript。用这个方法构造自定义类  并没有觉得有多方便，减少代码行数，只会让人难理解，多定义一个initialize方法。<br />其实讨厌这条有些牵强，不过修改Object的原型对象就有点过分了。<br /><strong>（2）Object.prototype.extend</strong><br />  先不过你取个extend的名字会让熟悉java的人引起的歧义。修改Object的prototype就说不过去了。不知道作者是怎么考虑的。当你for in循环对象是，麻烦就来了。可能有人会问你for in干吗。 我一个项目中既用了DWR,也用了prototype.js，dwr返回的javascript对象都多了个exetend属性，还得特殊处理。<br />  以前我比较过<a class="" title="" href="/zkjbeyond/archive/2006/05/08/45108.html" target="_blank">dojo和prototype.js中继承的实现</a>，现在我明白个道理。对于javascript这种没有静态类型检查，语法宽松的语言来讲，如果你选择了某个js类库，那你也必须适应作者写javascript的风格。prototype.js的作者对extend的使用炉火纯青，如果我们不当它只是个属性拷贝的函数的话，多读读prototype.js的代码是好的。<br /><strong>4、关于函数的绑定</strong><br />  类库提供了Function.prototype.bind  Function.prototype.bindAsEventListener两个方法。首先我们从概念上解释一个这两个方法。<br />任何一个函数都可以调用这两个方法；参数的是javascript对象或网页上元素对象；返回类型是个函数对象。<br />本来我就是个函数，返回还是函数，到这两个函数有什么不同呢。看实现代码，关键还是apply\call函数的代码。其实这里只是转化了一下方法调用的对象。</p>
		<p>&lt;script src="prototype1.3.1.js"&gt;&lt;/script&gt;<br />&lt;input type=checkbox id=myChk name="asf" value=1&gt; Test<br />&lt;script&gt;<br />    var CheckboxWatcher = Class.create();<br />    CheckboxWatcher.prototype = {<br />       initialize: function(chkBox, message) {<br />            this.chkBox = $(chkBox);<br />            this.message = message;<br />            this.chkBox.onclick = this.showMessage.bindAsEventListener(this);<br />       },<br />       showMessage: function(evt) {<br />          alert(this.message + ' (' + evt.type + ')');<br />       }<br />    };<br />new CheckboxWatcher('myChk','message!!!!');<br />//$('myChk').onclick=function(){};<br />&lt;/script&gt;<br />这是 <a href="https://compdoc2cn.dev.java.net/">https://compdoc2cn.dev.java.net/</a> 上举的例子，个人感觉没什么意思，反而让我对bind,bindAsEventListener有些反感。（javascript就是这样，明明大家都知道的语法，但写出来的代码差别确很大）<br />看下面代码：</p>
		<p>&lt;script src="prototype1.3.1.js"&gt;&lt;/script&gt;<br />&lt;input type=checkbox id=myChk name="chk" value=1&gt; Test<br />&lt;script&gt;<br />function Class(){<br />    this.name="class";<br />}<br />Class.prototype.getName=function(){<br />    alert(this.name);<br />}<br />var obj=new Class();<br />//$('myChk').onclick=obj.getName;<br />$('myChk').onclick=obj.getName.bind(obj);<br />//$('myChk').onclick=obj.getName.bind($('myChk'));<br />&lt;/script&gt;</p>
		<p>从上面代码可以看出<font color="#ff0000">bind/bindAsEventListener只是包装了一下apply/call方法，改变方法的调用对象。</font>如例子，你可以把obj.getName方法转化成任何对象调用，并且把方法让表单元素触发。（bind和bindAsEventListener之间只是返回函数的参数不同）<br />这两个方法也可以用在对象之间的方法重用，实现类似继承方法的概念。看以下代码，其实是比较无聊的。</p>
		<p>&lt;script src="prototype1.3.1.js"&gt;&lt;/script&gt;<br />&lt;script&gt;<br />function Class1(name){<br />    this.name=name;<br />}<br />Class1.prototype.getName=function(){<br />    alert(this.name);<br />}<br />function Class2(name){<br />    this.name=name;<br />　　this.getName=Class1.prototype.getName.bind(this);<br />}<br />var obj1=new Class2("yql");<br />obj1.getName();<br />var obj2=new Object();<br />obj2.name="zkj";<br />obj2.fun=Class1.prototype.getName.bind(obj2);<br />obj2.fun();<br />&lt;/script&gt;</p>
		<p>
				<br />我从来没读过prototype.js的扩展项目代码，也不知道bind..的最佳实践，一起挖掘吧。但你绝对不要把bind/bindAsEventListener从绑定的词义上来理解，可能会让你更加迷惑。从apply/call理解本质。应用某一对象的一个方法，用另一个对象替换当前对象。</p>
		<p>
				<strong>5、关于事件的注册</strong>
		</p>
		<p>&lt;script src="prototype1.3.1.js"&gt;&lt;/script&gt;<br />&lt;input type=checkbox id=myChk name="chk" value=1&gt; Test<br />&lt;script&gt;<br />Event.observe(myChk, 'click', showMessage, false);<br />//$('myChk').onclick=showMessage;<br />//$('myChk').onclick=showMessage.bind();<br />$('myChk').onclick=showMessage.bind($('myChk'));<br />function showMessage() {<br />      alert(this.value);<br />}<br />&lt;/script&gt;</p>
		<p>执行上面代码，你就能明白Event.observe与bind/bindAsEventListener之间的区别：<br />（１） 显然Event.observe有限制，只能处理简单的函数，并函数中不能有this之类的东西。<br />（２）Event.observe内部用到addEventListener／attachEvent。能把多个函数加到一个触发事件（window.onload）。bind是覆盖。</p>
		<p>
				<strong>6、关于事件监听最佳实践</strong>
				<br />很显然prototype.js提供的事件注册方法不是很完善。那看看dojo的时间注册吧（<a class="" title="" href="http://ajaxcn.org/space/Ajax/Dojo/Event" target="_blank">中文版</a>），更加复杂，估计很多人像我一样，对于dojo暂时持观望态度。<br />如果你看过的前篇关于闭包的介绍，可能见过以下代码。<br />看以下代码前我想表述一个观点，任何网页中元素，浏览器都会为你创建一个对象（<a class="" title="" href="/zkjbeyond/archive/2006/04/23/42666.html" target="_blank">见</a>）。（我觉得）这些对象与你建立javascript对象区别是它们有事件监听，会响应鼠标键盘的事件。如果你用了以下代码，那么把事件监听代码很好的转化到你的javascript代码中。</p>
		<p>function associateObjWithEvent(obj, methodName){<br />    return (function(e){<br />        e = e||window.event;<br />        return obj[methodName](e, this);<br />    });<br />}<br />function DhtmlObject(elementId){<br />    var el = getElementWithId(elementId);<br />    if(el){<br />        el.onclick = associateObjWithEvent(this, "doOnClick");<br />        el.onmouseover = associateObjWithEvent(this, "doMouseOver");<br />        el.onmouseout = associateObjWithEvent(this, "doMouseOut");<br />    }<br />}<br />DhtmlObject.prototype.doOnClick = function(event, element){<br />    ... // doOnClick method body.<br />}<br />DhtmlObject.prototype.doMouseOver = function(event, element){<br />    ... // doMouseOver method body.<br />}<br />DhtmlObject.prototype.doMouseOut = function(event, element){<br />    ... // doMouseOut method body.<br />}</p>
		<p>有时间我想用以上思想实现一个网页浮动框拖拉的代码（其实已经有很多了），待续........</p>
		<p> </p>
		<p> </p>
		<p>引用：ajaxcn.org 链接。谢谢dlee<br /> </p>
<img src ="http://www.blogjava.net/zkjbeyond/aggbug/48069.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zkjbeyond/" target="_blank">原创专栏 开源学习</a> 2006-05-25 16:45 <a href="http://www.blogjava.net/zkjbeyond/archive/2006/05/25/48069.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>dojo学习资源，不定期更新</title><link>http://www.blogjava.net/zkjbeyond/archive/2006/05/24/47796.html</link><dc:creator>原创专栏 开源学习</dc:creator><author>原创专栏 开源学习</author><pubDate>Wed, 24 May 2006 05:19:00 GMT</pubDate><guid>http://www.blogjava.net/zkjbeyond/archive/2006/05/24/47796.html</guid><wfw:comment>http://www.blogjava.net/zkjbeyond/comments/47796.html</wfw:comment><comments>http://www.blogjava.net/zkjbeyond/archive/2006/05/24/47796.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/zkjbeyond/comments/commentRss/47796.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zkjbeyond/services/trackbacks/47796.html</trackback:ping><description><![CDATA[
		<a href="http://ajaxian.com/archives/the-dojo-toolkit-in-practice">http://ajaxian.com/archives/the-dojo-toolkit-in-practice</a>
		<br />是篇论文,文中用dojo实现了类似msn portal的界面.有例子代码参考.<br /><br /><br /><a href="http://www.nabble.com/Dojo-f13676.html">http://www.nabble.com/Dojo-f13676.html</a><br />没跟上maillist讨论了可以来这翻翻老贴。<img src ="http://www.blogjava.net/zkjbeyond/aggbug/47796.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zkjbeyond/" target="_blank">原创专栏 开源学习</a> 2006-05-24 13:19 <a href="http://www.blogjava.net/zkjbeyond/archive/2006/05/24/47796.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>闭包（续）</title><link>http://www.blogjava.net/zkjbeyond/archive/2006/05/23/47725.html</link><dc:creator>原创专栏 开源学习</dc:creator><author>原创专栏 开源学习</author><pubDate>Tue, 23 May 2006 15:51:00 GMT</pubDate><guid>http://www.blogjava.net/zkjbeyond/archive/2006/05/23/47725.html</guid><wfw:comment>http://www.blogjava.net/zkjbeyond/comments/47725.html</wfw:comment><comments>http://www.blogjava.net/zkjbeyond/archive/2006/05/23/47725.html#Feedback</comments><slash:comments>4</slash:comments><wfw:commentRss>http://www.blogjava.net/zkjbeyond/comments/commentRss/47725.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zkjbeyond/services/trackbacks/47725.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 书接上回，继续闭包。<br><br>如果你懂javascript，而你不了解javascript的闭包。<br>那你将错过javascript最强大特性之一（闭包）。&nbsp;&nbsp;<a href='http://www.blogjava.net/zkjbeyond/archive/2006/05/23/47725.html'>阅读全文</a><img src ="http://www.blogjava.net/zkjbeyond/aggbug/47725.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zkjbeyond/" target="_blank">原创专栏 开源学习</a> 2006-05-23 23:51 <a href="http://www.blogjava.net/zkjbeyond/archive/2006/05/23/47725.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>javascript语言中的闭包</title><link>http://www.blogjava.net/zkjbeyond/archive/2006/05/19/47025.html</link><dc:creator>原创专栏 开源学习</dc:creator><author>原创专栏 开源学习</author><pubDate>Fri, 19 May 2006 03:46:00 GMT</pubDate><guid>http://www.blogjava.net/zkjbeyond/archive/2006/05/19/47025.html</guid><wfw:comment>http://www.blogjava.net/zkjbeyond/comments/47025.html</wfw:comment><comments>http://www.blogjava.net/zkjbeyond/archive/2006/05/19/47025.html#Feedback</comments><slash:comments>16</slash:comments><wfw:commentRss>http://www.blogjava.net/zkjbeyond/comments/commentRss/47025.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zkjbeyond/services/trackbacks/47025.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 2006.5.20下午16.21更新。<br><br>groove,python,perl这些高级脚本语言都有闭包概念。不懂这些语言的可能没机会理解闭包了。<br>幸运的是大家都熟悉javascript,那么从javascript开始闭包认识吧。<br>感觉闭包是高级的，但也是晦涩的。<br><br>本文译自<br>http://jibbering.com/faq/faq_notes/closures.html<br>&nbsp;&nbsp;<a href='http://www.blogjava.net/zkjbeyond/archive/2006/05/19/47025.html'>阅读全文</a><img src ="http://www.blogjava.net/zkjbeyond/aggbug/47025.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zkjbeyond/" target="_blank">原创专栏 开源学习</a> 2006-05-19 11:46 <a href="http://www.blogjava.net/zkjbeyond/archive/2006/05/19/47025.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>arcims结构分析</title><link>http://www.blogjava.net/zkjbeyond/archive/2006/05/12/45872.html</link><dc:creator>原创专栏 开源学习</dc:creator><author>原创专栏 开源学习</author><pubDate>Fri, 12 May 2006 09:07:00 GMT</pubDate><guid>http://www.blogjava.net/zkjbeyond/archive/2006/05/12/45872.html</guid><wfw:comment>http://www.blogjava.net/zkjbeyond/comments/45872.html</wfw:comment><comments>http://www.blogjava.net/zkjbeyond/archive/2006/05/12/45872.html#Feedback</comments><slash:comments>9</slash:comments><wfw:commentRss>http://www.blogjava.net/zkjbeyond/comments/commentRss/45872.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zkjbeyond/services/trackbacks/45872.html</trackback:ping><description><![CDATA[
		<p>
				<strong>1、 arcims的体系结构</strong> <br /> <img style="width: 495px; height: 463px;" alt="arcimstijiagou.jpg" src="http://www.blogjava.net/images/blogjava_net/zkjbeyond/arcimstijiagou.jpg" border="0" height="540" width="691" /><br />  
当你安装完arcims软件以后，已经包括了上图中的ArcIMS应用服务器，ArcIMS空间服务器两个中间件。当然还有Monitor,
Tasker；工具软件admin,author；各种连接器servlet,javaconnector的代码等。<br />   大家可以看到，arcXML在应用服务器和空间服务器之间传递。所以空间服务器是这些中间件中压力最大的。<br />   表现层：html，applet,ocx控件。也可以是c/s的任何桌面程序。<br />   业务逻辑层：arcims的应用服务器和空间服务器是arcims软件自带的。<br />Arcims
的servlet连接器必须与web服务器（iis,tomcat…）绑定。而javaconnector支持http,tcp-ip等多种协议。可选择
的与web服务器绑定，但ims的admin软件必须有web服务器才能运行，另外arcims中的图片也是个url，也需要web服务器。所以web服
务器是各种连接器的容器。<br />   数据存储层：arcims支持的文件，或arcsde空间数据引擎等。</p>
		<p>Arcims应用服务器：管理虚拟服务器，地图服务（admin配置的），连接器请求线程管理等。连接器调用它，它在调用空间服务器。一个应用服务器可以连接多个空间服务器。<br />Arcims
空间服务器：把矢量书生成图片，或做空间分析，查询等。Arcims的核心。还好我们不要关注具体算法等。开源gis,mapxtreme,super
map等也就这部分没arcims强。但空间服务器与别的组件的协议是arcxml。虽然arcxml规范比较全面，但这个高度的松散偶合也给
arcims的复杂开发带来些局限性。以后我会提到。<br /><strong>2、 arcXml的重要性</strong><br />因为搞编程的人不是地理学专家、矢量数据结构专家、图象技术专家。至少不能共同关注这好些技术。所以arcXml规范的定义是极其重要的。也可以让外行人开发专业的程序。这叫好比VML.SVG标签语言一样，如果你不懂数学算法，不可能画一个椭圆。<br />　　　　以前我也说过，如果你掌握了arcxml，那你就基本知道arcims能做什么，能实现什么功能。至于做的好坏，那看你的行业知识、编程能力了。<br /><strong>3、 Introduction to ArcXML</strong><br />上面说了一堆废话，现在看看arcXML到底是什么。<br />ArcXML
是为了与arcIMS空间服务器通信而定义的协议。而arcIMS空间服务器是arcims的核心，它把地图和数据打包成适当的格式，发送到它的客户端
（arcIMS应用服务器）。要懂arcxml,首先必须知道怎么样配置文件，建立arcims服务，请求和响应，以及怎么与空间服务器结合。<br /> <br />1、 建立一个axl为扩展名的配置文件。（xml格式）<br />2、 用 ArcIMS Administrator 建立并启动 ArcIMS Service <br />3、 接受请求<br />4、 响应请求<br /><img alt="intro_1.gif" src="http://www.blogjava.net/images/blogjava_net/zkjbeyond/intro_1.gif" border="0" height="310" width="474" /><br /><strong>4、 arcims核心（ArcIMS Spatial）</strong><br />  arcIMS 空间服务器是arcims的核心。Arcims软件也可以分布式部署ArcIMS Spatial.关于详细部署可以看arcims安装文档。有时间我写篇专门讲讲。如果是正版软件，你可以让esri公司来干这个事。<br /><img alt="arcimsxnyx.jpg" src="http://www.blogjava.net/images/blogjava_net/zkjbeyond/arcimsxnyx.jpg" border="0" height="398" width="500" /><br />（1） 传输时间：接器的选择会影响<br />（2） 排队时间：以多建立虚拟服务器来解决。<br />（3） 渲染时间：比较费事，可以分布式部署空间服务器来解决）<br />（4） 查询时间：数据库调优，arcsde调优。（有时间再讨论）<br /><strong>5、 servletconnector与javaconnector的区别</strong><br /></p>
		<p>
				<a target="_blank" class="" title="" href="/zkjbeyond/archive/2006/02/10/30157.html">arcims开发经验总结</a>
				<br />
				<a target="_blank" class="" title="" href="/zkjbeyond/archive/2006/02/10/30156.html">arcIMS 客户端 连接器的选择</a>
				<br />
以前文章我也简单说了说。<br /></p>
		<p>用图表来分析。<br />Servletconnector:<br /> <img alt="servlet.jpg" src="http://www.blogjava.net/images/blogjava_net/zkjbeyond/servlet.jpg" border="0" height="328" width="500" /><br />上
图表示了servlet连接器的结构。注意，用这种连接器，把从arcims返回的arcxml直接传递给了浏览器，浏览器用字符串拆分技术或dom技术
来解析这个复杂的xml串。（还好htmlview的模板提供了这些代码，不过用javascript拆分字符串，没用dom标准）<br />    每次请求的arcxml字符串是很大的，arcxml包含的有些信息对用户是没用的，所以在web服务器与浏览器之间，浪费了许多带宽，对于二次开发人员，难度也加大不少。<br />javaconnector:<br /> <img alt="javaconnector.jpg" src="http://www.blogjava.net/images/blogjava_net/zkjbeyond/javaconnector.jpg" border="0" height="328" width="500" /><br />使用javascnnector ，浏览器与web服务器之间传输的协议由二次开发人员定义，这可能会加大编程难度，但随着ajax技术的成熟，开源框架dwr,json等的完善，这部分工作会越来越简单。<br />但javaconnector
引来一个问题，它的Map
java对象不是线程安全的，而这个对象的初始化比较费时间。它和jdbc中的数据库连接差不多。针对这个对象写了个Map池，从我们项目运行的情况看，
效果还不错。如果用javaconnector,对java编程需要一定的基础。 <br /><strong>6、 业务的复杂度决定我们应该用哪种连接器</strong><br />如
果你只是想简单的发布地图，htmlview就可以满足你的需求。如果有复杂的业务，gisporal定制，权限管理，那你用htmlview会让你面临
灾难。我选择javaconnector. Using_ActiveX_Connector, Using_NETLink也有文档。
但你要做大型，高性能的webgis,j2ee必定是受选，unix，arcims在j2ee的积累，arcims很多程序使用java实现的。（另外
arcinfo最早是在unix命令行形式运行的）。<br />A、 java语言比javascript高级多了。Htmlview大多数用javascritp实现。<br />B、 跨浏览器的支持。噩梦吧。<br />C、 ajax技术的成熟，客户端与服务器端交互容易多了。<br />D、 webgis无刷新更新数据是必须的，那必须下载足够多的数据。安全性是个问题。<br />E、 权限判断，业务定制等用javascript实现简直是噩梦。<br />    <br /><strong>7、 webgis开发人员的感想</strong><br />开
发webgis系统，对程序员的要求太高了，可是工资水平一直很低，行业极其不成熟，国内也没什么发展前途，让我好多次有想法转行专门做j2ee去，但还
是坚持下来了。国内这帮搞gis的都是学院派出生，相对编程能力，计算机应用水平比较差，对it行业市场把握能力也较差，被别人抢的先机。现在以
google牵头各大搜索引擎都提供的 地图服务，另外国内 edushi等又有一批仿三维的地图服务出现，让我看到一思希望。做传统gis
的公司该收复失地的，毕竟我们是有优势的。</p>
		<p>
				<br />参考：<br /><a target="_blank" class="" title="" href="http://downloads.esri.com/support/documentation/ims_/ArcXML9/Support_files/arcxmlguide.htm">arcxmlguide.htm</a><br />arcims性能优化和调整  许晓辉<br /></p>
<img src ="http://www.blogjava.net/zkjbeyond/aggbug/45872.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zkjbeyond/" target="_blank">原创专栏 开源学习</a> 2006-05-12 17:07 <a href="http://www.blogjava.net/zkjbeyond/archive/2006/05/12/45872.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>prototype.js  dojo 中 javascript继承实现</title><link>http://www.blogjava.net/zkjbeyond/archive/2006/05/08/45108.html</link><dc:creator>原创专栏 开源学习</dc:creator><author>原创专栏 开源学习</author><pubDate>Mon, 08 May 2006 15:13:00 GMT</pubDate><guid>http://www.blogjava.net/zkjbeyond/archive/2006/05/08/45108.html</guid><wfw:comment>http://www.blogjava.net/zkjbeyond/comments/45108.html</wfw:comment><comments>http://www.blogjava.net/zkjbeyond/archive/2006/05/08/45108.html#Feedback</comments><slash:comments>7</slash:comments><wfw:commentRss>http://www.blogjava.net/zkjbeyond/comments/commentRss/45108.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zkjbeyond/services/trackbacks/45108.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 关于javascript的面向对象继承实现网上到处可见.<br><br>根据 prototpe.js  和 dojo 相关的继承实现说说我的观点.&nbsp;&nbsp;<a href='http://www.blogjava.net/zkjbeyond/archive/2006/05/08/45108.html'>阅读全文</a><img src ="http://www.blogjava.net/zkjbeyond/aggbug/45108.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zkjbeyond/" target="_blank">原创专栏 开源学习</a> 2006-05-08 23:13 <a href="http://www.blogjava.net/zkjbeyond/archive/2006/05/08/45108.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>从百草园到三味书屋</title><link>http://www.blogjava.net/zkjbeyond/archive/2006/05/08/45083.html</link><dc:creator>原创专栏 开源学习</dc:creator><author>原创专栏 开源学习</author><pubDate>Mon, 08 May 2006 12:36:00 GMT</pubDate><guid>http://www.blogjava.net/zkjbeyond/archive/2006/05/08/45083.html</guid><wfw:comment>http://www.blogjava.net/zkjbeyond/comments/45083.html</wfw:comment><comments>http://www.blogjava.net/zkjbeyond/archive/2006/05/08/45083.html#Feedback</comments><slash:comments>4</slash:comments><wfw:commentRss>http://www.blogjava.net/zkjbeyond/comments/commentRss/45083.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zkjbeyond/services/trackbacks/45083.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 五一长假重游绍兴.想起尘封已久的童年.又看了遍鲁迅先生的<从百草园到三味书屋>,钩起更多的回忆.<br>&nbsp;&nbsp;<a href='http://www.blogjava.net/zkjbeyond/archive/2006/05/08/45083.html'>阅读全文</a><img src ="http://www.blogjava.net/zkjbeyond/aggbug/45083.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zkjbeyond/" target="_blank">原创专栏 开源学习</a> 2006-05-08 20:36 <a href="http://www.blogjava.net/zkjbeyond/archive/2006/05/08/45083.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>dojo的包加载机制</title><link>http://www.blogjava.net/zkjbeyond/archive/2006/05/05/44676.html</link><dc:creator>原创专栏 开源学习</dc:creator><author>原创专栏 开源学习</author><pubDate>Fri, 05 May 2006 13:44:00 GMT</pubDate><guid>http://www.blogjava.net/zkjbeyond/archive/2006/05/05/44676.html</guid><wfw:comment>http://www.blogjava.net/zkjbeyond/comments/44676.html</wfw:comment><comments>http://www.blogjava.net/zkjbeyond/archive/2006/05/05/44676.html#Feedback</comments><slash:comments>22</slash:comments><wfw:commentRss>http://www.blogjava.net/zkjbeyond/comments/commentRss/44676.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zkjbeyond/services/trackbacks/44676.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 如果你要用dojo开源框架包,熟悉它的包"加载机制"是必须的,听我给你道来.<br>有可运行例子提供!&nbsp;&nbsp;<a href='http://www.blogjava.net/zkjbeyond/archive/2006/05/05/44676.html'>阅读全文</a><img src ="http://www.blogjava.net/zkjbeyond/aggbug/44676.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zkjbeyond/" target="_blank">原创专栏 开源学习</a> 2006-05-05 21:44 <a href="http://www.blogjava.net/zkjbeyond/archive/2006/05/05/44676.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>What Is Dojo?</title><link>http://www.blogjava.net/zkjbeyond/archive/2006/05/05/44588.html</link><dc:creator>原创专栏 开源学习</dc:creator><author>原创专栏 开源学习</author><pubDate>Fri, 05 May 2006 02:07:00 GMT</pubDate><guid>http://www.blogjava.net/zkjbeyond/archive/2006/05/05/44588.html</guid><wfw:comment>http://www.blogjava.net/zkjbeyond/comments/44588.html</wfw:comment><comments>http://www.blogjava.net/zkjbeyond/archive/2006/05/05/44588.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.blogjava.net/zkjbeyond/comments/commentRss/44588.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zkjbeyond/services/trackbacks/44588.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 粗译dojo文档 http://dojo.jot.com/WhatIsDojo<br><br>发现我还是适合照着理解胡诌，e文差啊！可dojo中文文档g不出来又能怎么办。&nbsp;&nbsp;<a href='http://www.blogjava.net/zkjbeyond/archive/2006/05/05/44588.html'>阅读全文</a><img src ="http://www.blogjava.net/zkjbeyond/aggbug/44588.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zkjbeyond/" target="_blank">原创专栏 开源学习</a> 2006-05-05 10:07 <a href="http://www.blogjava.net/zkjbeyond/archive/2006/05/05/44588.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>