Active Learner -- Learning in my life!

Welcome To Forrest's Space! Welcome To Back!
posts - 33, comments - 25, trackbacks - 1, articles - 2
  博客园 :: 首页 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理

2006年12月8日

BizTalk学习笔记系列之五: BizTalk Server 2006 安装手记

——.BizTalk学习笔记系列之五

Aaron.Gao20061208

目前在学习BizTalk的相关知识,发布该系列笔记只是想建立一个完整的知识体系以方便大家共同学习,同时也是在探索一种新的学习方法,通过和园子里的朋友们的探讨来提高学习效率,巩固知识。除此之外别无它意。笔记中内容多来自网络,经本人编辑整理,如有不当之处还望海涵。在此也恳请各位前辈不吝赐教,一并谢过^_^.

 

BizTalk Server 2006 安装成功,庆祝先。

 

BizTalk Server 2006的安装过程相对BizTalk Server 2004来说简单多了,尽管如此,在安装的过程中我还是遇到了一些麻烦,就是在安装完成后配置时选择Basic Configuration时配置失败,只好用Customer Configuration进行配置。

Customer Configuration进行配置时要注意Account 项,如果是域用户时务必用完整的用户名,数据库要用SQL Server 2005

 

具体的安装过程不再赘述。

无为而为 前辈已经讲过 详见http://www.cnblogs.com/cleo/archive/2006/04/10/371532.html

也可以参考BizTalk Server 2006 安装和升级指南

http://www.microsoft.com/downloads/details.aspx?FamilyId=B273269C-97E0-411D-8849-5A8070698E4A&displaylang=zh-cn

 

BTW BizTalk Server 2006好像只支持VS2005SQL2005

先感受一下去:)

posted @ 2006-12-08 12:06 Forrest.Gao 阅读(688) | 评论 (0)编辑

2006年12月6日

     摘要: 开发与管理工具

BizTalk可帮助各种规模的企业在增强远期业务灵活性的同时,实现并超越当前的目标,同时满足了开发人员,IT专业人士和信息工作者各自提出的信息集成需求。

l 基于Visual Studio.Net 创建的集成化开发环境将确保开发人员迅速设计出适用于多种不同应用程序和技术手段的业务处理过程。

l 全面组件化产品提供方式,面向服务的架构,对标准的支持,高级部署与监控工具将帮助IT专业人士实现其所承诺的服务水平,并降低远期成本费用。

l 通过Microsoft Office将设计与监控工具推广至信息工作者,并确保商业用户在将业务处理过程转入生产环境之前和之后均可对其加以深入洞悉。

业务流程处理框架

BizTalk业务流程(Orchestration)服务提供了设计,执行和管理业务流程的功能。通常实现B2B/B2C或EAI不仅需要在不同的应用间传送消息而且需要定义和执行基于这些应用的业务流程。

BizTal  阅读全文

posted @ 2006-12-06 17:24 Forrest.Gao 阅读(2614) | 评论 (1)编辑

     摘要: 企业应用集成(enterprise application integration - EAI)软件解决方案,也称为企业应用集成或商务流程整合。这种新的软件技术可以整合组织内的应用,通过互联网连接合作伙伴,实现商业流程自动化。虽然我们称之为“企业级”应用集成,实际任何应用,无论是在一个单独的企业内部或者跨越多个企业都可以用集成服务器集成。典型的企业应用集成产品包括五种核心技术:1)面向消息的中间件;2)智能路由,通常称之为“代理(broker)”;3)应用适配器;4)转换功能;5)业务流程管理。
通常,企业应用集成适用于以下场景:兼并与收购、ERP转换、客户关系管理(CRM)、B2B集成基础架构自动化、过时遗留系统退役、数据中心整合。所有这些项目引发了大量应用接口的开发。
  阅读全文

posted @ 2006-12-06 12:14 Forrest.Gao 阅读(2151) | 评论 (2)编辑

2006年12月5日

     摘要: (HOW)如何使用BizTalk

作为Microsoft电子商务远景规划的先锋,Microsoft BizTalk Server 2006是一个功能齐全的集成服务器。它建立在Microsoft完善的共享服务电子商务远景规划之上,旨在帮助客户有效和高效地实现业务流程的自动化并对之进行管理,并通过业务流程将内部系统与人和贸易伙伴连接在一起。

