﻿<?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-BlackStone SOA Group-随笔分类-SOA Learning</title><link>http://www.blogjava.net/blackstone/category/10323.html</link><description /><language>zh-cn</language><lastBuildDate>Tue, 27 Feb 2007 22:53:14 GMT</lastBuildDate><pubDate>Tue, 27 Feb 2007 22:53:14 GMT</pubDate><ttl>60</ttl><item><title>在螺旋上升的过程中升华（续） - Eric</title><link>http://www.blogjava.net/blackstone/archive/2006/07/06/56920.html</link><dc:creator>BlackStone SOA</dc:creator><author>BlackStone SOA</author><pubDate>Thu, 06 Jul 2006 03:22:00 GMT</pubDate><guid>http://www.blogjava.net/blackstone/archive/2006/07/06/56920.html</guid><wfw:comment>http://www.blogjava.net/blackstone/comments/56920.html</wfw:comment><comments>http://www.blogjava.net/blackstone/archive/2006/07/06/56920.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/blackstone/comments/commentRss/56920.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/blackstone/services/trackbacks/56920.html</trackback:ping><description><![CDATA[ <h2 style="MARGIN: 13pt 0cm"/> <p align="center" style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: center" class="MsoNormal"><span style="FONT-FAMILY: 黑体; mso-ascii-font-family: Arial"><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"><span style="FONT-SIZE: 0.9em">在螺旋上升的过程中升华</span></span></span></p> <p align="center" style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: center" class="MsoNormal"><span style="FONT-SIZE: 0.9em"><span lang="EN-US" xml:lang="EN-US"><span style="FONT-FAMILY: Times New Roman">--</span></span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">初涉</span><span lang="EN-US" xml:lang="EN-US"><span style="FONT-FAMILY: Times New Roman">SOA</span></span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">学习心得</span></span>（续）</p> <h2 style="MARGIN: 13pt 0cm"><span style="FONT-FAMILY: 黑体; mso-ascii-font-family: Arial">二、</span><span lang="EN-US" xml:lang="EN-US"><span style="FONT-FAMILY: Arial">SOA</span></span><span style="FONT-FAMILY: 黑体; mso-ascii-font-family: Arial">论术</span></h2> <p style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; mso-char-indent-count: 2.0" class="MsoNormal"><span lang="EN-US" xml:lang="EN-US">SOA</span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的概念范畴之内，</span><span lang="EN-US" xml:lang="EN-US">service</span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">是其核心的部分。那么，什么是</span><span lang="EN-US" xml:lang="EN-US">service</span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">，它与组件有什么不同呢？</span><span lang="EN-US" xml:lang="EN-US">service</span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">从本质上来说是一种新的抽象手段，它通过契约描述的方式声明了对外提供的功能接口。与组件相比，组件注重于自身内部的结构与属性，而</span><span lang="EN-US" xml:lang="EN-US">service</span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">更注重于对外的接口和功能；组件粒度较小，更多的是系统技术视图中关注的焦点；</span><span lang="EN-US" xml:lang="EN-US">service</span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">粒度较大，通常是系统业务视图中关注的焦点。从组件到</span><span lang="EN-US" xml:lang="EN-US">service</span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">我们实现了抽象层次的提升，我们的开发方式也从编程式向声明式演进。</span></p> <p style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; mso-char-indent-count: 2.0" class="MsoNormal"><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">"提纲挈领，纲举目张"，架构的力量来自抽象和分治。</span><span lang="EN-US" xml:lang="EN-US">SOA</span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的架构方法学虽然可以有着种种不同的实现方式，但是，以下的架构层次却应该是每一个具体架构中都不可缺少的部分。</span><span lang="EN-US" xml:lang="EN-US">SOA</span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">分层架构分为</span><span lang="EN-US" xml:lang="EN-US">5</span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">个主要的层次：最底层的是运营系统层，中间是企业组件层（</span><span lang="EN-US" xml:lang="EN-US">SOA</span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">接入层），其上是包含了服务、业务编排优化和表示</span><span lang="EN-US" xml:lang="EN-US">3</span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">个子层的</span><span lang="EN-US" xml:lang="EN-US">SOA</span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">层，此外是两个贯通了各个层次的集成架构层和</span><span lang="EN-US" xml:lang="EN-US">QoS</span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">安全监控管理层。架构底层的运营系统层包括了大部分的企业应用子模块，各个模块有可能是已有的遗留系统，也有可能是待建的系统，甚至是外购的某种服务。运营系统层之上是用于包装它们的企业组件层。通过包装，企业组件层将企业应用子模块的各项功能以</span><span lang="EN-US" xml:lang="EN-US">service</span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的形式发布给</span><span lang="EN-US" xml:lang="EN-US">SOA</span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">层使用。</span><span lang="EN-US" xml:lang="EN-US">SOA</span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">层是</span><span lang="EN-US" xml:lang="EN-US">SOA</span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">架构的核心。在服务子层，各种细粒度的服务被组合为富有业务语义的粗粒度服务。服务子层之上是业务编排优化子层，这一子层是实现业务流程随需应变，快速更新的关键，服务层提供的种种服务在这里按照业务的要求组合成不同的流程，实现对各种企业业务的完善支持。最上面的则是直接和终端用户打交道的表示子层。此外还有纵向贯通各个层次的两个层次。其中，集成架构层通过企业服务总线</span><span lang="EN-US" xml:lang="EN-US">ESB</span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">为整个架构提供了统一的集成环境，而</span><span lang="EN-US" xml:lang="EN-US">QoS</span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">安全监控层则在此基础上进一步为架构提供了服务质量、安全、监控和管理的基础设施。</span></p> <p style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; mso-char-indent-count: 2.0" class="MsoNormal"><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">"人们往往只看到美好的前景，却忽略了道路的艰辛"，</span><span lang="EN-US" xml:lang="EN-US">SOA</span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">为我们勾画出了一个健壮的、高度可扩展、可伸缩的企业信息系统，它是灵活的，能够快速的适应企业业务的发展和业务流程的更新变化。然而，构建基于</span><span lang="EN-US" xml:lang="EN-US">SOA</span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的系统本身却不是简单易行的，如果缺少审慎的分析、全面的考量和相应的企业管理上的支持，美好的前景就很容易成为海市蜃楼、空中楼阁。我们必须对</span><span lang="EN-US" xml:lang="EN-US">SOA</span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的实施作出战略性的规划，对</span><span lang="EN-US" xml:lang="EN-US">SOA</span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">架构实施过程中的各种角色予以界定和管理，严格的注册登记</span><span lang="EN-US" xml:lang="EN-US">SOA</span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">系统的核心</span> <span lang="EN-US" xml:lang="EN-US">- service</span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">并管理其发布与更新。"牵一发而动全身"对于复杂的企业系统，管理永远是最为重要的环节。（待续）</span></p> <p style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; mso-char-indent-count: 2.0" class="MsoNormal"> </p> <p align="right" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; mso-char-indent-count: 2.0" class="MsoNormal"><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">王青</span></p> <p align="right" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; mso-char-indent-count: 2.0" class="MsoNormal"><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">2006-7-6</span></p>  <br/> <img src ="http://www.blogjava.net/blackstone/aggbug/56920.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/blackstone/" target="_blank">BlackStone SOA</a> 2006-07-06 11:22 <a href="http://www.blogjava.net/blackstone/archive/2006/07/06/56920.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>在螺旋上升的过程中升华</title><link>http://www.blogjava.net/blackstone/archive/2006/07/05/56808.html</link><dc:creator>BlackStone SOA</dc:creator><author>BlackStone SOA</author><pubDate>Wed, 05 Jul 2006 08:44:00 GMT</pubDate><guid>http://www.blogjava.net/blackstone/archive/2006/07/05/56808.html</guid><wfw:comment>http://www.blogjava.net/blackstone/comments/56808.html</wfw:comment><comments>http://www.blogjava.net/blackstone/archive/2006/07/05/56808.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/blackstone/comments/commentRss/56808.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/blackstone/services/trackbacks/56808.html</trackback:ping><description><![CDATA[
		<h1 align="center">
				<font color="#800080">在螺旋上升的过程中升华</font>
		</h1>
		<h2 align="center">
				<font color="#800080">--初涉SOA学习心得</font>
		</h2>
		<p style="margin: 0cm 0cm 0pt; text-align: center;" align="center">
		</p>
		<p style="margin: 0cm 0cm 0pt; text-indent: 21pt;">参加IBM大赛两月余，我从一个完全的SOA门外汉走入了五光十色、繁华似锦的SOA世界。虽然璀璨的皇冠对我来说依然是遥不可及，但是，一路走来，旖旎的风光和自己的心得还是颇值得记录下来与大家分享的。于是，不敢藏私专美，撰文共享之。</p>
		<p style="margin: 0cm 0cm 0pt;">一、SOA论道</p>
		<p style="margin: 0cm 0cm 0pt; text-indent: 21pt;">"SOA既不是一种语言，也不是一种具体的技术，它是一种新的软件系统架构模型，它主要应用于解决在Internet环境下的不同商业应用之间的业务集成问题。"企业应用集成的问题由来已久，历经技术的变迁，其核心的问题依然是以下的两点：一是如何解决不同企业应用系统的数据一致性问题，二是如何实现不同企业应用系统之间的互操作；而最为重要的约束也依然保持为要求在集成的过程中尽可能的保持原有的企业应用系统不变。于是，针对这一需求各种EIA技术日新月异、层出不穷。SOA之所以能够成为眼下最为流行的解决方案有着种种原因，可是最为关键的原因在下认为在于其抽象层次更高，封装的粒度更大。在软件设计的领域中，有着一个颠扑不破的设计原则，那就是Dependency Inverse Principle，当我们的设计所依赖的类或者接口越是抽象，设计的可扩展性和可维护性就越好，能够被复用的能力也就越强。更进一步，我们的抽象层次越高，对于问题的描述和认识也就越远离机器的范畴而更加接近人类日常思维的范畴；这有利于我们更好的设计、实现、调整、维护和升级系统。</p>
		<p style="margin: 0cm 0cm 0pt; text-indent: 21pt;">SOA的应用当中，基于Web Service的解决方案得天独厚。SOA架构是一种分布式架构，如同任何分布式架构一样，其实现的核心在于对于接口的描述语言和系统之间的通信协议。Web Service的WSDL、SOAP以及UDDI为SOA的实现提供了一种完美的契合，基于Web Service实现SOA不仅易于实现SOA的松耦合性和位置透明性，更为重要的是，Web Service是基于HTTP协议的，这对于在Internet环境下顺利地穿越防火墙实现远程调用格外关键。</p>
		<p style="margin: 0cm 0cm 0pt; text-indent: 21pt;">"复用和自动化是软件的生存之道"。SOA的开发是CBD的延续，SOA的粗粒度服务组件代表着软件开发粒度不断增大的趋势，而SOA中集成架构和基础架构部分更是应用服务器的一种分布式扩展。通过这样的架构分层，使得应用程序设计开发人员和系统集成设计开发人员能够把精力集中在对业务逻辑的分析、建模和处理上，使得大家无需重新发明轮子。"术业有专攻"，通过这样的复用，SOA事实上实现了软件设计开发的分工。（<font color="#ff1493">待续</font>）</p>
		<p style="margin: 0cm 0cm 0pt; text-indent: 21pt;">
		</p>
		<p style="margin: 0cm 0cm 0pt; text-indent: 21pt;" align="right">王青</p>
		<p style="margin: 0cm 0cm 0pt; text-indent: 21pt;" align="right">2006-7-05</p>
		<p style="margin: 0cm 0cm 0pt; text-indent: 21pt;" align="right">
		</p>
