<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>ESB Zone</title>
	<atom:link href="http://www.esbzone.net/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.esbzone.net</link>
	<description>ESB + SOA + 软件过程 =〉服务化的架构实践</description>
	<lastBuildDate>Mon, 14 May 2012 15:06:37 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Web Hosting Comparisons</title>
		<link>http://www.esbzone.net/web-hosting-comparisons/1261/</link>
		<comments>http://www.esbzone.net/web-hosting-comparisons/1261/#comments</comments>
		<pubDate>Mon, 14 May 2012 15:06:37 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.esbzone.net/?p=1261</guid>
		<description><![CDATA[You should know that web hosts differs in many aspects and to find out the difference you need to follow web hosting comparisons. Comparing web hosting services and finding out the best hosting deal will help you in save a lot as you will not need to upgrade or switch the hosting server in the [...]]]></description>
		<wfw:commentRss>http://www.esbzone.net/web-hosting-comparisons/1261/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Wal-mart Looks Locally for Marketing Prowess</title>
		<link>http://www.esbzone.net/wal-mart-looks-locally-for-marketing-prowess/1259/</link>
		<comments>http://www.esbzone.net/wal-mart-looks-locally-for-marketing-prowess/1259/#comments</comments>
		<pubDate>Mon, 14 May 2012 15:06:16 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.esbzone.net/?p=1259</guid>
		<description><![CDATA[In the past year businesses have been made significantly aware of how important local marketing is for small businesses and it would seem that larger businesses and even met it corporations are listening to this advice as well. Gigantic discount chain store Wal-Mart has recently encouraged the adoption of local marketing efforts as applied to [...]]]></description>
		<wfw:commentRss>http://www.esbzone.net/wal-mart-looks-locally-for-marketing-prowess/1259/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Java Enum小心使用，它可能增加系统耦合性</title>
		<link>http://www.esbzone.net/java-enum%e5%b0%8f%e5%bf%83%e4%bd%bf%e7%94%a8%ef%bc%8c%e5%ae%83%e5%8f%af%e8%83%bd%e5%a2%9e%e5%8a%a0%e7%b3%bb%e7%bb%9f%e8%80%a6%e5%90%88%e6%80%a7/1257/</link>
		<comments>http://www.esbzone.net/java-enum%e5%b0%8f%e5%bf%83%e4%bd%bf%e7%94%a8%ef%bc%8c%e5%ae%83%e5%8f%af%e8%83%bd%e5%a2%9e%e5%8a%a0%e7%b3%bb%e7%bb%9f%e8%80%a6%e5%90%88%e6%80%a7/1257/#comments</comments>
		<pubDate>Wed, 18 Apr 2012 17:55:32 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.esbzone.net/?p=1257</guid>
		<description><![CDATA[关于在SOA环境中使用Java Enum的一些经验已经在《服务化的行军中：Enum使用，快乐的痛苦》一文中进行了讲述。 随着项目的深入，在某些环节使用Enum的不爽之处，上升为一些设计方面的选择问题。 Enum不适合作为通用类的属性来使用 在我们的代码中，我看到如下一个情况，有关类：UserPrincipal，它被整个分布式系统中的所有系统共同使用，从包的放置位置：net.esbzone.comm.security就可以看出它的通用性。突然某天，看到有同学在这个类加入了一个Enum属性，这个Enum属性还是另外一个业务系统B内部定义的一个通用常量【这个常量的确很是通用，表示用户类型】。这个例子，首先导致UserPrincipal与业务系统B产生了紧耦合，间接导致所有系统与业务系统B产生了耦合；其次即使它定义在net.esbzone.comm.security包中，也间接导致UserPrincipal与具体业务产生了关联，会增强外部系统对Enum的耦合度，从而削弱了UserPrincipal的独立性；此外一旦Enum发生变化，所有依赖与它的业务系统都要发生变化，代码依赖级别的变化。 往往，Enum的业务语义太强，与场景的关联性太密切，一旦环境发生了变化，Enum的值就可能发生变化，从而导致使用它的业务域对象也可能要发生变化。 使用Enum作为通用类的属性，制约了该类的通用性。 【注意：】在封闭系统内部是非常适合使用Enum，它会增强代码的可读性，减少维护成本，降低风险。 Enum不适合作为服务接口的参数来用 首先是序列化的风险。 其次Enum增强了系统的耦合性，如果只是接口耦合，那么可以通过WS，HTTP POST等方式来降耦。如果使用了Enum之后，我们进一步增加了对Enum这种特殊类型的处理【大部分标准化协议和现代变成语言，都支持原子类型，对象类型，集合类型，但对Enum的支持却各有所不同】，这就增加了耦合性。此外，此时对于一个使用者要面对多个服务提供者的时候，如果遇到这种情况就会更加痛苦不堪。 再次，Enum在接口层使用，制约了扩展性。当增加一个新的业务常量时，需要修改Enum，此时它的WSDL文件也会发生变化【这点很头痛】，想到于修改了接口描述文件。 最后，我们从业务协议设计的角度来看，我们需要的只是原子数据类型，而不是Enum这么强的一个对象类型。]]></description>
		<wfw:commentRss>http://www.esbzone.net/java-enum%e5%b0%8f%e5%bf%83%e4%bd%bf%e7%94%a8%ef%bc%8c%e5%ae%83%e5%8f%af%e8%83%bd%e5%a2%9e%e5%8a%a0%e7%b3%bb%e7%bb%9f%e8%80%a6%e5%90%88%e6%80%a7/1257/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SOA是可持续的战略，不是一次项目</title>
		<link>http://www.esbzone.net/soa%e6%98%af%e5%8f%af%e6%8c%81%e7%bb%ad%e7%9a%84%e6%88%98%e7%95%a5%ef%bc%8c%e4%b8%8d%e6%98%af%e4%b8%80%e6%ac%a1%e9%a1%b9%e7%9b%ae/1254/</link>
		<comments>http://www.esbzone.net/soa%e6%98%af%e5%8f%af%e6%8c%81%e7%bb%ad%e7%9a%84%e6%88%98%e7%95%a5%ef%bc%8c%e4%b8%8d%e6%98%af%e4%b8%80%e6%ac%a1%e9%a1%b9%e7%9b%ae/1254/#comments</comments>
		<pubDate>Wed, 18 Apr 2012 17:53:48 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.esbzone.net/?p=1254</guid>
		<description><![CDATA[常常听到如下关于SOA的说法： 我们完成了SOA化改造。 我们的SOA化，已近实现了80%。 这次项目是为了实现SOA化，因此要请有这方面经验的公司来实施。 从技术角度层面来说，我们达到了SOA化的目标。 这是我们最后一个SOA个项目 等等 如果这些话出自程序员，项目经理等人员，也是无所谓的；如果出自IT管理层的人员，哪就是一种可怕的想法了。因为他把SOA仅仅看作是一次项目了，而没有把它作为战略。这样的后果也是可以预见的，最终本次投资将会失败。 因此，建议那些准备实施SOA的公司，首先回答这个问题：SOA是贵公司的一个战略吗？ 为什么要回答这个问题？ 从SOA概念来看 关于什么是SOA，我有几篇文章，可以参考（《这些都不是SOA》,《ESB产品升级准备：SOA、ESB、JBI、SCA、OSGI概念再学习、再理解》,《SOA，想说爱你不容易》）。丛概念上可以看出，SOA不少技术问题，它是一种思想，一种架构，因而不可能通过一个项目就把这种思想或架构完全实现；思想也是会发展得，今天的思想在明天或许就会不适应。 从SOA目标来看 SOA的目标是解决业务敏捷性问题。如今，大环境复杂多变，任何一个公司都不敢说自己的业务就是这几个、自己的业务会一直不会变，很多企业，在很短的周期 内，就会推出各类产品（特别是服务类企业，例如：银行、互联网企业等）。只有那些能够快速适应变化，主动寻求变化的企业才能够生存下来，发展起来，例如： 会跳舞的大象IBM，IT行业最大的特色就是变化快、发展快，如果IBM的业务不能敏捷的适应这种变化，它还能跳舞吗？正因为IBM深刻理解了SOA的目 标，因而它把SOA看作一种战略–可持续的战略。 从IT管理角度来看 对于IT主管，一定要确保本公司的IT战略是可持续的，不能今天一种想法，明天又看到什么好思想，就换了一种想法，或者换个主管，就彻底换了战略（这种做 法，就像我们国内的城市建设，路总是修不好）。既然从一种思路切合到了SOA领域，那么再次切换的成本将会更高，也不可能多种思路同时进行（吃得多，嚼不 烂）。此外，谁能保证一次项目就确保几年内业务变化的需要？从我们实施的经验来看，必须持续的进行SOA化，才能确保SOA持续的发挥效果。 从系统分析角度来看 每次项目都要进行系统分析，都是基于当前的业务进行，那么不可避免的就会有一些盲点（从认知的角度看，人不可能一次就抓住事物的本质，何况大多数系统分析 员不具有这种能力）和不合理支出。这些问题，只有在实施后一段时间才能发现（我们自己的实践经验）；此外随着补丁的实施，原有的系统已经恶化，和最初的 SOA化目标越来越远。此时，如果不能再次用SOA的思想重新审视系统，就将彻底失去了SOA带来的好处。 从技术特征来看 SOA非但不能让系统架构变得简单，反而变得复杂了（系统设计要求变高了、系统部署复杂了、发布复杂了、各类SOA相关技术的引入增加了对人员的要求），这也是为什么要引入SOA治理。从这一点来看，只有持续的SOA化，才能最终发挥SOA技术架构的好处。 再次提醒将要进行SOA化的朋友和已经进行了SOA化的朋友，把SOA当作贵公司的可持续的战略来看，而不要认为它紧紧是一次项目。]]></description>
		<wfw:commentRss>http://www.esbzone.net/soa%e6%98%af%e5%8f%af%e6%8c%81%e7%bb%ad%e7%9a%84%e6%88%98%e7%95%a5%ef%bc%8c%e4%b8%8d%e6%98%af%e4%b8%80%e6%ac%a1%e9%a1%b9%e7%9b%ae/1254/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>良好的编程习惯是成长的助推剂</title>
		<link>http://www.esbzone.net/%e8%89%af%e5%a5%bd%e7%9a%84%e7%bc%96%e7%a8%8b%e4%b9%a0%e6%83%af%e6%98%af%e6%88%90%e9%95%bf%e7%9a%84%e5%8a%a9%e6%8e%a8%e5%89%82/1252/</link>
		<comments>http://www.esbzone.net/%e8%89%af%e5%a5%bd%e7%9a%84%e7%bc%96%e7%a8%8b%e4%b9%a0%e6%83%af%e6%98%af%e6%88%90%e9%95%bf%e7%9a%84%e5%8a%a9%e6%8e%a8%e5%89%82/1252/#comments</comments>
		<pubDate>Wed, 18 Apr 2012 17:52:49 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.esbzone.net/?p=1252</guid>
		<description><![CDATA[近来看到、听到一些很小的问题，却导致了系统故障（甚至更严重的问题）。 案例1：等号（==）导致的损失 案例2：少传递一个参数导致的损失 案例3：默认返回结果的乐观，导致的损失 案例4：偶然停止的一个系统，导致系统停机 案例5：2个参数没有设置，导致外部系统故障的内部传递 案例6：大小写，导致某类业务失败 等等 事后看这些问题，发现都很简单，都是由于程序员的粗心导致的。或有有人会说，我们应当允许犯错误，我也是非常认可的，但对于一个企业来说却是非常可怕的，上百个程序员，每人都犯一次这类错误，恐怕企业会有些受不了。 如何规避这些问题哪？ 制度保证 测试保证 程序员良好的编程习惯 通过下面几个例子，简单说明良好编程习惯对成长的助推作用。 首先，通过观察，发现上面所列的问题，都是一些编程习惯导致不是很好的人身上发生的。 其次，通过和一些同事交流，虽然他们自己没有遇到过这类问题，但良好的编程习惯帮助他们避免了这类问题以及克服了其它困难。 再次，同样一起进入公司的新毕业的学生，工作时间、加班时间也一样多，1年后，发展却非常不同。通过观察，我发现：排处天然因素，后天因素中很重要的一点就是良好的编程习惯帮助他们获得了成长。 良好的编成习惯包含很多方面，综合我身边这类人的特质，总结了下面几点： 坚决按照业界认可（或公司认可）的编程风格编写代码 开发、调试、测试过程中遇到的问题，不是简单的解决问题，而是进行深入的思考，挖掘现象背后的基础层面的东西 对于别人、外界出现的一些BUG，不是简单的听听即可，而是进行试验，思考 对于别人无法解决的BUG，总是尝试各类方法，不解决问题，决不罢休 不断总结-〉实践-〉再总结]]></description>
		<wfw:commentRss>http://www.esbzone.net/%e8%89%af%e5%a5%bd%e7%9a%84%e7%bc%96%e7%a8%8b%e4%b9%a0%e6%83%af%e6%98%af%e6%88%90%e9%95%bf%e7%9a%84%e5%8a%a9%e6%8e%a8%e5%89%82/1252/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>网络公司架构师角色探讨</title>
		<link>http://www.esbzone.net/%e7%bd%91%e7%bb%9c%e5%85%ac%e5%8f%b8%e6%9e%b6%e6%9e%84%e5%b8%88%e8%a7%92%e8%89%b2%e6%8e%a2%e8%ae%a8/1250/</link>
		<comments>http://www.esbzone.net/%e7%bd%91%e7%bb%9c%e5%85%ac%e5%8f%b8%e6%9e%b6%e6%9e%84%e5%b8%88%e8%a7%92%e8%89%b2%e6%8e%a2%e8%ae%a8/1250/#comments</comments>
		<pubDate>Wed, 18 Apr 2012 17:52:04 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.esbzone.net/?p=1250</guid>
		<description><![CDATA[这几天和同事聊天的时候，一张图是否能够把我们头脑的“架构”表述清楚，最终都不是很理想。原因就是架构本身就是多视角的，不同的视角，看到的图是不一样 的。后来发觉以我等的能力至少需要3张图[产品视图、业务试图、技术视图]才可以表述清楚：战略与产品、业务、技术，产品与业务、技术，业务与技术。【还 有一个层面的视图也很重要：数据视图】 架构师角色可以切分为数据架构师、技术架构师、业务架构师、产品架构师。 数据架构师 负责数据相关的架构，例如：数据库，文件数据，分布式数据架构，数据切分，数据规划，统一数据视图，数据分析，数据备份等方面的内容。 （和技术架构师一道，构件类似google的文件存储、Ebay的统一数据访问层等，对于系统伸缩性、性能、迈入云计算等价值巨大） 制定数据相关的规范、标准流程。 审核系统、项目中数据相关的内容。 技术架构师 关注整体系统架构，通过技术架构对业务架构提供支撑；研究基础技术，通用技术；解决系统稳定性、可靠性、性能、一致性、安全性、可用性等；关注生产率。 制定软件设计、开发、测试等方面的标准、规范、指南等。 参与核心系统设计、开发、测试等。 各类规范的审核，review。 评估系统规模，风险等。 【说明：】系统分析员不是技术架构师，但技术架构师能够胜任系统分析员的职责。 业务架构师 关注业务架构，对公司战略，客户需求，内部需求进行抽象，组织，规划。例如：taobao的B2C、C2C业务，会员业务，评价体系，淘宝交易等业务本质 的抽象是什么的研究，业务之间的关系的组织，业务发展的规划等。技术架构师可以通过业务架构来选择技术架构，研究未来支撑业务发展的技术。 关注业务的敏捷性，能够随着战略的变化而变化。 （业务架构师抽象的业务模型，如果能够保证自身数据的一致性，异步性，那么对技术架构师将产生巨大的帮助） 制定业务相关的规范。 产品架构师 关注产品架构，利用核心业务包装为不同的产品或产品平台，把公司的核心业务展现给用户，把公司的战略目标具体化。例如：google的WEB搜索产品、手 机搜索产品、桌面搜索产品等，同一个搜索业务，包装为不同的产品。产品架构师对产品的规划为业务架构师和同时为技术架构师提供参考。 （产品和业务最终体现了公司的战略，业务是本质，产品是外延，2者缺一不可；产品和业务的规划，发展节奏也代表了公司战略的节奏；产品和业务的发展性也代表了公司战略的持续性） 制定产品相关的规范。 首席架构师 制定公司的长期技术路线图。 是公司技术方向和技术组合的重要决策者。 【其它架构师角色】 对于大型网络公司来说，系统管理员的角色的职责并未完全被技术架构师代替。 测试架构师，（看看一个招聘要求：开发和设计测试框架； 纵横全局的考虑产品的功能及非功能需求，设计高精的测试系统；负责研发特定的测试技术；提高整体测试效率；领导公司测试技术的发展和测试策略的方向；前瞻 性的考虑未来的版本的测试策略和技术；计划 / 设计测试平台，关注着产品的测试过程；具备测试技术、测试方法学上雄厚的知识。）]]></description>
		<wfw:commentRss>http://www.esbzone.net/%e7%bd%91%e7%bb%9c%e5%85%ac%e5%8f%b8%e6%9e%b6%e6%9e%84%e5%b8%88%e8%a7%92%e8%89%b2%e6%8e%a2%e8%ae%a8/1250/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