下面我们将通过一个应用实例来说明如何使用BizTalk。

端到端运行时应用场合:从订单到现金

在BizTalk Server 2006中,业务流程涉及到将端点与人和资本投资绑定在一起构成一个整体,定义企业为其客户提供的价值。例如,只接受网络订单的零售企业主要通过低价格和快速订单履行提供其主要价值。

为提供这一价值,企业需要快速收集有关人的数据,例如姓名和地址等,并将这些数据与订单数据关联在一起,如订购物品和支付信息等。

处理这些事务可能需要一个简单的四步业务流程:
  阅读全文

posted @ 2006-12-05 17:14 Forrest.Gao 阅读(930) | 评论 (0)编辑

2006年12月2日

     摘要: (WHAT)什么是BizTalk
Microsoft BizTalk 框架是用于应用集成和电子商务的XML框架. 它包括一个设计框架来实现XML 大纲(schema) 和一套在应用程序间传递信息之用的XML标签. Microsoft 公司以及其它软件企业和工业标准实体将通过BizTalk 框架以统一的方式来产生XML.
BizTalk框架本身并不是标准,XML才是标准. BizTalk框架的目标是推动XML的迅速普及和应用.
  阅读全文

posted @ 2006-12-02 16:56 Forrest.Gao 阅读(4191) | 评论 (7)编辑

2006年11月28日

最近在做后台管理时发现一款不错的代码生成器,推荐给大家,希望能够喜欢。
如果您想在短时间内完成基于WEB的数据管理平台,而且对界面要求不高的情况下,ASP.NET Maker是你理想的选择。它是一款功能强大、简单易用的代码生成器,帮助你快速地从数据源上创建出一整套的ASP.Net代码程序。有兴趣的朋友请访问:http://www.hkvstore.com/aspnetmaker/default.asp
ASP.NET Maker 操作界面如下:



详细信息请访问:http://www.hkvstore.com/aspnetmaker/default.asp

posted @ 2006-11-28 14:51 Forrest.Gao 阅读(753) | 评论 (1)编辑

2006年11月25日


1. CDONTS.NewMail 组件使用说明

  Set MailObject = Server.CreateObject("CDONTS.NewMail")
  MailObject.From = "发信邮箱"
  MailObject.To = "收信邮箱"
  MailObject.Cc = "抄送邮箱"
  MailObject.Bcc = "密送邮箱"
  MailObject.Subject = "邮件主题"
  MailObject.Body = "邮件内容"
  MailObject.MailFormat = 0 '邮件的格式,0是MIME格式,1是文本消息
  MailObject.BodyFormat = 0 '邮件的正文的格式,0表示HTML格式,1表示普通文本
  MailObject.Importance = 1 '邮件的重要性,0是表示低重要性,1表示正常,2表示高重要
  MailObject.AttachFile "附件绝对路径","附件名称"
  MailObject.Send
  Set MailObject = Nothing

2. 网页不会被缓存
 Response.Expires = -1
 Response.ExpiresAbsolute = Now() - 1
 Response.cachecontrol = "no-cache"

