﻿<?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-科大SOA </title><link>http://SOA-TISE.blogjava.net/</link><description>USTC的SOA团队，准备参加IBM SOA大赛， 希望通过申请团队blog来进行队员间的交流，这个blog以后也将用于讨论软件架构、SOA、Web和Java开发等方面的技术问题</description><language>zh-cn</language><lastBuildDate>Tue, 14 Apr 2026 23:09:12 GMT</lastBuildDate><pubDate>Tue, 14 Apr 2026 23:09:12 GMT</pubDate><ttl>60</ttl><item><title>初赛的总结</title><link>http://www.blogjava.net/eeiser/archive/2006/07/02/56147.html</link><dc:creator>韦伯</dc:creator><author>韦伯</author><pubDate>Sun, 02 Jul 2006 05:08:00 GMT</pubDate><guid>http://www.blogjava.net/eeiser/archive/2006/07/02/56147.html</guid><description><![CDATA[
		<p>       从4月28左右两次开会定人，到五一长假后的初步开始，六一之后的渐入状态，以及最后的交付件提交，TISE团队走过了她普通而又不一样的经历。<br />       1，TISE队没有领队，没有指导老师，无法参加宣讲会，一切都是从头来。<br />       SOA不懂，int和enetor上，他们俩硬是把400多页SOA资料啃完，并且给其他队员讲解清楚；流程不清楚，相关技术不明白，thyme和int把资料都看完，还自己找了相关资料，给我们讲清楚。团队里有什么困难，大家总是勇于承担和解决。在这样一个缺少外界帮助情况下，这么“顺利”的走过来，走到了初赛的最后，真的要感谢大家，感谢队里的每一个队员。<br />      2，每周一次讨论。<br />     我们的提交结果不一定是最好的，不过它已经达到我们（理解）的层次。<br />     每周一次固定的讨论，没有那次缺少过。从周三推迟到周五，有过；周五推迟到周六，有过，但是没有说哪周缺少过。必要的讨论与交流，我们发生了争执（对于SOA的理解，对于重用的理解，对于组件与服务的理解等等），我们在激烈争论的争论中辨明理论，在争论中包容对方，在争论中成长。<br />     3，大家的热情与激情，使团队顺利的完成了要求<br />     我们队一共四个人，enetor是大一，我、int、thyme都是研一，都要上课，都要考试。但是大家对于比赛的热情却没有被阻拦。我们对于SOA的执著与坚持，使团队拿出了自己满意的作品。<br />     <br />     最后，我作为团队的组织与发起者，感谢大家在初赛的付出，感谢团队，感谢团队里的每一个人！</p>
		<p>    (继续回医院吊水，呵呵)</p>
<img src ="http://SOA-TISE.blogjava.net/aggbug/56147.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/eeiser/" target="_blank">韦伯</a> 2006-07-02 13:08 <a href="http://www.blogjava.net/eeiser/archive/2006/07/02/56147.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>终稿提交前的故事</title><link>http://www.blogjava.net/eeiser/archive/2006/07/02/56146.html</link><dc:creator>韦伯</dc:creator><author>韦伯</author><pubDate>Sun, 02 Jul 2006 04:47:00 GMT</pubDate><guid>http://www.blogjava.net/eeiser/archive/2006/07/02/56146.html</guid><description><![CDATA[       不知道团队BLOG的检查过了没有，如果还没检查，正好补上一篇，如果已检查，就算是自我总结一下吧。<br />       最后一次开会是18日，仍然是晚上6：30。当时thyme已经把综述和展望总结好，int的服务模型分析也完成，我的两个图也画完了。剩下的事情就是需要我来捏合捏合，修修补补。语句、措辞以及一些衔接等，个别的段落修改一下就行。<br />       然而，事情总是很难顺利。<br />       打算20日左右完成的终稿一直被拖到26日才提交，并且约定提交之前要和大家再作一次讨论也放弃了。原因是19日我就进医院了。19日开始一直到25日都没有精力来完成稿子的修改。到了25日晚上，终于从校医院住院部偷偷溜了出来，在宿舍的机子上把交付件仔细审视了一遍，做了小幅度的修改。<br />       26日，修改过的稿子终于发出去了，完成了自己的工作。下午，继续回到病房，住院吊水。<img src ="http://SOA-TISE.blogjava.net/aggbug/56146.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/eeiser/" target="_blank">韦伯</a> 2006-07-02 12:47 <a href="http://www.blogjava.net/eeiser/archive/2006/07/02/56146.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>最后紧张的半个月</title><link>http://www.blogjava.net/eeiser/archive/2006/06/07/51014.html</link><dc:creator>韦伯</dc:creator><author>韦伯</author><pubDate>Wed, 07 Jun 2006 01:12:00 GMT</pubDate><guid>http://www.blogjava.net/eeiser/archive/2006/06/07/51014.html</guid><description><![CDATA[
		<p>1，因为到期末考试了，都要准备考试了，繁忙中<br />2，团队持续了一个月了，长时间征战，疲态中。<br />3，对于比赛，难以找到自认为满意的解决方案，惶惑中。<br /><br />最后半个月多，也是关键的时期，我们团队要再接再厉，一鼓作气拿下比赛。</p>
<img src ="http://SOA-TISE.blogjava.net/aggbug/51014.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/eeiser/" target="_blank">韦伯</a> 2006-06-07 09:12 <a href="http://www.blogjava.net/eeiser/archive/2006/06/07/51014.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>5月31日(周三)的会议</title><link>http://www.blogjava.net/ustc-tise/archive/2006/06/02/50058.html</link><dc:creator>ustc-soa-tise</dc:creator><author>ustc-soa-tise</author><pubDate>Fri, 02 Jun 2006 13:43:00 GMT</pubDate><guid>http://www.blogjava.net/ustc-tise/archive/2006/06/02/50058.html</guid><description><![CDATA[
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<?xml:namespace prefix = st1 ns = "urn:schemas-microsoft-com:office:smarttags" /?>
				<st1:chsdate w:st="on" isrocdate="False" islunardate="False" day="31" month="5" year="2006">
						<b style="mso-bidi-font-weight: normal">
								<span lang="EN-US" style="FONT-SIZE: 10.5pt">5</span>
						</b>
						<b style="mso-bidi-font-weight: normal">
								<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">月</span>
						</b>
						<b style="mso-bidi-font-weight: normal">
								<span lang="EN-US" style="FONT-SIZE: 10.5pt">31</span>
						</b>
						<b style="mso-bidi-font-weight: normal">
								<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">日</span>
						</b>
				</st1:chsdate>
				<b style="mso-bidi-font-weight: normal">
						<span lang="EN-US" style="FONT-SIZE: 10.5pt">(</span>
				</b>
				<b style="mso-bidi-font-weight: normal">
						<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">周三</span>
				</b>
				<b style="mso-bidi-font-weight: normal">
						<span lang="EN-US" style="FONT-SIZE: 10.5pt">)</span>
				</b>
				<b style="mso-bidi-font-weight: normal">
						<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的会议</span>
				</b>
				<b style="mso-bidi-font-weight: normal">
						<span lang="EN-US" style="FONT-SIZE: 10.5pt">
								<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /?>
								<o:p>
								</o:p>
						</span>
				</b>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<b>
						<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">出席：</span>
						<span lang="EN-US">eeiser</span>
				</b>
				<b>
						<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">，</span>
						<span lang="EN-US">thyme</span>
				</b>
				<b>
						<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">，</span>
						<span lang="EN-US">int</span>
				</b>
				<b>
						<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">，</span>
						<span lang="EN-US">enetor<o:p></o:p></span>
				</b>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<b>
						<span lang="EN-US">
								<o:p> </o:p>
						</span>
				</b>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 24pt">
				<b>
						<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">依旧是晚上</span>
						<span lang="EN-US">18:30</span>
				</b>
				<b>
						<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">开始。</span>
						<span lang="EN-US">
								<o:p>
								</o:p>
						</span>
				</b>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 24pt">
				<b>
						<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">由于前段日子大家各有考试和一些琐碎的事情，没能集中精力放在这个项目上。因此对整个任务的理解并没有突破性的进展。通过前一段时间文档资料的阅读，对</span>
						<span lang="EN-US">SOA</span>
				</b>
				<b>
						<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">、</span>
						<span lang="EN-US">ERP</span>
				</b>
				<b>
						<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">、</span>
						<span lang="EN-US">CRM</span>
				</b>
				<b>
						<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">都有了应有的概念，但普遍的困惑是，我们究竟怎么来完成题目，以及怎么把</span>
						<span lang="EN-US">SOA</span>
				</b>
				<b>
						<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的思想用进去。</span>
						<span lang="EN-US">
								<o:p>
								</o:p>
						</span>
				</b>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 24pt">
				<b style="mso-bidi-font-weight: normal">
						<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">老大</span>
						<span lang="EN-US">eeiser</span>
				</b>
				<b style="mso-bidi-font-weight: normal">
						<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">收集到了台湾赛区的一些作品，虽然跟我们的题目大相径庭，但他们完成的设计文档给了我们一些参照，起码让了解了一下大致要做成什么样子。但与我们原来设想的有些不同，因为这些作品还是相对比较虚，只是提出了初步的想法和大致的系统与服务划分，并不考虑系统的实现。三个人在一起研究了一下台湾参赛作品后，达成一致意见，即我们必须动手开始勾画我们自己的系统。于是分别对业务流程和服务划分等提出了各自的意见，其中也有不少争论。决定先由两人设计出初步的业务流程与服务划分，下一次来进行讨论。</span>
						<span lang="EN-US">
								<o:p>
								</o:p>
						</span>
				</b>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 24pt">
				<b style="mso-bidi-font-weight: normal">
						<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">会议决定：</span>
						<span lang="EN-US">
								<o:p>
								</o:p>
						</span>
				</b>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 42pt; TEXT-INDENT: -18pt; mso-list: l0 level1 lfo1; tab-stops: list 42.0pt">
				<b style="mso-bidi-font-weight: normal">
						<span lang="EN-US" style="mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'">
								<span style="mso-list: Ignore">1、<span style="FONT: 7pt 'Times New Roman'">              </span></span>
						</span>
				</b>
				<b style="mso-bidi-font-weight: normal">
						<span lang="EN-US">eeiser</span>
				</b>
				<b style="mso-bidi-font-weight: normal">
						<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">完成初步的业务流程图设计</span>
						<span lang="EN-US">
								<o:p>
								</o:p>
						</span>
				</b>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 42pt; TEXT-INDENT: -18pt; mso-list: l0 level1 lfo1; tab-stops: list 42.0pt">
				<b style="mso-bidi-font-weight: normal">
						<span lang="EN-US" style="mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'">
								<span style="mso-list: Ignore">2、<span style="FONT: 7pt 'Times New Roman'">              </span></span>
						</span>
				</b>
				<b style="mso-bidi-font-weight: normal">
						<span lang="EN-US">int</span>
				</b>
				<b style="mso-bidi-font-weight: normal">
						<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">完成初步的服务划分</span>
						<span lang="EN-US">
								<o:p>
								</o:p>
						</span>
				</b>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 42pt; TEXT-INDENT: -18pt; mso-list: l0 level1 lfo1; tab-stops: list 42.0pt">
				<b style="mso-bidi-font-weight: normal">
						<span lang="EN-US" style="mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'">
								<span style="mso-list: Ignore">3、<span style="FONT: 7pt 'Times New Roman'">              </span></span>
						</span>
				</b>
				<b style="mso-bidi-font-weight: normal">
						<span lang="EN-US">thyme</span>
				</b>
				<b style="mso-bidi-font-weight: normal">
						<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">和</span>
						<span lang="EN-US">enetor</span>
				</b>
				<b style="mso-bidi-font-weight: normal">
						<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">继续整理相关的</span>
						<span lang="EN-US">SOA</span>
				</b>
				<b style="mso-bidi-font-weight: normal">
						<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">文档</span>
						<span lang="EN-US">
								<o:p>
								</o:p>
						</span>
				</b>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 24pt">
				<b style="mso-bidi-font-weight: normal">
						<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">不管怎么说，已经对需要做什么有了比较清晰的认识，接下去只要按照计划做就好了。</span>
						<span lang="EN-US">
								<o:p>
								</o:p>
						</span>
				</b>
		</p>