<img src ="http://www.blogjava.net/blackstone/aggbug/56808.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/blackstone/" target="_blank">BlackStone SOA</a> 2006-07-05 16:44 <a href="http://www.blogjava.net/blackstone/archive/2006/07/05/56808.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Blackstone 读书会筹建当中</title><link>http://www.blogjava.net/blackstone/archive/2006/06/27/55412.html</link><dc:creator>BlackStone SOA</dc:creator><author>BlackStone SOA</author><pubDate>Tue, 27 Jun 2006 12:51:00 GMT</pubDate><guid>http://www.blogjava.net/blackstone/archive/2006/06/27/55412.html</guid><wfw:comment>http://www.blogjava.net/blackstone/comments/55412.html</wfw:comment><comments>http://www.blogjava.net/blackstone/archive/2006/06/27/55412.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/blackstone/comments/commentRss/55412.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/blackstone/services/trackbacks/55412.html</trackback:ping><description><![CDATA[ <p>昨日高速5档的浏览CORBA为考试做准备的时候，海隽分享了一个好网站给我<a href="http://www.chmpdf.com">www.chmpdf.com</a>，上面的书真的很不错，一冲动就下了一堆回来。看看自己那浩若烟海的电子藏书，很有成就感的同时，也十分的自卑，忍不住仰天长啸：My God！何年何月我才能看完这些书啊</p> <p>Tim听到我的哀嚎，大有同感，继而Linkman也附和到这个"吾生有涯，而e-book无涯"的感慨当中来了。一片哀鸿遍野中，偶突发奇想，我们是不是应当组织一个读书会呢？是不是可以在读书这个业务流程上发挥团队的力量，优化流程，提高复用，变个人知识为团队知识，使得单线程操作为为多线程并发，来提高我们的效率呢？</p> <p>于是，立刻向大伙提出了这个动议。哈哈，大家都十分赞同，并决定由我来负责起草Blackstone读书会的简要章程。That's great! 考试一完成，我就来搞定他。</p> <p align="right">王青</p> <p align="right">2006-6-27</p> <img src ="http://www.blogjava.net/blackstone/aggbug/55412.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/blackstone/" target="_blank">BlackStone SOA</a> 2006-06-27 20:51 <a href="http://www.blogjava.net/blackstone/archive/2006/06/27/55412.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>从WSDL创建WebService示例</title><link>http://www.blogjava.net/blackstone/archive/2006/05/14/46034.html</link><dc:creator>BlackStone SOA</dc:creator><author>BlackStone SOA</author><pubDate>Sat, 13 May 2006 16:55:00 GMT</pubDate><guid>http://www.blogjava.net/blackstone/archive/2006/05/14/46034.html</guid><wfw:comment>http://www.blogjava.net/blackstone/comments/46034.html</wfw:comment><comments>http://www.blogjava.net/blackstone/archive/2006/05/14/46034.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/blackstone/comments/commentRss/46034.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/blackstone/services/trackbacks/46034.html</trackback:ping><description><![CDATA[
		<p>
				<br />这两天按照IBM RSA中的教程从WSDL创建WebService，不幸一直都没成功。失败原因有两个，Websphere Application Server启动到一半出错，还有做到最后一步找不到sample JSP页面进行测试。<br />为了不在这里耽误太久，决定把跑通Sample的工作移交给If，自己继续下一步的工作。<br />为了让If尽早上手，下面简单介绍一下sample的设置顺序及需要注意的地方。</p>
		<p>首先，由IBM RSA的菜单下“帮助-&gt;教程图库-&gt;边学边做”进入，选“Create a WS-I compliant Web service and Java bean skeleton from a WSDL file”开始教程。我在我们的ftp同目录下也附了相同的PDF。教程在设置项目参数的时候无法调到前台，参照此doc文档或PDF即可。<br />教程大概分为4个步骤：<br /> Create a Web project<br /> Create, validate and test a WSDL file<br /> Create a Web service and Web service client from a WSDL file<br /> Test a Web service</p>
		<p>1.1设置工作环境和创建Web项目<br />在“帮助”菜单下选择“欢迎”打开欢迎使用界面。在界面的右下角小人的地方单击，显示如图界面，选择Web Service Developer退出。<br /> <img height="328" alt="people.gif" src="http://www.blogjava.net/images/blogjava_net/blackstone/people.gif" width="204" border="0" /><br />这样用于创建WebService的工具被启用。</p>
		<p>创建一个Web项目<br />1、 选择“文件-&gt;新建-&gt;其他-&gt;动态Web项目，点下一步。<br />2、 在弹出对话框中按下图设置参数：<br /> <img height="498" alt="new.gif" src="http://www.blogjava.net/images/blogjava_net/blackstone/new.gif" width="523" border="0" /><br />3、 直接点完成。<br />上面就已完成了Project的创建。</p>
		<p>把项目加入Server<br />在“服务器”视图下右键单击Websphere Application Server V6.0，在菜单中选“添加和去除项目”，设置如下图：<br /> <img height="476" alt="add.gif" src="http://www.blogjava.net/images/blogjava_net/blackstone/add.gif" width="489" border="0" /><br />点击完成。</p>
		<p>切换到J2EE透视图<br />在窗口菜单下选择“打开透视图-&gt;其他”，在列表中选“J2EE”确定。</p>
		<p>1.2设置WS-I兼容级别<br />在“项目资源管理器”视图中右键点击AddressBook项目，选择“属性”，在对话框中选择符合“WS-I”，选择符合级别，设置如下：<br /> <img height="434" alt="property.gif" src="http://www.blogjava.net/images/blogjava_net/blackstone/property.gif" width="555" border="0" /></p>
		<p>1.3导入WSDL文件<br />在“项目资源管理器”中AddressBook-&gt;WebContent目录中新建文件夹，命名为“WSDL”。右键单击新建的WSDL文件夹，选择“导入”，从弹出列表中选“文件系统”，下一步。在目录中选择RSA的安装目录，在安装目录下找到以下路径（假设安装在C:\Program Files\）C:\Program Files\IBM\Rational\SDP\6.0\rwd\eclipse\plugins\com.ibm.etools.webservice.tdjava.simple.tutorial.doc_6.0.0\resources，只选择.wsdl文件，完成。如图：<br /><img height="475" alt="import.gif" src="http://www.blogjava.net/images/blogjava_net/blackstone/import.gif" width="555" border="0" /> <br />添加后打开AddressBook.wsdl文件应如下图所示：<br /> <img height="456" alt="wsdl.gif" src="http://www.blogjava.net/images/blogjava_net/blackstone/wsdl.gif" width="554" border="0" /></p>
		<p>1.4检验WSDL文件有效性<br />右键单击AddressBook.wsdl文件，选择“验证WSDL文件”。此处为系统的sample，所以直接显示“验证通过”。</p>
		<p>2.1创建AddressBook的Web Service<br />这一步首先要启动Websphere Application Server。在服务器视图中选择Websphere Application Server V6.0，点击启动。注意：开启服务器需要很长的时间，且希望不要在启动时出错。<br /><img height="162" alt="service.gif" src="http://www.blogjava.net/images/blogjava_net/blackstone/service.gif" width="554" border="0" /> </p>
		<p>创建Web Service<br />右键单击刚刚添加的AddressBook.wsdl文件，选“新建-&gt;其他-&gt;Web Service”，弹出对话框设置如下：<br /> <br /><br /> <img height="548" alt="addwebservice.gif" src="http://www.blogjava.net/images/blogjava_net/blackstone/addwebservice.gif" width="501" border="0" /><br /><img height="652" alt="deploy.gif" src="http://www.blogjava.net/images/blogjava_net/blackstone/deploy.gif" width="501" border="0" /><br /><br />选“没有安全性”下一步。<br />在最后一页，把WebService 发布到UDDI注册表的选项去掉，把所有Check box的勾都去掉。点击完成。<br />现在，Web service和Java bean框架都加进来了。Java框架类在JavaSource文件夹，绑定client和Web service的配置描述在WEB-INF文件夹中。</p>
		<p>2.2添加Java Bean框架代码<br />在JavaSource文件夹中右键点击AddressBookBindingImpl.java源文件，重名名为AddressBookBindingImpl_bak.java。这时项目会有文件名与类名不一致错误，不用管它。<br />同样，右键选择导入com.ibm.etools.webservice.tdjava.simple.tutorial.doc\resources\AddressBookBindingImpl.java文件替换原来的文件。此目录在上面wsdl文件同一个文件夹中。</p>
		<p>2.3测试Web Service<br />我只成功做到这里，按照教程上的说法， test JSP页面可以自动由Web Services向导生成，如果没有则在生成的AddressBookClient项目中选择WebContent/sample/TestClient.jsp文件，右键选择在Server上运行。<br />我没有找到生成的这个jsp页面，所以下面的工作无法进行下去。<br />如果启动测试，将会在TCP/IP监视器视图中有所展示：<br /> <img height="349" alt="monitor.gif" src="http://www.blogjava.net/images/blogjava_net/blackstone/monitor.gif" width="554" border="0" /><br />希望If会有更顺利地结果。</p>
		<p>先到这里<br />需要注意的是在这里操作时请尽量关闭其他应用程序，只开pdf或word，最好在另一台电脑打开文档。<br />电脑配置：512M内存，开启Server后大概用了800M以上，电脑操作极慢。</p>
		<p align="right">
				<br />田晟<br />2006-5-13<br /></p>
