BlogJava 联系 聚合 管理  

Blog Stats

随笔分类(196)

随笔档案(209)

文章档案(4)

相册

CRM&ERP

Google

SOA


BlackStone SOA Group

#

A New Start!
又开始更新熟悉的blog了,前几天在珠海一直都发烧感冒
一直都没上网,7号那天Eric打了两个电话过来说正式通知我们进复赛了
虽然早在预料之后,但还是掩不住内心的高兴和激动,两个月的努力终于有了回报。
今天一早回到学校浏览了一下水木,评委还是给了我们很高的分数啊
不过在方案的创新部分我们才得了15分,其中有一支队评语是没有什么特别创新的地方,竟然都得了13分觉得实在是不可思议。

回来大概确定了自己这几天的工作重心,修补和完善方案,提出重点。
得知IBM竟然只能报火车票有些失望,只好多花一天的时间欣赏一下京九沿途的风光了

田晟
2006年7月10日

posted @ 2006-07-10 20:37 BlackStone SOA 阅读(133) | 评论 (0)编辑 收藏

意大利终于夺冠了。Yeah!!!!!!
进入复赛,我们可以看到我们做的成果还是得到认同的,也是有希望通过复赛进入决赛的。我们是做了很多富有创意的工作,更重要的是演示出来。接下来就是做好展示的工作。我的任务是把以往的工作完善,完善原有的PRM部分的材料。在后期的ppt中我也会加入的。

程启健
06-07-09

posted @ 2006-07-10 17:04 BlackStone SOA 阅读(79) | 评论 (0)编辑 收藏

短暂的休息结束了,今天下午召开了小组会议,对复赛阶段的工作进行了安排。而后,开始准备复赛阶段宣讲所用的PPT。PPT的准备分为4个步骤:粗稿、加母板、动画与配色、精稿,我们将采用流水作业的方式进行。初步预计在12号要完成PPT的制作,而后13、14、15 用于演练和彩排。

明天争取完成粗稿的所有部分以便Jammy他们的后续工作,同时督促Tim抓紧查找有关PRM的资料。朝院长对我们的成绩很是赞赏,说是要请我们吃饭。嘻嘻,刚好找机会让学院给我们准备队服:) 。

"人生能有几次搏"兄弟们,大好的机会放在我们的面前,努力吧!用实践来证明我们的能力和才智,为自己的人生增添亮丽的色彩吧!

王青

2006-7-9


posted @ 2006-07-10 09:07 BlackStone SOA 阅读(58) | 评论 (0)编辑 收藏

今天,我们小组的组员重新聚到了一起,为了下一阶段的竞赛开始新的工作。下午的会议,每个人针对新的任务明确了职责。本阶段的时间比第一阶段紧迫很多,但是小组的每个成员都有信心,继续发扬我们Blackstone的精神,向着更高的目标迈进。

倪振声
2006-7-9

posted @ 2006-07-09 23:26 BlackStone SOA 阅读(128) | 评论 (0)编辑 收藏

十分幸运,我们通过了初赛的选拔进入复赛了。但是,我们必须清楚地认识到我们的方案还有不小的缺陷,我们的工作有待进一步地完善,初赛的入围只是我们工作新的起点。同志们,天道酬勤,我们只有不断地努力才会一路上不断地成功和前进。同志们,向着北京,向着决赛,冲锋啊!

王青

2006-7-08

posted @ 2006-07-08 18:42 BlackStone SOA 阅读(192) | 评论 (2)编辑 收藏

在螺旋上升的过程中升华

--初涉SOA学习心得(续)

二、SOA论术

SOA的概念范畴之内,service是其核心的部分。那么,什么是service,它与组件有什么不同呢?service从本质上来说是一种新的抽象手段,它通过契约描述的方式声明了对外提供的功能接口。与组件相比,组件注重于自身内部的结构与属性,而service更注重于对外的接口和功能;组件粒度较小,更多的是系统技术视图中关注的焦点;service粒度较大,通常是系统业务视图中关注的焦点。从组件到service我们实现了抽象层次的提升,我们的开发方式也从编程式向声明式演进。

"提纲挈领,纲举目张",架构的力量来自抽象和分治。SOA的架构方法学虽然可以有着种种不同的实现方式,但是,以下的架构层次却应该是每一个具体架构中都不可缺少的部分。SOA分层架构分为5个主要的层次:最底层的是运营系统层,中间是企业组件层(SOA接入层),其上是包含了服务、业务编排优化和表示3个子层的SOA层,此外是两个贯通了各个层次的集成架构层和QoS安全监控管理层。架构底层的运营系统层包括了大部分的企业应用子模块,各个模块有可能是已有的遗留系统,也有可能是待建的系统,甚至是外购的某种服务。运营系统层之上是用于包装它们的企业组件层。通过包装,企业组件层将企业应用子模块的各项功能以service的形式发布给SOA层使用。SOA层是SOA架构的核心。在服务子层,各种细粒度的服务被组合为富有业务语义的粗粒度服务。服务子层之上是业务编排优化子层,这一子层是实现业务流程随需应变,快速更新的关键,服务层提供的种种服务在这里按照业务的要求组合成不同的流程,实现对各种企业业务的完善支持。最上面的则是直接和终端用户打交道的表示子层。此外还有纵向贯通各个层次的两个层次。其中,集成架构层通过企业服务总线ESB为整个架构提供了统一的集成环境,而QoS安全监控层则在此基础上进一步为架构提供了服务质量、安全、监控和管理的基础设施。

