彙整

Archive for the ‘上課心得’ Category

鼎新 ERP 技轉課程之 TIPTOP GP 程式開發

2010/12/01 3 留言

環境架構:
  p_zx 為建立使用者帳號的畫面
  使用 TELNET 或 SSH 模式登入的話需要在 LINUX 主機建立對應帳號
  執行程式呼叫 r.r2 或 exe2 加程式名稱,r.r2 只能在當下目錄執行
  執行主功能呼叫 udm7,Web 模式自動呼叫這支程式
  在 TIPTOP 任何一支程式中按下 Ctrl+G 可開出 Command Run 畫面

TIPTOP 資料區:
  正式區─公司正常運作的區域
  測試區─系統測試用,練習操作或測試功能
  標準區─鼎新提供版本更新時放在標準區,不可修改

資料夾:
  config─參數檔
  各模組(aap,adm,aim,atm,azz…)─ERP標準模組,標準模組一律為三碼,a開頭為台灣,g開頭為大陸,c開頭為客製,模組名稱在 p_zmd 中查詢及建立
  各模組底下的資料夾:
    4gl: Source Code
    42m: 編譯後的執行檔
    42r: 編譯連結完成的執行檔
    4fd: 畫面檔,舊版為 per
    42f: 編譯後的畫面檔
    sch: 資料結構檔
  系統模組(lib,sub,qry)─系統管理模組,lib及sub是不可單獨執行的
    lib: 所有作業都必需使用的功能,例如判斷權限
    sub: 很多作業都用到的功能,例如自動取號
    qry: 查詢資料的功能
  系統模組會打包成 42x 檔放在 42m 資料夾底下,使用 r.gx 模組代號,手動打包系統模組的 42x
  系統模組函數:
    lib函數為 cl_ 開頭;sub 函數為 s_ 開頭;qry 函數為 q_ 開頭
    p_link 可查詢作業連結,p_findfunc 可查詢函數名稱

作業命名原則:
  一至三碼為模組(範例中的aim),第四碼為程式類型(範例中的第二個i),五至七碼為流水號(範例中的100),範例:aimi100.4gl
  程式類型:i─建檔;q─查詢;t─處理;s─參數設定;p─批次處理;r─報表作業;

變數命名原則:
  修改原有的作業,不要改名,但要搬到客製區底下,畫面檔也要搬到客製區,新增作業時依命名原則存在客製區,可使用 p_zz 定義作業的執行路徑

資料表命名原則:
  前四碼表示資料表開頭,使用二至四碼的英文加數字,後面加上_file,範例:ima_file
  欄位名稱為資料表開頭加上流水號,範例:ima01,ima02…
  特定用途會用資料表開頭加上用途
  索引為資料表開頭加上流水號
  Primary Key 為資料表開頭加pk
  使用 p_zta 查詢所有的資料結構
  資料表的"檔案名稱"及"檔案目的"可以多語系
  欄位的"屬性"分為標準(出貨值)及客製(自行新增)
  欄位的"欄位說明"可以多語系
  「建立Table」的按鈕為新增一個空白資料表,如果已存在會失敗
  「資料庫比對」可用來比對指定的來源與目的資料庫Schema的差異

客製 Table 命名原則:
  tc_xxx_file:客製新增,xxx為三碼英或數字
  ta_xxx_file:修改標準 Table
  不允許修改標準欄位的 type,size,不允許更改欄位用途,不允許使用 No Used 的欄位

Config:
  4ad: 存放程式 Action 代碼與多語系說明,
    TIPTOP 語言代碼:0-繁體中文,1-英文,2-簡體中文
    /語言/系統/程式代碼.4ad
  4tm: Top Menu 的內容檔案,可在 p_base_act 中查詢
  4st: 存放螢幕顯示的 Style
  4tb: Toolbar 的內容檔案,可在 p_zz 中查詢
  4sm: 存放系統 Start Menu 的內容檔案,可在 p_zm 中查詢
    /語言/menu_id.4sm
  top.global: 定義 TIPTOP 全系統共用的全域變數
  schema: 存放 ds.sch 檔案
  dsfgl2.bin: 存放 TIPTOP 提供的系統工具
  log: 程式錯誤記錄
  p_cron: 存放使用者設定的背景作業的相關檔案,使用 p_cron 設定