<img src ="http://www.blogjava.net/blackstone/aggbug/46034.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/blackstone/" target="_blank">BlackStone SOA</a> 2006-05-14 00:55 <a href="http://www.blogjava.net/blackstone/archive/2006/05/14/46034.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>SOA开源软件</title><link>http://www.blogjava.net/blackstone/archive/2006/05/09/45123.html</link><dc:creator>BlackStone SOA</dc:creator><author>BlackStone SOA</author><pubDate>Mon, 08 May 2006 17:59:00 GMT</pubDate><guid>http://www.blogjava.net/blackstone/archive/2006/05/09/45123.html</guid><wfw:comment>http://www.blogjava.net/blackstone/comments/45123.html</wfw:comment><comments>http://www.blogjava.net/blackstone/archive/2006/05/09/45123.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/blackstone/comments/commentRss/45123.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/blackstone/services/trackbacks/45123.html</trackback:ping><description><![CDATA[
		<p>
				<span style="font-size: 10.5pt; font-family: 'Times New Roman';" lang="EN-US">What is SOA?<br /><img src="http://www.blogjava.net/images/blogjava_net/blackstone/10875/o_HighLevel.jpg" /><br /><img src="http://www.blogjava.net/images/blogjava_net/blackstone/10875/o_component.jpg" /><br />open source soa solutions<br /></span>
				<span style="font-size: 10.5pt; font-family: 'Times New Roman';" lang="EN-US">
						<strong>Mule</strong>
						<br />An ESB messaging framework. It is a scalable object broker that can handle interactions with services and applications using disparate transport and messaging technologies.</span>
		</p>
		<p>ESB / In Production</p>
		<p>
				<strong>ServiceMix</strong>
				<br />An open source ESB and SOA toolkit built on the semantics and APIs of the Java Business Integration (JBI) specification JSR 208.</p>
		<p>ESB / In Production</p>
		<p>
				<strong>Celtix</strong>
				<br />A Java ESB runtime and set of extensible APIs to simplify the construction, integration and reuse of business components using a standards-based SOA. IONA Technologies is a contributor.</p>
		<p>ESB / In Development</p>
		<p>
				<strong>open-esb</strong>
				<br />open-esb.dev.java.net Sponsored by SUN, this will be an ESB runtime based on JSR-208, Java Business Integration technology.</p>
		<p>ESB / In Development</p>
		<p>
				<strong>JEMS<br /></strong>JBoss Enterprise Middleware System (JEMS) is an extensible and scalable suite of products for creating and deploying e-business applications.</p>
		<p>Suite of SOA tools / In Production</p>
		<p>
				<strong>ActiveMQ</strong>
				<br />A fast Java Message Service (JMS) provider supporting clustering, peer networks, discovery, TCP, SSL, multicast, persistence, XA and integrates seamlessly into Java and J2EE containers.</p>
		<p>Message Queue / In Production</p>
		<p>
				<strong>JORAM</strong>
				<br />An implementation of JMS. It provides access to a MOM (Message Oriented Middleware), built on top of the ScalAgent platform.</p>
		<p>Message Queue / In Production</p>
		<p>
				<strong>AMQ</strong>
				<br />A financial industry focused open-source alternative to proprietary message queuing technology using web services. Sponsored by JPMorgan Chase &amp; Co.</p>
		<p>Message Queue / A Proposal</p>
		<p>
				<strong>OSMQ</strong>
				<br />Open Source Message Queue (OSMQ) is a pure Java asynchronous messaging middleware framework with an interface that is less complex than JMS.</p>
		<p>Message Queue / In Production</p>
		<p>
				<strong>JBoss Messaging/ JBossMQ<br /></strong>JBoss Messaging is a re-implementation of JBossMQ. JBossMQ, which evolved from SpyderMQ, is the current production-ready JBoss JMS provider.</p>
		<p>Message Queue / In Production</p>
		<p>
				<strong>Axis</strong>
				<br />A reliable and stable base on which to implement Java Web Services.</p>
		<p>Web Services Connector / In Production</p>
		<p>
				<strong>Synapse<br /></strong>A service mediation framework built on web services specifications. Contributed to by IONA Technologies Sonic Software, Infravio, Blue Titan, and will be supported by WS02.</p>
		<p>Web Services Connector / A Proposal</p>
		<p>
				<strong>Sandesha<br /></strong>Allows a reliable communication between web services and clients. An implementation adhering to the WS-ReliableMessaging specification authored by BEA, IBM, Microsoft and TIBCO.</p>
		<p>Web Services Reliable Messaging Connector / In Production</p>
		<p>
				<strong>RM4GS<br /></strong>RM4GS (Reliable Messaging for Grid Services) provides reliable messaging for web services following the Web Services-Reliability specification supported by Fujitsu Limited, Hitachi Ltd., and NEC Corporation.</p>
		<p>Web Services Reliability Connector / In Production</p>
		<p>
				<strong>openadaptor<br /></strong>A Java/XML-based software platform which allows for rapid business system integration with little or no custom programming.</p>
		<p>Services Connector / In Production</p>
		<p>
				<strong>jUDDI</strong>
				<br />jUDDI (pronounced "Judy") is an open source Java implementation of the Universal Description, Discovery, and Integration (UDDI) specification for Web Services.</p>
		<p>Discovery Service/ Pre Production</p>
		<p>
				<strong>UDDI4J</strong>
				<br />UDDI4J is a Java class library that provides an API to interact with a UDDI registry contributed by IBM</p>
		<p>Discovery Service Client / In Production</p>
		<p>more detail:<br /><a href="http://www.optaros.com/wp/wp_2_soa_oss.shtml">http://www.optaros.com/wp/wp_2_soa_oss.shtml</a><br /><br /></p>
		<div align="right">                                                                                                 王青<br />                                                                                                 2006-5-6<br /></div>
		<p class="MsoNormal" style="margin: 0cm 0cm 0pt;">
				<span lang="EN-US">
						<span style="">                                                         </span>
				</span>
		</p>