"人们往往只看到美好的前景,却忽略了道路的艰辛",SOA为我们勾画出了一个健壮的、高度可扩展、可伸缩的企业信息系统,它是灵活的,能够快速的适应企业业务的发展和业务流程的更新变化。然而,构建基于SOA的系统本身却不是简单易行的,如果缺少审慎的分析、全面的考量和相应的企业管理上的支持,美好的前景就很容易成为海市蜃楼、空中楼阁。我们必须对SOA的实施作出战略性的规划,对SOA架构实施过程中的各种角色予以界定和管理,严格的注册登记SOA系统的核心 - service并管理其发布与更新。"牵一发而动全身"对于复杂的企业系统,管理永远是最为重要的环节。(待续)

王青

2006-7-6


posted @ 2006-07-06 11:22 BlackStone SOA 阅读(246) | 评论 (0)编辑 收藏

在螺旋上升的过程中升华

--初涉SOA学习心得

参加IBM大赛两月余,我从一个完全的SOA门外汉走入了五光十色、繁华似锦的SOA世界。虽然璀璨的皇冠对我来说依然是遥不可及,但是,一路走来,旖旎的风光和自己的心得还是颇值得记录下来与大家分享的。于是,不敢藏私专美,撰文共享之。

一、SOA论道

"SOA既不是一种语言,也不是一种具体的技术,它是一种新的软件系统架构模型,它主要应用于解决在Internet环境下的不同商业应用之间的业务集成问题。"企业应用集成的问题由来已久,历经技术的变迁,其核心的问题依然是以下的两点:一是如何解决不同企业应用系统的数据一致性问题,二是如何实现不同企业应用系统之间的互操作;而最为重要的约束也依然保持为要求在集成的过程中尽可能的保持原有的企业应用系统不变。于是,针对这一需求各种EIA技术日新月异、层出不穷。SOA之所以能够成为眼下最为流行的解决方案有着种种原因,可是最为关键的原因在下认为在于其抽象层次更高,封装的粒度更大。在软件设计的领域中,有着一个颠扑不破的设计原则,那就是Dependency Inverse Principle,当我们的设计所依赖的类或者接口越是抽象,设计的可扩展性和可维护性就越好,能够被复用的能力也就越强。更进一步,我们的抽象层次越高,对于问题的描述和认识也就越远离机器的范畴而更加接近人类日常思维的范畴;这有利于我们更好的设计、实现、调整、维护和升级系统。

SOA的应用当中,基于Web Service的解决方案得天独厚。SOA架构是一种分布式架构,如同任何分布式架构一样,其实现的核心在于对于接口的描述语言和系统之间的通信协议。Web Service的WSDL、SOAP以及UDDI为SOA的实现提供了一种完美的契合,基于Web Service实现SOA不仅易于实现SOA的松耦合性和位置透明性,更为重要的是,Web Service是基于HTTP协议的,这对于在Internet环境下顺利地穿越防火墙实现远程调用格外关键。

