说句实话,到底SOA是个怎样的东西,我一直认为,SOA是概念大于实际的东西。
SOA的全程是Service oriented architecture,基于服务的架构。
听起来还是比较玄乎的。其实,真正想理解所谓SOA的话,我来举个例子好了。
比如腾讯的拍拍网,产品需要搜索是吧?腾讯有自己的SoSo,那么想当然拍拍网的搜索肯定是用Soso的。但是问题出在,是否需要从Soso抽调人手到拍拍网来帮助拍拍做自己的商品搜索?或者拍拍网自己来做搜索?
想当然的不用。正确的过程应该是,SoSo给拍拍网一个网络接口接受一定格式的数据,并且根据数据返回需要的值。拍拍网所需要做的就是将用户提交的搜索信息,整理成Soso接口所能接受的信息并且将SoSo返回的结果显示给客户。至于SoSo如何得到这些结果,拍拍网不需要知道或者了解。
如果那天SoSo调整了算法,拍拍网不会知道。因为拍拍网从头到尾并没有对SoSo进行任何的操作,他们所使用的就是SoSo给的一个接口。至于这个接口内部如何实现,他们不知道,也不需要知道。
现在是不是有些明了了呢?所谓SOA,本质上来说,就是一种接口,一切以使用为根本的接口。使用者不需要知道内中如何实现,只需要知道如何去使用。
使用SOA的好处不言自明,对于使用者而言,省事,轻松,不需要管实现过程。对于开发者而言,他们所需要更改的仅仅是这些Service的实现过程,而对于数据结构、使用等等不需要了解。换言之,一种三层结构,最下面一层是数据,中间的就是SOA,SOA上面的为使用层。用户关心的仅仅是使用层面的东西,开发者关心的仅仅是SOA层,对于数据结构,就是架构的事情了~~
乱七八糟
SOA
首先声明,这个测试仅仅是最简单的数据存储和读取的测试,里面很多因素是没有充分考虑到的,比如服务器负载等等,仅仅是对我MemCache初步学习的一个简单测试。
第一个测试很简单,分别连接到MemCache和MySQL之后,连续储存1到1000的sin()值,源代码如下
阅读全文…
PHP学习
memcache, MySQL
对于一些软件开发模式,不用我多说,到处都是这类的文章或者教程。不过总的来说,应该是客户->市场部->系统架构->项目主管->程序员,原因不想过多解释,系统架构之下包含若干项目,项目是由程序构建起来。市场部起到了一个接受外来任务并且传递给技术的过程,系统架构起到承上启下的作用。
不过,有些开发模式是市场部->程序员,然后会发生什么情况呢?用吃饭的过程来打个比方。
原先吃饭顺序应该是客户来吃饭了,迎宾小姐把他迎到餐厅中;然后客户告诉迎宾小姐要吃什么,迎宾小姐把需求告诉点菜员,然后点菜员想了一下是那个厨师可以做,然后告诉那个厨师对应的传菜员,最后传菜员告诉厨师需要做什么以及原材料在什么地方。至于厨师不管为什么要,总之传菜员说有人要吃,告诉原材料,厨师就做好了。那么,这是一个比较好的吃饭过程。
如果像客户->市场部->程序员会怎么样呢?有两种情况:
-
客户原先想吃一个西红柿蛋汤,告诉迎宾小姐。可是迎宾小姐不会做菜,也不知道做菜需要什么材料,然后她就直接跑过去告诉厨师,有个客户饿了,要喝汤。就这么多信息。厨师想了半天,做了一个紫菜蛋汤~端出去,人家客户说不对,我要的是西红柿蛋汤啊~于是,厨师不得不把紫菜全部挑出来之后再放入西红柿,重新做了一个西红柿蛋汤。
- 第二种情况更惨。这次客户想吃一个糖醋排骨。这个迎宾小姐稍微懂一点点做菜,但是半吊子。然后她自作聪明告诉厨师,客户饿了,要吃东西。这个东西要有肉,酸的还有一点点甜,你看着办吧。连是炒菜还是烧汤都没有说。厨师一合计一琢磨,做了一个鱼香肉丝——不仅仅满足了条件,还多了一些笋子~结果端出去,惨了。人家要的是糖醋排骨啊,于是,重新买肉重做。不仅仅浪费了时间,连原材料都不能再次使用了。
看起来这样子吃饭很荒谬,但有些公司开发模式就是这样子。可能在公司发展初期还是可以接受(迎宾小姐可以通知厨师客户要什么),但是等到规模到了一定程度(一个迎宾小姐需要接待10个客人)。那么系统架构和项目经理(点菜员和传菜员)的地位就会马上显现出来。
可能是一个比较不恰当的例子(比如点菜员一般不会单独存在,都是兼有迎宾小姐来做,当然,这个也需要饭馆规模要大),但是个人认为还是可以比较完整的把软件开发过程和吃饭的过程联系在了一起。
权且看看吧;)
乱七八糟
软件开发
今天出门,发现南京的气温不是一般的高啊~联想到一周前那种寒冷的气温,更加让我确认,南京只有冬夏两个节气,至于春秋的话,应该可以拿秒表掐出来计算了~~
原本昨天要送老姐回家(生病,发烧39.5),请了假之后,她告诉我不用了,四婶过来接她回去~~这这,我都请假了,算了算了,回学校休息一下吧,反正都请假了,要是不走还落下一个骗人的口碑,算了~~
最近又把PHP那来看~也许真的是那个样子,创业用java就是找死的行为,实在是太庞大了,根本不是几个人就可以做的东西;PHP虽然简单,但是在创业初期足矣。既然这样子,为何不把PHP基础打牢,中间间或穿插Java学习曲线?从Java的思想中运用到PHP,也算是一种学习。
MemCache是个好东西~~
乱七八糟
乱七八糟
终于找到原因了,新建一个博客看了一下,完全没有问题。那么应该就是插件或者别的什么的问题。
将所有插件禁用之后,发现使用正常,然后一个个插件打开测试,最终发现在SimpleTags上面出问题。禁用SimpleTags就正常。但是在别的博客上面很正常~~
于是,结果只能是一个——Tag有敏感词汇~~
于是翻箱倒柜找了半天,终于找到了三个可能是潜在的敏感词汇的Tags,删除之,于是乎,一切正常~~现在将三个词汇写在下面,都是英文词汇,中间使用了特殊符号隔开,以避免被某些无聊的东西屏蔽了~~
第一个:“T/o`r”
第二个:“G·F#W”
第三个:“u·l·t·r@a@S*u*r^f”
所有的词汇都是整体,中间这些特殊符号只是为了防止某些恶心的东西而已~~
乱七八糟
暂无
一点点关于Memcache的笔记而已。
关于Memcache的安装方法就不说了,去PHPChina搜索一下就能找到了。这里说一下个人对Memcache的一些看法和认识。
对于Memcache,我的理解就是,将内存作为一个容器,然后将一些东西按照index进行标注并且扔进去,等你需要的时候再取出来或者通过一定的数据处理(比如存进数据库或者别的什么)。原理就是,Apache、MySql、PHP对于CPU要求很高,内存要求较低。而memcache恰恰相反,内存要求高,CPU要求低。于是,两厢结合,达到性能最优化~
阅读全文…
PHP学习
memcache, PHP学习
J2EE的学习终于拿上了日程了。
借助这Eclipse+MyEclipse+JBOSS,终于完成了本人有生以来第一个JSP页面。
说到这个,还有些脸红,我那个囧啊!!其实那个JSP简单至极,但是偶就是死活不能看到~~点击了MyEclipse里面的deploy也看不到,囧啊!!
最后突然间灵光一闪,选择deploy的时候,选择Add,添加了刚刚写的程序~然后,done!!
Faint~~
郁闷啊~写了一个JSP,竟然没有选择部署它!MyEclipse也真是,难道就不能默认帮我把现在编辑的Project选中部署么?还要我亲自动手~~
PS:J2EE和PHP差别太大了,完全的基于Class的概念,很强大,同时而来的自然有开发速度的缓慢和开发难度的提升~有得必有失吧~另外,luluzhou说的也给我启发很大,人脉很重要呢。确实。就从认识老于开始吧,有luluzhou和YoYo两个人引荐,应该不是问题。
向着牛A和牛C之间进发~~
Java
J2EE, 学习