3. 客户端IP地址
 Request.serverVariables("REMOTE_ADDR)

4. 记录集对象的方法:
rs.movenext 将记录指针从当前的位置向下移一行
rs.moveprevious 将记录指针从当前的位置向上移一行
rs.movefirst 将记录指针移到数据表第一行
rs.movelast 将记录指针移到数据表最后一行
rs.absoluteposition=N 将记录指针移到数据表第N行
rs.absolutepage=N 将记录指针移到第N页的第一行
rs.pagesize=N 设置每页为N条记录
rs.pagecount 根据 pagesize 的设置返回总页数
rs.recordcount 返回记录总数
rs.bof 返回记录指针是否超出数据表首端,true表示是,false为否
rs.eof 返回记录指针是否超出数据表末端,true表示是,false为否
rs.delete 删除当前记录,但记录指针不会向下移动
rs.addnew 添加记录到数据表末端
rs.update 更新数据表记录

5. 随机数工式
Int((上界 - 下界 + 1) * Rnd + 下界)

6. 检查输入函数
Function Check_Input(input)
input = Trim(input) '去除多余空格
input = Server.HTMLEncode(input) '转换HTML
input = Replace(input,Chr(39),"'") '转换半角单引号
input = Replace(input,Chr(34),""") '转换半角双引号
checkinput = input
End Function

7. 连接 Access 数据库方法
  方法1:
  Set conn = Server.CreateObject("ADODB.Connection")
  conn.Open "driver={Microsoft Access Driver (*.mdb)};dbq="&Server.MapPath("data.mdb")

  方法2:
  Set conn = Server.CreateObject("ADODB.Connection")
  conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&Server.MapPath("data.mdb")


1.  oncontextmenu="window.event.returnvalue=false"      将彻底屏蔽鼠标右键
    <table border oncontextmenu=return(false)><td>no</table>   可用于Table

2.  <body onselectstart="return false">                 取消选取、防止复制

3.  onpaste="return false"                                        不准粘贴

4.  oncopy="return false;" oncut="return false;"                  防止复制

5.  <link rel="Shortcut Icon" href="favicon.ico"> IE地址栏前换成自己的图标

6.  <link rel="Bookmark" href="favicon.ico">  可以在收藏夹中显示出你的图标

7.  <input style="ime-mode:disabled">                           关闭输入法

8.  永远都会带着框架
<script language="javascript"><!--
  if (window == top)top.location.href = "frames.htm"; //frames.htm为框架网页
// --></script>

9.  防止被人frame
<SCRIPT LANGUAGE=javascript><!--
  if (top.location != self.location)top.location=self.location;
// --></SCRIPT>

10. <noscript><iframe src=*.html></iframe></noscript>     网页将不能被另存为
11. <input type=button value=查看网页源代码
onclick="window.location = 'view-source:'+ 'http://www.csdn.net/&;#39;">

12. 怎样通过asp的手段来检查来访者是否用了代理
<% if Request.ServerVariables("HTTP_X_FORWARDED_FOR")<>"" then
response.write "<font color=#FF0000>您通过了代理服务器,"& _
"真实的IP为"&Request.ServerVariables("HTTP_X_FORWARDED_FOR")
end if
%>

13. 取得控件的绝对位置

//javascript
<script language="javascript">
function getIE(e){
  var t=e.offsetTop;
  var l=e.offsetLeft;
  while(e=e.offsetParent){
    t+=e.offsetTop;
    l+=e.offsetLeft;
    }
  alert("top="+t+"\nleft="+l);
  }
</script>

//VBScript
<script language="VBScript"><!--
function getIE()
  dim t,l,a,b
  set a=document.all.img1
  t=document.all.img1.offsetTop
  l=document.all.img1.offsetLeft
  while a.tagName<>"BODY"
    set a = a.offsetParent
    t=t+a.offsetTop
    l=l+a.offsetLeft
  wend
  msgbox "top="&t&chr(13)&"left="&l,64,"得到控件的位置"
end function
--></script>

14. 光标是停在文本框文字的最后
<script language="javascript">
function cc()
{
  var e = event.srcElement;
  var r =e.createTextRange();
  r.moveStart('character',e.value.length);
  r.collapse(true);
  r.select();
}
</script>
<input type=text name=text1 value="123" onfocus="cc()">

15. 判断上一页的来源
asp:
request.servervariables("HTTP_REFERER")

javascript:
document.referrer

16. 最小化、最大化、关闭窗口
<object id=hh1 classid="clsid:ADB880A6-D8FF-11CF-9377-00AA003B7A11">
<param name="Command" value="Minimize"></object>
<object id=hh2 classid="clsid:ADB880A6-D8FF-11CF-9377-00AA003B7A11">
<param name="Command" value="Maximize"></object>
<OBJECT id=hh3 classid="clsid:adb880a6-d8ff-11cf-9377-00aa003b7a11">
<PARAM NAME="Command" value="Close"></OBJECT>

<input type=button value=最小化 onclick=hh1.Click()>
<input type=button value=最大化 onclick=hh2.Click()>
<input type=button value=关闭 onclick=hh3.Click()>
本例适用于IE

17.
<%
'定义数据库连接的一些常量
Const adOpenForwardOnly     = 0 '游标只向前浏览记录,不支持分页、Recordset、BookMark
Const adOpenKeyset          = 1 '键集游标,其他用户对记录说做的修改将反映到记录集中,但其他用户增加或删除记录不会反映到记录集中。支持分页、Recordset、BookMark
Const adOpenDynamic         = 2 '动态游标功能最强,但耗资源也最多。用户对记录说做的修改,增加或删除记录都将反映到记录集中。支持全功能浏览(ACCESS不支持)。
Const adOpenStatic          = 3 '静态游标,只是数据的一个快照,用户对记录说做的修改,增加或删除记录都不会反映到记录集中。支持向前或向后移动

Const adLockReadOnly        = 1 '锁定类型,默认的,只读,不能作任何修改
Const adLockPessimistic     = 2 '当编辑时立即锁定记录,最安全的方式
Const adLockOptimistic      = 3 '只有在调用Update方法时才锁定记录集,而在此前的其他操作仍可对当前记录进行更改、插入和删除等
Const adLockBatchOptimistic = 4 '当编辑时记录不会被锁定,而更改、插入和删除是在批处理方式下完成的

Const adCmdText  = &H0001
Const adCmdTable = &H0002
%>

18. 网页不会被缓存
HTM网页
<META HTTP-EQUIV="pragma" CONTENT="no-cache">
<META HTTP-EQUIV="Cache-Control" CONTENT="no-cache, must-revalidate">
<META HTTP-EQUIV="expires" CONTENT="Wed, 26 Feb 1997 08:21:57 GMT">
或者<META HTTP-EQUIV="expires" CONTENT="0">
ASP网页
  Response.Expires = -1
  Response.ExpiresAbsolute = Now() - 1
  Response.cachecontrol = "no-cache"
PHP网页
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
header("Cache-Control: no-cache, must-revalidate");
header("Pragma: no-cache");


19. 检查一段字符串是否全由数字组成
<script language="javascript"><!--
function checkNum(str){return str.match(/\D/)==null}
alert(checkNum("1232142141"))
alert(checkNum("123214214a1"))
// --></script>

20. 获得一个窗口的大小
document.body.clientWidth,document.body.clientHeight
21. 怎么判断是否是字符
if (/[^\x00-\xff]/g.test(s)) alert("含有汉字");
else alert("全是字符");

22.TEXTAREA自适应文字行数的多少
<textarea rows=1 name=s1 cols=27 onpropertychange="this.style.posHeight=this.scrollHeight">
</textarea>

23. 日期减去天数等于第二个日期
<script language=javascript>
function cc(dd,dadd)
{
//可以加上错误处理
var a = new Date(dd)
a = a.valueOf()
a = a - dadd * 24 * 60 * 60 * 1000
a = new Date(a)
alert(a.getFullYear() + "年" + (a.getMonth() + 1) + "月" + a.getDate() + "日")
}
cc("12/23/2002",2)
</script>

24. 选择了哪一个Radio
<HTML><script language="vbscript">
function checkme()
  for each ob in radio1
    if ob.checked then window.alert ob.value
  next
end function
</script><BODY>
<INPUT name="radio1" type="radio" value="style" checked>Style
<INPUT name="radio1" type="radio" value="barcode">Barcode
<INPUT type="button" value="check" onclick="checkme()">
</BODY></HTML>

25.获得本页url的request.servervariables("")集合
Response.Write "<TABLE border=1><!-- Table Header --><TR><TD><B>Variables</B></TD><TD><B>value</B></TD></TR>"
for each ob in Request.ServerVariables
Response.Write "<TR><TD>"&ob&"</TD><TD>"&Request.ServerVariables(ob)&"</TD></TR>"
next
Response.Write "</TABLE>"

26.
本机ip<%=request.servervariables("remote_addr")%>
服务器名<%=Request.ServerVariables("SERVER_NAME")%>
服务器IP<%=Request.ServerVariables("LOCAL_ADDR")%>
服务器端口<%=Request.ServerVariables("SERVER_PORT")%>
服务器时间<%=now%>
IIS版本<%=Request.ServerVariables"SERVER_SOFTWARE")%>
脚本超时时间<%=Server.ScriptTimeout%>
本文件路径<%=server.mappath(Request.ServerVariables("SCRIPT_NAME"))%>
服务器CPU数量<%=Request.ServerVariables("NUMBER_OF_PROCESSORS")%>
服务器解译引擎<%=ScriptEngine & "/"& ScriptEngineMajorVersion &"."&ScriptEngineMinorVersion&"."& ScriptEngineBuildVersion %>
服务器操作系统<%=Request.ServerVariables("OS")%>

27.ENTER键可以让光标移到下一个输入框
<input onkeydown="if(event.keyCode==13)event.keyCode=9">

28. 检测某个网站的链接速度:
把如下代码加入<body>区域中:
<script language=javascript>
tim=1
setInterval("tim++",100)
b=1

var autourl=new Array()
autourl[1]="www.njcatv.net"
autourl[2]="javacool.3322.net"
autourl[3]="www.sina.com.cn"
autourl[4]="www.nuaa.edu.cn"
autourl[5]="www.cctv.com"

function butt(){
document.write("<form name=autof>")
for(var i=1;i<autourl.length;i++)
document.write("<input type=text name=txt"+i+" size=10 value=测试中……> =》<input type=text name=url"+i+" size=40> =》<input type=button value=GO onclick=window.open(this.form.url"+i+".value)><br/>")
document.write("<input type=submit value=刷新></form>")
}
butt()
function auto(url){
document.forms[0]["url"+b].value=url
if(tim>200)
{document.forms[0]["txt"+b].value="链接超时"}
else
{document.forms[0]["txt"+b].value="时间"+tim/10+"秒"}
b++
}
function run(){for(var i=1;i<autourl.length;i++)document.write("<img src=http://"+autourl+"/"+Math.random()+" width=1 height=1 onerror=auto('http://";;+autourl+"')>")}
run()</script>


29. 各种样式的光标
auto          :标准光标
default       :标准箭头
hand          :手形光标
wait          :等待光标
text          :I形光标
vertical-text :水平I形光标
no-drop       :不可拖动光标
not-allowed   :无效光标
help          :?帮助光标
all-scroll    :三角方向标
move          :移动标
crosshair     :十字标
e-resize
n-resize
nw-resize
w-resize
s-resize
se-resize
sw-resize

1.本地无缓存,每次自动刷新
response.expires=0
response.addHeader "pragma" , "no-cache"
response.addHeader "cache-control" , "private"

2.修改contentType并下载gif等格式
<%
function dl(f,n)
on error resume next

set s=CreateObject("Adodb.Stream")
S.Mode=3
S.Type=1
S.Open
s.LoadFromFile(server.mappath(f))
if err.number>0 then
  response.write err.number & ":" & err.description
else
  response.contentType="application/x-gzip"
  response.addheader "Content-Disposition:","attachment; filename=" & n
  response.binarywrite(s.Read(s.size))
end if
end function

call dl("012922501.gif","t1.gif")
%>
网页效果集合1。忽视右键
 <body oncontextmenu="return false">
 或
 <body style="overflow-y:hidden">
2。加入背景音乐
 IE:<bgsound src="*.mid" loop=infinite>
 NS:<embed src="*.mid" autostart=true hidden=true loop=true>
 </embed>
 *.mid你的背景音乐的midi格式文件
3。简单的window.open方法
 <a href="#"
 onclick="javascript:window.open(文件路径/文件名,newwindow,
 toolbar=no,scrollbars=yes,resizable=no,top=0,left=0,
 width=400,height=300);">文字或图片</a>
 参数解释:
 <SCRIPT LANGUAGE="javascript"> js脚本开始;
 window.open 弹出新窗口的命令;
 文件路径/文件名 弹出窗口的文件名;
 newwindow 弹出窗口的名字(不是文件名),非必须,可用空代替;
 width=400 窗口宽度;
 height=300 窗口高度;
 top=0 窗口距离屏幕上方的象素值;
 left=0 窗口距离屏幕左侧的象素值;
 toolbar=no 是否显示工具栏,yes为显示;
 menubar,scrollbars 表示菜单栏和滚动栏。
 resizable=no 是否允许改变窗口大小,yes为允许;
 location=no 是否显示地址栏,yes为允许;
 status=no 是否显示状态栏内的信息(通常是文件已经打开),yes为允许;
 </SCRIPT> js脚本结束
4。简单的页面加密
 <script LANGUAGE="javascript">
 <!--
 function loopy(){
  var sWord ="";
  while(sWord!="login"){sWord=prompt("请输入你的登陆密码");}
  alert("登陆成功!");
 }
 loopy()
 //-->
 </script>
5。拉动页面时背景图不动
 <style>
 body{background-image:url(logo.gif);
 background-repeat:no-repeat;background-position:center}
 </style>
6。让浏览器在保存页面时保存失败
 <NOSCRIPT><iframe src="*.html"></iframe></NOSCRIPT>
7。随机替换图片
 <script>
 document.write(<img src="img/+parseInt(Math.random()*(5))
 +.gif"height="40" width="50">)
 </script>
 图片文件名为0.gif 1.gif 2.gif 3.gif 4.gif
8。窗口定时关闭
 先将如下代码网页文件的区:
 <script language="javascript">
 function closeit() { setTimeout("self.close()",10000) //毫秒 }
 </script>
 然后再在<body>标内加入如:<body onload="closeit()">
9。网页自动关闭
 <html>
 <head>
 <object id=closes type="application/x-oleobject"
 classid="clsid:adb880a6-d8ff-11cf-9377-00aa003b7a11">
 <param name="Command" value="Close">
 </object>
 </head>
 <body onload="window.setTimeout(closes.Click(),10000)">
 这个窗口会在10秒过后自动关闭,而且不会出现提示.
 </body>
 </html>
10。网页自动刷新
 在head部记入
 <META HTTP-EQUIV="Refresh" content="20">
 其中20为20秒后自动刷新,你可以更改为任意值。
11。网页自动转页
 <META HTTP-EQUIV="Refresh" CONTENT="时间(秒);URL=地址">
12。保持layer在最前面,而不被Iframe、Object所覆盖
 在Layer中再插Iframe 或 Object 设z-Index值
 <div z-Index:2><object xxx></object> # 前面
 <div z-Index:1><object xxx></object> # 后面
 <div id="Layer2" style="position:absolute; top:40;width:400px;
 height:95px;z-index:2"> height=100% width=100%>
 <iframe width=0 height=0></iframe>
 </div>
 <div id="Layer1" style="position:absolute; top:50;width:200px;
 height:115px;z-index:1">
 <iframe height=100% width=100%></iframe>
 </div>
13。返回上一页
 <a href=javascript:history.back(1)>『返回上一页』</a>
14。关闭窗口
 <a href=javascript:self.close()>『关闭窗口』</a>
15。关于iframe的透明背景
 <IFRAME ID="iFrame1" SRC="iframe.htm"
 allowTransparency="true"
 style="background-color: green"></IFRAME>

posted @ 2006-11-25 12:29 Forrest.Gao 阅读(231) | 评论 (0)编辑

     摘要: 1.面向对象的思想主要包括什么?2.什么是ASP.net中的用户控件3.什么叫应用程序域?什么是受管制的代码?什么是强类型系统?什么是装箱和拆箱?什么是重载?CTS、CLS和CLR分别作何解释?4.列举一下你所了解的XML技术及其应用5.值类型和引用类型的区别?写出C#的样例代码。6.ADO.net中常用的对象有哪些?分别描述一下。7.如何理解委托?8.C#中的接口和类有什么异同。9.。net中读... 阅读全文

posted @ 2006-11-25 10:49 Forrest.Gao 阅读(772) | 评论 (1)编辑

     摘要: 1. 打开新的窗口并传送参数://传送参数:response.write("<script>window.open(’*.aspx?id="+this.DropDownList1.SelectIndex+"&id1="++"’)</script>")  //接收参数:stringa=Request.QueryString("id");stringb=Request.... 阅读全文

posted @ 2006-11-25 10:43 Forrest.Gao 阅读(202) | 评论 (0)编辑

     摘要: DataGrid的正反双向排序http://dev.csdn.net/develop/article/26/26817.shtm 删除确认及Item颜色交替http://dev.csdn.net/develop/article/26/26768.shtm DataGridDataGrid常见解决方案(三)--在DataGrid中选择确认删除多行复选框列表 http://dev.csdn.net/d... 阅读全文

posted @ 2006-11-25 10:39 Forrest.Gao 阅读(210) | 评论 (0)编辑