"复用和自动化是软件的生存之道"。SOA的开发是CBD的延续,SOA的粗粒度服务组件代表着软件开发粒度不断增大的趋势,而SOA中集成架构和基础架构部分更是应用服务器的一种分布式扩展。通过这样的架构分层,使得应用程序设计开发人员和系统集成设计开发人员能够把精力集中在对业务逻辑的分析、建模和处理上,使得大家无需重新发明轮子。"术业有专攻",通过这样的复用,SOA事实上实现了软件设计开发的分工。(待续

王青

2006-7-05

posted @ 2006-07-05 16:44 BlackStone SOA 阅读(244) | 评论 (0)编辑 收藏

初步考虑了一下,我们可以先按照下面的办法来开始我们的活动,然后在活动中来完善规则。

一、宗旨:知识共享,互相激励,提高读书效率

二、阅读共享方向:暂时先锁定在IT相关领域

三、基本活动与规则:

1. 会员每周至少要完成300页之上的阅读,并写出读书摘要(提交截止时间为每周五晚上12:00之前)。摘要内容为自己读书的心得总结。文章不要长篇大论的阐述,只要罗列出要点提示即可(不超过1000字)。会友阅读心得后,可就感兴趣之处进一步交流。摘要的命名方式为:心得标题-技术方向-原著名

2. 会员应当仔细阅读他人的读书摘要,并给出评分0-100分

3. 隔周的周日晚上9:00 为聚会时间,先在实验室由本轮(两周)得分最高的读书摘要的作者做一个15分钟的演讲,而后寻找一个好去处继续自由交流(费用AA)

4. 交流中产生的创意与技术要点由大家轮流做记录,整理后贴到Distillate中

以上规则均为草案,欢迎大家提出意见,以进一步完善它。

王青

2006-6-30

posted @ 2006-06-30 15:47 BlackStone SOA 阅读(234) | 评论 (2)编辑 收藏

Driven By Test…

程启健(Kelvin)

前两天Eric说搞个读书协会,那就让我来写第一篇吧。第一篇是关于Test-Driven Development的。

TDD(Test-Driven Development)顾名思义就是测试驱动的开发。以测试驱动并不是代表以测试人员为中心进行开发,而是把要测试的内容作为软件开发的目标来开发。测试的Case就是我们要达到的目标。其原则如下:

  •  绝对没有未进行过测试的代码。
  • 没有进行关联测试的代码不会进入产品中。
  • 你必须写测试代码先。
  • 测试决定了你要写的代码。

TDD和Refactoring成为XP中最重要的实践。两者相辅相成,重构就是不改变程序内在功能的前提下更改代码的结构。测试才能验证你的重构没有改变其功能。

TDD的具体流程是怎样的呢?为何测试可以在编码先呢?

以下是简单的TDD的Sample(摘自TDD a practical guide by David Astels):

本Sample假设你已了解JUnit等测试软件。

GOAL:做个电影的平均评分的函数。给个例子,假如观众甲给3分,观众乙给5分,平均分为4分。

1.把目标做成测试用例。

public void testRating() {

assertEquals("Bad average rating.",4,starWars.getAverageRating());

}

Make it Simple。就让平均评分为4分先吧。

2.但是总不能都是4分,而且评分的人可是观众阿。加个添加评分的函数。

public void testRating() {

starWars.addRating(3);

starWars.addRating(5);

assertEquals("Bad average rating.",4,starWars.getAverageRating());

}

3.什么电影呢?是星球大战!

public void testRating() {

Movie starWars = new Movie("Star Wars");

starWars.addRating(3);

starWars.addRating(5);

assertEquals("Bad average rating.",4,starWars.getAverageRating());

}

4.编译这些代码的时候发现addRating(int)和getAverageRating()没有定义。赶紧在Movie类中写这些函数。

public void addRating(int newRating) {

}

public int getAverageRating() {

return 0;

}

测试失败?Bad average rating. expected:<4> but was:<0>

5.应该返回4而不是0!那就返回4吧。

public int getAverageRating() {

return 4;

}

重新编译,绿条出现。Yeah。下面我们进入重构阶段了。

6.评分是由3分+5分的和后除以2才得的。直接返回4不符合要求阿。改。

public int getAverageRating() {

return (3 + 5) / 2;

}

7.编译成功。又出绿条。但是算法上应该是总分除以个数才可以阿。继续该吧。

private int totalRating = 0;

private int numberOfRatings = 0;

public void addRating(int newRating) {

totalRating += newRating;

numberOfRatings++;

}

public int getAverageRating() {

return totalRating / numberOfRatings;

}

8.编译运行。绿色的.yeah.成功。写多些用例测试下。大家来评评《哥斯拉》这部电影。

public void testLotsOfRatings()

{

Moviegodzilla = new Movie("Godzilla");

godzilla.addRating(1);

godzilla.addRating(5);

godzilla.addRating(1);

godzilla.addRating(2);

assertEquals("Bad average rating.",2,godzilla.getAverageRating());

}

TDD就是这样一个编写测试、编写代码、再测试、重构、再测试的过程。实现尽量少的功能,不断地对代码进行重构。利用TDD开发出来的代码将会更干净、更安全、更易于重构的。


posted @ 2006-06-28 15:09 BlackStone SOA 阅读(234) | 评论 (0)编辑 收藏

昨日高速5档的浏览CORBA为考试做准备的时候,海隽分享了一个好网站给我www.chmpdf.com,上面的书真的很不错,一冲动就下了一堆回来。看看自己那浩若烟海的电子藏书,很有成就感的同时,也十分的自卑,忍不住仰天长啸:My God!何年何月我才能看完这些书啊

Tim听到我的哀嚎,大有同感,继而Linkman也附和到这个"吾生有涯,而e-book无涯"的感慨当中来了。一片哀鸿遍野中,偶突发奇想,我们是不是应当组织一个读书会呢?是不是可以在读书这个业务流程上发挥团队的力量,优化流程,提高复用,变个人知识为团队知识,使得单线程操作为为多线程并发,来提高我们的效率呢?

于是,立刻向大伙提出了这个动议。哈哈,大家都十分赞同,并决定由我来负责起草Blackstone读书会的简要章程。That's great! 考试一完成,我就来搞定他。

王青

2006-6-27

posted @ 2006-06-27 20:51 BlackStone SOA 阅读(185) | 评论 (0)编辑 收藏

仅列出标题
共21页: 上一页 1 2 3 4 5 6 7 8 9 下一页 Last