環境變數:$開頭,一律為大寫
  $XXX─標準模組路徑
  $XXXi─系統模組下的 42r
  $ORALE_SID─Oracle Instance 變數

系統工具:
  rebuild─全系統重新編譯,大概需要兩小時
  r.gf─預覽42f,r.gf formname lang p/c y/n
  將新增作業加到 Start Menu 時使用 p_zm,建立 Start Menu 時使用 p_zz,模組代號為 “MENU"

交談指令:支援 ON ACTION
  CONSTRUCT: 接受畫面輸入的查詢條件轉成 SQL 指令的 WHERE 字串
  INPUT/INPUT ARRAY: 接受畫面輸入的值存到資料庫
  DISPLAY ARRAY: 將資料庫的值顯示到畫面上
  MENU: 表示功能表
  PROMPT: 表示彈出式視窗,通常用於顯示訊息並傳回使用者回覆
  TIPTOP 標準用法在交談指令中必定要加
    ON ACTION controlg:
    ON ACTION help: 提供"說明"的資訊
    ON ACTION about: 提供"關於"的資訊
    ON ACTION locale: 切換語言別
    ON IDLE g_idle_seconds: 處理閒置

分類:上課心得

鼎新 ERP 技轉課程之 Genero 基礎課程

2010/11/30 發表留言

Genero 將語言稱之為 BDL(Bussiness Development Language)
最常見的副檔名:4gl 副程式, *.per 畫面檔, *.4fd 較新版本的畫面檔
其程式可分為 Form 及 Module
Form 稱為表單,即為畫面檔
Module 稱為副程式,可再分為 Function 及 Report,每支程式都需要一個稱之為 MAIN 的 Function,作為應用程式進入點。

畫面開發:
  1、建立 Form 時設定寬度及高度,設定值為字元數(不是像素)
  2、Form 裡的元件大致分為 Container control(容器控制項)及 Widget control(一般控制項)
  3、Form 裡面不可以直接放 Widget control,一定要使用 Container control,再將 Widget control 放入 Container control 內
  4、ScollGrid一定是搭配 MFArray 使用
  5、版面配置一般使用 Grid 加上 HBOX、VBOX 排列,HBOX 或 VBOX 類似 Office 的群組功能,要在裡面加元件要先解開
  6、輸入文字使用 Edit(文字方塊)或 TextEdit(多行文字方塊)
  7、重要屬性:Required─不可空白、NoEntry─唯讀、NoNull─不可無值
  8、TIPTOP 有控制表單控制項順序,不需要在表單中自訂
  9、TIPTOP 中不使用 Button,程式會在 RunTime 產生