<img src ="http://SOA-TISE.blogjava.net/aggbug/50058.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/ustc-tise/" target="_blank">ustc-soa-tise</a> 2006-06-02 21:43 <a href="http://www.blogjava.net/ustc-tise/archive/2006/06/02/50058.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>业务流程图画好了</title><link>http://www.blogjava.net/eeiser/archive/2006/06/01/49556.html</link><dc:creator>韦伯</dc:creator><author>韦伯</author><pubDate>Thu, 01 Jun 2006 06:05:00 GMT</pubDate><guid>http://www.blogjava.net/eeiser/archive/2006/06/01/49556.html</guid><description><![CDATA[   根据昨天的会议精神，把业务流程图画了一下。<br />   刚刚发给各位了，大家看一下，有什么不妥的地方。word画的<br />   感觉业务流程图应该早一点画，这样有助于我们对业务的了解。不然一直都感觉对题目的业务需求挺清楚的，画了流程图之后发觉，还有一些地方需要再仔细商量探讨，进行更仔细的研究，呵呵。<br />    <img src ="http://SOA-TISE.blogjava.net/aggbug/49556.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/eeiser/" target="_blank">韦伯</a> 2006-06-01 14:05 <a href="http://www.blogjava.net/eeiser/archive/2006/06/01/49556.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>5月24日(周三)的会议</title><link>http://www.blogjava.net/eeiser/archive/2006/05/26/48309.html</link><dc:creator>韦伯</dc:creator><author>韦伯</author><pubDate>Fri, 26 May 2006 05:27:00 GMT</pubDate><guid>http://www.blogjava.net/eeiser/archive/2006/05/26/48309.html</guid><description><![CDATA[
		<p>出席：我，thyme，int<br />缺席：enetor（邓璠）</p>
		<p>     晚上18：30开始。<br />     首先观看了IBM提供的梁海奇研究员的大赛说明视频，进一步理解和领会大赛的目的与要求。接着看了几篇SOA相关的文档。期间，个人依照自己的理解，展开了讨论。<br />     分歧的存在是明显的。对于SOA架构的理解，以及大赛对ERP和CRM的整合要求等等。每人都阐述了自己的观点与可能涉及的实现、困难等等。<br />      会议一直持续到晚上九点多，时长三个小时多。通过讨论，对于大赛的实现和要求，有了更清晰的了解。<br />      会议决定：<br />             1，分歧继续存在，不做意见统一。大家继续对文档、软件、业务进行熟悉和探究，以期找到真正能够符合SOA的架构和实现。<br />             2，下次会议时间为5月31日</p>
<img src ="http://SOA-TISE.blogjava.net/aggbug/48309.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/eeiser/" target="_blank">韦伯</a> 2006-05-26 13:27 <a href="http://www.blogjava.net/eeiser/archive/2006/05/26/48309.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>SOA</title><link>http://www.blogjava.net/enetor/archive/2006/05/22/47509.html</link><dc:creator>邓璠</dc:creator><author>邓璠</author><pubDate>Mon, 22 May 2006 09:31:00 GMT</pubDate><guid>http://www.blogjava.net/enetor/archive/2006/05/22/47509.html</guid><description><![CDATA[
		<p>Service-Oriented Architecture<br />面向服务的架构</p>
		<p>软件业从最初的面向过程、面向对象，到后来的面向组件、面向集成，直到现在的面向服务，走过了一条螺旋上升的曲线。<br />其实，自从上世纪70年代提出“软件危机”，诞生软件工程学科以来，为了彻底摆脱软件系统开发泥潭，我们一直也没有放弃努力。<br />SOA的定义<br />SOA，面向服务的架构是一个组件模型，它将应用程序的不同功能单元----服务(service)，通过服务间定义良好的接口和契约(contract)联系起来。接口采用中立的方式定义，独立于具体实现服务的硬件平台、操作系统和编程语言，使得构建在这样的系统中的服务可以使用统一和标准的方式进行通信。<br />这种具有中立的接口定义(没有强制绑定到特定的实现上)的特征称为服务之间的松耦合<br />软件系统架构<br />SOA不是一种语言，也不是一种具体的技术，更不是一种产品，而是一种软件系统架构，它尝试给出在特定环境下推荐采用的一种架构。<br />从这个角度上来说，它其实更像一种架构模式(Pattern)，是一种理念架构，是人们面向应用服务的解决方案框架。</p>
		<p>
				<br />　       服务是一个自包含的、无状态的实体，可以由多个组件组成。它通过事先定义的界面响应服务请求。它也可以执行诸如编辑和处理事务等离散性任务。服务本身并不依赖于其他函数和过程的状态。用什么技术实现服务，并不在其定义中加以限制。</p>
		<p>
				<br />           服务提供者提供符合契约的服务，并将它们发布到服务代理。</p>
		<p>
				<br />            服务请求者也叫服务使用者，它发现并调用其他的软件服务来提供商业解决方案。从概念上来说，SOA 本质上是将网络、传输协议和安全细节留给特定的实现来处理。服务请求者通常称为客户端，但是，也可以是终端用户应用程序或别的服务。</p>
		<p>服务是整个SOA实现的核心&#xB;<br />SOA架构的基本元素是服务，SOA 指定一组实体(服务提供者、服务消费者、服务注册表、服务条款、服务代理和服务契约)，这些实体详细说明了如何提供和消费服务。<br />遵循 SOA 观点的系统必须要有服务，这些服务是可互操作的、独立的、模块化的、位置明确的、松耦合的并且可以通过网络查找其地址。</p>
		<p>
				<br />           服务代理者作为储存库、电话黄页或票据交换所，产生由服务提供者发布的软件接口。</p>
		<p>
				<br />          这三种 SOA 参与者:服务提供者、服务代理者以及服务请求者通过 3 个基本操作:发布、查找、绑定相互作用。服务提供者向服务代理者发布服务。服务请求者通过服务代理者查找所需的服务，并绑定到这些服务上。服务提供者和服务请求者之间可以交互。</p>
		<p>
				<br />            所谓服务的无状态，是指服务不依赖于任何事先设定的条件，是状态无关的(state-free)。在SOA架构中，一个服务不会依赖于其他服务的状态。 它们从客户端接受服务请求。因为服务是无状态的，它们可以被编排(orchestrated)和序列化(sequenced)成多个序列 (有时还采用流水线机制) ，以执行商业逻辑。编排指的是序列化服务并提供数据处理逻辑。但不包括数据的展现功能。<br />SOA的一些重要特征<br />           服务的封装(encapsulation)。将服务封装成用于业务流程的可重用组件的应用程序函数。它提供信息或简化业务数据从一个有效的、一致的状态向另一个状态的转变。封装隐藏了复杂性。服务的API保持不变，使得用户远离具体实施上的变更。</p>
		<p>SOA的一些重要特征<br />           服务的重用(reuse)。服务的可重用性设计显著地降低了成本。为了实现可重用性，服务只工作在特定处理过程的上下文(context)中，独立于底层实现和客户需求的变更。</p>
		<p>SOA的一些重要特征<br />            服务的互操作。互操作并不是一个新概念。在CORBA、DCOM、Web Service中就已经采用互操作技术了。在SOA中，通过服务之间既定的通信协议进行互操作。主要有同步和异步两种通信机制。SOA提供服务的互操作特性更利于其在多个场合被重用。</p>
		<p>SOA的一些重要特征<br />           服务是自治的(Autonomous)功能实体。服务是由组件组成的组合模块，是自包含和模块化的。</p>
		<p>SOA的一些重要特征<br />           SOA非常强调架构中提供服务的功能实体的完全独立自主的能力。传统的组件技术，都需要有一个宿主(Host或者Server)来存放和管理这些功能实体;当这些宿主运行结束时这些组件的寿命也随之结束。这样当宿主本身或者其它功能部分出现问题的时候，在该宿主上运行的其它应用服务就会受到影响。<br />SOA的一些重要特征<br />           SOA架构中非常强调实体自我管理和恢复能力。常见的用来进行自我恢复的技术，比如事务处理，消息队列等在SOA中都起到至关重要的作用。<br />SOA的一些重要特征<br />           服务之间的松耦合度。服务请求者到服务提供者的绑定与服务之间应该是松耦合的。这就意味着，服务请求者不知道提供者实现的技术细节，比如程序设计语言、部署平台，等等。服务请求者往往通过消息调用操作，请求消息和响应，而不是通过使用 API 和文件格式。<br />SOA的一些重要特征<br />           松耦合使会话一端的软件可以在不影响另一端的情况下发生改变，前提是消息模式保持不变。在一个极端的情况下，服务提供者可以将以前基于遗留代码的实现完全用基于 Java 语言的新代码取代，同时又不对服务请求者造成任何影响。这种情况是真实的，只要新代码支持相同的通信协议。<br />SOA的一些重要特征<br />         服务是位置透明的。服务是针对业务需求设计的，需要反应需求的变化，即所谓敏捷设计。要想真正实现业务与服务的分离。就必须使得服务的设计和部署对用户来说是完全透明的。也就是说，用户完全不必知道响应自己需求的服务的位置，甚至不必知道具体是哪个服务参与了响应。<br />抽象级别1：操作<br />           代表单个逻辑工作单元的事务。执行操作通常会导致读、写或修改一个或多个持久性数据。SOA 操作可以直接与面向对象的方法相比。它们都有特定的结构化接口，并且返回结构化的响应。完全同方法一样，特定操作的执行可能涉及调用附加的操作。<br />抽象级别2：服务<br />           代表操作的逻辑分组。服务可以分层，以降低耦合度和复杂性。一个服务的粒度大小也与系统的性能息息相关。粒度太小，会增加服务间互操作通讯的开销;粒度太大，又会影响服务面对需求变化的敏捷性。<br />抽象级别3：业务流程<br />           为实现特定业务目标而执行的一组长期运行的动作或活动。业务流程通常包括多个业务调用。<br />业务流程<br />           在SOA中，业务流程包括依据一组业务规则按照有序序列执行的一系列操作。操作的排序、选择和执行称为服务或流程编排。典型的情况是调用已编排服务来响应业务事件。从建模的观点来看，描述设计良好的操作、服务和流程抽象的特征以及系统地构造它们是重要的。<br /></p>
