??xml version="1.0" encoding="utf-8" standalone="yes"?>
个h理解
Future
模式是在主U程中当需要进行比较耗时的作业,但不想阻塞主U程的作业时Q将耗时作业交由
Future
对象在后C完成Q当ȝE将来(q个
Future
的意义也׃现在q里了)需要时卛_通过
Future
对象获得已经作业对象?/span>
q里写了一个简单的例子来说明这U模式,其实写这个例子主要是自己想熟悉一?/span> JDK5 ?/span> concurrency 包中 FutureTask 的用法了。例子模拟的是一个会计算账的q程Q主U程中已l获得其他帐L总额了,Z不让ȝE等?/span> PrivateAccount q回而启用新的线E去处理Qƈ使用 FutureTask 对象来监控,最后需要计总额的时候再试去获?/span> PrivateAccount 的信息?/span>
代码如下Q?/span>
既然得到了好书就要分享一下,q里不多做介l了Q赶紧把电子版传上来跟大家分享一下?br />
========================
我的头好晕。?br />好像烧更高了Q我不知道,一直昏昏沉沉的。?br />我从׃跌下来的时候,天佑试图拉住我腰间的l烦Q可惯性太?wbr>Q连他也被 一h了下来。触到地面的U雪时我昏了q去
他疲惫的W笑Q?慧慧Q别想那么多Q还疼吗Q?
"脚还是没知觉Q就是觉得好冗?
天佑往上爬了一点,把我抱在他怀里。?br />"好点吗? "
"嗯。?也许只是心理作用Q但我还是感觉到一丝温暖。?br />"慧慧Q我有一个好消息和一个坏消息Q你惛_听哪个? "
"坏消息。?
"我们的食物快吃完了,q剩下一版y克力。?
"那好消息呢? "
"雪崩了,z口被雪了大半Q空气还能进来,我们大概勉强q能爬出
"q算什么好消息Q我们要dq里了! " 我的眼泪难过得一下子
"我们q回的去吗? "
"当然可以Q我们在一赯么长旉了,我都没有正式向你求过?wbr>Q也许现在不合时宜,但是我想q个时候你肯定不会拒绝我,所?wbr>Q答应我Q嫁l我好吗Q?
我哭了,但这ơ是q福的眼泪。?br />"好的Q天佑,我答应你。?
"乖孩子,Z那一天,你一定不要轻a攑ּQ好好活下去Q答应我
"好的。?我拼命的点头Q可又一下子头晕了。?br />"好了Q乖乖的睡一下,我会叫醒你的。?
"天佑Q我的脚q是没有知觉。?
天佑爬到我脚辏V?感觉到我在掐你吗Q?
"没有 "。?br />"q样呢? "
"q是没有。?
"q样Q?
"没有。?
天佑W笑Q?呵呵Q慧慧,你的脚爬q了,它想好好休息一下?wbr> " "天佑Q如果我不能走\了,你还会要我吗Q?
"要!不管你变成什么样我都要! "
"天佑 …?
"好了Q慧慧,好好睡,来,闭上眼睛。?
我睡了过厅R?br />再次被摇醒的时候,头晕得更厉害了。天佑拿着巧克力在我面前晃着
"你吃吧,我不ѝ?
"不行Q好孩子听话。?
"可我喉咙q的咽不下东ѝ?
天佑想了惻I把y克力C一块放进嘴里含了一会儿Q吻住了我。?br />融化的热巧克力顺着他的嘴唇进我干涸的嘴里Q虽然我的味蕑ַl麻
======================================================================
======================================================================
“倘若有一天我MQ你会再娶其它女ZQ”我记得问这话是在我与君的结婚一周年U念日上。那Ӟ他正忙着与锅里的鲜鱼ҎQ根本无暇理睬我。 “啊
Q哦Q也怼吧!q得{你真死了才能说。”“什么?”我佯怒,从他w后׃他:“你p么讨厌我啊?”?br />
君笑Q关上火转n抱我Q“傻丫头Q我{应q你不骗你。如果我说不娶可我后来娶了,不就骗了你么Q”?br />
我也W,w在他怀里,快乐得像只小鸟“好吧,准你娶她。不q,不许她碰我那些漂亮娃娃。”“ؓ什么?”?br />
“因为,那是你送我的爱的信物,d啊,我要在那儿看着你!”“哇Q好恐怖啊Q”君大笑地抱紧我“傻孩子Q你的命啊,长着呢!”?br />
现在Q我活在这堆娃娃里Q我惌不到短短十天Q我便真的与君阴阳相隔。?br />
我是M车祸的。一切来的那么突然。那Ӟ我正盘算着周末我们要去哪儿旅行Q那车就飞速冲来了。其实,没什么很大的痛楚Q清醒时Q我看到Z七手八脚的把我抬上救护RQ只觉得好笑Q因为我知道那是多余的。意识到自己的死亡,我一点也不难q。我一向没什么朋友,只有君。现在仍可以陪着君,看着君就行了。管他是什么样的Ş态呢。想到这儿,我便大步走回家。?br />
安前,我犹豫了。我记得以前听说是可以墙而入的。我试了试,居然成功了!qo我兴奋不Ԍ又来回再试了几次。嘿Q做也没什么不好的。v码钥匙省了!
q到屋内Q我逛了一圈,君还没有回来。突然想Pq是上班旉。于是又在屋内不停的溜弯ѝ欣赏我们的房子是我生前最爱做的事ѝ当Ӟd也不例外。虽Ӟq间屋子Q我已再熟悉不过。因为,在这儿,我渡q了我一生中最q福最快乐?75日。至今,我还记得l婚那天Q君在家门前望着我的表情。他_“丫_以后q就是我们的家了Q我们的Q”是啊,我和君的。从那天P我便不停装扮它,直至今天Q我再也无法为它效力为止。?br />
我看到屋内的_红色窗帘,卡通的大地毯和那堆了大半个卧室的娃娃。突然想起君每每抚摸我头发轻声说Q“你真是个孩子。”时Q那无奈又怜爱的样子。是啊,能把家弄像个玩具店,我不是孩子又是什么呢Q只可惜再也看不到君在说q话时的表情了。?br />
我叹了口气,回到娃娃堆坐下。不知不觉中竟睡着了。?br />
醒来Ӟ已是天黑。我感到了一丝寒气。抱怨v君竟然忘了把我抱回暖烘烘的被H。这才猛然想P我已从君的生命中消失了,而且是很d的。我赯nQ开始绕着屋子找他Q最后是在卫生间里找到我心爱的君的。?br />
他趴在ʎ~怸Q旁Ҏ着许多I酒ӞC被吐得ؕ七八p,一股刺ȝ呛_飘散在空气中。我不悦地捏着dQ蹲下来看他。竟发现他脸上挂着泪痕。天Q我的君会哭Q!那个坚强无比的他竟然哭了Q多不可思议啊!我试图拉起他Q可手却I越了他的n体!我试了一ơ又一ơ,在筋疲力后Q我军_攑ּ。头一ơ,我知道自己是q么无能的。在我的君如此近Ӟ我连拉他一把的能力都没有。这Ld要来何用呢?
我轻d了吻他的嘴唇Q在他的w边坐下。除了这样陪他,我想不到q有什么其它的办法。?br />
“丫_不要赎ͼ不要……”我听见君在叫我。我知道他是说醉话了。我W:“傻瓜,我这么爱你,怎会舍得M而去呢?”?br />
一个月后,日子渐渐恢复正常。我的君仍旧准时准点的上下班Q只是不再爱W;而我Q也依旧是那个快乐的主妇,乖乖的呆在家陪我的娃娃们Q只是君不曾发觉Q我们还是那栯着属于我们两个人的日子Q屋内的一切都没有改变q。直到有一天,玲的出现。?br />
玲按门铃Ӟ君正在书戉K加班做他的计划书Q我则在一旁傻呵呵的陪他。我想不出在夜里q个时候会有什么h来访Q走到客厅,便看到性感的玲和呆呆的君。?br />
q是我第一ơ见玌Ӏ她留着镉K的卷发,I着黑色的性感套装Q化了很的妆。四周全是她w上散发出的香水呛_。我不禁低头看了看自pn上的娃娃裙和兔兔拖鞋。和ҎQ我是名W其实的孩子。?br />
“我搬来了。”听到玲q样_我才注意到她w边的行李袋。搬来?住哪儿?我和君的家么Q我奇怪的望着奏V?br />
“别胡闹Q你l我回去”君g在发火。我头一ơ看到君发火的样子,很凶。我x。?br />
“凭什么?你老婆都死了,N我们现在不应该正大光明了吗?”玲W得很灿烂,可我觉得很冷“瞧Q你老婆d多好啊。多会挑旉啊。连d都省得你和她说了……”“啪Q”我看见君打了玲一巴掌。我惊呆了!君怎么会打人呢Q他qxq骂一声都不曾有过的。如此温柔的君竟然会打hQ他q有多少是我不曾知道的?Q?br />
“哼Q现在打我?Q以前在我床上对我甜a蜜语的日子,你忘C是吧Q你可别忘了Q你是答应过我和你老婆d娶我的!……”离婚?Q君惛_我离婚么Q他不爱我?他竟要娶Ԍ我怎么一点也不曾发觉Q玲再说的话Q我已一个字都听不进厅R我跌跌撞撞的走回我的娃娃堆。抱着它们。我觉得d酔R的,一股热从眼里涌了出来。?br />
原来Q灵也会流泪啊Q?br />
玲就q样搬进了我和君的家Q像个女Mh一L在我和君的床上,不同的只是君搬去了客厅。她换掉我的卡通地毯和_红H帘。拿走我橱里的娃娃裙和鞋架上的兔兔鞋。她把它们通通扔到垃圄里。?br />
君什么也不说Q只默默地把它们捡回来,z干净Q再放进我深q娃娃堆里。然后连l不断的Ҏ_“丫_对不P我对不v你啊Q”我望着君,心疼的掉泪。可我不愿原谅他Q我无法接受我和君的生活中,出现一个莫明其妙的玌Ӏ她像个女皇一样在我和君的屋子里指手划脚,把我一点点挤出去;把我曄心装扮的屋变成她的家。尤其让我无法忍受的是,君的ƺ骗。他Z玲欺骗我Q他说过不会骗我的,q我d的事儉K不愿意欺骗的君,Z么会在我q在ZӞ和玲在一块儿呢?一瞬间Q我与君有过的幸日子显得那么苍白无力。?br />
“这堆垃圄我扔了!”玲指着我的d对君说。我看了看四周,明白了,Ҏ的是我的宝贝娃娃。这些都是君送我的。是我们每一ơ快乐的U念。第一ơ约会,W一ơ做饭,W一ơ接吠Z…我们都异常珍惜。还说以后要留给孩子看,告诉他们爸爸妈妈有多么幸,可如今……天Q我看到了什么?君在收拾它们Q他要扔掉它们么Q他忘了我说q我zd娃娃堆里么?他真的不要我了?一点也再想念他的丫_我拼命的摇头Q却L不了他的动作。?br />
君把娃娃收做一堆时Q玲很满意地W了Q“快点,扔了它们Q我们得忘了q去Q开始新的生zM。”君看了看玲Qƈ不理睬她。只很温柔的在每个娃娃的怸都亲上一口,像以前亲L那样。“玲Q你走吧Q我求你了!d我和丫头的家Q我不会扔了它们Q也不能扔了它们Q我的丫头活在里面,她在看着我啊Q”玲愤怒的望着君:“你说过Q你爱我Q你是我的!”“不是,不是Q对不vQ我骗了你,骗了丫头Q更骗了我自己!”君失声痛哭“我只爱丫头Q只爱她一个啊QQ何h都代替不了她Q可是,我明白的太晚了……”我奔上前,像以前一h住他的后背。泪水横飞,我不能不原谅他啊Q?br />
不久Q玲搬走了。像来时那样匆忙。连声再见都没和君说。我惛_是伤心的Q我看着她忧郁的背媄想ؓ她做些什么,可有心无力。我不恨她,只希望她以后一切都可以很好。就像我不恨君一P我知道爱一旦深入骨髓,׃懂怎么会恨了。?br />
玲走后,又恢复以前宁静而冷清的日子。君把我们的屋子恢复原样。没事儿时便捧着我的照片发呆。要不就一夜接一夜的不停工作。他把自己封闭v来。看着他日渐清瘦的脸庞Q我心里说不出是什么滋呛_。?br />
ƣ便是在那时候闯入了君的生活。?br />
ƣ与君的相识qxE无奇。那日,ƣ刚搬到隔壁的空屋,可保险丝断了Q便来向君借。?br />
我知道君看到ƣ时愣住了,因ؓ我也愣住了。欣与我长得出奇的像。只是眉宇间多了份成熟。我看到君抱紧欣叫她丫头Ӟƣ莫名又尬的表情。忍不住大笑。我的君竟然也有此等愚笨的时候!从此Q欣和君便开始了似有似无的交往。?br />
ƣ是个很温柔的女人。与创造性幼E的我是完全不同的。她常在我和君的屋出入Qؓ君收拾房子,做出可口的饭菜,但从不过夜。我那么每天坐在娃娃堆里,看着Ҏ拭我的照片,打扫娃娃w上的灰,看她不厌其烦的听君讲我和他的故事……?br />
我打了个很大的哈Ơ,我想我呆乏了Q或许应该换个地斏V?br />
君和ƣ的婚礼是那么自然。我甚至没有一丝嫉妒。婚后的ƣ像以前一PҎ改变房中M一点小摆设Q包括我那堆曾被玲称为垃圄娃娃们。望着Ҏ日奔波忙的样子Q我觉得像是一q温馨而美丽的甅R突焉发现我已是那么多余了。可是,我不愿离开君。?br />
ƣ怀孕了。这令君兴奋不已。初Zh父的喜悦是无法言语的。他像当初娇惯我一般宠着ƣ,甚至有过之而无不及。?br />
我想ƣ是q福的。可我又该如何呢Q这个的问题一直困惑着我,直到那日。?br />
那天Q君外出了。我看到ƣ站在娃娃堆前摸着肚子自言自语“宝宝,你会很幸的Q因Z有两个妈妈疼。”然后,Ҏ了摸娃娃的脸蛋:“丫_你也很疼我们的宝宝的。对么?”我明白了,ƣ不是自a自语Q而是在对我说。?br />
我释然了。站hQ了个大懒腰。窗外明媚的阛_透过ȝ照在我的w上Q暖z洋的。我知道Q宝宝只会有一个妈妈疼。便赯nd我心q娃娃们,我相信,很快会再见的。?br />
数月后,君与ƣ生下一漂亮的女儿,取名叫丫头。?
部vq程描述如下Q?/span>
1. 在需要监的机器Q我q里?/span> Linux 机器Q部|相兛_用:
a) 在你需要进行监的机器上安?/span> JDK1.5 Q狂晕一阵子Q,别倒下Q这个部分就不多说了Q因为如果这里还要解释的话,那我晕了)?/span>
b) 正确讄 Java 的运行环境?/span>
c) 启动 jstatd q程?/span>
命o如下Q?/span> ./jstatd -J-Djava.security.policy=all.policy
一般来说呢Q这里是会出现问题的Q那是 permission 的问题了Q还好, Sun 的网站上l了相关的解x法,Ҏ如下Q在 jdk/?security/ java.policy 文g中添加下面的代码Q?/span>
grant codebase "file:${java.home}/../lib/tools.jar" {
permission java.security.AllPermission;
};
然后重新启动 jstatd q程?/span>
d) 完了Q别让h乱动好了,我经常是不小心就?/span> CTRL+C 把程序关闭了?/span>
2. 在客LQ监控者用的机器Q的操作Q?/span>
a) 使用 jps 查看q端机器有哪?/span> JVM q程在用当中,命o如下Q?/span>
jps 172.25.1.24 // q端机器?/span> IP 地址或名U?/span>
屏幕输入如下Q?/span>
13686 Jstatd
14115 XXXJavaServer
15117 Jserver
b) 从上面可以看到远端机器的 Jstatd q程已经启动h了。我们就可以使用 jstat 对相兌E的具体情况q行查看?/span>
Jstat 命o用法如下Q?/span>
jstat -<option> [-t] [-h<lines>] <vmid> [<interval> [<count>]]
解释如下Q?/span>
Option 包括以下选项Q?/span>
-class
-compiler
-gc
-gccapacity
-gccause
-gcnew
-gcnewcapacity
-gcold
-gcoldcapacity
-gcpermcapacity
-gcutil
-printcompilation
Vmid 是 jps 查看到的q程 id Q如?/span> Jserver 的进E?/span> id ?/span> 15117 ?/span>
Interval 是时间间隔,单位为毫U, 1000 是一U?/span>
Count 是需要查看的ơ数?/span>
例子假设我们需要查?/span> 172.25.1.24 机器 vmid ?/span> 15117 ?/span> gc 的情况,可以输入下面的命令:
jstat -gc 15117@172.25.1.24 1000 3
然后你能看到四行信息Q一行ؓ title Q剩下的是你要的信息了Q,仔细看看可以发现很多信息的了(如果不明白,可以问我Q?/span> 6-6 Q?/span>
c) 那么下面开始配|可视化的监控包Q?/span> jvmstat Q下载好了后Q解压到L目录?/span>
执行 visualgc Q然后就可以看到可视化的监控H口。不q,好像现在只提?/span> Linux 下的 visualgc 的启动脚本,所以在 Windows 下或?/span> Linux 最好用我下面提供的方式:
?/span> Linux 下:
/usr/java/jdk1.5/bin/java –Xbootclasspath/p:?/usr/java/jdk1.5/lib/tools.jar?–jar jvmstat/jars/visualgc.jar vmid@server
?/span> Windows 下也一P是Ҏ jdk 的\径就好了?/span>
成功执行后你p看见一?/span> java 的监视窗口(样子q蛮专业的)Q这个时候就 可以开始监视了?/span>
我们从MySQL downloads page上下载了MySQL 5.1 Beta版,安装到XP上,启动MySQL服务Q用root用户打开MySQL客户端:
mysql> use test;
Database changed
mysql> create table test.t (s1 timestamp);
Query OK, 0 rows affected (0.11 sec)
mysql> create event e on schedule every 1 second do
insert into test.t values (current_timestamp);
Query OK, 1 row affected (0.00 sec)
mysql> set global event_scheduler = 1;
Query OK, 0 rows affected (0.00 sec)
/* 3-second delay */
mysql> select * from test.t;
+---------------------+
| s1 |
+---------------------+
| 2006-04-05 15:44:26 |
| 2006-04-05 15:44:27 |
| 2006-04-05 15:44:28 |
+---------------------+
上面是MySQL “事件”特性的“Hello World”例子,l大家演C的是每隔一U钟向行内插入一条时间的记录?br />
我们在做一些查询的时候d望能避免数据库引擎做全表扫描Q因为全表扫描时间长Q而且其中大部分扫描对客户端而言是没有意义的。那么在
MySQL
中有那些方式是可以避免全表扫面的呢?除了我们大家很熟悉的通过使用索引列或分区{方式来q行查询的优化之外还有那些呢Q?/span>
前些天看了一个老外写的E序Q在
MySQL
查询中用了很多
Limit
关键字,q就让我很感兴趣了,因ؓ在我印象中,
Limit
关键字似乎更多被使用
MySQL
数据库的E序员用来做查询分页Q当然这也是一U很好的查询优化Q,那在q里举个例子Q假设我们需要一个分늚查询
QOracle中一般来说都是用以下
SQL
句子实现Q?/span>
SELECT * FROM
( SELECT a1.*, rownum rownum_
FROM testtable a1
WHERE rownum > 20)
WHERE rownum_ <= 1000
q个语句p查询?/span>
testtable
表中?/span>
20
?/span>
1000
记录Q而且q需要嵌套查询,效率不会太高Q看?/span>
MySQL
的实玎ͼ
SELECT * FROM testtable a1 limit 20,980;
q样pq回
testtable
表中?/span>
21
条到Q?/span>
20
Q?/span>
980
Q)
1000
条的记录?/span>
实现语法实单,但如果要说这里两?/span>
SQL
语句的效率,那就很难做比较了Q因为在
MySQL
?/span>
Limit
选项有多U不同的解释方式Q不同方式下的速度差异是很大的Q因此我们不能从q语句的z程度就说谁的效率高?/span>
不过对程序员来说Q够单就好,因ؓl护成本低,呵呵?/span>
下面讲讲q个
Limit
的语法吧Q?/span>
SELECT …? --Select
语句的其他参?/span>
[LIMIT {[offset,] row_count | row_count OFFSET offset}]
q里
offset
是偏U量Q这个偏U量的v始地址?/span>
0
Q而不?/span>
1
Q这点很Ҏ搞错的)思义是d起始点的位置Q?/span>
row-count
也是很简单的Q就是返回的记录的数量限制?/span>
Eg. SELECT * FROM testtable a limit 10,20 where ?
q样p使结果返?/span>
10
行以后(包括
10
行自w)的符?/span>
where
条g?/span>
20
条记录?/span>
那么如果没有U束条gp?/span>
10
?/span>
29
行的记录?/span>
那这跟避免全表扫描有什么关pdQ?/span>
下面?/span>
MySQL
手册?/span>
Limit
参数优化扫描的一些说明:
在一些情况中Q当你?/span>
LIMIT
选项而不是?/span>
HAVING
Ӟ
MySQL
以不同方式处理查询?/span>
l
如果你用
LIMIT
只选择其中一部分行,?/span>
MySQL
一般会做完整的表扫描时Q但在某些情况下会用烦引(?/span>
ipart
有关Q?/span>
l
如果你将
LIMIT n
?/span>
ORDER BY
同时使用Q在
MySQL
扑ֈ了第一个符合条件的记录后,结束排序而不是排序整个表?/span>
l
?/span>
LIMIT n
?/span>
DISTINCT
同时使用Ӟ
MySQL
在找C个记录后停止查询?/span>
l
某些情况下,
GROUP BY
能通过序d?/span>
(
或在键上做排?/span>
)
来解冻Iq然后计摘要直到键值改变。在q种情况下,
LIMIT n
不计算M不必要的
GROUP
?/span>
l
?/span>
MySQL
完成发送第
n
行到客户端,它将攑ּ余下的查询?/span>
l
?/span>
LIMIT 0
选项L快速返回一个空记录。这Ҏ查查询ƈ且得到结果列的列cd是有用的?/span>
l 临时表的大小使用 LIMIT # 计算需要多空间来解决查询?br />
q里q有一些自己写的例子,明天再写上来…?/font>而最q, MySQL 开发者网l突然传Z息, MySQL 在上个月?/span> 27 号在伦敦加入了微软的 Visual Studio 的业合作伙伴计划,当然我们知道q些 so-called “合作伙伴计划”不代表什么,也ƈ不意味着从此 MySQL ׃注于?/span> MS Visual Studio 之间的合作而减与开源社区的合作?/span> MySQL 攑ּ开源社定是不会的,因ؓ MySQL 是依靠着开源社区发展v来的Q不可能因ؓ MS 的强大就攑ּ了自q本行Q同时由?/span> MS 有自q强大的数据库产品—?/span> SQL Server 2005 Q?/span> MySQL AB 是不会放弃自q本行转投微Y门下的。(我也看到了在国外的论坛上有某些程序员也有担心微Y会变相收?/span> MySQL 的说法,我想暂时是不可能了,因ؓ MySQL 现在的投资者都是微软的d_
所以我觉得q绝对不是对微Y的妥协或是求和,无论对开源社区或是?/span> MS Visual Studio pd产品?/span> ISVs 都是好事Q但对微软而言Q就不会是好事了。因为现?/span> MS SQL Server pd产品的用户大部分是中企业(说得不好听点Q在国内大部分用的都是 D 版的Q,而且很多型企业没有购买 Oracle ?/span> DB2 的意愿(什么原因?贵呗Q,Z减少企业?/span> TCO QL有成本)Q选择 Visual Studio 作ؓ开发工兯是很正确的, Visual Studio 虽然是需要购买的Q但一ơ成本、短期支已Q但 Visual Studio 开发h员的成本低,l护费用也低Q这是长期的指出减少Q也是企业的收益,把这两个v来,选择 Visual Studio 是肯定的了Q这点希望大家就别跟我争了,看看 ASP E序员的薪水Q再看看 Java E序员薪_然后看看 ASP E序?/span> JSP E序l护隑ֺQ。但是在 Visual Studio q_上一直没有一个跟开发^台整合得比较好的开?/span> Database Q也许有Q但我还不知道)Q所以很?/span> VS 开发^C的h只好无奈的选择 Access ?/span> SQL Server 了?/span>
但如?/span> .Net 开发h员能?/span> MySQL 和顺利的打上交道Q然后可以很方便的?/span> MySQL q行数据库开发,我想q些 .Net 的开发h员也׃会再高h使用 MS 的品了。虽然能看到现在的现实是 MySQL 的易用性还是不I但自 5.0 版本以来Q它的改变也是相当大的,从数据库性能和数据库Ҏ提升,到方便开发h员开发调试的 MySQL Query Browser Q再到提升数据库理效率?/span> MySQL Administrator Q我们已l看得到 MySQL 的进步了Q这个时候它再宣布进入微软的开发者领域,无疑是希望从微软口中分一杯羹Q把q部分非 MS 忠实 Fans 的用hq来Q它q入微Y开发者领域对 SQL Server 来说无疑是一场冲凅R?/span>
十分期待它能?/span> MS 口中抢来更多?/span> SQL Server 的市Z额。同?/span> MySQL 也新推出了支?/span> .Net 的编E的 Connector Q专门ؓ .Net Framework 开发的数据库连接桥Q?/span> .Net 开发的用户可以去试试看Q是不是比以前的 ODBC Driver 快捷E_?/span>
Ҏ
1
Q?/span>
通过
VPN
|络Q让自己在美国或加拿大的朋友己徏立一?/span>
VPN
的网l,然后拨号q去Q再启动一?/span>
Skype
Q就可以实现。够单吧Q呵呵,我说h当然单了Q但做v来就不一定了?/span>
q里最隄是如何架设
VPN
|络了,首先讲怎么建立
VPN
服务器,其实q个?/span>
XP
中就自带了,大家可以Ҏ我的教程试试看。不q这里的
VPN
服务器一定要是美国加拿大本地的,你可以跟那里的朋友说好,让他
24
时开机就可以了?/span>
建立
VPN
|络服务器的q接教程如下Q?/span>
http://windows.chinaitlab.com/skill/7620.html
微Y?/span>
VPN
教学如下Q?/span>
而如何让客户端拨号到
VPN
|络的方法也很简单,步骤如下Q?/span>
开?/span>
-->
q接?/span>
-->
昄所有连接或者是控制面板
-->
|络q接
-->
新徏q接
-->
选择q接到我的工作场所的网l?/span>
-->
虚拟专用|络q接
-->
输入一个你惌工作场所的名字(随意输入Q?/span>
-->
如果你是拨号上网的用P最好选择自动的初始连接ؓ你的拨号q接Q其他的无所谓的
-->
然后输入你的L?/span>
IP
地址?/span>
OK
了?/span>
最后就是双击这个新的连接,输入你设|的用户名和密码好了?/span>
q里我补充一点,很多人想q用代理服务器来实玎ͼ但必M证你?/span>
Skype
的通向外网的连接都通过q个服务器实现?/span>
Ҏ
2
Q?/span>
更简单,不需要设|什?/span>
Skype
专用?/span>
VPN
Q那是使用
Skype
的三斚w话Q首先让加本地的一台电脑拨打你需要的那个LQ然后在邀请你?/span>
Skype
加入三方通话Q这样你可以实现拨打美加的电话了。其实这样也是很方便的,让对方的电脑l你开一个远E用P你需要的时候只要登陆他的电脑,然后?/span>
Skype
拨打本地LQ接通后邀请国内的
Skype
可以了?/span>
Ҏ
3
Q?/span>
q有很多灉|的方法,大家也可以提供讨Z下,最后的Ҏ是找我咯, ^_^ Q写信或者留al我都行?/span>
老头q未作答Q年青h开始了工作Q用W记本电脑无U上|,链接上NASA的内部网Q调动低轨道卫星Q把卫星遥感成像的图片再通过软g分析。数十分钟后Q年Mh再次走到老头面前Q“老先生,共有763只。”说完后他抱起一只羊p走?
老头叫住了年MhQ“年MhQ如果我能猜Zp的公司,你可不可以把酬劳q给我??
“可以。”年Mh{。老头Q“你是麦肯锡公司的。?
q轻人:“您怎么知道Q”老头W了Q“因Zh该公司咨询h员的所有特点:
W一Q你不请自来Q?/font>
W二Q你告诉我的分析l果是我本就知道的;
W三Q你p的不是羊Q而是我的牧羊犬。?/font>
到我说话了:
׃是移?/span> 139.com 邮箱的用者,所以也比较早收C关于q个“飞还是飞馍(最好是肉夹馍,其实它的d栏图标还实有点像肉多wQ?/span> Femoo 的广告,既然已经把手中国Ud的邮q定了Q也׃在乎再绑定一个了。而且q告上还有更׃h的:l?/span> Femoo 上的好友发送手机短信免费!也就是说我们只要在这?/span> Femoo 上添加了朋友Q然后就可以在电脑上l这个h的手机(必须是中国移动的Q发短信是免费的了。大学生朋友和打工的朋友们,单看q点应该去注册一个了吧?/span>
那就注册吧。注册界面很z,三个面完了,但奇怪的是怎么注册界面?/span> bokee 提供的?NUdq自q服务器也没有Q不L考,反正q里的响应速度是一的Q刚点完验证码就发过来了。注册完毕后Q就开始自动下载了?/span>
咦?怎么用了老半天还没下载完毕呢Q按理来说这Ud的服务器不该q么慢,看了一下下载速度Q还可以的。一看大才发现Q天啊!整整
下蝲完了Q图标是一个很普通的 Msi 的文件安装图标,没有自己的风根{点d装后Q看C一个?/span> Windows Install Wizard 软g制作出来的普通界面,q且没有M修改Q连公司的宣传图片和 Logo 都懒得打上去Q用的都是,W一旉惌v我们公司赶工应付出来的那些YӞ做完q接让|管拿一个最单的E序安装制作工具打包然后发给֮Q那界面也是如此Q。说老实话,q样的界面真的有点糊弄h的感觉?/span>
不过无所谓了Q还是很期待q个产品的,臛_q里q有华ؓ人的技术,也许安装部分是移动网做的,E序是华Zh做的。一直点 Yes 好了,但出来的是一个需要输入用户名的界面,不理解中……直到看C面的E序权限讑֮Q仅限此用户使用或所有用计机的h选项Q才理解了一点,上面的注册用户就是我 Windows 的注册用P但这?/span> IM 跟我?/span> Windows 注册用户有什么关p?即是因为权限有了关p,但给出的是一个可以供修改的文本框Q什么意思?从来没有见到哪个 IM q要?/span> Windows 注册用户名的Q这么高深,真的不懂?/span>
q是了Q一直点 Yes 吧。最后终?/span> OK Q大功告成了?/span>
在程序组里面扑ֈ了飞信程序组Q这里不错,够简z,没有那么多废话。点d……自动升U启动了Q升U咯Q升U了老半天,看见那个升的窗口还在那里,在等了老半天,q是一L。郁闷了Q不是下载的最新的吗?怎么刚下来就要重新升U啊Q细l看了升U窗口,才发现这个窗口升U完毕居然连提示都没有,只是q度栏走C头和旁边一个确定按钮,老天Q这个窗口的设计者是否“秀豆”了Q在一边升U一边做其他事情的hҎ׃会知道这个程序完成升U了?/span>
好了Q算了,׃l箋Qؓ了那些免费的短信。升U中……完成了Q可以进入了Q这ơ的错误真的是不能理解了——“登陆失败,h查网l是否连通,如有疑问Q请拨打 1860 或访问飞信自服务|站 www.m161.com.cn ”?/span>
首先我确信我的网l是q通的Q因个时?/span> QQ 上和 MSN 上还有很多好友在l我发搞怪图片。同时刚才下载和升的时候不好好的吗Q第二,怀疑这?/span> SP Q这个应该算?/span> ICP 了)与移动的关系Q这几天才说?/span> 1860 ?/span> 1861 合ƈ?/span> 10086 Q作么密切的中国Ud合作伙伴Q难道还不知道这个消息?倘若知道Q我们唯一能怀疑的是q些做程序的人把E序做的太儿戏了。第三,打开 www.m161.com.cn 面Q网늕面制作很_Q可是没有故障通告Q也没有所谓的自服务网站内宏V由此我认定q不是华为的作品Q因为华Z品中即有些 bug Q但相关|站上基本都会有 bug 和故障说明?/span>
q接了几ơ都是如此,l于在尝试了 6 分钟后成功了。谢天谢圎ͼ
q入界面后发玎ͼq界面和功能g?/span> Gtalk q简z,但想CU( 12MB Vs 890KB Q。呵呵,高水q_。点了一个条仉配Q居然还要开通服务,惛_Ud SP 的收费,我想q是不开通的好,免得无端每个月少了几十块大洋。到q里对这个Y件一Ҏ觉都没有了,了Q以后有I再看看吧,q里ȝ一下:
1. q个产品有点拙劣Q这里的拙劣跟程序员能力无关Q相信做q个E序的h员都是不错的Q问题出在经营者n上)Q容易看出是赶工做出来的_制品,它长得丑我们不怪它Q但q没有实现功能就大张旗鼓的吹h了就是它的不对了?/span>
2. 不正当竞争,利用中国Ud自n的垄断资源牟取暴利,意图通过不正当竞争扼杀其他 IM 软gQ如 Tencent Q以实现另一个行业垄断。这其实比微软无d了,臛_微Y?/span> Windows 是市场竞争后出来的品,但我们绝对相信中国移动的强大只是垄断l营的结果?/span>
3. 没有一个很好的设想和策划就开始干z,|络?/span> IM 的经营都没有很清晰的思\。也许这个公司的思\是纯_依靠移动的垄断Cd现盈利(没看到吗Q免费发短信啊,哪个 IM 敢这样写Q)Q所以也没惛_何讨好顾客了?/span>
q不是什么分析文章,只是用完q个产品的感觉而已Q没有去抨击M企业或个人的意思。大家如果对q个产品有什么不爽的地方可以?/span> Femoo 上跟我谈Q我的馍hQ?/span> 443152595 Q,有帮它做q告的嫌疑,嘿嘿?/span>
怿凭借其老夫JBoss与Hibernate的暧昧关pdORM上一炚w不会比其他开发工具弱。同时得益与其对JBoss服务器的完美支持Q估计今后信徒一定不,只是现在感觉国内好像信徒q不是很多的样子?br />
需要的q行环境是JBoss Eclipse IDEQ也是JEMS development tools for EclipseQJEMS是JBoss Enterprise Middleware System的简写,它有如下Ҏ(从JBoss抄来的)Q?br />
开源不要钱的品许?br />
与Eclipse3整合的开发环?br />
支持EJB 3.0目的向?br />
Hibernate工具支持
AOP切向~程工具支持
JBoss jBPM囑Ş化流E设?br />
化J2EE开发向?br />
与JBoss应用服务器整合调试、监以及生命周期控?br />
JSP、HTML以及XML语法高亮的编辑器
化了案包的发布和配|?br />
可以从以下地址下蝲Q?a >http://www.jboss.com/products/jbosside/downloads
呵呵Q大家去试试做一个自qJBoss Seam吧?/p>
L世界上最dy的Java IDE —?GelQ不仅能够自动(有点了……)完成Q而且q支持Jsp语法。看到过国外一个猛人的博客中说高手最喜欢用的Java IDE是Gel了,虽然不是特别怿Q但Gel实是很有特色的Q就像很多喜Ƣ用JC的h一P明明很多功能Eclipse和NetBeans做得很好Q还是喜Ƣ用q些y的Y件?br />
大家试试使用吧,不过推荐大家用一?.5以下版本的Java SDK吧,不然Ҏ出错?br />Version 1.0 RC 4.0?Qzip 文g包共4.2MBQ够吧Q?br />下蝲地址Q?27.0.01/Q自q脑上有,但没有空间上传,要的留E-mail地址Q?br />
Version 1.0 RC 3.9?Q估计跟4.0没多大区别,4.3MBQ?br />下蝲地址Q?
GelRC39.zip
教程下蝲Q?
Gel-Ref.rar
有看CSDN的h一定知道这个世界上最轻量U的Java IDE了,其支持的功能跟JC不相上下Q但体积和速度却大不相同。以前用q,感觉q可以,但最q用了Java SDK 1.42以上版本的SDK后就发现使用不太正常Q不知道是什么问题。知道的兄弟希望可以l点解决ҎQ谢谢啦?/font>
我听得都有点惊呆?本来,他已l有了三套房?每套价值百?都是好地点的,部里的房子地点不会差.光出U其它两套房每月至?千元,天啊,他们也太厉害?难怪全国h民努力工作还是工资无法上?U税了那么多p是每q有财政赤字,教育也严重投入不?l果是都花在Lq些退休的官员w上?大家知道,北京的局U干部才U得上高q?可是局U干部在北京多如牛毛,一个副局U干部的退休生zd且如?估计局U干部就更牛?
q不止这?据老先生讲,他们单位一个初U干部退?每月退休工?000?加上各种补脓,也要近1万了.
惛_辛辛苦苦工作了一辈子,退休了只有1000多的北京众多的老工?我真惛_.我自己每个月上的员工老保?据说二十多年退休后,每月只有1000多的退休金.可是现在我好歹也是个白领?
难怪现在很多h考公务员,准备当官,现在看来q条路是对的,大家赶快d,千万别做什么技?M么公?当官在中国才是正?有权才有钱啊.老百姓只有苦命啊
命苦的h啊……呵呵,现在实有点变质的社会主义的感觉。仇富心理已l比较厉害了Q中层阶U数量太,然而现有的中层阶q是一个排挤性相当强的中层,没有家族背景不让q入。不q,Z兛_Q做自己的小打工仔就好了?/font>
大家都在拷问Qؓ什么?q个C会怎么了?
受助者李某:被h知道会没面子
受丛飞资助的李某大学毕业已经工作了,毕业后与丛飞没有M联系Q只是有一ơ接受媒体采访时Q“不心”说Z受丛飞资助上大学的事实。几天后Q他从网上看到记者写的文章中提到了自q名字Q很不高_感到没面子,要求丛飞惛_法删L章中他的名字?/p>
丛飞的朋友林燕打通了李某的电话“我很^静地问他Z么要删去名字Q他说他现在是大学老师Q这事让学生知道了会很没面子。我说困受助是你一?中的重大机遇Q再说困又不是|恶Q学生知道了q能怎么惻I他说我就是不惌学生知道我过ȝ状况。我问,受助是耻i吗?他说Q我没说是耻iQ但我希望永 q不再提赯D往事。”听到这里,林燕气不打一处来Q“当天晚上,我一整夜没有睡着Q第二天见到丛飞Q他告诉我,他也q了一夜。”林燕说Q“现在,喜欢 上网的李某一定从|上看到了关于丛飞的报道Q但至今q一声问候都没有Q”说q话的时候,林燕一脸怆然?/p>
受助者小AQ他帮我肯定另有所?/p>
受助者小AQ大学毕业前夕,她还与丛飞保持联p,丛飞一直通过电话对她q行辅导Qƈ在她卛_大学毕业时ؓҎ工作Q但后来Q只是丛飞ؓҎ的学校音乐教师的岗位她不满意Q才失去联系。记者得到小A的电话后与小A有一ơ通话Q下面是对话的主要内容:
“我只是想问一下你是否记得自己接受q丛飞的资助Q?/p>
“我是接受过他的资助Q当然记得,当时丛飞同意帮助我也是出于一U自愿,他有他的xQ我从来没有q他。?/p>
“他资助你时会有什么样的想法呢Q?/p>
“至于有什么样的想法,我也说不太清楚,但有一Ҏ肯定的:M人做事情都是有所囄Q至于他图什么,我不说你也应该能猜到。”
“我猜不刎ͼ你猜C吗??/p>
“我没时间去猜别人的x。但你作Z名记者今天来l我打电话,核实丛飞是否资助我读了大学,不是也在一定程度上说明了他的想法吗Q?/p>
“他胃出血了,ȝ说如果不及时ȝQ会有生命危险。可他现在陷入了没钱ȝ的困境,你想没想q应该向他出援手??/p>
“向他援手Q怎么伸呢Q给他治病?可我现在每月不过三四千元钱,q没q个能力。再_他也从来没向我提q这个要求。?/p>
“你无力帮助他,可也应该ȝ看他Q让他知道你q没有忘C呀。?/p>
“我太忙了,没有旉。?/p>
一受助学生安Q何时病好出来挣?/p>
丛飞住院后,许多受助学生的爱长打来电话“要钱”,有些没有及时收到学费的家长们对丛飞生了怀疑,认ؓ他反悔自己先前的承诺了。但在知道丛?生病住院后,许多安都非常理解,劝丛飞安心养病,他们再想办法解决孩子的学费,有的甚至希望来深圳看望丛飞,但都被丛飞拒l?/p>
丛飞住院后,手机攑֜林燕处,林燕接到q类电话最多,感慨也最多?/p>
有一天,林燕刚打开丛飞的手机,一个催Ƅ话打了进来:“你不是说好要将我的孩子供到大学毕业吗?他现在正在读初中Q你׃肯出׃Q你q不是坑人吗Q?/p>
林燕急忙解释Q“丛飞病了,已经几个月不能演ZQ现在暂时没q孩子们交学费Q等他n体好了一定想办法寄钱q去。”对方听|,半信半疑地盘?hQ“他得的是什么病啊?”林燕告诉对Ҏ胃的问题Q可能比较严重,Ҏ听了Q问Q“那你问问他什么时候治好病出来挣钱啊??/p>
受助者阿珍:能否帮我CMD
丛飞q去曑֒林燕说v一个叫阿珍的女孩?/p>
1998q_丛飞到山东演出时Q一个十七八岁的奛_阿珍在演出结束时扑ֈ丛飞x师。面对这个陌生的奛_Q丛飞拒l说Q他不收奛_生。阿珍走时要去了他的电话,说以后有问题时向他请教。但此后很长旉Q这个女孩一直没有和他联p过?/p>
两年后的一天,丛飞忽然接到了阿珍的求助电话Q“丛老师Q听说您是个有爱心的慈善Ӟ资助很多贫困学生M。现在我也遇Cl济上的困难Q搞?好也有失学的危险Q您能不能资助我一些生z费Q”丛飞二话没_很快q她寄M2000元钱。此后,每学期开学前后,丛飞L接到阿珍要求帮助的电话, 丛飞也L有求必应?/p>
大学三年U时Q阿珍的要求开始升U了Q不但要生活费,q要译֤补习费以及高物品。有一ơ,她这L丛飞打电话说Q“我们班的同学都用上了MD 听音乐,Ҏ们的学习有帮助,可我的父母买不vQ您能否也给我买一个?”丛飞到天虹商场?800元买了一台MDQ给阿珍邮去。不久,丛飞收到一条短信: “MD已收到。?/p>
大学毕业后,阿珍也当上歌手挣׃Q再也没有与丛飞联系q。不久前Q林燕将丛飞住院的情는话告诉阿珍,阿珍听ŞQ回{非常流畅:“请转达我的问候,让他安心ȝ。”从此,丛飞再也没有阿珍的音讯?/p>
cd | 估计h |
全包装?/font> |
32000?/font> |
cd | 估计h |
全包装?/font> |
24000?/font> |
cd | 估计h |
全包装?/font> |
13000?/font> |
2004 q?6 ?01 ?/font>
在这一节中Q我们简要地描述了面向服务的体系l构的发展。然后,我们探究了面向组件的开发与面向服务的体pȝ构之间的关系Qƈ且说明了如何组件作为实现服务的基础设施?/font>
虽然 IT l理一直面临着削减成本和最大限度地利用现有技术的NQ但是与此同Ӟ他们q必M断地努力Q以期更好地服务客户Q更快地响应企业战略重点Q从而赢得更大的竞争力?/font>
在所有这些压力之下,有两个基本的主题Q异构和改变。现在,大多C业都有各U各Lpȝ、应用程序以及不同时期和技术的体系l构。集成来自多个厂商跨不同q_的品简直就像一场噩梦。但是我们也不能单单使用一家厂商的产品Q因为改变应用程序套件和支持基础设施是如此之难?/font>
在当?IT l理面的问题之中,改变是第二个主题。全球化和电子商务加快了改变的步伐。全球化带来了激烈的竞争Q品周期羃短了Q每个公叔R惌得超q竞争对手的优势。在竞争产品和可以从 Internet 上获得的大量产品信息的推动下Q客戯求更快速地q行改变。因而,在改q品和服务斚w展开的竞争进一步加剧了?/font>
Z满客户提出的越来越多的新要求,技术方面的改进也在不断地加快。企业必d速地适应q种改变Q否则就难以生存Q更别提在这个动荡不安竞争激烈的环境中取得成功了Q?IT 基础设施必须支持企业提高适应能力?/font>
因此Q企业组l正在从上世U八十年代或更早的时期的怺隔离的垂直业务部门,C世纪八十q代和九十年代关注业务流E的水^l构Q向新的生态系l业务范例发展。重Ҏ扩展供应链,支持客户和合作伙伴访问业务服务。第 19 늚?2-1 展示了企业的q种发展?/font>
我如何我的 IT 环境更灵zM更快地响应不断改变的业务需求呢Q?我们如何使这些异构系l和应用E序可能无~地q行通信呢?我们如何辑ֈ企业目标而不使企业走向破产的深渊呢?
IT 响应?支持者是随着企业的这U发展而ƈ行发展的Q如?2-2 所C。现在,许多 IT l理和专业h员都同样怿Q我们真的快扑ֈ了一U满意的{案——面向服务的体系l构?/font>
?2-2 体系l构的发?/font>
Z减少异构性、互操作性和不断改变的要求的问题Q这L体系l构应该提供q_来构建具有下列特征的应用E序服务Q?/font>
Zq样的面向服务的体系l构Q服务用者甚至不必关心与之通信的特定服务,因ؓ底层基础设施或服务“ȝ”将代表使用者做出适当的选择。基设施对请求者隐藏了可能多的技术。特别地Q来自不同实现技术(?J2EE ?.NETQ的技术规范不应该影响 SOA 用户。如果已l存在一个服务实玎ͼ我们p应该重新考虑用一个“更好”的服务实现来代替,新的服务实现必须h更好的服务质量?/font>
![]() ![]() |
![]()
|
自从“Y件危机”促qY件工E的开创以来,IT 界一直在努力L解决上述问题的方案。在q去几年里,下面要概q的核心技术进展我们走到了今天。我们将要讨些核心技术,而我们重点关注的是q些技术如何帮助解?IT 问题?/font>
在“Applying UML and Patterns - An Introduction to Object-Oriented Analysis and Design”中QLarman 面向对象的分析和设计的本质描述为“从对象Q物体、概忉|实体Q的角度考虑问题域和逻辑解决Ҏ”。在“Object-Oriented SoftwareEngineering: A Use Case Driven Approach”中QJacobson {将q些对象定义为“特点在于具有许多操作和状态(记忆q些操作的媄响)的物体”?/font>
在面向对象的分析中,q样的对象是用问题域来标识和描述的,而在面向对象的设计中Q它们{变成逻辑软g对象Q这些对象最l将用面向对象的~程语言q行实现?/font>
通过面向对象的分析和设计Q可以封装对象(或对象组Q的某些斚wQ以化复杂业务场景的分析。ؓ了降低复杂性,也可以抽象对象的某些特征Q这样就可以只捕获重要或本质的方面?/font>
Zlg的设计ƈ不是一U新技术。它是从对象范例中自然发展而来的。在面向对象的分析和设计的早期,l粒度的对象被标榜ؓ提供“重用”的机制Q但是这L对象的粒度别太低了Q没有适当的标准可以用来重用q泛应用于实践之中。在应用E序开发和pȝ集成中,_粒度组件越来越成ؓ重用的目标。这些粗_度对象通过内聚一些更l粒度的对象来提供定义良好的功能。通过q种方式Q还可以打包的解决Ҏ套g装成这L“组件”?/font>
一旦组l在更高层次上实CZ完全独立的功能组件的完备体系l构Q就可以支持企业的应用E序划分成一l粒度越来越大的lg。可以将lg看作是打包、管理和公开服务的机制。它们可以共同用一l技术:实现企业U用늚大粒度企业组件可以通过更新的面向对象的软g开发与遗留pȝ相结合来实现
在“Component-Based Development for Enterprise Systems”中QAllen 涉及了服务的概念Q“它是将lg描述成提供相x务的物理黑盒装的可执行代码单元。它的服务只能通过一致的已发布接口(它包括交互标准)q行讉K。组件必能够连接到其他lgQ通过通信接口Q以构成一个更大的l”。服务通常实现为粗_度的可发现软g实体Q它作ؓ单个实例存在Qƈ且通过松散耦合的基于消息通信模型来与应用E序和其他服务交互。第 22 늚?2-3 展示了重要的面向服务术语Q?/font>
在组件和服务开发中Q都需要进行接口设计,q样软g实体可以实现和公开其定义的关键部分。因此,在基于组件和面向服务的系l中Q“接口”的概念对于成功的设计非常关键。下面是一些与接口有关的重要定义:
W?23 늚?2-4 定义了客户关pȝ?(CRM) 服务?UML 定义Q它表示Z?UML lgQ实现接?AccountManagement、ContactManagement ?SystemsManagement。在q些接口中只有头两个接口是已发布接口Q不q,后者是公共接口。注意,SystemsManagement 接口?ManagementService 接口构成了双接口。CRMservice 可以实现许多q样的接口,但是它以多种方式行ؓ的能力取决于客户端在行ؓ的实现方面是否允许有大的灉|性。甚x可能l特定类型的客户端提供不同或附加的服务。在一些运行时环境中,q样的功能也用于在单个组件或服务上支持相同接口的不同版本?/font>
如前所qͼ面向对象的技术和语言是实现组件的极好方式。虽然组件是实现服务的最好方法,但是您必ȝ解的一ҎQ好的基于组件的应用E序未必构成好的面向服务的应用E序。一旦理解了服务在应用程序体pȝ构中所L作用Q组件开发h员就很有可能会利用现有的lg。进行这U{变的关键是认识到面向服务的方法意味着附加的应用程序体pȝ构层。第 24 中的图 2-5 演示了如何将技术层应用于程序体pȝ构以提供_度更粗的实玎ͼ它更靠近应用E序的用者)。ؓU呼pȝ的这一部分而创造的术语是“应用程序边界”,它反映了服务是公开pȝ的外部视囄极好Ҏ的事实(通过内部重用q结合用传l组件设计)?/font>
![]() ![]() |
![]() |
面向服务的体pȝ构提供了一U方法,通过q种ҎQ可以构建分布式pȝ来将应用E序功能作ؓ服务提供l终端用户应用程序或其他服务。其l成元素可以分成功能元素和服务质量元素。第 25 늚?2-6 展示了体pȝ构堆栈以及在一个面向服务的体系l构可能观察到的元素?/font>
注意Q?/b>面向服务的体pȝ构堆栈可能是一个容易引起争议的问题Q因为各斚w的支持者已l提Z几种不同的堆栈。我们的堆栈不是作ؓ服务堆栈提出的。我们之所以在此提出它Q是因ؓ我们惌搭徏一个有用的框架Q在本书的剩余章节中Q我们将通过q个框架来组l对 SOA 的讨论?
体系l构堆栈分成两半Q左边的一半集中于体系l构的功能性方面,而右边的一半集中于体系l构的服务质量方面。这些元素详l描q如下:
功能性方面包括:
服务质量斚w包括Q?/font>
?2-7 展示了面向服务的体系l构中的协作。这些协作遵循“查找、绑定和调用”范例,其中Q服务用者执行动态服务定位,Ҏ是查询服务注册中心来查找与其标准匚w的服务。如果服务存在,注册中心q使用者提供接口契U和服务的端点地址。下囑ֱCZ面向服务的体pȝ构中协作支持“查找、绑定和调用”范例的实体?/font>
面向服务的体pȝ构中的角色包括:
面向服务的体pȝ构中的每个实体都扮演着服务提供者、用者和注册中心q三U角色中的某一U(或多U)。面向服务的体系l构中的操作包括Q?/font>
面向服务的体pȝ构中的构件包括:
除了动态服务发现和服务接口契约的定义之外,面向服务的体pȝ构还h以下特征Q?/font>
q些特征也是满电子商务按需操作环境的要求的主要特征Q如W?301 “e-business on demand and Service-oriented architecture”所定义的?/font>
最后,我们需要说明的是,面向服务的体pȝ构ƈ不是一个新的概c如?2-8 所C,面向服务的体pȝ构所涉及的技术至包?CORBA、DCOM ?J2EE。面向服务的体系l构的早期采用者还曾成功地Z消息传递系l(?IBM WebSphere MQQ创他们自己的面向服务企业体pȝ构。最q,SOA 的活动舞台已l扩展到包括 World Wide Web (WWW) ?Web 服务?/font>
在面向服务的体系l构中,映射C务功能的服务是在业务程分析的过E中定的。服务可以是l粒度的Q也可以是粗_度的,q取决于业务程。每个服务都有定义良好的接口Q通过该接口就可以发现、发布和调用服务?企业可以选择自q服务向外发布C务合作伙_也可以选择在组l内部发布服务。服务还可以由其他服务组合而成?/font>
服务是粗_度的处理单元,它用和产生由g送的对象集。它与编E语a术语中的对象不同。相反,它可能更接近于业务事务(?CICS ?IMS 事务Q的概念而不是远E?CORBA 对象的概c?/font>
服务是由一些组件组成的Q这些组件一起工作,共同提供服务所h的业务功能。因此,相比之下Q组件比服务的粒度更l。另外,虽然服务映射C务功能,但是lg通常映射C务实体和操作它们的业务规则。作Z个示例,让我们看一?WS-I 供应铄理(WS-I Supply Chain ManagementQ样本的定购单(PurchaseOrderQ组件模型,如图 2-9 所C?/font>
在基于组件的设计中,可以创徏lg来严格匹配业务实体(如顾客(CustomerQ、定购单QPurchase OrderQ、定购项QOrder ItemQ)Qƈ且封装匹配这些实体所期望的行为的行ؓ?/font>
例如Q定购单QPurchase OrderQ组件提供获取关于已定购的品列表和定购的总额的信息的功能Q定购项QOrder ItemQ组件提供获取关于已定购的品的数量和h格的信息的功能。每个组件的实现都封装在接口的后面。因此,定购单(Purchase OrderQ组件的用户不知道定购单QPurchase OrderQ表的模式、计税金的法、以及定单总额中的回扣?或折扣?/font>
在面向服务的设计中,不能Z业务实体设计服务。相反,每个服务都是理一l业务实体中的操作的完整单元。例如,֮服务响应来自Q何其他系l或需要访问顾客信息的服务的请求。顾客服务可以处理更新顾客信息的hQ添加、更新、删除投资组合;以及查询֮的定单历双Ӏ顾客服务拥有所有与它管理的֮有关的数据,q且能够代表调用方进行其他服务查询,以提供统一的顾客服务视图。这意味着服务是一个管理器对象Q它创徏和管理它的一l组件?/font>
![]() ![]() |
![]()
|
如前所qͼ企业正在处理两个问题Q迅速地改变的能力和降低成本的要求。ؓ了保持竞争力Q企业必d速地适应内部因素Q如兼ƈ和重l)或外部因素(如竞争能力和֮要求Q。需要经而灵zȝ IT 基础设施来支持企业?/font>
我们可以认识刎ͼ采用面向服务的体pȝ构将l我们带来几斚w的好处,有助于我们在今天q个动荡的商业环境中取得成功Q?/font>
SOA 提供了一个抽象层Q通过q个抽象层,企业可以l箋利用它在 IT 斚w的投资,Ҏ是将q些现有的资产包装成提供企业功能的服务。组l可以l从现有的资源中获取价|而不必重C头开始构建?/font>
在面向服务的体系l构中,集成Ҏ规范而不是实现。这提供了实现透明性,q将基础设施和实现发生的改变所带来的媄响降到最低限度。通过提供针对Z完全不同的系l构建的现有资源和资产的服务规范Q集成变得更加易于管理,因ؓ复杂性是隔离的。当更多的企业一起协作提供h值链Ӟq会变得更加重要?/font>
从现有的服务中组合新的服务的能力为需要灵zd响应苛刻的商业要求的l织提供了独特的优势。通过利用现有的组件和服务Q可以减完成Y件开发生命周期(包括攉需求、进行设计、开发和试Q所需的时间。这使得可以快速地开发新的业务服务,q允许组l迅速地Ҏ变做出响应和减少上市准备旉?/font>
通过以松散耦合的方式公开的业务服务,企业可以Ҏ业务要求更轻村֜使用和组合服务。这意味资源副本的减、以及重用和降低成本的可能性的增加?/font>
通过 SOAQ企业可以未雨绸~,为未来做好充分的准备。SOA 业务程是由一pd业务服务l成的,可以更轻村֜创徏、修改和理它来满不同时期的需要?/font>
SOA 提供了灵zL和响应能力Q这对于企业的生存和发展来说是至关重要的。但是面向服务的体系l构决不是灵丹妙药,而迁Ud SOA 也ƈ非一件可以轻而易丑ְ完成的事情。请别指望一个晚上就整个企业系l迁Ud面向服务的体pȝ构,我们推荐的方法是Q在业务要求出现或露头时q移企业功能的适当部分?/font>
Domain Name: CAISHOW.COM {caishow.com }
Registration Date : 2003-5-29
Expiration Date : 2009-5-29
Last update :2005-08-03 21:43:20
Domain Name Server:
ns1.dns-diy.com
ns2.dns-diy.com
Administrator:
SHENZHEN CAIXIU TECH CO.LTD soft_way@163.com +86.75525456120
caishow
7C RM W BUILD YIHAI NANSHAN SHENZHEN
shenzhen Guangdong CN 518000
Technical Contact:
SHENZHEN CAIXIU TECH CO.LTD soft_way@163.com +86.75525456120
caishow
7C RM W BUILD YIHAI NANSHAN SHENZHEN
shenzhen Guangdong CN 518000
Billing Contact:
SHENZHEN CAIXIU TECH CO.LTD soft_way@163.com +86.75525456120
caishow
7C RM W BUILD YIHAI NANSHAN SHENZHEN
shenzhen Guangdong CN 518000
原来是深圛_q一个高U技公司……了得,能跟Google搞上关系。但q样明目张胆的通过电信的服务器L入广告是否算犯法呢?Google的口号不是没有弹出广告吗Q这栯人栽赃,Google的名誉已l受C损害QGoogle是不知道呢?q是慑于电信的淫威装不知道呢Q我们一介^民是不能参透的了,但这个所谓的高科技公司打着Google的名义去招摇撞骗牟取自己的利益是否算是R犯了法律呢?
而且q个彩铃也确实不是什么好东西Q骗q东西啊(q只是个点了Q。传媒和q营商利用彩铃已l挣了不黑心钱了,什么“草女”、“草男”的事情闹得沸沸扬扬的,最后不是Z挣劳苦大众兜里本来就紧巴巴的几分钱吗Q现在更厉害了,都把L打到q个深受大众喜欢的搜索引擎上来了Q这让我惛_一句话Q做Z能太“电信”了…?br />
期待着Google对电信的赯?/font>
原始 url: http://www.davidchappell.com/blog/
q两天看C一不错的关于 SOA 的文章,不敢独nQ只可惜?/span> E 文,所以抽I翻译了一下,跟大家分享?/span>
以下为本博客使用说明
我们?/span>
BlogJava
博客特别为大家的方便阅读提供了以下快捷功能:
需要查扑օ键字―――――――――――――――――请?/span>
CTRL
Q?/span>
F
想以后还能看Q添加到收藏夹)――――――――――请?/span>
CTRL
Q?/span>
D
惛_C下网内容―――――――――――――――请?/span>
F5
Q应该不需要的Q因?/span>
BlogJava
已经完全实现?/span>
Ajax
Q?/span>
想保存到盘上―――――――――――――――――请?/span>
CTRL
Q?/span>
S
需要调用本圎ͼ
Jini
Q服务查看源代码――――――――在|页I白处点击鼠标右键+
V
不想看了――――――――――――――――――――请?/span>
ALT
Q?/span>
F4
如果是标{N览器―――――――――――――――请?/span>
CTRL
Q?/span>
W
实话_我们?/span>
Google
?/span>
Gmail
q早实现方便的快h式,厉害吧。这里不需要对我表C敬意,只需要对博客的徏设?/span>
Dudu
老兄留言表示一下感谢就好了?/span>
在开始的时候先介绍一?/span> SOA 的概c?/span>
什么是 SOA Q?/span>
SOA 的全U是 Service Oriented Architecture Q面向服务架构?/span>
Ҏ指ؓ了解军_ Internet 环境下业务集成的需要,通过q接能完成特定Q务的独立功能实体实现的一UY件系l架构。这句话的意思就?/span> SOA 不是一门语a或具体的技术,而是一UY件的pȝ架构Q应该说更像一U模式,是一Uؓ了解军_杂的 Internet 业务应用而提出的一U体pȝ构(在我感觉里,q种架构的提出更?/span> MVC 模式的提出,不过我们dƢ用模式啊,架构啊的话来体现自己是行业内专业的hQ但其实无论说是模式q是架构Q这都只是一些名词,如果l合现拥有的技术去实现自己的应用才是最有用的,׃用多谈所谓的架构q是模式了)?/span>
译文 ( 译Q陈朋奕Q如果有错误h我的博客指出 ) Q?/span>
在做软g开发的人,架构q个词经常被用在三种不同的场合中Q应用体pL构( Application Architecture Q,基础体系架构 (Infrastructure Architecture) 以及企业架构体系 (Enterprise Architecture) 。?/span> SOA 的概忉|跨了q三U体p,然而很多h在谈?/span> SOA 的时候dƢ不自觉的把 SOA 跟其中的一UZ谈?/span>
譬如开发者大多对如何建立 SOA 应用感兴,因此他们x的趋向更多是 SOA 中的应用E序的体pL构方面。?/span> Web Serivces 理工具的卖M般认?/span> SOA 主要是关于基lg体系l构的,同样的,用户体会认?/span> SOA 是用于企业业务应用结构的?/span>
q三U观炚w是有意义的,因ؓq映了 SOA 的三个应用层面。下面是关于q三个方面的一些简单的讲解Q?/span>
―――?/span> SOA 应用体系架构Q是建立 SOA 服务的指对{模式以及实现的Ҏ。关注面向服务Y件^台和个体应用的开发者会特别q个斚w。如 Microsoft’s Windows Communication Foundation Q?/span> WCF 微Y视窗通讯基础lgQ以及最q提出的 Service Component Architecture (SCA 服务构g体系 ) 是?/span> SOA q个斚w的应用实现?/span>
―――?/span> SOA 基础体系架构Q是理和操?/span> SOA 服务的指对{模式以及实现的Ҏ?/span> SOA 的大思想家们有时也会承认自己在这个方面有不Q但真正d现这些功能的人却知道q些斚w的重要性。一般来_卖主会特别喜Ƣ把x点和行动实现集中在这里?/span>
―――?/span> SOA 业务体系架构Q利?/span> SOA q从 SOA 中获得商业利益的指导、模式以及实现的Ҏ。而关于技术的讨论仍然会在q里出现Q但更多的关注点已经转移C人的w上Q以Zؓ本?事实上,我对 SOA 面的最大挑战是人的观点——h通常比技术更多问题——有一些自q看法Q。不q,来自 ZapThink 的分析家们通常?/span> SOA 提出的徏议都是在q个斚w?/span>
我看到过很多人关?/span> SOA 的意义(甚至是h|的争论,其实他们的争论只是关于应用程序体pL构主D是企业体pL构主D已。这些专业术语仅仅是在我们都认同的情况下才会体现其h值的Q因此当别h在讨个被q度使用的术语的时候我们应该保持清晰的思\Q清楚我们到底讲的是什么才是我们应该把握的方向?/span>
SWT
是很多h都推崇的H体界面开发组Ӟ有很多喜?/span>
Eclipse
的h都说Q?/span>
SWT
的效率比
Java
自n所带的
AWT
?/span>
Swing
无论是开发效率还是运行速度上都快。确实如此,
SWT
?/span>
Java
世界来说实?/span>
AWT
?/span>
Swing
的强大竞争对手。这里引用一D?/span>
Eclipse
开发者的话,?/span>
SWT
本n仅仅?/span>
Eclipse
l织Z开?/span>
Eclipse IDE
环境所~写的一l底层图形界?/span>
API
。或许是无心插柳Q或是有意ؓ之,至今为止Q?/span>
SWT
无论是在性能和外观上Q都越?/span>
SUN
公司提供?/span>
AWT
?/span>
SWING
”?/span>
当然Q这个观Ҏ我ƈ不是很同意,但鉴于自己前面一文章的“白痴”观ҎC高人的批评Q呵呵,咱只是一个懂?/span>
Oracle
?/span>
MySQL
Q听说过
Java
?/span>
Ruby
Q见q?/span>
Eclipse
的hQ具体这些是什么东西还真的是不知道Q,q是不要乱提意见的好Q玩W而已Q。自׃提,?/span>
Java
世界的英?/span>
James Gosling
的意见d以上C吧?当然q是那句话,仅仅是我认ؓ
James Gosling
?/span>
Java
世界的英雄而已Q因Z~造了
Java
Q而且q一直ؓ
Java
l护Q抨d他语aQ嘿嘿,他的q个特点俺喜Ƣ啊Q)?/span>
James Gosling
的照片:
/*偶像吧,帅就一个字*/
q是他回{记者关?/span>
SWT
的问题:
问:一个曾l徘徊在
Java
?/span>
.Net
技术^C间的开发者因?/span>
Java
语言的分裂提下面的问题:
Eclipse
?/span>
SWT
Q?/span>
Standard Widget Toolkit
Q比
AWT
?/span>
Swing
都好Q性能和开发效率)?/span>
JBuilder
?/span>
GUI
却漂亮一点,但用的不?/span>
SWT
?/span>
Hibernate
Q?/span>
JDO
Q还?/span>
Beans
Q他想知道下一版本?/span>
Java
怎么做到方便开发,让应用程序好看点Q容易部|一点,同时又能提供更优U的数据库使用技术,使开发h员能在最短的旉内开发出更快、更E_、更漂亮的程序,让那?/span>
.Net
的教徒们zdl望中?/span>
{:嗯,我肯定会推荐大家使用
Java
基础cd
JFC/Swing
的,因ؓ只要使用得当Q他们会?/span>
SWT
的性能和速度更快。只是因?/span>
Swing
?/span>
SWT
拥有更多的特性,所以很Ҏ用错Q这是个问题?/span>
而关于数据库斚wQ每一U情况都有不同,你不得不M解更多的情Ş。在某些情况下,关系数据库会是好的选择Q但有些情况下,面向对象的数据库才是好的选择。这也是技术让厌的一面?/font>
James 大哥?/span> CSDN 上聊天室?/span> SWT 的说法:
问: SWT 来是不是有可能加入?/span> JAVA SE 里面Q?/span>
{:我们刚开始推?/span> JAVA 的时候,有一?/span> AWT 。刚才说?/span> SWT 它的架构基本上重复和照搬?/span> AWT 。而且它出现的问题基本上和 AWT 是完全一栗?/span>
最后说点自q意见吧, SWT 的速度和效能确实不错,但是它ƈ不符?/span> Java 的结构标准,不能做到?/span> Write Once, Run Anywhere ”。而且在内存和垃圾回收上ƈ没有l承 Java ?/span> Gc Q所以也是比较麻烦的。很多h?/span> AWT ?/span> Swing 的速度和性能都慢Q那是因Z们ƈ不是真正的懂 Java 的hQ其实大多数评h SWT ?/span> AWT/Swing 的h都是?/span> Java Web 开发的人员Q对 Java 的桌面开发也许只是浅辄止,随便试了几下就l出了洋z洒z上万字的评语)Q想象一?/span> JBuilder ?/span> Net Beans 是用什么做出来的?速度也不是一样很快,而且q些开发h员的开发速度l对不慢Q比?/span> SWT 开发,他们q不用去手动回收 dispose 的窗体呢Q罪q啦Q又说了些偏Ȁ的话Q。我个h怿Q随着 Java 6.0 的出玎ͼ Java Ҏ面应用的支持得到了前所未有的提升,慢慢的就会有一套完善而成熟的 Java 桌面E序开发框架和开发模式,那时候也许大家就不用争论了?/span>
也许q正?/span> Java 无奈现状的体现吧Q本来是大户人家的宝贝,现在变成沦落荒野的野马,要跟荒原的狐狗抢?/span> …?/span> 在桌面程序上面,Z IBM 那么热心的开发了 Eclipse 之外Q似?/span> Java 毫无建树Q?/span> Web 上, Java 更是?/span> .Net 和其他带脚本性质的语a蚕食领地Q?/span> .Net 当然是没话说的,因ؓq可是大户h家的孩子Qn上带着微Y皇族的血l,背靠如此雄厚的资本,自然不会弱,?/span> PHP/Python {语a也以其灵zȝl构和多q积累的成熟的多L开发框架一步一步的侵食 Java 的领圎ͼ我想?/span> Java 世界最痛心的也怸是这些,而是?/span> Ruby 语言引v?/span> Java 世界的内?/span> …?/span>
?/span> Ruby q门语言Q说实话Q我真的不以为然Q甚臌得这不算语言。当初学?/span> Java 的时候,是从 C 语言转过来的Q?/span> Java l我的印象真的太丽了,那么妙的结构,竟然能如此完的用程序语aMC界。而接?/span> Ruby Q一点也没有接触 Java 时候的那种感觉Q但是我不得不承?/span> Ruby On Rails 真的是快捯且方便?/span> Web 开发^台。那么轻杄几百行代码就能够完成 Java Q?/span> Jsp+Servlet Q上千行代码Q有个朋友跟我说Q他试q将一?/span> Java 的简?/span> Web E序Q据说好像是|上商城Q改?/span> Ruby q_Q上 4 ?/span> 5 千行?/span> Java 代码Q仅仅用?/span> 800 ?/span> Ruby 代码Q。这Ll果Nq不够震撼吗Q?/span>
Java 语言的优是大家公认的,但如果是Z仅有的优而付出大量的力_Q真的必要吗Q也许正?/span> Lansa 公司的高U程序设计师 Roc.Chen 说的那样Q?/span> Java 更适合在学校里q行 OO 软g的教学,因ؓ他真的很丽。当q?/span> Smalltalk 也是很优的语言Qؓ什么还是没有流行呢Q语a的流行程度也许真的跟优美有否没有直接关系Q想?/span> VB 真的是一门很烂的语言Q但如此行Q也不能不承认这个道理的正确性了?/span>
也许改名是因?/span> Java q个重量U的语言从吃遍四方的W重的老虎变成可以L跑蟩的野马吧Q现?/span> Java 的世界太W重了,有复杂的 EJB Q多U不互相兼容开发模式( Tomcat/SunJ2EE {下各有各的开发模式)Q多个巨头在做自׃同的IDEQ?/span>Eclipse /Net Beans/ IDEA/ J Builders/ Workshop{)Q多个企业在做自qJ2EE服务器(Geronimo /Web sphere/ Weblogic{?/span>Q……意见经怸能统一Q在q点上我真的认同微Y的方式,q样臛_使用的h能很快的上手Q能更快更好的完善自q开发模式和开发^台?/span>
我觉?/span> Java 已经在让自己变得轻量U,变得灵y了,让自己在各个斚w都能适应快速开发,像现在?/span> Ruby 一P?/span> Spring 的受Ƣ迎E度和?/span> J2EE without EJB 》的热卖也说明了q点。也?/span> Ruby 语言的出现对 Java 来说是好事,因ؓ臛_q打M是致命的Q能?/span> Java 的设计者痛定思痛Q寻求变革?/span>
q?/span> Java 6 Mustang 的出C许正是ؓ了这个目的吧。那下面p?/span> Java 6 的特点吧Q?/span>
l 支持 Web Service Q?/span> Java Web 的开发心头之痛啊Q终于搞定了Q?/span>
l 提高 JVM 性能Q对?/span> Java 5.0 Q?/span> Mustang Hotspot JVM ?/span> 58 Q的性能提升Q早该如此了Q?/span> Java 的诟病就是慢Q但我还没尝试过Q?/span>
l 直接嵌入 JSR-223 规定的脚本语a
l 增加?/span> JavaScript 的支持,嵌入?/span> Rhino Q即 JavaScript Q解释器Q好东西来的Q也许是因ؓ Ruby 内置?/span> Ajax 对其的媄响吧Q?/span>
l 支持 JDBC 4 规范
l 扩展 Java.io.File Q充分利用磁盘空?/span>
l 安全上新增了?/span> XML 数字{的支持,整合 Java Generic Security Services ?/span> Kerberos Q支持国际域名和资源标识W和|络参数标题讉K
l q有好多Q不q就没前面的那么重要?/span>
Sun
已经提供了演C版本的下蝲Q我已经下蝲了,同时也下载了
Sun
?/span>
Net Beans IDE
Q准备对q个新的
JDK
q行试Q测试结果会以最快的速度向同志们报告?/span>
===============================================================================
/听了白痴兄弟的话Q想说几句话/
上面只是我一个h的看法,也只是随便说说而已Q犯不着大家q么生气的。况且这仅仅是晚上涂鸦写写,告诉大家一些消息,评论只是个h观点?/font>