[I_Say]写程序的一些感想和教训

(旧文重发,本文写于大学期间) 一.凡事预则立,不预则废。写程序,作软件亦如此。大一的时候,写程序是不打稿的,心中有什么想法,就怎么写,写的挺痛快,也挺滋润。可是带来的后果是无 穷无尽的测试和修改。一个小错误,要查个半死,查出来后了,又把程序改的乱七八糟,程序再也不是优雅的思想的体现,更象是混乱思维的杂糅。这是教训一:不 打没有准备的战。写程序要写设计报告(除非已经对算法了如指掌),做软件,要写需求报告和设计报告,或者一个包含了需求报告的设计报告。这样做会大大提高 工作效率。不至于沉浸在错误的深渊中。 update: 除了写程序,做其他事情也是一样的道理,不熟悉的一定要做计划打草稿,直到... [More]

BizTalk 2009 教程 修正版(十二) - 教程三:第3课

第3课连接B2BSolution 到供货商Web Service 简述: 1. 配置连接到Web Service 的端口 2. 更新Key 的Token 3. 重新部署Solution 4. 把Orchestration 发布为Web Service 5. 更新Supplier Web Service References(因为Web Service 更新过key) 6. 配置B2BApplication 7. 测试  内容: 1. 配置连接到Web Service 的端口 a. 重新配置SendCommonPO 马上对端口进行配置,因为地址已经固定了 b. 重配RR_Payme... [More]

BizTalk 2009 教程 修正版(十) - 教程三:第1课

教程三 用BizTalk 处理票据和付账 场景 继续教程二的场景,之前我们只是把发给供货商的货单CommonPO发到一个文件夹里,并没有真正发出去,现在我们要把货单发送出去。3. BizTalk 把 CommonPO(图中的Purchase order) 发给供货商4. BizTalk 同时给仓库发一个确认消息,表明购货单已经发出去5. 供货商发货,然后把货单(Andvanc ship notice)和收款单(invoice)发给BizTalk6. BizTalk 在收到货物后,把货款通过银行或者第三发支付发给供货商(并未在这里实现),然后把汇款凭证(Paymen... [More]

BizTalk 2009 教程 修正版(十一) - 教程三:第2课

第2课 消息关联 通过Correlation我们可以把消息关联到某一个特殊的orchestration 实例,这样,当有多个实例运行的时候,我们依旧可以或许我们需要的信息。而不至于错乱。  1. 创建关联属性Schema 在B2BSchemas 工程里添加一个名字为 CorProperties.xsd 的Property Schema ,并把根节点名字改为PO_Num 2. 提升属性 a.用CorProperties.xsd 的PO_Num 提升CommonPO.POHeader.Number(Web References->localhost->reference.m... [More]

BizTalk 2009 教程 修正版(九) - 教程二:第5课

第5课 部署和测试杰作 之前繁重的工作所创建的其实就是需求场景里的ERP 部分。部署之前,再回想一下这个ERP 所做的工作: a. 把PO 转化为CommonPO b. 并给PO 的发送者发一个确认信息 另外,部署的时候要以管理员身份打开VS2008(Run as Administrator) 1. Build and Deploy the Solution a. 照例要给工程加上强签名文件 tutorial.snk b. 在Deployment tab 里的Application Name 填上B2BApplication c. 右键点击B2BSolution ,Build and Depl... [More]

BizTalk 2009 教程 修正版(八) - 教程二:第4课

第4课 货物订单处理流程 回想教程二第1课 场景描述里的第3点, 这一课要设计一个Orchestration 实现: a. 把PO 转化为CommonPO b. 并给PO 的发送者发一个确认信息  1. 往B2BOrchestration工程里添加一个Orchestration 取名为:B2BProcess.odx。 2. 在B2BOrchestration 里添加一个到 B2BSchemas的引用。因为Schemas 都在B2BSchemas 工程里。 注: 处理一个vs的小bug: 点击新添加的B2BSchemas 引用,在Properties面板里,把Copy Local 设置... [More]

BizTalk 2009 教程 修正版(七) - 教程二:第3课

第3课 往Map里添加Functoids 1. 往Map 里添加Date/Time Functoid 打开B2BSchemas Project. 打开MapToCommonPO.btm 往Map 里添加一个Date Functoid, 然后从CreationDate节点往Date Functoid 拖一条线: 2. 添加一个乘法 Functoid Price 和Quantity 通过乘法Functoid 输出结果到 目标Schema的ExtendedPrice. 拉从乘法Functoid到ExtendedPrice的这条线的时候需要点技巧。鼠标点上乘法Functoid马上就拉,否则就是选定平... [More]

BizTalk 2009 教程 修正版(五) - 教程二:第1课

应用场景: 回想教程一里的场景:  现在的任务是添加一个 Inventory procurement solution 来自动实现ERP 和 外部供应商之间的交互。 外部的供应商由一个 Web Service 来扮演。 在上一课里,仓库没货了,给BizTalk 发个消息, BizTalk 批准消息,把请求转发给ERP。 BizTalk 在这里起的作用:    a. 消息转发        b. 批准\否决 请求 接下来:1. ERP 接到Request 后,生成一个Purchase Order(... [More]

BizTalk 2009 教程 修正版(四) - 教程一:第3课

教程一: 企业应用集成(Enterprise Application Integration,EAI) 第3课 部署到BizTalk Server 不管开发的时候是怎么打开Visual Studio的,部署的时候要以管理员身份打开VS(run as administrator). 下面的部署是所有BizTalk 开发都要涉及到的,会了就是一劳永逸的事。 1. 部署工程      Build Solution & Deploy Solution 注:如果要在不同的BizTalk Server间迁移,部署之前还要查看Deployment tab 下的... [More]