<img src ="http://SOA-TISE.blogjava.net/aggbug/47509.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/enetor/" target="_blank">邓璠</a> 2006-05-22 17:31 <a href="http://www.blogjava.net/enetor/archive/2006/05/22/47509.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>An article on Service-Oriented Architecture from Sun Corp.</title><link>http://www.blogjava.net/enetor/archive/2006/05/22/47502.html</link><dc:creator>邓璠</dc:creator><author>邓璠</author><pubDate>Mon, 22 May 2006 09:20:00 GMT</pubDate><guid>http://www.blogjava.net/enetor/archive/2006/05/22/47502.html</guid><description><![CDATA[
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 10.5pt; TEXT-ALIGN: center; mso-char-indent-count: 1.0; mso-char-indent-size: 10.5pt" align="center">
				<span lang="EN-US" style="FONT-FAMILY: Century; mso-bidi-font-family: 'Courier New'">Service Oriented Architecture - Part 1<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /?><o:p></o:p></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 10.5pt; TEXT-ALIGN: center; mso-char-indent-count: 1.0; mso-char-indent-size: 10.5pt" align="center">
				<span lang="EN-US" style="FONT-FAMILY: Century; mso-bidi-font-family: 'Courier New'">By Samudra Gupta<o:p></o:p></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 10.5pt; TEXT-ALIGN: center; mso-char-indent-count: 1.0; mso-char-indent-size: 10.5pt" align="center">
				<span lang="EN-US" style="FONT-FAMILY: Century; mso-bidi-font-family: 'Courier New'">Sun Corporation<o:p></o:p></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 10.5pt; mso-char-indent-count: 1.0; mso-char-indent-size: 10.5pt">
				<span lang="EN-US" style="FONT-FAMILY: Century; mso-bidi-font-family: 'Courier New'">Introduction<o:p></o:p></span>
		</p>
		<p class="MsoBodyTextIndent2" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 10.5pt">
				<span lang="EN-US" style="FONT-SIZE: 10.5pt; mso-bidi-font-size: 12.0pt">
						<font face="Century">In recent times, more and more organizations are implementing IT systems across different departments. The challenge is to find a solution that is extendible, flexible and fits well with the existing legacy systems. Replacing legacy systems to cope with the new architecture is not only costly but also introduces risk of malfunctioning. In this context, the traditional software architectures proves ineffective in providing the right level of cost effective and extendible Information systems across the organization boundaries. Service Oriented Architecture (S0A) provides a relatively cheap and more cost-effective solution addressing these problems and challenges. Although, it is not a new concept, with the advent of recent platform-independent programs and platform-neutral data models, SOA needs some fresh attention. In this installment, we will examine the anatomy of a Service Oriented Architecture and develop an understanding of how to implement SOA in an architectural level. <o:p></o:p></font>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 10.5pt; mso-char-indent-count: 1.0; mso-char-indent-size: 10.5pt">
				<span lang="EN-US" style="FONT-FAMILY: Century; mso-bidi-font-family: 'Courier New'">Why do we need SOA?<o:p></o:p></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 10.5pt; mso-char-indent-count: 1.0; mso-char-indent-size: 10.5pt">
				<span lang="EN-US" style="FONT-FAMILY: Century; mso-bidi-font-family: 'Courier New'">One important factor in imbibing a new model of Software Architecture is the ever-changing business model. Modern day business constantly needs to adapt to new customer bases. The ability to quickly adapt to the new customer base and new business partners is the key to success. Sharing IT systems with other organizations is a new trend in the business. For example, businesses like online auctions are opening their systems to third party organization in an effort to better reach their customer base. In this context, Service Oriented Architecture offers benefit and cost-effectiveness to the business. The process of adapting to the changing business model is not an easy task. There are many legacy systems, which are difficult to make available to the new business partners. These legacy systems might need to change to support the new business functions and integrate to the newly developed IT systems or integrate to the IT systems of its partners'. The complexity of the whole thing is what makes it a constant challenge to organizations. <o:p></o:p></span>
		</p>
		<p class="MsoBodyTextIndent" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 10.5pt; mso-char-indent-count: 1.0; mso-char-indent-size: 10.5pt">
				<span lang="EN-US" style="FONT-FAMILY: Century; mso-bidi-font-family: 'Courier New'">Imagine a government department has some legacy Sales Tax management system which interacts with the legacy Trader Management system. Suddenly, the government needs to incorporate a new Green House tax. Now the new Green House Tax system will also interact with the legacy Trader Information system and also affect the existing Sales Tax for the Traders who are paying Green House Tax, In essence, because of the introduction of the new Green House Tax system, both the legacy systems need to be readjusted to deal with the new type of Traders and Tax information. This is costly as all the existing legacy systems will have to be modified and will need to be re-tested. <o:p></o:p></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 10.5pt; mso-char-indent-count: 1.0; mso-char-indent-size: 10.5pt">
				<span lang="EN-US" style="FONT-FAMILY: Century; mso-bidi-font-family: 'Courier New'">This sort of complexity scenarios can be resolved by adopting SOA. Services are defined as a set of well-defined interfaces, which are generic in nature. Services also define a schema for the input to be supplied to the Service by its consumer. The inherent nature of SOA is that Services work with an extendible Schema and thereby can cope with various different types of entities that the Service is dealing with. For example, a Customer Management system works with a XML based data passed into it and it is capable of processing any type of Customer without needing to know the difference between a Corporate Customer and a Household Customer. This aspect of SOA resolves the above mentioned complexity scenario without having to change. <o:p></o:p></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 10.5pt; mso-char-indent-count: 1.0; mso-char-indent-size: 10.5pt">
				<span lang="EN-US" style="FONT-FAMILY: Century; mso-bidi-font-family: 'Courier New'">Essentially, Services operate as an independent entity. An Organizational IT system is composed of a collection of Services. Each of these Services can evolve and change in its own right. <o:p></o:p></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 10.5pt; mso-char-indent-count: 1.0; mso-char-indent-size: 10.5pt">
				<span lang="EN-US" style="FONT-FAMILY: Century; mso-bidi-font-family: 'Courier New'">Another example might be, a bank. Imagine that several areas of banking applications will deal with the current balance of an existing customer. More than often, the “get current balance” functionality is repeated in various application softwares written within a banking environment. This gives rise to a redundant programming scenario. The focus should be towards finding this sort of common, reusable functionality and implement them as a service, so that all banking applications can reuse the service as and when necessary. <o:p></o:p></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 10.5pt; mso-char-indent-count: 1.0; mso-char-indent-size: 10.5pt">
				<span lang="EN-US" style="FONT-FAMILY: Century; mso-bidi-font-family: 'Courier New'">We have briefly discussed the case for SOA. We have seen that SOA is mostly driven by the business model of an organization. The real benefit lies in the reduced cost to fit into changing and reusable business model. Now let us try to define what do we mean by a “Service”. <o:p></o:p></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 10.5pt; mso-char-indent-count: 1.0; mso-char-indent-size: 10.5pt">
				<span lang="EN-US" style="FONT-FAMILY: Century; mso-bidi-font-family: 'Courier New'">What is a Service?<o:p></o:p></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 10.5pt; mso-char-indent-count: 1.0; mso-char-indent-size: 10.5pt">
				<span lang="EN-US" style="FONT-FAMILY: Century; mso-bidi-font-family: 'Courier New'">A Service is an implementation of a well-defined business functionality that operates independent of the state of any other Service defined within the system. Services have a well- defined set of interfaces and operate through a pre-defined contract between the client of the Service and the Service itself. <o:p></o:p></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 10.5pt; mso-char-indent-count: 1.0; mso-char-indent-size: 10.5pt">
				<span lang="EN-US" style="FONT-FAMILY: Century; mso-bidi-font-family: 'Courier New'">A Service can be of various nature. A Business service may mean “getAccountBalance”. A business Transaction Service may mean something like “makeCreditCardPayment”. A system Service may offer some operations like “deleteAFile”. <o:p></o:p></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 10.5pt; mso-char-indent-count: 1.0; mso-char-indent-size: 10.5pt">
				<span lang="EN-US" style="FONT-FAMILY: Century; mso-bidi-font-family: 'Courier New'">In Service Oriented Architecture, the system operates as a collection of services. Each Service may interact with various other Services to accomplish a certain task. The operation of one Service might be a combination of several low level functions. In that case, these low level functions are NOT considered Services. <o:p></o:p></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 10.5pt; mso-char-indent-count: 1.0; mso-char-indent-size: 10.5pt">
				<span lang="EN-US" style="FONT-FAMILY: Century; mso-bidi-font-family: 'Courier New'">How to Identify Services<o:p></o:p></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 10.5pt; mso-char-indent-count: 1.0; mso-char-indent-size: 10.5pt">
				<span lang="EN-US" style="FONT-FAMILY: Century; mso-bidi-font-family: 'Courier New'">Technically, you can make any piece of functionality as a Service, but doing so will make the organizational IT systems cluttered and complicated to maintain. The advantage is in keeping the Services as a set of well-organized functionalities. Services must represent a tangible Business concept. For example, getAccountBalance() is a tangible business process but convertStringToNumber() is not an identifiable business concept and therefore is not a candidate for a Service. <o:p></o:p></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 10.5pt; mso-char-indent-count: 1.0; mso-char-indent-size: 10.5pt">
				<span lang="EN-US" style="FONT-FAMILY: Century; mso-bidi-font-family: 'Courier New'">The process of identifying potential Services is by no means an easy task. At this stage, I have seen many organizations get carried away by the available technologies forgetting that the technology should not drive the Business. Although, identifying Services is a series of organization-wide analysis, certain analysis patterns can be applied to find out the potential services. Here are some things to consider when deciding. <o:p></o:p></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 10.5pt; mso-char-indent-count: 1.0; mso-char-indent-size: 10.5pt">
				<span lang="EN-US" style="FONT-FAMILY: Century; mso-bidi-font-family: 'Courier New'">Analyses a certain part of the organizational business process and decompose them into several smaller business process. For example, Order Processing System of an organization can be decomposed into smaller business processes such as checkInventory(), processPayment(), updateInventory() etc. <o:p></o:p></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 10.5pt; mso-char-indent-count: 1.0; mso-char-indent-size: 10.5pt">
				<span lang="EN-US" style="FONT-FAMILY: Century; mso-bidi-font-family: 'Courier New'">Identify if any of the smaller business processes are re- used or can potentially be reused in other organizational business process. For example, checkInventory() can also be used by the Stock Management application within the organization. The reusable business processes are strong candidates for operating as Services. <o:p></o:p></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 10.5pt; mso-char-indent-count: 1.0; mso-char-indent-size: 10.5pt">
				<span lang="EN-US" style="FONT-FAMILY: Century; mso-bidi-font-family: 'Courier New'">Draft the required inputs to these business processes and define what the specific outputs they must produce. Attention must be paid to keep these inputs and outputs generic so that the Service remains reusable and are capable of providing Service to changing business models. For example, processPayment() service at present might only accept check payment but should be flexible enough to support Card payment in order to support changing business needs. Hence, the input to the processPayment() Service must be defined in a generic fashion. We will discuss more about Service Specification in part 2 of this article. <o:p></o:p></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 10.5pt; mso-char-indent-count: 1.0; mso-char-indent-size: 10.5pt">
				<span lang="EN-US" style="FONT-FAMILY: Century; mso-bidi-font-family: 'Courier New'">Identify, if these Business processes are already implemented as an IT system within the organization. If yes, then analyses the Business critical factor for all the existing applications to identify which ones need to be converted to SOA. For example, if a clothes retailer no longer accepts refund/exchange of goods, we do not need to consider to look into Refund/Exchange application. <o:p></o:p></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 10.5pt; mso-char-indent-count: 1.0; mso-char-indent-size: 10.5pt">
				<span lang="EN-US" style="FONT-FAMILY: Century; mso-bidi-font-family: 'Courier New'">Identify, what Services operate together, what are the dependencies between various Services. <o:p></o:p></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 10.5pt; mso-char-indent-count: 1.0; mso-char-indent-size: 10.5pt">
				<span lang="EN-US" style="FONT-FAMILY: Century; mso-bidi-font-family: 'Courier New'">Find out, if the Services will be used only internally or will be opened to external consumers also. This will have impact on the definition of the Services. <o:p></o:p></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 10.5pt; mso-char-indent-count: 1.0; mso-char-indent-size: 10.5pt">
				<span lang="EN-US" style="FONT-FAMILY: Century; mso-bidi-font-family: 'Courier New'">Identify, whether the Services operate in a synchronous or asynchronous manner. What is the permissible response time for the Services? <o:p></o:p></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 10.5pt; mso-char-indent-count: 1.0; mso-char-indent-size: 10.5pt">
				<span lang="EN-US" style="FONT-FAMILY: Century; mso-bidi-font-family: 'Courier New'">These are guidelines from my experience in working in the industry with quite a few organizations, where we successfully provided SOA based solutions. By no means is this list complete and I do not believe that there can ever be a complete set of formulas for identifying the correct set and subset of Services to be implemented. It is always an ongoing process as new requirements keep on coming in. But the gist of the story is that one needs great attention to identify the sets of Services that are to be deployed within the organization. <o:p></o:p></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 10.5pt; mso-char-indent-count: 1.0; mso-char-indent-size: 10.5pt">
				<span lang="EN-US" style="FONT-FAMILY: Century; mso-bidi-font-family: 'Courier New'">Technology and Patience<o:p></o:p></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 10.5pt; mso-char-indent-count: 1.0; mso-char-indent-size: 10.5pt">
				<span lang="EN-US" style="FONT-FAMILY: Century; mso-bidi-font-family: 'Courier New'">I know I talk a lot about the background here, but, one thing I have learned from my mistakes is not to rush into technology. In order to be effective in our execution we must correctly identify the Business processes and the Business requirements. Only then can we make a decision on what technology will work best. Then, we draw a set of Service specifications. We measure the specifications against the infrastructural constraints of the organization in concern. A simple case may be that if most of the IT application in a specific organization is already written using Visual Basic, then we need to pause before we propose a Java based solution. Remember, any technology is capable of producing a Business solution and switching technology means extra costs, which may need to be justified. So please be patient until next part of this article, where we take a step towards the technology. <o:p></o:p></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 10.5pt; mso-char-indent-count: 1.0; mso-char-indent-size: 10.5pt">
				<span lang="EN-US" style="FONT-FAMILY: Century; mso-bidi-font-family: 'Courier New'">Conclusion<o:p></o:p></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 10.5pt; mso-char-indent-count: 1.0; mso-char-indent-size: 10.5pt">
				<span lang="EN-US" style="FONT-FAMILY: Century; mso-bidi-font-family: 'Courier New'">In the first part of this series, we have layed out a case for the Service Oriented Architecture, defined what Service actually means and discussed few guidelines about identifying Services. We have also warned about the danger in rushing to technology too early in the process of SOA implementation. In the next part of this article, we will talk about the Service specification and take a step towards available lava based technologies to implement Service Oriented Architecture. <o:p></o:p></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 10.5pt; mso-char-indent-count: 1.0; mso-char-indent-size: 10.5pt">
				<span lang="EN-US" style="FONT-FAMILY: Century; mso-bidi-font-family: 'Courier New'">Next month, we will talk about Service Specification and available technology and in the final part, we will discuss the most popular technology for SOA—Web Services. <o:p></o:p></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 10.5pt; mso-char-indent-count: 1.0; mso-char-indent-size: 10.5pt">
				<span lang="EN-US" style="FONT-FAMILY: Century; mso-bidi-font-family: 'Courier New'"> <o:p></o:p></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 10.5pt; mso-char-indent-count: 1.0; mso-char-indent-size: 10.5pt">
				<span lang="EN-US" style="FONT-FAMILY: Century; mso-bidi-font-family: 'Courier New'"> <o:p></o:p></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 10.5pt; mso-char-indent-count: 1.0; mso-char-indent-size: 10.5pt">
				<span lang="EN-US" style="FONT-FAMILY: Century; mso-bidi-font-family: 'Courier New'"> <o:p></o:p></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 10.5pt; mso-char-indent-count: 1.0; mso-char-indent-size: 10.5pt">
				<span lang="EN-US" style="FONT-FAMILY: Century; mso-bidi-font-family: 'Courier New'"> <o:p></o:p></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 10.5pt; TEXT-ALIGN: center; mso-char-indent-count: 1.0; mso-char-indent-size: 10.5pt" align="center">
				<span lang="EN-US" style="FONT-FAMILY: Century; mso-bidi-font-family: 'Courier New'">Service Oriented Architecture - Part 2<o:p></o:p></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 10.5pt; TEXT-ALIGN: center; mso-char-indent-count: 1.0; mso-char-indent-size: 10.5pt" align="center">
				<span lang="EN-US" style="FONT-FAMILY: Century; mso-bidi-font-family: 'Courier New'">By Samudra Gupta<o:p></o:p></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 10.5pt; mso-char-indent-count: 1.0; mso-char-indent-size: 10.5pt">
				<span lang="EN-US" style="FONT-FAMILY: Century; mso-bidi-font-family: 'Courier New'">Introduction<o:p></o:p></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 10.5pt; mso-char-indent-count: 1.0; mso-char-indent-size: 10.5pt">
				<span lang="EN-US" style="FONT-FAMILY: Century; mso-bidi-font-family: 'Courier New'">In part 1 of this article, we analyzed the need for Service Oriented Architecture (SOA) in today's ever changing business model. Experience shows that before we decide on a technology, careful thinking and analysis is required to arrive at the correct level of granularity and appropriate Service definitions. Development teams need to be focused on what we are trying to achieve and adapting any one technology does not guarantee success in achieving the goal. We outlined a few general guidelines in the analysis stage of the process and laid out a path for identifying Services. In part 2, we will concentrate more on the technical aspects of Service Oriented Architecture and finally will reach a framework for implementing Service Oriented Architecture. <o:p></o:p></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 10.5pt; mso-char-indent-count: 1.0; mso-char-indent-size: 10.5pt">
				<span lang="EN-US" style="FONT-FAMILY: Century; mso-bidi-font-family: 'Courier New'">The SOA objectives<o:p></o:p></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 10.5pt; mso-char-indent-count: 1.0; mso-char-indent-size: 10.5pt">
				<span lang="EN-US" style="FONT-FAMILY: Century; mso-bidi-font-family: 'Courier New'">Technically, the foremost concept to understand is what we are trying to achieve with SOA. At the very bottom, SOA relies on basic units of application software, which automates one or more pre-defined business processes. In a simplistic scenario, the goal is to make these basic application units accessible to the client and also for these basic application units to talk to each other in a technology-neutral manner. In a more complex scenario, the goal is to sustain these basic application components and just change the underlying technology for improved efficiency. For example, one organization might have a CustomerManagement?application component. The component offers some Services and the Insurance Department and the Marketing Department of the organization make use of the CustomerManagement. Now for improved efficiency, we must be able to migrate the CustomerManagement component to EJB without affecting the client of this component or event, we should be able to convert this component to a .NET component even though the client to this component is written using a different technology, Java per say. <o:p></o:p></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 10.5pt; mso-char-indent-count: 1.0; mso-char-indent-size: 10.5pt">
				<span lang="EN-US" style="FONT-FAMILY: Century; mso-bidi-font-family: 'Courier New'">Keeping these issues in mind, implementing SOA demands the following features: <o:p></o:p></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 10.5pt; mso-char-indent-count: 1.0; mso-char-indent-size: 10.5pt">
				<span lang="EN-US" style="FONT-FAMILY: Century; mso-bidi-font-family: 'Courier New'">Technology Independence: The Consumer of a Service component is completely independent of the technology of the Provider component and vice-versa. <o:p></o:p></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 10.5pt; mso-char-indent-count: 1.0; mso-char-indent-size: 10.5pt">
				<span lang="EN-US" style="FONT-FAMILY: Century; mso-bidi-font-family: 'Courier New'">Life-cycle Independence: Each of the Provider and Consumer Service components should be able to operate in a separate life- cycle. <o:p></o:p></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 10.5pt; mso-char-indent-count: 1.0; mso-char-indent-size: 10.5pt">
				<span lang="EN-US" style="FONT-FAMILY: Century; mso-bidi-font-family: 'Courier New'">Loose Coupling: The Service Consumer Component must define its specification independent of the Service Provider Component. The responsibility of aligning the two specifications is up to the Assembler component, which bridges the gap between two worlds. <o:p></o:p></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 10.5pt; mso-char-indent-count: 1.0; mso-char-indent-size: 10.5pt">
				<span lang="EN-US" style="FONT-FAMILY: Century; mso-bidi-font-family: 'Courier New'">Invokable interfaces: The Service interfaces must be invokable either locally or remotely. At the architecture level, we don’t really care how the interface is invoked. <o:p></o:p></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 10.5pt; mso-char-indent-count: 1.0; mso-char-indent-size: 10.5pt">
				<span lang="EN-US" style="FONT-FAMILY: Century; mso-bidi-font-family: 'Courier New'">Communication Protocol: A Service must be invokable by variety of protocol. The choice of protocol must not restrict the behavior of the Service. Binding to a specific protocol must take place at run-time/deployment-time, and not at the design or development time. <o:p></o:p></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 10.5pt; mso-char-indent-count: 1.0; mso-char-indent-size: 10.5pt">
				<span lang="EN-US" style="FONT-FAMILY: Century; mso-bidi-font-family: 'Courier New'">How to arrive at such solution<o:p></o:p></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 10.5pt; mso-char-indent-count: 1.0; mso-char-indent-size: 10.5pt">
				<span lang="EN-US" style="FONT-FAMILY: Century; mso-bidi-font-family: 'Courier New'">In the Part 1 of this series, we have defined Services as software application units that provide a distinct and atomic business process. Services do operate independent of the technology involved in the Consumer and the Service provider itself. <o:p></o:p></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 10.5pt; mso-char-indent-count: 1.0; mso-char-indent-size: 10.5pt">
				<span lang="EN-US" style="FONT-FAMILY: Century; mso-bidi-font-family: 'Courier New'">Although it is a new and novel concept to introduce the inter- operability of application units in a technology neutral way, the basic building of SOA relies on some of the proven methodologies such as Component Based Development. The Components do exist as the basic unit of the application performing a certain business operation itself or by collaborating with other components. What is unique to the SOA is how these components are invoked and also how the components interact with each other. <o:p></o:p></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 10.5pt; mso-char-indent-count: 1.0; mso-char-indent-size: 10.5pt">
				<span lang="EN-US" style="FONT-FAMILY: Century; mso-bidi-font-family: 'Courier New'">In my opinion, having a sound Component based design helps any organization to newly implement or even migrate towards SOA in a smooth transition. In the following sections, we will elaborate on the concepts of Component Based Development and how it can be used alongside Service Oriented Architecture (SOA). Often we use the term SOA and Web Service interchangeably, which is not strictly correct. Web Service is one implementation of SOA wherein SOA really means a set of technology, which enables us to develop business functions as Components which can be invoked and used in a technology independent fashion. <o:p></o:p></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 10.5pt; mso-char-indent-count: 1.0; mso-char-indent-size: 10.5pt">
				<span lang="EN-US" style="FONT-FAMILY: Century; mso-bidi-font-family: 'Courier New'">The Process<o:p></o:p></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 10.5pt; mso-char-indent-count: 1.0; mso-char-indent-size: 10.5pt">
				<span lang="EN-US" style="FONT-FAMILY: Century; mso-bidi-font-family: 'Courier New'">In the previous article of this series, we have outlined guidelines on identifying the reusable business processes across the organizations boundary. The outcome of this process can lead to the basic building blocks or Components that co-exist within an organization and perform one or more business operations. <o:p></o:p></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 10.5pt; mso-char-indent-count: 1.0; mso-char-indent-size: 10.5pt">
				<span lang="EN-US" style="FONT-FAMILY: Century; mso-bidi-font-family: 'Courier New'">Component Specification: In a technology neutral way like UML define the business functions. This must be technology independent. This just specifies what the interfaces are that the Component offers and what the Component dependencies are. <o:p></o:p></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 10.5pt; mso-char-indent-count: 1.0; mso-char-indent-size: 10.5pt">
				<span lang="EN-US" style="FONT-FAMILY: Century; mso-bidi-font-family: 'Courier New'">Interface Definition: Translation of the Functional Specification in a target platform language in a technology neutral way. For example, the interfaces can be elaborated using UML and translated into a programming language of choice such as Java. <o:p></o:p></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 10.5pt; mso-char-indent-count: 1.0; mso-char-indent-size: 10.5pt">
				<span lang="EN-US" style="FONT-FAMILY: Century; mso-bidi-font-family: 'Courier New'">Service Specification: Subscribing to 1..* functional interfaces. Services can collate multiple Component interfaces to provide a coarse-grained Service Definition. Again, this needs to be technology neutral. <o:p></o:p></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 10.5pt; mso-char-indent-count: 1.0; mso-char-indent-size: 10.5pt">
				<span lang="EN-US" style="FONT-FAMILY: Century; mso-bidi-font-family: 'Courier New'">Service Discovery and Registry: A mechanism for Registering Services to a registry. The Consumers use a Service Discovery mechanism and access the Services by looking up in the registry. <o:p></o:p></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 10.5pt; mso-char-indent-count: 1.0; mso-char-indent-size: 10.5pt">
				<span lang="EN-US" style="FONT-FAMILY: Century; mso-bidi-font-family: 'Courier New'">Technology binding: Consumer Components are inherently technology independent. We need to plug-in a technology binding mechanism to use a certain kind of interface exposed by the Service provider and its runtime instance technology. For example, we need to plug-in a technology layer into the Service Consumer to access a Service by using EJB or by using Web Service mechanism as is appropriate. We will elaborate on this later in this article. <o:p></o:p></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 10.5pt; mso-char-indent-count: 1.0; mso-char-indent-size: 10.5pt">
				<span lang="EN-US" style="FONT-FAMILY: Century; mso-bidi-font-family: 'Courier New'">The following small example will clear the clouds. Let us assume that in a company we are to write a Payroll Management System which manages the Employee payroll records and posts the pay- slips to their home addresses using the Address manager component. Also there is another Component which looks after the employee welfare and sends out a gift check on the anniversary or birthdays of employees. <o:p></o:p></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 10.5pt; mso-char-indent-count: 1.0; mso-char-indent-size: 10.5pt">
				<span lang="EN-US" style="FONT-FAMILY: Century; mso-bidi-font-family: 'Courier New'">The component specification of the above components can be shown as in Figure-1. <o:p></o:p></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 10.5pt; mso-char-indent-count: 1.0; mso-char-indent-size: 10.5pt">
				<span lang="EN-US" style="FONT-FAMILY: Century; mso-bidi-font-family: 'Courier New'">Figure-1 The Component Specification <o:p></o:p></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 10.5pt; mso-char-indent-count: 1.0; mso-char-indent-size: 10.5pt">
				<span lang="EN-US" style="FONT-FAMILY: Century; mso-bidi-font-family: 'Courier New'">Let us consider that we might want to offer a Service at a higher level called the EmployeeService which can subscribe to both the Payroll Management and Welfare Management interfaces. The Service Definition for the EmployeeService might look like the following in Figure-2. <o:p></o:p></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 10.5pt; mso-char-indent-count: 1.0; mso-char-indent-size: 10.5pt">
				<span lang="EN-US" style="FONT-FAMILY: Century; mso-bidi-font-family: 'Courier New'">Figure-2 The Service Specification <o:p></o:p></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 10.5pt; mso-char-indent-count: 1.0; mso-char-indent-size: 10.5pt">
				<span lang="EN-US" style="FONT-FAMILY: Century; mso-bidi-font-family: 'Courier New'">The interface definitions are still technology independent but can be translated in to a specific programming language such as Java. For example, the interface definition for the EmployeeService can look like the following in Java (Listing - 1). We have omitted the data type references from the diagram for simplicity <o:p></o:p></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 10.5pt; mso-char-indent-count: 1.0; mso-char-indent-size: 10.5pt">
				<span lang="EN-US" style="FONT-FAMILY: Century; mso-bidi-font-family: 'Courier New'">public interface IEmployeeManger {<o:p></o:p></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 10.5pt; mso-char-indent-count: 1.0; mso-char-indent-size: 10.5pt">
				<span lang="EN-US" style="FONT-FAMILY: Century; mso-bidi-font-family: 'Courier New'">
						<span style="mso-spacerun: yes">   </span>void sendPayslip(IEmployee employee, IDocument payslip) <o:p></o:p></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 10.5pt; mso-char-indent-count: 1.0; mso-char-indent-size: 10.5pt">
				<span lang="EN-US" style="FONT-FAMILY: Century; mso-bidi-font-family: 'Courier New'">
						<span style="mso-tab-count: 3">                  </span>
						<span style="mso-tab-count: 1">       </span>throws EmployeeNotFoundException, <o:p></o:p></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 10.5pt; mso-char-indent-count: 1.0; mso-char-indent-size: 10.5pt">
				<span lang="EN-US" style="FONT-FAMILY: Century; mso-bidi-font-family: 'Courier New'">ServiceUnavailableException;<o:p></o:p></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 10.5pt; mso-char-indent-count: 1.0; mso-char-indent-size: 10.5pt">
				<span lang="EN-US" style="FONT-FAMILY: Century; mso-bidi-font-family: 'Courier New'"> <o:p></o:p></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 10.5pt; mso-char-indent-count: 1.0; mso-char-indent-size: 10.5pt">
				<span lang="EN-US" style="FONT-FAMILY: Century; mso-bidi-font-family: 'Courier New'">
						<span style="mso-spacerun: yes">   </span>void sendGiftCheck(IEmployee employee, IDocument check) throw<o:p></o:p></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 10.5pt; mso-char-indent-count: 1.0; mso-char-indent-size: 10.5pt">
				<span lang="EN-US" style="FONT-FAMILY: Century; mso-bidi-font-family: 'Courier New'">
						<span style="mso-spacerun: yes"> </span>EmployeeNotFoundException,ServiceUnavailableException;<o:p></o:p></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 10.5pt; mso-char-indent-count: 1.0; mso-char-indent-size: 10.5pt">
				<span lang="EN-US" style="FONT-FAMILY: Century; mso-bidi-font-family: 'Courier New'">}<o:p></o:p></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 10.5pt; mso-char-indent-count: 1.0; mso-char-indent-size: 10.5pt">
				<span lang="EN-US" style="FONT-FAMILY: Century; mso-bidi-font-family: 'Courier New'"> <o:p></o:p></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 10.5pt; mso-char-indent-count: 1.0; mso-char-indent-size: 10.5pt">
				<span lang="EN-US" style="FONT-FAMILY: Century; mso-bidi-font-family: 'Courier New'">Listing-1 the interface definition(there were two line breaks added to make it fit the page) <o:p></o:p></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 10.5pt; mso-char-indent-count: 1.0; mso-char-indent-size: 10.5pt">
				<span lang="EN-US" style="FONT-FAMILY: Century; mso-bidi-font-family: 'Courier New'">Note: The Exceptions listed above are very much application specific exceptions and avoid any technology specific exceptions. <o:p></o:p></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 10.5pt; mso-char-indent-count: 1.0; mso-char-indent-size: 10.5pt">
				<span lang="EN-US" style="FONT-FAMILY: Century; mso-bidi-font-family: 'Courier New'">The Glues<o:p></o:p></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 10.5pt; mso-char-indent-count: 1.0; mso-char-indent-size: 10.5pt">
				<span lang="EN-US" style="FONT-FAMILY: Century; mso-bidi-font-family: 'Courier New'">So far we have defined the EmployeeService and its interfaces. We have seen that this interface definition is totally technology neutral. However, at deployment time we may decide to one or more instances of this Service supporting different communication protocol. There is no restriction that the same Service cannot offer more than one invocation protocol. Rather, in different situations it is more appropriate to offer multiple protocol support to provide service to different Consumers. <o:p></o:p></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 10.5pt; mso-char-indent-count: 1.0; mso-char-indent-size: 10.5pt">
				<span lang="EN-US" style="FONT-FAMILY: Century; mso-bidi-font-family: 'Courier New'">So far we had the Consumer component and the Service Component being specified and implemented in isolation. But there must be something in the middle to glue these two together. We discuss the missing bits as follows: <o:p></o:p></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 10.5pt; mso-char-indent-count: 1.0; mso-char-indent-size: 10.5pt">
				<span lang="EN-US" style="FONT-FAMILY: Century; mso-bidi-font-family: 'Courier New'">Technology<o:p></o:p></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 10.5pt; mso-char-indent-count: 1.0; mso-char-indent-size: 10.5pt">
				<span lang="EN-US" style="FONT-FAMILY: Century; mso-bidi-font-family: 'Courier New'">In OO concept, the great thing about interface concept is that multiple implementations of the same interface can co-exist. Binding to any particular implementation can happen at run-time or compile-time. Dynamic binding at runtime offers greater flexibility to switch between implementations based on context. For example, an AddressManager Component can be invoked remotely using Web Service based on XML-SOAP protocol or also can be invoked as a Pure Java component or EJB when it is invoked locally. <o:p></o:p></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 10.5pt; mso-char-indent-count: 1.0; mso-char-indent-size: 10.5pt">
				<span lang="EN-US" style="FONT-FAMILY: Century; mso-bidi-font-family: 'Courier New'">It is a good design pattern to separate the technology layer form the actual business logic and business operations. The business operations can be implemented as a standard Java class. The technology layer is solely responsible to implement the technology logic and infrastructural service calls. For example, in EJB technology, the technology layer will consist of the EJBs, which will interact with the container to manage transactions etc. However, the actual business logic may be delegated to another standard Java class. <o:p></o:p></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 10.5pt; mso-char-indent-count: 1.0; mso-char-indent-size: 10.5pt">
				<span lang="EN-US" style="FONT-FAMILY: Century; mso-bidi-font-family: 'Courier New'">Service Discovery and Registry<o:p></o:p></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 10.5pt; mso-char-indent-count: 1.0; mso-char-indent-size: 10.5pt">
				<span lang="EN-US" style="FONT-FAMILY: Century; mso-bidi-font-family: 'Courier New'">When a Service interface is implemented using a specific technology, the Service needs to publish itself to a registry for the Consumers to lookup and use the Service. This is implemented as another separate layer called Service Access Layer. This layer is responsible for looking up Services using certain lookup mechanism. For an EJB, this layer might perform a JNDI lookup and for Web Service this layer might use a Web Service Registry lookup. <o:p></o:p></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 10.5pt; mso-char-indent-count: 1.0; mso-char-indent-size: 10.5pt">
				<span lang="EN-US" style="FONT-FAMILY: Century; mso-bidi-font-family: 'Courier New'">Where Happens the Mapping<o:p></o:p></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 10.5pt; mso-char-indent-count: 1.0; mso-char-indent-size: 10.5pt">
				<span lang="EN-US" style="FONT-FAMILY: Century; mso-bidi-font-family: 'Courier New'">So far we have said that the Service consumer and the Service provider specification are independent of each other. This also meant that the data represented in both these domains can also be different. So there needs to be a mechanism to align these two worlds. An ideal place for this mapping to happen is the Service Access Layer. This layer can receive the data object from the Service consumer and then use the Service provider Transfer object to map data. Also this layer can convert any Exceptions generated into an appropriate one that is understood and defined in the Service consumer specification. <o:p></o:p></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 10.5pt; mso-char-indent-count: 1.0; mso-char-indent-size: 10.5pt">
				<span lang="EN-US" style="FONT-FAMILY: Century; mso-bidi-font-family: 'Courier New'">Who Implements the Layers, the Responsibilities<o:p></o:p></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 10.5pt; mso-char-indent-count: 1.0; mso-char-indent-size: 10.5pt">
				<span lang="EN-US" style="FONT-FAMILY: Century; mso-bidi-font-family: 'Courier New'">We have seen that layering the application based on separation of concern is a good way to achieve the loose-coupling between the Service consumer and the Service provider. We have identified the layers within Components carrying out different roles and responsibilities. Looking at the full picture, we can thus assign the responsibilities to the Service consumer and to the Service Provider. <o:p></o:p></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 10.5pt; mso-char-indent-count: 1.0; mso-char-indent-size: 10.5pt">
				<span lang="EN-US" style="FONT-FAMILY: Century; mso-bidi-font-family: 'Courier New'">Figure 3 The overall picture <o:p></o:p></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 10.5pt; mso-char-indent-count: 1.0; mso-char-indent-size: 10.5pt">
				<span lang="EN-US" style="FONT-FAMILY: Century; mso-bidi-font-family: 'Courier New'">The Service Provider component is responsible for providing all the above mentioned layers. A mistake often made is to make the Service Access layer as part of the Consumer, which creates a tight-coupling between the Consumer and the Provider in terms of technology. <o:p></o:p></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 10.5pt; mso-char-indent-count: 1.0; mso-char-indent-size: 10.5pt">
				<span lang="EN-US" style="FONT-FAMILY: Century; mso-bidi-font-family: 'Courier New'">Conclusion<o:p></o:p></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 10.5pt; mso-char-indent-count: 1.0; mso-char-indent-size: 10.5pt">
				<span lang="EN-US" style="FONT-FAMILY: Century; mso-bidi-font-family: 'Courier New'">In this article, we have examined the technical aspects of the Service Oriented Architecture (SOA) and its root in Component Based Development (CBD). One of the biggest mistakes in the world of SOA is that they are identified with Web Services. But it is to be stressed that Web Service is one form of SOA. If we do not design our Components carefully, we will end-up with a solution which is tightly coupled with Web Services technology. In the future, it will then be a big change to move towards another technology such as Web Service. This sort of situation defies the very basic goal of SOA that we should be able to write Consumer and Provider Components irrespective of technology used in either of them. <o:p></o:p></span>
		</p>
		<p class="MsoBodyTextIndent3" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US">
						<font face="Century">In the next part of this series, we will develop a Web service example based on the Component concept discussed in there. Please feel free to discuss and let me know your ideas on this. Thanks. </font>
				</span>
		</p>
		<span lang="EN-US" style="FONT-SIZE: 10.5pt; FONT-FAMILY: Century; mso-bidi-font-family: 'Courier New'; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: 宋体; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">Benoy Jose is a web developer with over six years of experience in J2EE and Microsoft technologies. He is a Sun Certified programmer and enjoys writing technical and non-technical articles for various magazines.</span>
