随笔分类 -  N-Tiers多层式架构

N-Tiers多层式架构文章与心得
[ASP.NET]COM+多層式程式撰寫(資料存取層初體驗)
摘要:緣起: 承繼之前的系統分層概念(請參考:淺談多層式架構 (Multi Tiers)),在資料存取層中,應該只有資料的存取,沒有商業的邏輯。小喵之前的系統並沒有這一層,以往都是商業邏輯混搭資料存取。這一篇就來嘗試撰寫資料的存取層。順便開始程式撰寫部分的介紹。 方案管理: 為了方便未來程式撰寫不用開好幾個VS,我們透過方案的方式可以將資料層、商業邏輯層、介面層(Web Project)集中在一個方案中... 阅读全文
posted @ 2009-11-04 15:01 topcat 阅读(366) 评论(0) 推荐(0)
[修練營ASP.NET]COM+的交易(Transaction)讓商業層確保資料的完整性
摘要:緣起 承繼之前的【淺談多層式架構 (Multi Tiers)】與【透過COM+來變身(切換身分)執行】。我們這一篇要來講COM+中小喵覺得最精華的部分--COM+的【交易(Transaction)】支援。再分析系統後,我們可能會將各式各樣的商業邏輯寫成Function放在不同的Project裡面的Class中,並且會互相呼叫來完成要進行的商業邏輯。而在互相呼叫的過程中,就可能有必要將彼此包在一個T... 阅读全文
posted @ 2009-10-12 22:39 topcat 阅读(334) 评论(0) 推荐(0)
[修練營ASP.NET]淺談多層式架構 (Multi Tiers)
摘要:從需求談起 我們舉個小例子來理解一般的方式與多層的方式有何不同 假設:我需要顯示最近三個月內,所有營業員的銷售金額成績排名 一般的做法: 在一個畫面中,拉個GridView,一個SqlDataSouce,把需求的語法設定好在SqlDataSouce之後,接著顯示出來就可以了。 這樣的做法,從【資料的展現】【商業邏輯的條件設定】【資料庫的存取】都在一個畫面中處理完畢。 這樣的做法,可以說把所有的東... 阅读全文
posted @ 2009-09-11 16:21 topcat 阅读(473) 评论(0) 推荐(0)
ObjectDataSouce结合Object设计方式
摘要:小喵以前撰写ObjectDataSouce都是透过DataSet,DataTable,DataReader的方式传回值,而要进行维护的动作,也是一个一个的参数慢慢传递,后来小喵看到Jeff大大的这篇文章【ObjectDataSoruce 系结 BusinessObject 控件】,原来可以用对象的方式来传递,于是小喵今天开始着手看看是否能够改用对象的方式处理。 阅读全文
posted @ 2008-06-21 00:36 topcat 阅读(304) 评论(0) 推荐(0)
VB6 撰写组件过程录像文件
摘要:小喵之前有将VB6撰写组件、注册组件的过程录像下来,放在小铺的下载区 提供大家参考 http://www.blueshop.com.tw/download/show.asp?pgmcde=PGM20050624134625OTC 阅读全文
posted @ 2008-06-12 10:41 topcat 阅读(194) 评论(0) 推荐(0)
N-Tiers開發方式(ASP/ASP.NET、VB6/VB.NET呼叫使用COM+元件)
摘要:续接:N-Tiers开发方式(COM+组件的注册、修改) 在组件安装完成后,接下来的工作就是要如何呼叫使用我们写好的组件了。我们假设我们写好的组件的名称如下: Package:KDMO1000 Project:PDMOMenu Class: CDMOMenu1(无Transaction) CDMOMenu2(有Transaction) 假设CDMOMenu1中有一个Function... 阅读全文
posted @ 2008-06-12 10:33 topcat 阅读(502) 评论(2) 推荐(0)
N-Tiers开发方式(COM+组件的注册、修改)
摘要:当COM+的组件已经撰写完成后,接着就是要如何将撰写好的组件注册的主机的【组件服务】上 以往小喵用VB6撰写组件,要注册组件时,只需要在组件服务中建立空的Package,然后将写好的组件托拉进去即可,要修改时,只要组件的机码兼容,也只需要将Package停止后,将组件覆盖即可。请参考组件撰写、注册过程录像文件 但是进入.NET开发组件,小喵发现无法使用原来的方式处理,必须透过【.NET Fra... 阅读全文
posted @ 2008-06-12 09:56 topcat 阅读(313) 评论(0) 推荐(0)
N-Tiers开发方式(如何使用VB.NET撰写COM+组件)
摘要:小喵撰写COM+组件开始于VB6的年代,撰写与注册的方式还算不是很复杂,不过随着进入了.NET的世界,撰写的过程也变得比较复杂了许多。 以下是撰写的步骤 假设要撰写的是一个数据库DDMO中的数据表(TDMOMenu)的数据存取组件,要产生一个组件服务中的Package名称为【KDMO1000】,里面有个组件PDMOMenu.dll内有两个COM+组件分别是Project.Class PDMO... 阅读全文
posted @ 2008-06-12 09:50 topcat 阅读(435) 评论(0) 推荐(0)
N-Tiers使用ObjectDataSouce如何自己处理中间层传回的错误讯息
摘要:使用ObjectDataSouce可以让ASP.NET透过Object中的Function与中间层(商业逻辑)的程序做沟通但是在中间层中可能有些自定义的错误会产生我们希望自己处理这些的错误讯息,并且把这个讯息安排在画面中的Label显示这应该怎么做呢 假设要处理的是ObjectDataSource的Update时,启动商业逻辑的组件,该组件传回一个错误讯息此时在Object中的Try...Catc... 阅读全文
posted @ 2008-06-12 09:28 topcat 阅读(232) 评论(0) 推荐(0)
解决Windows2003使用Transaction无法使用MSDTC设定
摘要:小喵第一次使用Windows2003当作Web与COM+,却发生了在维护资料的时候,出现了【交易已被隐含或明确地认可或中止】的讯息。由于与数据库(Windows2000)不同台,经过网络上搜寻相关的问题,找到大约与MSDTC的设定有关 由于Windows2003或者WindowsXp中的COM+版本为1.5在使用跨机器的Transaction时,会出现【交易已被隐含或明确地认可或中止】 解决方式,... 阅读全文
posted @ 2008-06-12 09:25 topcat 阅读(451) 评论(0) 推荐(0)
ASP.NET2.0 多层架构的数据沟通接口Object DataSouce
摘要:当我们设计多层式的Web应用系统时,数据的存取不在是直接透过sqlDataSouce来处理,而是透过中间层(商业逻辑层)的Web Service或者是Com+组件来处理 以往要写这样的方式,必须撰写许多的程序,才能够实现这样的架构,而新的ASP.NET 2增加了一个新的Web Control→Object DataSource,可以让我们写粉简短的程序,就能够做到类似sqlDataSouce的功能... 阅读全文
posted @ 2008-06-09 19:03 topcat 阅读(318) 评论(0) 推荐(1)
N-Tiers设计系列(二):三层式应用系统架构
摘要:继续上一篇的讨论.... 如果使用ASP来处理复杂的商业逻辑的网页应用系统,会有以下几个缺点 1. ASP内容复杂:如果处理数据需要复杂的处理、那么asp会变成复杂许多 2. 安全性:把数据的读取、维护写在ASP中并不安全,因为可能为黑客透过特定的方式查知您的asp程序的内容,进而知道您的数据库、数据表、字段、甚至您的商业逻辑 3. 不易处理数据库交易(Transaction):如果需要维护多个数... 阅读全文
posted @ 2008-06-09 18:52 topcat 阅读(400) 评论(0) 推荐(0)
N-Tiers设计系列(一):传统Asp运作方式
摘要:这是一般的浏览者输入asp网址后,整个ASP运作的过程 1. 当使用者输入网址 2. IIS收到使用者输入的网址后,将该档案提出 3. 此时将该档案编译、并且透过ADO向数据库要求取得数据 4. 将数据处理后,翻译出HTML的语法内容,并送出给使用者浏览器 5. 浏览器收到IIS送出的HTML,将HTML翻译成画面,显示在用户的画面中 在这样个过程中,会有几个常见的问题 1. ASP内容复杂:如果... 阅读全文
posted @ 2008-06-09 18:46 topcat 阅读(288) 评论(0) 推荐(0)
透过ADO存取FoxPro数据库档案(dbf)的方法
摘要:Dim conn As New ADODB.Connection Dim rs As New ADODB.Recordset conn.Open "Driver={Microsoft Visual FoxPro Driver};SourceType=DBF;SourceDb=d:\backup\" rs.Open "SELECT * FROM tt.dbf", conn rs.MoveF... 阅读全文
posted @ 2008-06-09 18:25 topcat 阅读(501) 评论(0) 推荐(0)
.NET呼叫VB6撰写组件【释放资源】的语法
摘要:在撰写.NET的时候,.NET并不会自动作资源回收,所以呼叫完组件后,需要自己下语法将资源回收 如果呼叫的是.NET所撰写的COM+组件,那么资源回收的语法是 Obj.Dispose() Obj = Nothing 但是如果呼叫的是VB6的组件,那么不能呼叫Dispose将资源释放 所以需要用以下的指令将资源释放(组件服务中的数字会停下来) System.Runtime.InteropSer... 阅读全文
posted @ 2008-06-08 20:03 topcat 阅读(246) 评论(0) 推荐(0)
N-Tiers开发方式(为何使用COM+组件的撰写商业逻辑层)
摘要:在上一篇N-Tier方式开发(系统分析) 提到了商业逻辑层的开发,为何会选用COM+来处理,主要有两个原因: 确保交易的完整性:可交由COM+支持Transaction的机制处理 Web App切换身分执行组件 一、确保交易的完整性: 在确保交易的完整性,可以透过COM+对于Transaction的支持,让拆解各功能的时候,不必特意的去考虑Transation异动的部份... 阅读全文
posted @ 2008-06-08 10:56 topcat 阅读(330) 评论(0) 推荐(0)
N-Tier开发方式(系统分析)
摘要:当小喵在开发一个较为大型的系统时,会做以下的分析过程 系统需求分析: 与使用者详谈,访问使用者须要的是什么 条列需求:将访谈后的需求加以整理,并加以条列 需求确认:将整理条列出的需求,给使用者逐条加以确认,如有不足,追加并确认之 功能分析: 条列功能:将使用者以确认之条列需... 阅读全文
posted @ 2008-06-08 10:52 topcat 阅读(371) 评论(0) 推荐(0)