程式開發:
  1、TIPTOP 規範指令一律大寫
  2、定義變數使用 DEFINE
    DEFINE 名稱 型態 #直接定義
    DEFINE 名稱 LIKE TableName.FieldName #參照欄位型態
  3、註記使用 # 或用 {} 括起來
  4、DATABASE dbname #指定連接資料庫名稱
  5、LET 設定變數值
  6、TIPTOP 只使用 INTEGER,SMALLINT及DECIMAL
  7、STRING 是 BDL 中一個很特殊的型態
  8、不同資料型態的組合:
    DEFINE rec RECORD
      名稱 型態,
      名稱 型態,
      名稱 型態,
      名稱 型態
    END RECORD
    或
    DEFINE rec RECORD LIKE TableName.*
  9、INITIALIZE:定義變數時給初始值
 10、"," 表示字串相加,相加中的字串如有 Null 先轉為空白再相加
    "||" 表示字串相加,相加中的字串如有 Null 結果為空白
     [start,end]取出 CHAR 或 VARCHAR 字串中指定起迄位置的字串,第一碼為 1
 11、GLOBALS:定義全域變數
    GLOBALS
      DEFINE 名稱 型態
    END GLOBALS
    或
    GLOBALS “FilePath" #讀取已寫好的設定檔
 12、呼叫 Function 使用 CALL FunctionName()
 13、任何地方的變數名稱不可與全域變數同名,包含 Function 的參數名稱
 14、CALL 可接收回傳值
    CALL FunctionName() RETURNING var1[,var2…]
    LET var1 = FunctionName() #只有一個回傳值才能用
    Function 中使用 REUTRN 回傳結果值
 15、INT_FLAG:當設定 DEFER INTERRUPT 時,系統會在使用者按下中斷鍵時將此變數設為 True
    STATUS:最近一次執行 SQL 指令的結果是否成功
 16、SQLCA:最近一次執行 SQL 指令的結果,為一物件
    SQLCA.SQLCODE:結果狀態,0表示成功,>0表示錯誤訊息代號
    SQLCA.SQLERRD[]:結果訊息,SQLCA.SQLERRD[3]表示受影響的資料列

  DISPLAY:將程式變數顯示到畫面的指定欄位
  DISPLAY 變數 TO 欄位名稱 #標準用法
  DISPLAY BY NAME 名稱 #變數名稱與欄位名稱相同

  INPUT:將指定欄位的值儲存到變數中
  INPUT 變數 FROM 欄位名稱 #標準用法
  INPUT BY NAME 名稱 #變數名稱與欄位名稱相同
  WITHOUT DEFAULTS 表示不使用欄位預設值

  CONSTRUCT:依輸入的欄位建立資料庫查詢語法中的 WHERE 字串
  PREPARE:驗證 SQL 字串的正確性
  FREE:釋放 PREPARE 的記錄

  CURSOR:BDL中使用CURSOR來承載查詢結果指標
    DECLARE CursorName [SCROLL] CURSOR FOR [SQL 陳述式 or Prepared_id or SQL 字串]
  OPEN:將 CURSOR 開啟,如果 OPEN 時要代入參數,使用 USING
  範例:
    LET l_sql="SELECT * FROM a WHERE col1=? AND col2=?; "
    PREPARE a_pre FROM l_sql
    DECLARE a_cus SCROLL CURSOR FOR a_pre
    OPEN a_cus USINT var1,var2
    FETCH first a_cus INTO l_a.
    CLOSE a_cus
  在 CURSOR 中指定指標使用 FETCH,必需用 SCROLL CURSOR,
  使用 FOREACH 可跑迴圈逐筆讀取,不需要 OPEN 及 CLOSE,必需使用 CURSOR

  ON ACTION:定義按鈕 Click 事件方法
    ON ACTION action名稱

  ARRAY:陣列
    DEFINE 名稱 ARRAY[長度] OF 型態 #固定長度
    DEFINE 名稱 DYNAMIC ARRAY OF 型態 #動態長度
    第一個元素的索引位置為1
    陣列提供方法可呼叫,除了 getLength() 之外都要加 CALL

  BEFORE INPUT ARRAY:將表單中Table的資料儲存到 ARRAY 中

  在 4gl 中特定指令是有順序性的,以下指令按照順序列出
  DATABASE #必需放在第一行
  GLOBALS #第二行,宣告全域變數,可能有多行
  DEFINE #宣告整支程式共用的變數,第三行
  MAIN … END MAIN #應用程式進入點
  FUNCTION … END FUNCTION #其他 FUNCTION

  結論:
    Genero 算是比較不人性化的語言,畫面檔跟程式檔分得很清楚,如果要存取畫面檔的欄位或定義控制項事件方法,要在程式檔中依控制項名稱指定,可是IDE工具並沒有幫我們關聯,所以如果對應不到在編譯時是不會錯的,要在RunTime才會發現,所以 Debug 並不是很容易。
    指令中包含存取資料庫的語法,很容易搞混到底該怎麼下指令,要不要使用引號括起來。
    總之,不是很好學,加油。

分類:上課心得

鼎新ERP技轉課程之UNIX基礎課程

2010/11/10 發表留言

由於 TIPTOP 是安裝在 Linux 之上,因此要維護 TIPTOP 就必需要熟悉 Linux,今天是第一堂課,屬於基礎課程。

1、從 Windows 登入 Linux 可使用的工具,包含 Telnet、NetTerm、Putty、XShell…,登入之連接方式可以使用 Telnet 或是 SSH。

2、Linux 有區分大小寫,因此帳號密碼都要注意大小寫。使用者可使用 passwd 指令變更密碼,密碼的限制為字典查得到的字不接受,太簡短太常用的密碼不接受。

3、Linux 的系統管理員帳號為"root",可以變更自己及其他使用者的密碼,而且不受上述限制。

4、環境變數主要用途為規範使用者每次登入時所能使用的相關資源,一般皆為大寫命名,可使用 echo $環境變數名稱 查詢變數值,透過 export 環境變數=變數值 來設定。
例如:echo $TEMPDIR   用來查詢 TEMPDIR 這個變數的值
export FGLGUI=1  用來設定 FGLGUI 這個變數的值等於 1