<img src ="http://SOA-TISE.blogjava.net/aggbug/47502.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/enetor/" target="_blank">邓璠</a> 2006-05-22 17:20 <a href="http://www.blogjava.net/enetor/archive/2006/05/22/47502.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>关于整合ＥＲＰ和ＣＲＭ</title><link>http://www.blogjava.net/eeiser/archive/2006/05/22/47444.html</link><dc:creator>韦伯</dc:creator><author>韦伯</author><pubDate>Mon, 22 May 2006 05:04:00 GMT</pubDate><guid>http://www.blogjava.net/eeiser/archive/2006/05/22/47444.html</guid><description><![CDATA[看了一些关于ＥＲＰ和ＣＲＭ的资料，关于其中的整合，借用别人的话说点看法。<br /><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 18pt; TEXT-INDENT: -18pt; mso-list: l0 level1 lfo1; tab-stops: list 18.0pt"><font size="4"><span lang="EN-US" style="FONT-SIZE: 14pt; mso-fareast-font-family: 'Times New Roman'"><span style="mso-list: Ignore">1，<span style="FONT: 7pt 'Times New Roman'">              </span></span></span><span lang="EN-US" style="FONT-SIZE: 14pt">CRM</span><span style="FONT-SIZE: 14pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">和</span><span lang="EN-US" style="FONT-SIZE: 14pt">ERP</span><span style="FONT-SIZE: 14pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">融合</span></font><span lang="EN-US" style="FONT-SIZE: 14pt"><?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /?><o:p></o:p></span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">(1)客户深度分析和数据挖掘</span><span lang="EN-US" style="FONT-SIZE: 12pt"><o:p></o:p></span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 18pt"><b style="mso-bidi-font-weight: normal"><span lang="EN-US" style="mso-bidi-font-size: 10.5pt">ERP</span></b><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt">：通过多角度查询，统计客户的发货记录，交易记录，应收帐款，客户毛利等，进行客户分析。</span><span lang="EN-US" style="mso-bidi-font-size: 10.5pt"><o:p></o:p></span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 18pt"><b style="mso-bidi-font-weight: normal"><span lang="EN-US" style="mso-bidi-font-size: 10.5pt">CRM</span></b><b style="mso-bidi-font-weight: normal"><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt">：</span></b><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt">不具备独立此功能。</span><span lang="EN-US" style="mso-bidi-font-size: 10.5pt"><o:p></o:p></span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 18pt"><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt">需要</span><span lang="EN-US" style="mso-bidi-font-size: 10.5pt">ERP</span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt"><span style="COLOR: red">扩展并融合</span>这些功能。</span><span lang="EN-US" style="mso-bidi-font-size: 10.5pt"><o:p></o:p></span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">对未交易的客户分析</span><span lang="EN-US" style="FONT-SIZE: 12pt"><o:p></o:p></span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 18pt"><b style="mso-bidi-font-weight: normal"><span lang="EN-US" style="mso-bidi-font-size: 10.5pt">ERP</span></b><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt">：软肋。现在的</span><span lang="EN-US" style="mso-bidi-font-size: 10.5pt">ERP</span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt">软件基本上不具备这样的功能</span><span lang="EN-US" style="mso-bidi-font-size: 10.5pt"><o:p></o:p></span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 18pt"><b style="mso-bidi-font-weight: normal"><span lang="EN-US" style="mso-bidi-font-size: 10.5pt">CRM</span></b><b style="mso-bidi-font-weight: normal"><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt">：</span></b><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt">对于未交易的客户信息管理，销售团队的管理，售前的营销活动管理等都是</span><span lang="EN-US" style="mso-bidi-font-size: 10.5pt">CRM</span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt">的重点。</span><span lang="EN-US" style="mso-bidi-font-size: 10.5pt"><o:p></o:p></span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US" style="FONT-SIZE: 12pt">(2)CRM</span><span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">与</span><span lang="EN-US" style="FONT-SIZE: 12pt">ERP</span><span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的融合</span><span lang="EN-US" style="FONT-SIZE: 12pt"><o:p></o:p></span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 18pt"><span lang="EN-US" style="COLOR: red; mso-bidi-font-size: 10.5pt">CRM</span><span style="COLOR: red; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt">与</span><span lang="EN-US" style="COLOR: red; mso-bidi-font-size: 10.5pt">ERP</span><span style="COLOR: red; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt">或者进销存的融合的重点是客户基本资料的共享集成，潜在的客户一旦成交，就可以将潜在客户信息自动转入</span><span lang="EN-US" style="COLOR: red; mso-bidi-font-size: 10.5pt">ERP</span><span style="COLOR: red; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt">系统中，而不用重复输入。</span><span lang="EN-US" style="COLOR: red; mso-bidi-font-size: 10.5pt"><o:p></o:p></span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 18pt"><span lang="EN-US" style="COLOR: green">CRM</span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">要与</span><span lang="EN-US" style="COLOR: green">ERP</span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">在财务、制造、库存、分销、物流和人力资源等连接起来，从而提供一个闭环的客户互动循环。这种集成不仅包括低水平的数据同步，而且还应包括业务流程的集成，这样才能在各系统间维持业务规则的完整性，工作流才能在系统间流动。这二者的集成还使得企业能在系统间收集商业情报。</span><span lang="EN-US" style="COLOR: red; mso-bidi-font-size: 10.5pt"><o:p></o:p></span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 18pt; TEXT-INDENT: -18pt; mso-list: l0 level1 lfo1; tab-stops: list 18.0pt"><span lang="EN-US" style="FONT-SIZE: 14pt; mso-fareast-font-family: 'Times New Roman'"><span style="mso-list: Ignore">2，<span style="FONT: 7pt 'Times New Roman'">              </span></span></span><span style="FONT-SIZE: 14pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">服务管理</span><span lang="EN-US" style="FONT-SIZE: 14pt"><o:p></o:p></span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 18pt"><b style="mso-bidi-font-weight: normal"><span lang="EN-US" style="mso-bidi-font-size: 10.5pt">ERP</span></b><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt">功能中薄弱的是客户服务、维修管理。</span><span lang="EN-US" style="mso-bidi-font-size: 10.5pt"><o:p></o:p></span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 18pt"><b style="mso-bidi-font-weight: normal"><span lang="EN-US" style="mso-bidi-font-size: 10.5pt">CRM</span></b><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt">为客户提供优质服务，让客户满意。主要体现服务功能：维修记录，客户回访记录，客户投诉记录等信息，可以方便查询这些记录。定期提醒客户回访周期，提醒产品保养周期，客户投诉记录在</span><span lang="EN-US" style="mso-bidi-font-size: 10.5pt">CRM</span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt">系统中可以反馈给相关部门或者责任人。</span><span lang="EN-US" style="mso-bidi-font-size: 10.5pt"><o:p></o:p></span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 18pt; TEXT-INDENT: -18pt; mso-list: l0 level1 lfo1; tab-stops: list 18.0pt"><strong><span lang="EN-US" style="FONT-WEIGHT: normal; FONT-SIZE: 14pt; mso-fareast-font-family: 'Times New Roman'"><span style="mso-list: Ignore">3，<span style="FONT: 7pt 'Times New Roman'">              </span></span></span></strong><strong><span lang="EN-US" style="FONT-WEIGHT: normal; FONT-SIZE: 14pt; mso-bidi-font-weight: bold">CRM</span></strong><strong><span style="FONT-WEIGHT: normal; FONT-SIZE: 14pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-weight: bold">与</span></strong><strong><span lang="EN-US" style="FONT-WEIGHT: normal; FONT-SIZE: 14pt; mso-bidi-font-weight: bold">E-Commerce</span></strong><strong><span style="FONT-WEIGHT: normal; FONT-SIZE: 14pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-weight: bold">电子商务的融合</span></strong><strong><span lang="EN-US" style="FONT-WEIGHT: normal; FONT-SIZE: 14pt"><o:p></o:p></span></strong></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 18pt"><span lang="EN-US" style="mso-bidi-font-size: 10.5pt">CRM</span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt">软件系统与公司对外网站的联接，企业可以将网站上收集的潜在客户的信息、客户询价自动转入</span><span lang="EN-US" style="mso-bidi-font-size: 10.5pt">CRM</span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt">系统，客户信息经过确认，正式启用</span><span lang="EN-US" style="mso-bidi-font-size: 10.5pt">;</span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt">询价信息自动生成报价单</span><span lang="EN-US" style="mso-bidi-font-size: 10.5pt">;<o:p></o:p></span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 18pt"><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt">企业信息自动发布在网站。企业可以将自己的动态信息，发布相关网站，当然，这要建立信息的行业标准，例如</span><span lang="EN-US" style="mso-bidi-font-size: 10.5pt">:</span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt">如果建立了信息检索的互联网标准，搜索引擎的作用更大，更倾向于行业化、结构化。</span><span lang="EN-US" style="mso-bidi-font-size: 10.5pt"><o:p></o:p></span></p><span style="FONT-SIZE: 10.5pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 12.0pt; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">利用</span><span lang="EN-US" style="FONT-SIZE: 10.5pt; FONT-FAMILY: 'Times New Roman'; mso-fareast-font-family: 宋体; mso-bidi-font-size: 12.0pt; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">CRM</span><span style="FONT-SIZE: 10.5pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 12.0pt; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">发布客户满意调查和客户需求调查</span><span lang="EN-US" style="FONT-SIZE: 10.5pt; FONT-FAMILY: 'Times New Roman'; mso-fareast-font-family: 宋体; mso-bidi-font-size: 12.0pt; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">;</span><br /><img src ="http://SOA-TISE.blogjava.net/aggbug/47444.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/eeiser/" target="_blank">韦伯</a> 2006-05-22 13:04 <a href="http://www.blogjava.net/eeiser/archive/2006/05/22/47444.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>TISE队5月12日讨论记录</title><link>http://www.blogjava.net/eeiser/archive/2006/05/13/45987.html</link><dc:creator>韦伯</dc:creator><author>韦伯</author><pubDate>Sat, 13 May 2006 07:34:00 GMT</pubDate><guid>http://www.blogjava.net/eeiser/archive/2006/05/13/45987.html</guid><description><![CDATA[    在风和日丽的5月12日，我们Tise组进行了组队以来的第二次讨论会。<br />     会上，eeiser（我）向大家讲了CRM大体操作情况，并且把不懂的地方，作为问题向大家作了请教。<br />     enetor和int两位和我们讨论了SOA方面的情况，让我们对SOA有了初步的认识。并且大家都对自己对SOA这三个字母涉及的架构、服务等等方面做了发言与讨论，气氛异常热烈。对于我个人，充分认识到了SOA这三个字母是哪三个单词的缩写。<br />     thyme向我们讲述了“按需业务流程生命周期”方面的知识。<br /> <br />     最后大家又对下一步的工作作了讨论与初步的安排。enetor和int继续主攻SOA方面，而thyme和eeiser主要负责软件熟悉方面。考虑到enetor有考试，决定下一次会议在下周三晚。<br />     会议持续时间达3个多小时。<br /> <br />     eeiser5月13日在非现场为您报道。<img src ="http://SOA-TISE.blogjava.net/aggbug/45987.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/eeiser/" target="_blank">韦伯</a> 2006-05-13 15:34 <a href="http://www.blogjava.net/eeiser/archive/2006/05/13/45987.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>5月7日第一次会议</title><link>http://www.blogjava.net/eeiser/archive/2006/05/13/45985.html</link><dc:creator>韦伯</dc:creator><author>韦伯</author><pubDate>Sat, 13 May 2006 07:30:00 GMT</pubDate><guid>http://www.blogjava.net/eeiser/archive/2006/05/13/45985.html</guid><description><![CDATA[     由于Enetor第二天有考试，而经过了长假之后，我们刚刚组建的队伍迫切需要相互熟悉与初步的分工。thyme、int、eeiser在enetor缺席的情况下，进行了组队以来的第一次正式会议。<br />     首先大家介绍了一下（eeiser代替大家介绍了）。然后，eeiser大体讲述了一下大赛题目的内容。最后大家抄了相互的联系方法。<br />     会上决定了Enetor和Int主攻SOA方向，thyme熟悉“按需业务流程生命周期”方面。而eeiser继续充当勤务+杂务角色,继续负责与大赛组委会的联系外，负责把CRM这个以前从来没听说过的软件捣鼓捣鼓一下。<br />     同时会议决定Int同学全权负责我们队伍的blog创建和管理工作。<br />     会议时长小于1个小时。<br /> <br />     前方记者eeiser为你非现场报道。<img src ="http://SOA-TISE.blogjava.net/aggbug/45985.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/eeiser/" target="_blank">韦伯</a> 2006-05-13 15:30 <a href="http://www.blogjava.net/eeiser/archive/2006/05/13/45985.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>TISE队名的由来</title><link>http://www.blogjava.net/eeiser/archive/2006/05/13/45984.html</link><dc:creator>韦伯</dc:creator><author>韦伯</author><pubDate>Sat, 13 May 2006 07:21:00 GMT</pubDate><guid>http://www.blogjava.net/eeiser/archive/2006/05/13/45984.html</guid><description><![CDATA[      4月28日第一选人碰头会的时候，我提出大家对我们的队名有没有什么要的建议。可能是因为人员没有最后定下来，大家也不好发表意见。晚上确定下人来的时候，我又征询了所有组员。但大家突然想这个人问题，没有任何准备，多表示要想一下。<br />     4月29日，大家没有碰头，所以无法一起讨论。我给enetor打了电话，问他有没有什么想法，关于队名。他说暂时没有后，我遂决定将四个人的BBS ID头字母组合一下。这样简单，并且也不用为这样的事情花更多时间，宝贵的时间应该去看文档、熟悉业务流程。<br />      thyme、int、eeiser、enetor四个人，每个ID的头字母（我的不是，呵呵），组成TISE。用金山词霸一查，没这个单词。那正好，说不定因为我们的队伍，TISE会成为一个单词呢。<br />      当天，我就到IBM网站上，做了网上报名。接着，给其他几个队员发了mail，告之队名已定。<br />     这样，我们就有了这么一个TISE的队名，表明四个人的队伍，将在比赛中勇往直前。<img src ="http://SOA-TISE.blogjava.net/aggbug/45984.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/eeiser/" target="_blank">韦伯</a> 2006-05-13 15:21 <a href="http://www.blogjava.net/eeiser/archive/2006/05/13/45984.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>漫长的组队过程</title><link>http://www.blogjava.net/eeiser/archive/2006/05/09/45231.html</link><dc:creator>韦伯</dc:creator><author>韦伯</author><pubDate>Tue, 09 May 2006 08:07:00 GMT</pubDate><guid>http://www.blogjava.net/eeiser/archive/2006/05/09/45231.html</guid><description><![CDATA[       从网上知道SOA比赛消息的时候已经是4月下旬，清华的宣讲会已经过去20多天了。如果打算准备比赛，加上招募人员，可能要到5月初才能开始，这就比别人晚了整整一个月多。加上我自己从来没听过SOA，也没实施过ERP、CRM，在技术上很贫乏。是否要组队参与这个比赛？能否在很短的时间储备所需的知识？......这样的问题让我思考了一晚上，终于决定：招募人员参加比赛！<br />      同学中感兴趣的不少，但是表示有时间、有精力来参与的没见到。与其挨家挨户一个一个的问，我想直接网上招募更快、更直接。<br />     网上招募人员也是一波三折。4月21号之前，我们碰了一下头，其他三个是luli、enetor、zdp。以为人员初步定下来了，之后我开始搜集大赛相关信息和资料。到了27日，luli由于个人原因退出。于是我又开始网上招募，并让感兴趣的人员直接参与28日的讨论会。<br />      4月28日讨论之后，根据个人的情况，确定下来了最后的人员：thyme，int，我（eeiser），enetor。对另外的两个同学说sorry的时候，心里也很抱歉让他们白跑一趟。<br /> 然而，对于本以为可以一起讨论一起学习的五一长假，因为其中两位是28晚才确定的新成员，都已经决定外出而作罢。只有我和enetor做了一点分工。<br />      5月7日晚7：00，3317教室，我们队成立以来的第一次正式讨论会终于开始。<br /> 这时候距离4月6日的清华宣讲已经过去一个多月，偶然看到有的队伍是4月6日之前就已经成立，并开始准备，心里难免有些着急。而这时候，我们才刚开始讨论比赛题目！不过队伍总算成立了，可以开始全身心准备了。<img src ="http://SOA-TISE.blogjava.net/aggbug/45231.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/eeiser/" target="_blank">韦伯</a> 2006-05-09 16:07 <a href="http://www.blogjava.net/eeiser/archive/2006/05/09/45231.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>