<img src ="http://www.blogjava.net/blackstone/aggbug/45123.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/blackstone/" target="_blank">BlackStone SOA</a> 2006-05-09 01:59 <a href="http://www.blogjava.net/blackstone/archive/2006/05/09/45123.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>SOAD开发方法</title><link>http://www.blogjava.net/blackstone/archive/2006/05/08/45077.html</link><dc:creator>BlackStone SOA</dc:creator><author>BlackStone SOA</author><pubDate>Mon, 08 May 2006 12:21:00 GMT</pubDate><guid>http://www.blogjava.net/blackstone/archive/2006/05/08/45077.html</guid><wfw:comment>http://www.blogjava.net/blackstone/comments/45077.html</wfw:comment><comments>http://www.blogjava.net/blackstone/archive/2006/05/08/45077.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/blackstone/comments/commentRss/45077.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/blackstone/services/trackbacks/45077.html</trackback:ping><description><![CDATA[
		<p class="MsoNormal" style="margin: 0cm 0cm 0pt;">        五一长假，感谢庄老师的支持,我可以专心去准备SOA的比赛了。一个人在宿舍看东西也挺闷的，找个人聊聊才好。还好下午有些收获，且听一一道来。<br />        在SOA中，使用旧有的OOAD，EA，BPM这些建模方法已经不足以囊括SOA所涉及的所有部分，而集以上建模方法其中优点从其中改进而来的SOAD(Service-Oriented Analysis and Design)就成了SOA建模的首选了。<br />如何确认并定义服务呢？<br />       有顶至下的，商业层次的建模技术（如CBM等）可以作为SOA建模活动的开始。但是SOA的实施并不是从无到有的过程，创建一个SOA的解决方案是通过拆分现有的遗留系统成服务，操作，商业流程和商业规则并整合他们。<br /><strong><img src="http://www.blogjava.net/images/blogjava_net/blackstone/10875/r_soad.jpg" /><br /><br />直接和间接的商业分析<br /></strong>BPM和通过对股东的谈话和CBM的直接商业分析是确定候选服务的合适的方法。<br />过往的经验表明需要间接的技术来补足这种方法。当挖掘候选服务时，必须与产品经理和其他商业经理谈话。比如，什么是计划中的支付模型？正在建立中的系统和所有已有的非SOA的案例都会作为建议分析。在建中的商业表示的术语是另一个操作候选分析的主要来源。<br /><strong>领域拆分</strong><br />领域拆分，子系统分析，目的模型创建和相关技术是最先的商业架构方法或服务概念框架的方案。<br /><strong>服务粒度</strong><br />选择合适层次的仇隙那个是服务建模的关键。应该将模型拆解到保证其完整性，一致性的越粗粒度越好。由于SOA不等同于Web service和SOAP不同的协议绑定可以用于在不同的抽象层次来访问服务。另一个选择是利用Façade 模式来将数个相关的服务绑定成粗粒度的服务定义。<br /><strong>命名约定</strong><br />企业范围的命名规范（比如XML命名空间，Java包名，网络域）需要被确定。比如可以用服务的以一个名词和他的操作这个动词来命名。这个建议是来自OOAD的名字空间。<br /><br /></p>
		<p class="MsoNormal" style="margin: 0cm 0cm 0pt;">以下是结合了OOAD,BPM和EA的SOAD重要的概念：<br /><strong>Service categorization and aggregation 服务分类与聚合<br /></strong>服务有不同的用处和目的，SOAD中可以通过executable models（如BPEL）来简化其服务的组合。<br /><strong>Policies and aspects 策略与方面</strong><br />在建模过程中服务是具有语法，语义和Qos特性的。正式的接口合约将不单单包括WSDL(Web Services Description Language)，还将包括Ws-Policy等等。同时还须定义些非技术的领域专家也可以理解的语言来描述系统的结构。<br /><strong>Process: meet-in-the-middle 流程:上下双管齐下</strong><br />在处理真实世界的系统（包括遗留系统）用上下双管齐下的方法将会比单纯的自顶向下或者由下向上的方法更有优势。由下至上的方法会导致不良的商业服务抽象，使其设计更多是听从于现有系统，而不是去实现现有系统或者未来需要的需求。而有顶向下将会脱离现有的系统而产生不适合的需求。<br /><strong>Semantic brokering 语义代理</strong><br />调用语法和语义是在接口定义中十分重要的。<br /><strong>Service harvesting and knowledge brokering 收集服务和知识代理<br /></strong>所有服务都是被定义用于重用的。所有服务的是被设计成超过1位用户所使用的。<br /><br />这些将会是我们在以后设计所需注意的原则。<br /></p>
		<div align="right">                                                                                                                 程启健<br />  2006-05-07</div>
<img src ="http://www.blogjava.net/blackstone/aggbug/45077.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/blackstone/" target="_blank">BlackStone SOA</a> 2006-05-08 20:21 <a href="http://www.blogjava.net/blackstone/archive/2006/05/08/45077.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>