5、其他就是一些 Linux 指令的介紹, 一個作業系統的指令應該是多到學不完,在這裡就不講得太詳細。

6、另一個重點就是 vi,簡單來說 vi 算是 Linux 的文字編輯器,用來在 Linux 環境裡編輯檔案內容。

7、今天有提到一些Oracle的東西,教了最基礎的建立及管理使用者、建立及管理資料表、存取資料的指令。
執行 Ocacle 命令要使用 sqlplus 這個指令登入資料庫。

因為最主要是要維護 TIPTOP,所以關於 Linux 並沒有教得太深入,整體來說已經可以讓我們有個大概的了解,
知道作業系統的檔案架構及資料庫怎麼操作,至於其他的部份,就要靠我們自己再去摸索了。

分類:上課心得

Microsoft TechDay 2010 徵文獎品

2010/10/19 1 則迴響

九月底參加了 Microsoft TechDay 2010,原本只是想說寫個心得分享一下,

沒想到還有事後徵文活動,而且不用我投稿,是他們自己找上門來留言,

說我獲得Tech Days徵文所送的隨行杯,因此我得到一個隨行杯

當然也是因為我在文章中順便替 Microsoft 打廣告,

內容就是圖中左邊的網站火花計畫
總之再次分享喜悅,Microsoft TechDay 真得是很好的課程。

分類:上課心得

Microsoft TechDays Taiwan 2010 心得

2010/10/04 3 留言

這次是我第一次參加 TechDay,收穫蠻多的。
之前也曾聽過幾次研習會,不過研習會通常都是一天,而且不會說得很深入,
難得有這種機會可以聽到這麼多堂專業的課程,雖然消化不了太多,但總是多少能再吸收一些新知。
由於公司不是資訊業,因此我們IT部門是屬於全都包的作法,從使用者需求訪談、系統分析、資料庫、程式設計、報表製作到客服,一律都要會,所以選課時困擾了好久,後來決定挑選程式設計及資料庫的課程,本來也選了一堂 Hyper-V 的課,後來臨時改變跑去上了別的課,其實如果只把自己當做程式設計師,應該可以選到很完整的課表,結果東挑西選的什麼都聽不完整,要是有人還沒參加過而明年要參加的,可以多多思考這個問題。

首先先來分享一下參加 TechDay 有什麼好處,那就是可以拿到很多贈品
第一天拿到的贈品
右上角那個就是每個學員都有的 TechDay 2010 背包
我專屬的馬克杯
我專屬的馬克杯,提早報名才有的喔
我的學員證
我的學員證

這次 ThecDay 有幾個重要的主題,最熱門的當然是雲端,這次所有的課程裡應該就屬跟雲端有關的課最多了,

聽了兩堂小朱老師的課以及一堂 Rubby 老師的課,對於雲端技術總算有了一點大概的槪念,不過對我而言能聽懂得不多,

只記得 Rubby 老師說的話「這是一堂難度400的課,但礙於時間我不能講得太多,所以我會當作你們都聽得懂,一直講下去。」

再來就是 SQL Server 2008 R2,關於資料庫的課也不少,不過我的感覺是關於 SQL Server,打廣告的成份居多,我聽到的大部份內容都是展示新功能,那些東西大概 Help 裡都找得到,沒聽到什麼技術性的東西,這是我覺得比較可惜的。

另一個也廣告打很兇的就是 IE9,支援 HTML5及CSS3,而且運用 GPU 硬體加速,對於影像及動畫的運算效能大大提升(展示出來是如此),至於實際上可以做到怎麼樣的程度已經有 Beta 版可以下載,但我還沒有用過。

這次參加 TechDay 另一個很大收穫就是認識了一些高手,像是 gipiBill 叔 以及大鈞,那天非常感謝大鈞提供了一些問題的方向,當面聊天更可以感受到 MVP 的熱情。

今年不同以往的多了一個 IE Night Party,雖說是為了 IE9 作宣傳,但這樣的一個熱鬧的晚會還是讓人回味無窮,當天沒有拍下什麼東西,只好回家後拍獎品

入場券是一個手環

會場提供四個小遊戲,過關後即可得到一個胸章,四個遊戲四個胸章,就是 I Love IE9

集滿四個胸章可以換一台防水相機。

順帶一提,這一次活動中,聽到了微軟很佛心的計畫:BizSpark
鼓勵新興網路公司,可以向微軟爭取資源,至少可以節省一開始的研發成本囉。
有興趣創業的朋友們,記得檢視一下自己是否符合BizSpark的資格 。

最後,還要再說一次,TechDay 真得是一個很好的活動,對我們這種大量使用微軟產品的人是一個可以了解新知識並學習技術的好機會,不過明年必需換別人去,我就不會再參加了。

分類:上課心得

TechDay 2010 心得報告 第三天

2010/10/04 1 則迴響
30-1 HTML5 與 CSS3 跨瀏覽器實務分享,各家瀏覽器相容性探討
HTML發展時間表(1990-2009)
現今製作網站的主流規格,仍然停留在10年前左右,各家 plugin 造成瀏覽器維護不易
2004年由Mozilla基金會等場商向W3C建議制定新的網頁語言標準,但W3C不接受,於是這些廠商於2007年成立 WHATWG,自行制定新標準
新的語意、排版、多媒體標籤─header,footer,video,canvas…
Microdata─強化內容語意
Web Forms 2.0
Web Application API─增加輔助開發 Web Application 的 JavaScript 物件
廣義的 HTML5:
HRML5,Web Forms 2.0,Web Application API 1.0,CSS3,ECMAScript5
HTML5 主要的標籤改進:
文件規格
文件編碼
style,script 不再需要加上 type 屬性
Data URI 支援:
以BASE64編碼方式表示圖片檔案
減少瀏覽對伺服器的 Requests
除了用在<IMG>標籤之外,也可以用在CSS裡(<img src="data:image/png;base64,{base64字串}" />)
Web Forms 2.0
新一代的表單元件
目前支援最好的是 Opera,Webkit 系瀏覽器
表單驗證
不符合格式便會加上:invalid 虛擬選擇器
網頁上的2D/3D圖形處理
使用HTML5新增的<canvas>標籤搭配使用 javascript
SVG向量圖形
影音播放的問題
在HTML5之前,瀏覽器可以使用<img>標籤來顯示影像
在HTML5之後可以使用<video>,<audio>標籤來播放影片或是效檔案
可以針對標籤操作(自訂播放介面)
瀏覽器的支援狀況
H.264編碼格式─Safari,Chrome,IE9
Theora─Mozilla Firefox,Opera
Google 買下並開放 VP3解碼器之後 Chrome,Firefox,Opera 皆已支援
IE9 宣稱用戶電腦若有安裝解碼器即支援
Safari 無任何反應
多影音格式標籤支援法
<video controls><source src="" type="video/webm"><source src="" type="video/mp4″></video>
CSS3簡介
本來是獨立製作的規格,隨著HTML5發而一併討論,各家瀏覽器支援度差異大,而且CSS規則名稱也會加上不同的前置詞,規格分成許多模組,使用前請先行測試
30-2 漫談微軟 Windows Azure Platform 的安全性
公有雲(雲端供應商提供,直接租用)、混合雲、私有雲
基礎建設(Global Foundation Services)、開發平台(Azure Services Platform)、軟體平台
使用雲端運算,整個架構觀念要有所改變
正面因素:
1.只要按使用的方式付費
2.容易部署給終端使用者
3.按月支付費用
4.支援標準硬體
5.不需駐點的IT人力與成本
負面因素:
1.安全性(88%)
2.可用性
3.效能
4.隨選的成本可能更高
5.標準的互通性不足
負面(PaaS):
1.資料保護能力(66%)
2.存取控制能力
3.網路與系統漏洞管理
4.服務可用性
5.應用程式安全性
雲端安全風險:
傳統的資料問題仍然存在─XSS,Ddos…
雲端環境特性所衍生的資安問題─特權存取
新的資安問題
被解決的資安問題
自動化進行修補
提供彈性的備援機制
Cloud Security Alliance:2008年由電安全協會發起
不當或惡意使用
不安全的API介面
惡意的內部人員
共享技術的漏洞
資料遺失或洩漏
刦持帳戶、服務或流量
未知的風險
Windows Azure 安全性
資料中心該有的認證 SAS70,ISO27001
Wdinwos Azure 平台安全性
雲端服務的核心技術之一
資料與服務的隔離性
多使用者共用相同的服務建設
安全弱點:帳戶管理、不當授權、傳統資安問題
Windows Azure Storage
只能透過指定的執行個體
Windows Azure Storage Security
Windows Azure Srotage Security Tips
Table,BLOB,Queue
Demo 設定存取簽章
SQL Azure
SQL Azure Gateway─過濾 SQL Azure 資料庫連線
SQL Azure Security tips
非必要不建立管理員帳戶
不過度授予存取權
應用程式應使用 Procedure,View 等存取資料,務必使用參數化查詢
防火牆管理─IP應是有限制的開放
AppFabric Access Control
開發者的責任
雲端安全應用開發建議
30-3 整合 SharePoint 2010、Silverlight 及 Azure 開發新一代 RIA(Rich Internet Applications)
Silverlight 提供更多元的 UI 控制
Demo 使用 Silverlight 連接 Azure
Demo 使用 SharePoint 連接 Azure
30-4 SAP 報表中心新應用:SAP 最佳資料庫平台 SQL Server 及 SAP 報表中心應用及最佳範例分享
SAP 發展趨勢
硬體成長遠高於SAP系統和功能的成長
SAP 資料量不斷成長,造成資料庫越來越龐大
較小規模的SAP系統
SAP 提供輸入兩組資料庫的機制,用於執行 Mirro 的兩台資料庫,如果 SAP 找不到預設資料庫,系統會自動連接到 Mirro 資料庫
SQL Server 2008 R2 可使用在 SAP 上的新功能
資料庫壓縮─針對單一Table
備份壓縮─執行備份的同時進行壓縮,比以往先備份再將備份檔壓縮的做法不同
SAP 虛擬化
30-5 軟體開發流程的改善─應用 Visual Studio 2010 Ultimate 及 Team Foundation Server 2010
本課程重點在於程式碼管控,老師提到最多的還是觀念,什麼東西該納入控管,什麼東西不該納入,納入控管的東西有什麼要注意。
由於是最後一堂,Notebook 沒電了,所以沒有當場記。
1.即使一個人也要做版本控管,透過工具可幫助事後查詢所有變更歷程記錄(時間、註記…)。
2.資料夾分類最好統一,不要每個人每個專案使用不同的資料夾分類。
3.不要簽入不能正常執行的程式碼,請事先編譯過確認可執行再簽入,否則被別人簽出後使用會造成問題,如果真有必要可使用暫放(Team Foundation Server 2010 的新功能)。
4.不要簽入壓縮檔,將整個專案壓縮完後再放入無法達到版本控管的目的,根本無從比對起,不知道哪個版本改了什麼。
5.如果有參考外部檔案,最好放在 bin 底下一起簽入,外部檔案也是會有版本別的。如果在全域組件找得到需要嗎?
開發工具的功能越來越強,程式人員就可以減少製作文件及檔案整合等工作,將更多時間花在程式開發上,
但我們不能希望新工具能替我們做掉我們該做的事,系統架構不好的專案,使用新版工具還是不會變好,該好好思考。
順帶一提,這一次活動中,聽到了微軟很佛心的計畫:BizSpark
鼓勵新興網路公司,可以向微軟爭取資源,至少可以節省一開始的研發成本囉。
有興趣創業的朋友們,記得檢視一下自己是否符合BizSpark的資格 。
分類:上課心得

ThecDay 2010 之小光

2010/09/30 發表留言
分類:上課心得

TechDay 2010 心得報告 第二天

2010/09/29 發表留言
29-1 BOF 夠用、夠快、還是夠強,談辦公室應用軟體的抉擇
BOF 是大家針對自己在工作上遇到的問題還有對各種軟體的建議,
似乎今天來得都是MIS,幾乎都在談 Office,不過光是一個 Office 時間就不夠用了,
從升級新版本(2003->2007->2010)之後習慣及環境的改變,到討論最熱烈的向下相容的問題,
主持人根本沒什麼時間講話,大家搶著吐苦水發表問題,現場的微軟員工(微軟阿宅)都快應接不暇了,
看來對負責管理幾百台甚至幾千台電腦的MIS而言,大家根本沒空去在乎夠用、夠快、還是夠強,
只要問題夠少就可以成為完美的辦公室應用軟體了。
29-2 使用 BizTalk Server 完美串連 ERP/LOB 及雲端服務
雲端應用程式平台介紹
特質:
雲端運算是將電腦集中運用,未來使用電腦的運算能力就像是使用水電一樣,只要連上網就可以使用,不必自行投資建構。
無限延展(scalable)、彈性使用(elastic)
應用:
Windows Azure AppFabric
Windows Server AppFabric
微軟提供了 Private Cloud 的底層架構
Hosting Services,Caching Services,結合IIS管理介面
三大好處:
1.建立可延伸效能(ScaleOut)應用程式,AppFabric Caching是什麼?
2.加快即有ASP.NET網站的執行速度
3.管理與監控WF/WCF Services
BizTalk
與企業內部的應用程式做橋接,再與 Public Cloud 做資料交換,
BizTalk 提供多種 LOB Adapter,除了各式資料庫,甚至是 SAP,Oracle 等ERP系統
Biz Talk 與外部系統應用方式:SOAP,Database,File
Demo BizTalk 與 SAP ERP 橋接設定
Demo BizTalk 開發 SAP ERP 資料橋接,包裝成 WebService 並佈署至 Web Server
Demo WCF Workflow Service 與 BizTalk 的整合
結論
如何讓企業內部系統與雲端系統接軌,是企業必需考量的重要課題
透過 BizTalk Server整合企業內部多種系統並與雲端界接,能夠完全發揮…後面來不及抄>_<
29-3 資料庫安全:Microsoft SQL Server 稽核、追蹤及監視變更
變更偵測(Change Detection):
政府會要求提供哪些使用者在何時存取了哪些資料
敏感性、機密性資料保護是因應個資法必需做到的

安全稽核機制:SQL追蹤檔─並非很容易判斷誰存取了什麼資料、從資源的角度來說代價很高、C2稽核和通用條件模式接近但不完整
資料稽核:易出錯且難維護,容易產生Bugs
變更追蹤(Change Tracking):
2008 之後版本
記錄哪資料被異動過,但不儲存資料如何變更的異動歷程值
在交易的過程就同步的產生追蹤,和資料庫引擎完全整合
ETL update(類似Type 3 SCD)

資料庫層級─ALTER DATABASE AdventureWorks SET CHANGE_TRACKING=ON;
資料表層級─ALTER TABLE HumanResources.Employee ENABLE CHANGE_TRACKING;
變更追蹤會跟 transaction 綁在一起
透過特定系統函數可查詢變更記錄
改變資料表結構是否記錄?不行
是否有記錄改變前的資料?不行
sys_Change_Context 只有一個欄位?
如果有使用 Begin tran 再 Rollback 是否會有記錄?
異動資料擷取(Change Data Capture):
記錄更改歷程,交易完成後非同步產生(使用複寫記錄讀取器(replication log reader)),這個功能只有 Enterprice,Developer,datacenter 有
啟用資料庫─EXEC sys.sp_cdc_enable_db,啟用資料表─EXEC sys.sp_cdc_enable_table
建立名為"cdc"的資料庫結構(owner)
建立兩個 SQL JOB,_capture 作業─為觸發記錄讀取器
History 不記錄異動時間?
資料庫稽核(SQL Audit):
應用背影基礎:XEvent
Audit 可記錄 select 動作

舊有 SQL 版本的稽核方式:SQL Server Audio Report Services
29-4 資料庫效能提升:SQL Server 2008 R2 效能調教工具實戰
SQL Diag
PerfStat Script
效能分析
PAL:自動分析 Performance Counter 提供HTML報表…
定義環境後執行即可開始分析,報表中提供各種指標數據
SQL Nuxus:匯入 SQL Diag 資料(資料夾)後進行分析
HTML報表內可從各種角度 DropDown 去查詢明細
29-5 Azure AppFabric 開發實務,應用 Windows Azure AppFabric 實現企業 SOA(Service Oriented Architecture)
Access Control
協助企業管理 Service Bus 上來自各個不同來源的 User
管理機制:SSO
使用規則塑模定義使用者權限
Resource Types:token policy-設定權杖有效期間,scope-應用程式授權範圍,issue-應用程式的使用用或角色,rule-結合 scope 及 issue
Access Control 驗證方式未來會越來越多元

Service Bus
服務匯流排,串連企業內部大大小小的所有應用程式,
如果要讓各個裝置存取全球集中的資料中心,那就必需透過各式各樣的網路節點,防火牆規則及通訊協定都不同,
Service Bus 則是透過經過認證的入口提供資料轉傳的途徑。
Message Relay
Service Registry
Service Deployment Models
詳細內容不簡單,大致上就是目前只能使用 WCF

今天小朱老師的這堂課讓我真正見識到 Windows Azure 的真面目,
其實要做到可以從 Client 連接到 Service Bus,背後要實作的東西很多,
尤其是為了讓安全性夠嚴謹,需要很多道驗證的手續,目前要讓應用程式可以佈署到 Windows Azure 過程還蠻複雜的,
但是我相信未來應該會慢慢被簡化。
還是那個重點,一定要先熟悉WCF才能運用雲端技術。
分類:上課心得

TechDay 2010 心得報告 第一天

2010/09/28 1 則迴響
 
28-1 大會主題演講
分成各段介紹雲端運算及Windows Lync,透過實例分享廣告雲端、Windows Phone 7及Windows Lync Server
重點:
雲端伺服器仰賴某種技術將多台伺服器(可能是幾百台或更多)虛擬化之後成為一個服務平台,
底層依然是 Windows 2008 及 SQL 2008,但是比各一台的效能高得多,
而且自動執行各種 Service Pack 更新及自有一套防毒防駭機制,
Server Platform 企業建立私有雲,根據需求自行客製化,
Service Platform 使用微軟建立的公用雲

可惜坐太遠看不清小妹容顏
 
28-2 .Net 技術 2010 總覽與未來發展方向
此堂課是概念性的講述,沒有太深入的技術內容,因此將重點以雜亂無章的方法表列。
新的 WPF 控制項、多點觸控、Windows 7 功能、改善文字繪製
平板電腦是 64 位元,目前大部份的軟體也並沒有針對這個特性開發
預載應用程式(autostart):IIS啟動後馬上開始網譯,第一次瀏覽網站就不會那麼久、Web forms URL 路由、減少ViewState的大小、Web forms 圖表(Chart)控制項、ASP.NET MVC 2
網路瀏覽行為:瀏覽、搜尋、交易(將一個行為分成好幾頁跳頁執行)
Workflow服務、支援 WS-Discovery、ASP.NET URL 路由、REST WCF 服務、WCF 資料(伺服器分頁,二進位串流,行數(Row counts))
.NET 4 提供新的平行運算 APIs:平行迴圈、平行LINQ(PLINQ)、最佳化數量的(工作導向)平行運算、新的同步機制及平行集合類別
平行運算及LINQ應該會是未來的主流,在多核心系統及雲端主機上可以發揮最大的效果
HTML5的標準還尚未行成

.Net 2010 其實沒有加太多新的突破性的東西,只是更完整的提供未來主流功能
其中包含WPF、Silverlight、HTML5、平行運算、LINQ、Windows Phone 7
提供 SharePoint 開發環境
 
28-3 Visual Studio 2010 Extensions 開發實務
Visual 2010 可以接受擴充功能,而且可以自行開發,當自行開發的專案在執行時,系統會再開一個 vs2o10 來 Debug
MEF:有點類似介面,但無法事先定義屬性方法,使用attribute去定義方法或屬性的內容,Import及Export
透過MCG的講解與示範,了解可能的應用及開發方式。
 
28-4 資料庫管理:善用 SQL Server 2008 R2 工具進行 SQL Server 管理及常用問題排解
公用程式控制點(UCP):提供各式各樣監看及分析Server狀況
 UCP預設只能監看執行個體,如果想要監看資料庫,必需建立DAC(資料層應用程式)
 UCP只能使用網域使用者(Domain User account)執行
 UCP必需是10.5或更高的版本,10.5=S008 R2
資料收集器:將每一台Server的狀況集中到指定的伺服器
 UCP必需是10.5或更高的版本,10.5=S008 R2 
以原則為基礎的管理(PBM)
 可以使用中央管理伺服器(CMS)進行原則定義管理及佈署原則到各伺服器
 EPM Framework 軟體為免費
PowerShell 指令碼
 屬於 CommandLine 介面的 T-SQL 執行器,接受 .Net 語法,將某些反覆使用的程式碼存起來後以 PowerShell 執行很方便
 
分類:上課心得