56
The Feasibility Study and Implementation of ITRI SME-PDM on Microsoft .NET platform By Zheng-Nan Shi A thesis submitted to Department of Computer Science and Information Engineering College of Engineering National Taiwan University in partial fulfillment of the requirements for the degree of master in Computer Science and Information Engineering 2004

The Feasibility Study and Implementation of ITRI SME …pangfeng/ParallelDistributedLab/master... · The Feasibility Study and Implementation of ITRI SME-PDM on Microsoft .NET platform

  • Upload
    buikiet

  • View
    220

  • Download
    2

Embed Size (px)

Citation preview

Page 1: The Feasibility Study and Implementation of ITRI SME …pangfeng/ParallelDistributedLab/master... · The Feasibility Study and Implementation of ITRI SME-PDM on Microsoft .NET platform

The Feasibility Study and Implementation of

ITRI SME-PDM on Microsoft .NET platform

By

Zheng-Nan Shi

A thesis submitted to

Department of Computer Science and Information Engineering

College of Engineering

National Taiwan University

in partial fulfillment of the requirements

for the degree of master in

Computer Science and Information Engineering

2004

Page 2: The Feasibility Study and Implementation of ITRI SME …pangfeng/ParallelDistributedLab/master... · The Feasibility Study and Implementation of ITRI SME-PDM on Microsoft .NET platform

Abstract

…�dû˝àSzûÍ SME-PDM ß¹’e�ÜÍ$�Tƒ�, .NET �«, 1

‚à�, .NET �«=1TXíÖáÔ4Z¾Í$^?D&ˆÍ$jZ4� SME-PDMÍ$Ê�Tí¬˙2`XrÖ˚Ø, FJBÊ�, .NET �«,õTøPß¹’e�ÜÔ

$Í$, „pÊ .NET �«,ÞõT|¥_Í$íªW4� �d2}ÌHàSn?õT|

øP-Zpü, ¯¯$“ã¼íøP×�,ñÍ$� Êõð¶}}ªœs_Í$5Èí^

?, ¥s_Í$·Uà .NET �«, …b}�u�, .NET -ZÍ$DÝ .NET -ZÍ

$� BbêÛ, .NET -ZÍ$ÖÍªÝ .NET -ZÍ$ �<rí^?, Oº?DéÍ

$yx!Z4, 7/Z¾J(&ˆÍ$DØkÍ$íµÆ�� J,¥<ql}&Í$í%ð

.¢_àk PDM Í$, yªJPàÊLSÛbù“d•D-Z}&í×�,ñÍ$�

Page 3: The Feasibility Study and Implementation of ITRI SME …pangfeng/ParallelDistributedLab/master... · The Feasibility Study and Implementation of ITRI SME-PDM on Microsoft .NET platform

Contents

1 PDM Introduction 6

1.1 PDM Í$í– . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61.2 PDM Í$�� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61.3 SME-PDM Í$�Ü . . . . . . . . . . . . . . . . . . . . . . . . . 6

1.3.1 ql�Üc¯�� (Design Integration Management Service) 71.3.2 �…−„c¯�� (Version Control Service) . . . . . . . . . 81.3.3 ö�¼˙c¯�� (Check Design Control Service) . . . . . 81.3.4 ql‰yc¯�� (Design Change Control Service) . . . . . 81.3.5 ù�ª�−�c¯�� (Project Schedule Control Service) . 91.3.6 ›°�Çê=1�� (Collaborative Development Environ-

ment Service) . . . . . . . . . . . . . . . . . . . . . . . . . 9

2 SME-PDM Í$-Z 10

2.1 Í$-ZŠ?zp . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102.1.1 Layer4: Uà6�Þµ (Web Server) . . . . . . . . . . . . . 102.1.2 Layer3: Š?_ µ (PDM Activity Module) . . . . . . . . 112.1.3 ˙‰y’e�Ü_ (Engineering Change Control Mod-

ule, EC) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112.1.4 �…−�_ (Version Control Module) . . . . . . . . . . . 122.1.5 Óe�Ü_ (Bill of Material Control Module, BOM) . . 122.1.6 ÓKÞ·U‚�Ü_ (Life Cycle Management Control Mod-

ule, LCM) . . . . . . . . . . . . . . . . . . . . . . . . . . . 132.1.7 ù�ª�−�_ (Project Schedule Management Control

Module, PSM) . . . . . . . . . . . . . . . . . . . . . . . . 132.1.8 Layer2: XML j&µ (BizObject Framework) . . . . . . . 132.1.9 Layer1: ’e榵 (Database Server) . . . . . . . . . . . . 14

2.2 81zp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

3 Ç, SME-PDM �²Ñ .NET Framework �« 18

3.1 .NET Framework Introduction . . . . . . . . . . . . . . . . . . . 183.1.1 Microsoft ¬ ,ñê�½æ . . . . . . . . . . . . . . . . . . 183.1.2 .NET Architecture . . . . . . . . . . . . . . . . . . . . . . 193.1.3 Architecture . . . . . . . . . . . . . . . . . . . . . . . . . 19

3.2 SME-PDM xX A . . . . . . . . . . . . . . . . . . . . . . . . . 203.3 Ê .NET 2D SME-PDM óÉ5xX . . . . . . . . . . . . . . . . 22

3.3.1 ASP.NET . . . . . . . . . . . . . . . . . . . . . . . . . . . 223.3.2 ADO.NET . . . . . . . . . . . . . . . . . . . . . . . . . . 243.3.3 BizTalk Server . . . . . . . . . . . . . . . . . . . . . . . . 24

3.4 SME-PDM ¯�ªW4Ç, . . . . . . . . . . . . . . . . . . . . . . 243.4.1 VB to VB.NET ªW4Ç, . . . . . . . . . . . . . . . . . . 243.4.2 ASP to ASP.NET ªW4Ç, . . . . . . . . . . . . . . . . 25

3.5 BizObject Framework Ñ�Wzp�²¼˙ . . . . . . . . . . . . . . 25

1

Page 4: The Feasibility Study and Implementation of ITRI SME …pangfeng/ParallelDistributedLab/master... · The Feasibility Study and Implementation of ITRI SME-PDM on Microsoft .NET platform

4 PDM Í$˙�qlõT 27

4.1 Í$Çê¼˙ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 274.2 õTŠ?}& . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284.3 -Zql . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

4.3.1 .NET N-tier -Z–1 . . . . . . . . . . . . . . . . . . . . . 294.3.2 PDM Í$-ZUà Microsoft .NET . . . . . . . . . . . . . 30

4.4 Uà6�Þµ(Web Server Layer) . . . . . . . . . . . . . . . . . . . 314.4.1 ASP.NET . . . . . . . . . . . . . . . . . . . . . . . . . . . 314.4.2 User Interface Design . . . . . . . . . . . . . . . . . . . . 334.4.3 Cache . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

Application Cache . . . . . . . . . . . . . . . . . . . . . . 35Session Cache . . . . . . . . . . . . . . . . . . . . . . . . . 35A Cache Example . . . . . . . . . . . . . . . . . . . . . . 35

4.5 Š?_ µ(Activity Module Layer) . . . . . . . . . . . . . . . . . 364.5.1 Simple Object Access Protocol Introduction . . . . . . . . 37

XML introduction . . . . . . . . . . . . . . . . . . . . . . 37Web Service . . . . . . . . . . . . . . . . . . . . . . . . . . 38SOAP message architecuture . . . . . . . . . . . . . . . . 39SOAP Example . . . . . . . . . . . . . . . . . . . . . . . . 39

4.5.2 Interface Module . . . . . . . . . . . . . . . . . . . . . . . 40An Interface Module Example . . . . . . . . . . . . . . . . 40

4.5.3 Component Module . . . . . . . . . . . . . . . . . . . . . 414.5.4 Entity Module . . . . . . . . . . . . . . . . . . . . . . . . 41

An Entity Module Example . . . . . . . . . . . . . . . . . 41Z¾Í$&ˆ£�Ü . . . . . . . . . . . . . . . . . . . . . . 42

4.6 ’e榵(Data Access Layer) . . . . . . . . . . . . . . . . . . . . 434.6.1 Data Access Component Module . . . . . . . . . . . . . . 43

Data Access Component Example . . . . . . . . . . . . . 444.6.2 ADO.NET Introduction . . . . . . . . . . . . . . . . . . . 45

Data Access Example . . . . . . . . . . . . . . . . . . . . 454.7 ’eéµ(DataBase Layer) . . . . . . . . . . . . . . . . . . . . . . 45

4.7.1 }&¦)Í$’e[ . . . . . . . . . . . . . . . . . . . . . . 454.7.2 � ’e[D’e[5ÈíÉ© . . . . . . . . . . . . . . . . . 474.7.3 ’eéÍ$-Z . . . . . . . . . . . . . . . . . . . . . . . . . 48

5 Experiments 50

5.1 Ý .NET -Z -Í$�Ü . . . . . . . . . . . . . . . . . . . . . . 505.2 Experimental Environment . . . . . . . . . . . . . . . . . . . . . 515.3 Experimental Results . . . . . . . . . . . . . . . . . . . . . . . . . 52

6 Experiences 53

2

Page 5: The Feasibility Study and Implementation of ITRI SME …pangfeng/ParallelDistributedLab/master... · The Feasibility Study and Implementation of ITRI SME-PDM on Microsoft .NET platform

List of Figures

1.1 ql�Ü��«Tí–1_� . . . . . . . . . . . . . . . . . . . . . . 71.2 ›°�Çê=1��-Z . . . . . . . . . . . . . . . . . . . . . . . . 9

2.1 SME-PDM Í$-Z . . . . . . . . . . . . . . . . . . . . . . . . . 102.2 EC Module ˙�¼˙Ç . . . . . . . . . . . . . . . . . . . . . . . . 112.3 Í$épåÞ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152.4 Í$-Z . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152.5 Í$ép(åÞ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152.6 Í$-Z . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152.7 Uà6²ÏhÓeK[À . . . . . . . . . . . . . . . . . . . . . . . . 162.8 Í$-Z . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162.9 Uà6hÓeK[ÀB’eé . . . . . . . . . . . . . . . . . . . . . . 162.10 Í$-Z . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162.11 hÓeK[ÀêA . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172.12 Í$-Z . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

3.1 .NET -Z–h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193.2 SME-PDM Í$xX A . . . . . . . . . . . . . . . . . . . . . . . 203.3 SME-PDM Í$óúÊ.NET 2óÉxXÇ . . . . . . . . . . . . . . 223.4 ASP.NET -Z . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233.5 Web service Overview . . . . . . . . . . . . . . . . . . . . . . . . 233.6 ComException Error . . . . . . . . . . . . . . . . . . . . . . . . . 26

4.1 .NET $“@àÍ$-Z . . . . . . . . . . . . . . . . . . . . . . . . 294.2 PDM -ZqlÇ . . . . . . . . . . . . . . . . . . . . . . . . . . . 304.3 ASP ÏW¸W, Uà6�pâ±£E�� . . . . . . . . . . . . . . . . . 324.4 ASP ÏW¸W, /�ÂÏW Script, 1�fÏW(!‹� . . . . . . . . . 324.5 ASP ÏW¸W, Uà6Z½ÂQY*/�Âf�í HTML !‹� . . . . 334.6 ASP ÏW¸W, Uà6Z½Â�ý HTML !‹� . . . . . . . . . . . . 334.7 Uà6²¦Uà)4²á . . . . . . . . . . . . . . . . . . . . . . . . 344.8 DataGrid Ê)4_�Uà DropDown List . . . . . . . . . . . . . . 344.9 UàDropDown List ²¦;bqìí,�¶Æ . . . . . . . . . . . . . 344.10 ,�¶ÆZ‰(íÕG . . . . . . . . . . . . . . . . . . . . . . . . . 344.11 Í$�áÕG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 364.12 Uà6George épÍ$ . . . . . . . . . . . . . . . . . . . . . . . . 364.13 ßÞApplication Cache . . . . . . . . . . . . . . . . . . . . . . . . 364.14 ßÞSession Cache . . . . . . . . . . . . . . . . . . . . . . . . . . . 364.15 Uà6×Ç,Session Cache ¾Ü . . . . . . . . . . . . . . . . . . . . 364.16 Actvity Module Layer Architecture . . . . . . . . . . . . . . . . 374.17 WebService æ˜-Z . . . . . . . . . . . . . . . . . . . . . . . . . 394.18 SOAP Message Architecture . . . . . . . . . . . . . . . . . . . . . 394.19 Data Access Layer Architecture . . . . . . . . . . . . . . . . . . . 444.20 Database Table list . . . . . . . . . . . . . . . . . . . . . . . . . . 46

3

Page 6: The Feasibility Study and Implementation of ITRI SME …pangfeng/ParallelDistributedLab/master... · The Feasibility Study and Implementation of ITRI SME-PDM on Microsoft .NET platform

4.21 The relation between Departments and Roles Table . . . . . . . . 474.22 Database Structure . . . . . . . . . . . . . . . . . . . . . . . . . . 49

5.1 Ý.NET –1Í$-Z . . . . . . . . . . . . . . . . . . . . . . . . . 505.2 õð!‹ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52

4

Page 7: The Feasibility Study and Implementation of ITRI SME …pangfeng/ParallelDistributedLab/master... · The Feasibility Study and Implementation of ITRI SME-PDM on Microsoft .NET platform

List of Tables

5.1 Í$Uà,ñxX’e . . . . . . . . . . . . . . . . . . . . . . . . . 515.2 wñºe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51

5

Page 8: The Feasibility Study and Implementation of ITRI SME …pangfeng/ParallelDistributedLab/master... · The Feasibility Study and Implementation of ITRI SME-PDM on Microsoft .NET platform

Chapter 1

PDM Introduction

…ı��Üs_3æ}�Ñ Product Data Management(PDM) í!…–1£ûÍÇ

êí PDM óÉ,ñ SME-PDM� ‡ú PDM !…–1¶}ízp}�Àí·H PDMÍ$í–£ PDM Í$��, 7Ê SME-PDM �ÜjÞ, Bb}ú SME-PDM íŠ?

Tø_Ì`ízp� -Þdı¡5ûÍ SME-PDM `çdK[1]�

1.1 PDM Í$í–

ß¹’e�Ü (PDM) |o–Ä�Ê1985�, o‚uUàÊNØ“� çvšßt− (Boe-ing) ı�?�O¬ í%ð� dK’e� 0§ûê, Ošßt−êÛ-HÛï:

• ’e¾£læ˛ÈØ×�

• ’e½©.q�

• ’e³ÜC.êc�

• ̶vƒ®dK’e5�^�…�

• ’e5y‚àgMQ�

šßt−Ñ7j²J,½æ1T¯’ey‚àgM, šßt−Ð/Ip�¬400N1j

�0ß¹’e�ÜÚä“Í$ (e-PDM), 1;WÔ$Í$‚àÚä“xXdKu�, AŠ

˱Q25%íìœÇêv˙� ¡�V«É6¢–ø³ PDM êã, wŸÄuÄÑÅq$“

%Ð6˛<…ƒß“×=15·œ, Úâ`¨c¯?‰�Ñhß¹ûê5c¯?‰�

1.2 PDM Í$��

ß¹’e�ÜÍ$ (PDM) uJß¹Ñ2-íûê›°T�«� ¤Í$ªJ}é� ½Õ

ß¹Þ·U‚2Fß|5xXdK� Çf� [À, 1J"� }&ß¹Þ·U‚qFßÞ5

óÉ’m� ß¹’e�ÜÍ$ªfn’mÏà, Tôß¹¹”� òsqlvÈ, JT¯ß¹

’e5y‚àgM� PDM Í$%¬D$“’Äd• (Enterprise Resource Planning,ERP) �Í$íc¯, ªøß¹’e��ƒc_$“’m“Í$, ¹êA*ß¹ûêƒÞß

`¨�»í�Ü, |�õÛêcíß¹Þ·U‚�Ü (Product Lifecycle Management,PLM)

1.3 SME-PDM Í$�Ü

…��ÜûÍÇêí PDMÍ$, Bb˚…Ñ2ü$“’e�ÜÍ$ (Small and MediumEnterprise, SME-PDM)� ¤Í$uûÍ%¬Ö�VÊ$“äR� PDM í-)7û

ê, uø__¯Åq2ü�$“5ß¹’e�ÜÍ$� J%íß¹’e�ÜÍ$íûpÛb

6

Page 9: The Feasibility Study and Implementation of ITRI SME …pangfeng/ParallelDistributedLab/master... · The Feasibility Study and Implementation of ITRI SME-PDM on Microsoft .NET platform

Ip×¾ívÈDA‰A…, úk2ü$“7kÊ¥jÞíI’%%œÑãF, OÓO$“

úkTô¬�‰íb°5-, $“ûp PDM øu#“$“¬�‰í½bx�

ß¹íÞ·U‚3b¨Ö�îEÛ°� ql¼¨� `¨DÞß�Ü� �»D»(��£

ß¹�YJ0�, 7‡ú_¼¨Ñß¹íÇ꼨� ;W Alan MacCormack[4]û˝$l, û꼨ø2cñß¹í¹”£àcñA…í80%� ĤàSUà�^í�Üj¶

D’m$¯xVTÜql¼¨FßÞí®é�˙’m, úkT¯ß¹¬�‰4uÝ�

½bí�

øO7k, ß¹’e�ÜÍ$ (Product Data Management System, PDM) ªJ

j²ql¼¨í�ÜÛ°J£×¶}í’mc¯íT� ñ‡ÅqÕ˛�rÖ×�$“ù

ª PDM Í$dß¹íûê�Ü, 6úk PDM Í$T¯ß¹ûêí^06·�M'ì

íG�� OuùªøPŠ?êcí PDM Í$úk2ü$“7k1.uêr¯¯A…^ï

í, ÄÑ PDM Í$*ûpƒÍ$�0� Š?î„“J£Í$,((í&ˆ�, ·Ûb$

“3Ip.ýíA‰D%‘� ÇÕ, ñ‡$“`¨Þ߲%�ù“}í�², Ĥ,-Á

í$“È›°Çêß¹J±Qß¹A…íº�˛nÚäõ� Oñ‡1³�ø_êc/ûp

A…Qí PDM Í$VX¶$“ªW›°ûêí�Ü� Ĥñ‡2ü$“ªJUàûÍ

Çêí2ü$“’e�ÜÍ$, ÄÑ SME-PDM uø_úk2ü$“VzA…œÑQî,1/Š?_àíøáß¹�

-ÞBb�Ü SME-PDM í3bŠ?, d2}As_3æ, }�zpql�Üc¯�

�J£›°�Çê=1��íŠ?�

1.3.1 ql�Üc¯�� (Design Integration Management Ser-vice)

ql�Ü��3bÊTXß¹ql’m�ÜóÉŠ?� ql�Üc¯��íŠ?�ûá}

�u�…−„��� qlö�¼˙��� ql‰y�Ü��£ù�ª��−��� d�…−

„��càV�Üql’mí�…, dqlö�¼˙��càV�Üql’mí¼�öð’e

¼˙, dql‰y�Ü��càV�Üql’m‰y’m, dù�ª��−��càV�Üûê

ù�ª�Š?� J%Ê×�$“Uàí PDM Í$2n�¥<��, úk2ü�$“Cu

øOí_A7kùª×�$“Uàí PDM Í$%%u_’½íŠV� ÛÊ SME-PDMÍ$TXdql�Üc¯��cí–1� $“CUà6ªJYW$“íql�ܼ˙CAÐ

íÛ°N¬æÒæ˜Uà SME-PDM Í$FTXíql�Ü��, 1�â��Uà_�

V±Qûp PDM Í$íA…, Ç 1.1 Ñql�Ü��«Tí–1_��

internet

SME-PDM provider

DB

Server

Person

Flat File Enterprise

Figure 1.1: ql�Ü��«Tí–1_�

ql�Üc¯��–1?DõÛ±Q$“A…DT¯ß¹¬�‰íè�5Éœ, ÊkF

�Š?��íTX·b�Uà6.°í–}, à¤n?ü\TX_¯í��#.°Û°í

$“ñCuøOíUà6� ÇÕ, YWUà6íÛ°DÛ°Õ”.°, Í$ql�Ü��È

íŠ?ªJó�c¯, �JTXy�˜í��#Uà6�Í$c¯j¶ªJYWUà6íÛ

°>âè½ÈÑVc¯q0, 1/ªYW$“íÛ°ªW�Gº0J®ƒö£±Q$“í

UàA…� J-zpql�Ü��í®áŠ?��qñ�

7

Page 10: The Feasibility Study and Implementation of ITRI SME …pangfeng/ParallelDistributedLab/master... · The Feasibility Study and Implementation of ITRI SME-PDM on Microsoft .NET platform

1.3.2 �…−„c¯�� (Version Control Service)

�…−„c¯��?TXql¼¨í’m�…‰y�Ü� Êß¹íql¼¨, $“íql¶

Æ}ÄÑß¹í–1ßÞrÖíqldK, 7Êß¹ql¼¨í¬˙2, ß¹ql’m}Ä

Ñ/<ÄÖí‰y7Z‰, WàîEÛ°Z‰Cß¹ql.G�ÄÖ� àƒß¹íql’

m, 7U)ql’m�.°í�…ßÞ� úk×�ß¹Ç꼨íù�, rÖ1Wíqld

K}Ê°vßÞ, qldK6ª?°vʉy, Jql6¦).£üí�…dK’mø}¨

Aª�,íôb, Ĥ$“Uà�…−„c¯��úk&ˆql’mí£ü¦)�"úí

6Œ�

�…−„c¯��FTXíŠ?ª}As×é, }�Ñ�„�…’m£�…’mR¦Š

?, zpà-: �„�…’mŠ?�, péGæ (Check in)� |é^Z (Check out )� �…êW (Release)� Z� (Revise) J££�� (Official) �Š?� ÇÕ�…’mR¦Š?

�, ¦)|h£�� (Get latest release)� ¦)|h� (Get latest revision)� �…‰y

v˙�e (Revision history) £f��eD‰y’m&ˆ�Š?� $“@à¥<Š?Êq

l�Ü,, ªJ�^í¦³ql’mí�…, ÁýÄ’m�…í½æ¨Aqlª�íôb�

1.3.3 ö�¼˙c¯�� (Check Design Control Service)

çql’eƒ/øêAõv, ö�¼˙c¯��àV²ìql’eu´£üC¯¯qld

¸� 7øOqlö�¼˙׶}·uUà[À, YÎ[Àqì2íö�Aº¼�ßå, Yå

f¼#©_ö�AºªW’eö�í�T�

ö�¼˙c¯��†TXø_Úä“í¼˙�Ü=1, Uà6ªJAWì2� T¼

˙, ÄѤÍ$TXÇ$“ (Uà Microsoft Visio x) í¼˙ì2Š?#Uà6ì2

Uà� 7ʼ˙9K¦øjÞ, Í$uN¬ E-mail íj�V¦ø¼˙í¡D6J£dK

íT6, 6ªJN¬Í$í¹vm7��Vf], JTX£v/0§í¼˙]£���

Êö�¼˙��2FTXíŠ?3b�Ç$“¼˙qì� ¼˙TiHN»� 9K¦ø

qì� HÜAœ„� ö�v˙J"�� 7ql’eCdKªp¼˙íj�†ªJN¬Úä[

ÀH£CuòQøql’eJ2�’ej�£p¼˙52, wÈí¦ŸªJYWUà6í

3UC$“íÛ°7ì� øO7k, ql¼˙Úä“×·Ûb/<˙�íî„“, ĤÊû

pö�¼˙��vÛbè½ÈÑ»ºn?�ªœßí��¹”�

1.3.4 ql‰yc¯�� (Design Change Control Service)

çql’e¦¬êWö�(, Uà6.?DL<‰�ql’eíÕG�7çUà6Ûb‰y

˛%êWí’e, Ì�uhÓ� ^ZCutη.âb%¬ql‰yí¼˙C˚5Ñ˙‰

y (Engineering Change, EC) üw(n?\‰y, ¥šíñíu$“ı�?DN¬Í

$¦³ql’eí‰y�

øOql‰yí¬˙ª}Ñs¼¨, }�Ñql‰y (Design Change Request, DCR)£˙‰y (Engineering Change Request, ECR)� çUà6Ûb‰yql’ev.â

lT|ql‰y (DCR) íÛ°, 1zpÛb‰yíŸâJ£F;b‰yíáñ� ʦ¬

ö�(âql‰y�„AºßÞ˙‰y·I (ECR), 1ê»#óÉíŠ�Aº� çF�

í˙‰y·IêA5(, yê|¦ø#®óÉÀPDAº1êAc_‰yí˙å�

Êql‰y��23bTXql‰y’mí�„� ÏWÕGJ"J£ÏW!‹í$l�

Š?� 7Êql‰yö�¼˙jÞ, †uc¯ö�¼˙��VTXö�¼˙Š?� !…,q

l‰y��ª}As�é�, }�Ñ„�“J£î`“‰y�Ü��, s6íÏ�}�zp

à-:„�“‰y�Ü��uÍ$TX„�í‰y¼˙qìÍ$, Uà6ªJYWÛ°ªW¼

˙íº0qì� ç‰y¼˙ö�¦¬v, Í$}A�� Uà6FNìí‰y·I, 1ê¦

ø#‰y·I,F²ìíË�6, JÏW‰y·IF-5qñ�

î`“‰y�Ü��, 3bué$“í“�TÜÔ4‹pql‰y��52, U)��

?D¯¯$“º�ª7T¯º�í^0� øO7k, $“àÛUàî`“‰y�Ü��v,$“Ûbùp×¾íè½ÈÑ, ÄÑql‰y¼˙%%ÛbFÀPí5¾, /}æÊ/<Ö

Ôí“�TÜj4� à‹Ê›°ûêí=1v, î`“‰y¼˙†ÛbªWF$“í¼˙c

¯� 7¤¶MíõT, .ââè½Èчú$““�Û°ªW}&1õTCu|c|¯_í

Š?X#$“Uà�

8

Page 11: The Feasibility Study and Implementation of ITRI SME …pangfeng/ParallelDistributedLab/master... · The Feasibility Study and Implementation of ITRI SME-PDM on Microsoft .NET platform

1.3.5 ù�ª�−�c¯�� (Project Schedule Control Ser-vice)

ù�ª�−�c¯��3bŠ?uù��0� hÓù�’Ä£T�0�Š?� ù�ª�

−�c¯��?� ø_AŠ/�^0íù�, ¤��ªJ�^d•ûêT9á, Uù�

�Ü6ªJ¯ÜT}»/üõ¦−ûêª�� $“UàN¬ù�ª�−�c¯��, ªà

V.ŒµÆíù�5ÏW, U)ù��ܺ¦³FÏWù�í®á��, 1úkª?íôb

T|£v¥@D²µ, Uù�íR�y‹ß‚�

1.3.6 ›°�Çê=1�� (Collaborative Development Envi-ronment Service)

ñ‡$“Ñ7b±Qß¹íÞßA…D}àêÔ, 7øß¹¶}qlN¬ãÕíj�D¯

��¼ø°ªWß¹íÇê� J$“N¬¤øj�VªWß¹Çêv, $“.âÞúí½

æu’mu�½æ£àSªWûê−�s_¶}� ÊJ‡ÄÑ$“í’mÍ$í¥£4œ

ò£Ì_çCgP¯Üí.ŒÍ$, FJ$“׶}í�Ü3b´uN¬G�íj�Vª

WóÉí¼˙�T� SME-PDM Í$TX›°�Çê=1��, TÑj²¥_½æíj

¶� ›°�Çê=1��íÍ$-ZàÇ 1.2 Fý�

B Company

A Company

DB DB

PSfrag replacements

’mí>²

¼˙c¯

ª�í−�

Figure 1.2: ›°�Çê=1��-Z

›°�Çê���úá½õ}�u’mí>²� ¼˙c¯£ª�í−�� ’m>²jÞ,$“Èí’m>²Uàô.™pxk (Extensible Markup Language,XML)[5] ���

XML uñ‡$“ä|�Uà·H’eíø���, $“Uà XML ªJ'jZés_.

°íÍ$T’m>²�

ʼ˙c¯jÞ, SME-PDM Í$Uà2�,ñ (Middleware) ªW$“Èíc¯�

2�,ñuuJf]£TÜm7Ñ3í,ñ-Z� 2�,ñí–1éNæ˜,f£í’e

¥¨, É.¬%¬2�,ñê£í’e ¯ªœµÆ, ©°m7}�®Aí™æ�Å�×ü�

£wF®�®ší’mD��� 2�,ñŠ?ªJ3�/��Níøm7f]#ÛbQY

í˙�Í$, QY«íÍ$.â¿©ø_CÖ_ä− (Channel), ¥š2�,ñÿªJN

¬¥<ä−, zm7f£#QY«� SME-PDM Í$ÿuN¬¥<ä−ªW$“Èí¼˙

c¯�

ʪ�í−�jÞ, SME-PDM Í$c¯5‡Tƒííù�ª�−���¸Í$’m

>²xX� ’m>²xXªW$“’e>²5‡,Ûbú’m�|D�p��ªW}&Dq

ì� ’m��í�p�|.âú$“È›°ûêº�FÛí’mªW}&(, Bbn?ø−

��@vàSqì� êA’e��íqì(, Í$øYWqì, A�kNìívÈC9Kí

¾�, ó�’mjKªW’míf£DR¦� úkvÍ$íUà67k, ÉÛbYWF)í

Õ¶’mªW²µ‡i, .âI‘�‰DvÈ cÜD -Fb>²í’e, 1ª°vúÖ

_$“ªW’e>²í�T, òsTÜvÈÁý˜ÏíêÞ�

$“Êûp SME-PDM Í$v, íl.â� $“È��í¯TN�, 1k¤N�2

ì2›°¼˙í’m_�, ¨Ö’e!ZJ£f���� ÇÕÂj.â¿ì˜Ï�@µI,<¹çÏW‚ÈJ�LSí˜Ï(¨ÖÍ$ÏW˜ÏJ£ÏW$“j4Fû_í˜Ï) |Û

vÂjÍ$vàSTÜ, QOªWqìD$“j4íî„“J¯¯›°N�F¿ìíqñ�

øO7k, àS¿ìÂjí›°¯TN�øuûp¤ø��|×í‘D�

9

Page 12: The Feasibility Study and Implementation of ITRI SME …pangfeng/ParallelDistributedLab/master... · The Feasibility Study and Implementation of ITRI SME-PDM on Microsoft .NET platform

Chapter 2

SME-PDM Í$-Z

Ê…øı2}�Ü SME-PDM Í$-Z, 1}�ÅH A¤Í$-ZíjKŠ?� ¤Í

$-Zí˝áuJf$�íúµ�-ZÑ!�, 1‚àf$�úµ�-Z‹JZG7A� …

ı|(}Uà81zp, é×ðnj¥_Í$uàSÏWí, ÊÍ$ÏW¬˙2, àSDÍ

$-Zóú@�

2.1 Í$-ZŠ?zp

SME-PDM Í$-Zí˝áuJf$�íúµ�-ZÑ!�, y‹,J XML í–1Z

G7A� F‚íúµ�-Z¹uøÍ$íŠ?YwL�}ADUà6��íUà6�Þµ�

Š?�-íj4TܵJ£’eæ¦D>qTÜí’eTܵ� �âÀUíì2äì©ø

µíL�, ]ª�“Í$í&ˆ4, úk„VŠ?ô.í�4?×Ù�íÓ‹� 7 SME-PDM 6u!kúµ�-ZFô.Çê|VíÍ$, Dúµ�-Z�F.°, SME-PDMuø_ûµ�-Z� à2.1 FýÑ SME-PDM 5Í$-Z� Êc_Í$-Z2, ’ek®

µ5Èíf]3bu@à XML ��TÑ’m¨_í!�� 7@à XML íóÉxXVÇ

êÍ$ª�“rÖJ%wÑu˚Øí’eTÜ, ª7Ó‹Í$í ì�DòsÍ$íÇê

v˙� Ç2®µFŠ�íL�ÅHà-:

Web Server

BizObject Framework

DB Server

PDM Activity Module

Layer4

Layer3

Layer2

Layer1

XML

Client Browser

Figure 2.1: SME-PDM Í$-Z

2.1.1 Layer4: Uà6�Þµ (Web Server)

Uà6DÍ$ǦD��í�−uUà6�Þµ� …µxXu‚à Microsoft Active ServerPages (ASP) xXŸA, BbUà¥�xXªJŸ|�GæÜ, éøOUà6ªJDÍ$

ßÞ��� ASP ÏWí=1ªJUà Microsoft Internet Information Server (IIS) C

Personal Web Server (PWS) s�æÜ3œ� ASP uø�òå�í˙�xk, ñ‡D…

�ó°Š?í˙�xk� PHP�Perl. . .�� òå�í˙�xkDøOBbUàÛb)åí

10

Page 13: The Feasibility Study and Implementation of ITRI SME …pangfeng/ParallelDistributedLab/master... · The Feasibility Study and Implementation of ITRI SME-PDM on Microsoft .NET platform

˙�xkÏWj�.°, Bb|�Uàí C xkÿuø�)å�˙�xk� )å�˙�x

kíÏWj�uUà)å (Compiler) ø˙�{�²AœÂòQªQ§íœH{, œÂ

yÏWœH{� 7òå�˙�xkuÔvxkíòå (interpreter) Vd˙�{í�å,1âòåÂH�˙�{…™VÏWbdíF�í�T� FJòå�˙�xk¦�ÏW^0

%%u.à)å�xkí�

…µŠ�Í$’eí×Û, 1/ÏWÍ$DUà6��íóÉŠ?� Uà6‚àZ½Â

©QƒUà6�Þµ, ¤�ÞµQ§Uà6íÛ°ÏWóÉíŠ?, 1éUà6×);ø−

í’e� w3bí�Tœ„Ñ:

• Q§Uà6íÛ°ÏWóÉíŠ?�

• f]âŠ?_ µ�|í!‹�

• ⇫í˙�N¬ãlì2Cu�GßÞí XML ’e�|¸…, 1ø’e�²(

�|ƒîE«� 7Ê XML ’e2ΨÖÍ$Fk�Ûí’eÕ6¨ÖDUà6�

�í¶}�

2.1.2 Layer3: Š?_ µ (PDM Activity Module)

…µÑÍ$Š?�-,Š�Í$2F�í¼“j4Š?_ � ÊŠ?_ µ2íŠ?_ ¨

Ö˙‰y’e�Ü_ � �…−�_ � Óe�Ü_ � ÓKÞ·U‚�Ü_ £ù��

Ü_ ��

ÊŠ?_ µ2íŠ?_ ®�ùÆíŠ?O˛¤È¢�›°¯TíÉ[� Š?_

í�Tœ„3b�@VAk Web Server íãÊ7ùê�T, CuVAkwFÊŠ?_

µ_ íãÊFßÞí�T, Š?_ µ}YW…™«�íÛ°7ãÊ�µí BizObjectFramework Layer , y* BizObject Framework Layer ¦)í’e‹J«�, y�|

|(«�!‹�

…µ23bí_ Š?·Hà-:

2.1.3 ˙‰y’e�Ü_ (Engineering Change Control Mod-ule, EC)

˙‰y�Ü_ [2]3bíŠ?u�Üß¹í˙‰yóÉdK, ¨ÖhÓeK (Bill ofMaterial, BOM) C~À� eK (BOM) ^ZC~À� Çd^ZC~À� ß¹d�z� ß

¹qlÇ. . .�� ÄÑß¹ÊÇêí¬˙2, ØnÄÑø<.üìÄÖí‰�, .â^ZŸ

Vß¹ql’e� duîEÛ°Z‰� Ñ7±Q`¨A…C±Qî�A…�ÄÖ, ·�ª?

¨Aß¹ql’eZ‰�

PSfrag replacements Çá

½æõÊÕ

T|‰yÛ°

‰y|Œ

T|j²j�

õl‰y

êA

ö�½æõ

ö�‰yÛ°

ö�j²j�

ö�/ð„‰y!‹

êc¼˙�q¼˙

Figure 2.2: EC Module ˙�¼˙Ç

11

Page 14: The Feasibility Study and Implementation of ITRI SME …pangfeng/ParallelDistributedLab/master... · The Feasibility Study and Implementation of ITRI SME-PDM on Microsoft .NET platform

ç˙‰yóÉdK¦¬êWö�(, Uà6.?DL<‰�ql’eíÕG� 7çU

à6Ûb‰y˛%êWí’e, Ì�uhÓ� ^ZCutη.âb%¬ql‰yí¼˙C

˚5Ñ˙‰y (Engineering Change, EC) üw(n?\‰y�

Ç2.2 Ñ˙‰y�Ü_ ˙�¼˙Ç, *¤Ç2ªJÀUnj˙‰y�Ü_ íÏ

W¼˙, 7/Ê©ø_¼¨, ·.Ûb%¬ö�¥_�T, ¥šªJé©_¼¨·?Düõ

dƒ, 7.ñq|˜� ¤_ TX7s�˙‰y�Üí_�, ø�u�q¼˙, TX7ø

_�Z0§íj¶, éUà6ªJà|0§£üíj�^Z˙‰yóÉdK, Çø�j�

uêc¼˙, TX7ø_œÑÃãüõí¬˙, ¨Ö7‰y|Œ£T|‰yj²j��, é

Uà6^Z˙‰yóÉ’eƒ®œÑê1í˙��

2.1.4 �…−�_ (Version Control Module)

�…−�_ 3bíŠ?uéUà6ªJ−„ql’e�…, éUà6.}¦)˜Ïql

’e, 7û_$“íß¹Þßôb� Uà6Uà�…−�_ , éUà6ªJJN^Zql

’ev˙, 1éUà6&ˆ|hql’e�…� wñíuÁýÄÑ’myhF¨Aí˜Ï,d¸’myh«T˙å, ªªWv˙a−DJ"� ÄÑ�…í‰�úkß¹íql¼¨7

kuÝ�äõí, é¡DAºø−óÉíql’e˛%\yh, úkql7k4uÝ�½b

í, ÄÑñ�¦)£üíql’m, n?&Mqlí¹”£‹§ß¹íÇê, úkqlAº

7k, £ü/¹ví’m, ªJêµ|×ívÈ^ï� úkql�Ü7k, ªJ�^í±Q

˜ÏíêÞ, T¯ß¹í¹”J£�^±QA…Ó‹ß¹¬�‰�

�…−„_ FTXíŠ?ª}As×é, }�Ñ�„�…’m£�…’mR¦Š?�

�„�…’mŠ?�péGæ (Check in)� |é^Z (Check out )��…êW (Release)�Z� (Revise) J££�� (Official) �Š?� �…’mR¦Š?�¦)|h£�� (Getlatest release)� ¦)|h� (Get latest revision)� �…‰yv˙�e (Revision his-tory) £f��eD‰y’m&ˆ�Š?� $“@à¥<Š?Êql�Ü,, ªJ�^í¦

³ql’mí�…, ÁýÄ’m�…í½æ¨Aqlª�íôb�

2.1.5 Óe�Ü_ (Bill of Material Control Module, BOM)

Óe�Ü_ 3bŠ?u‡úÉKD K (,˚eK) í’ed�ÜD&ˆ� ¤_ DÓK

Þ·U‚�Ü_ T7c¯, çUà6Ûb&ˆeK’e, Wà^ZChÓ, Uà6/Ÿê

eK[À(, Óe�Ü_ }UàÓKÞ·U‚�Ü_ , z[Àf£#Ûbö�¤[Àí

Aº� eK[À%¬µµö�ɵ(n?�uhÓAŠ�

Óe�Ü_ í�¶Š?à-:

• &ˆeKhÓ� ^Z� tÎ�CheckIn� É:�Ç�

• eKC~[ÀÍThÓ� ×�� ^Z� tÎ�

• eKÉ:’mŒÉ�

eK˘k PDM Í$ÓKíøáé�, ĤeKÓKDdKÇÞéN, °šË�ÓKí’

mDWÑ� eKÓK3bp“$“2ß¹õñí…�’m, dĆÿuø�$“íß¹, µp“…í[À}p-Ćí‡e� $Õ£Å�d��� [ÀªJqìDvß¹Fú@ƒí

qldK, duĆíÇÞ$Õ’e, óÉd�’mdK� ˙ÇÞ�’e� -ÞF�Ñe

KÓKí˘4£É©’m:

• ÓK˘4: eU� e±� ÀP� d���

• ÓKÉ:’m:

– eKDeK5É: (ß¹!Z)

– eKDÇÞ5É:

– eKDdK5É:

– [ÀDeK5É:

12

Page 15: The Feasibility Study and Implementation of ITRI SME …pangfeng/ParallelDistributedLab/master... · The Feasibility Study and Implementation of ITRI SME-PDM on Microsoft .NET platform

2.1.6 ÓKÞ·U‚�Ü_ (Life Cycle Management ControlModule, LCM)

ÓKÞ·U‚�Ü_ 3bŠ?uTÜD¼˙óÉíF�Š?, ¨Ö� ¼˙� ¼�� ‹

¼� ¢�� ¤��� $“·�rÖ�éí[ÀJ£®[ÀFú@íT¼˙, J‡t−$“

·uUàA‰f£1ö�dK, Øn¨‘A‰’Ä, 7/UàA‰£ö6}�¨‘vÈ, ¢

.D£víÿõ� SME-PDM TX[ÀA�“í¼˙œ„, U®TL�)JÊ�øvÈ

>G#£üíATÜ, °v[Àf¼¬˙2FêÞí9K6ªJ\p“-V� *ß¹í–1

¼¨ƒß¹qlêAêW, ¦�Ûb%¬rÖ××üüí˙å, N¬¼˙�ÜFTXí®á

Š?, −�ß¹í®_¼¨2íTÕG, é®_¼¨íªWªJ)ƒyßí−��

2.1.7 ù�ª�−�_ (Project Schedule Management Con-trol Module, PSM)

ù�ª�−�_ ªJ�^0íd•ù�, 1¯Üí}»T/üõ¦−ûêª��øO$

“ªJUàù�ª�−�_ çA� ù�í.Œx, éUà6?� AŠ�^0íù

�� øOù�v˙d•�0ª}Aú_¥:

1. YWù�ñ™ -ù�Aº1qìù�Ë�í’Ä¿ìù�ÇáDêAn‚�

2. d•ÏWT}áCu� äù�, 1q ©ø_T9áíêAn‚� Tª˙�

AºT}»J£ª�Œ�õ��

3. ó�ù�ªWT¦øDŒ��

Êù�ª�−�_ 2TXø_�Àíù��0�ÞV� ù�1qìù�Aº,7Ê

ª²ìíAºjÞ, ù�AºuÅwkÍ$qíUà6� äù�� jÞ, ù��0�Þ3

bJcÕ-Zíj�×Û, JjZéUà6â×áƒ�áíj�ªWTíd•, Êqìê

©øT9áíóÉqñ(¹ªªWù�í–á,Í$ÇáªWù�ív˙−�, 1¦øù

�óÉAº�

Êù�ª�−�_ 2¦øí�T}Asé, ¹(,¦øJ£ÚäsK¦ø, 7T~í

ä0DŸbªJâl•í�Ü6qì� ù�kÏW‚ÈÛbyZT“áñvb·<,Í$ø

̶‰y˛êACu˛ÇáÏWO„êA/„ƒ‚íáñ� wF턪Wáñ†ªJL<

^Z, OT“n‚í–áâJ^Zn5(Çá, Í$}YW^Zí!‹ªWT½}»í�

T� ÇÕù��ܺDù�AºíiH}6óçíÀU, �ܺÛbªWcñù�íqì,Où�AºíTcÛbYWT¦ø,í»IêAT9á, 1�ÑêAÕG¹ª� Bk

cñª�í�ÑJ£óÉí¦øîâÍ$A�ÏW�

ù�v˙�Ü��FTX5¹v/ò��4í@àÍ$ªàV.ŒµÆíù�5ÏW,U)ù��ܺ¦³FÏWù�í®á��, 1úkª?íôbT|£v¥@D²µ, Uù

�íR�y‹ß‚�

2.1.8 Layer2: XML j&µ (BizObject Framework)

…µí3bñ™uTXqlø_4í’e!ZD’e_�, éÍ$íÇêD&ˆyÑñq�

Ñ7®A¥_ñ™FJ BizObject Framework Uà XML TÑc_Í$íf�m7�

�, éc_Í$ím7f£��ì, ¥š.OªJ�“,µ_ qlíØ�, ´ªJDw

FUà XML ��m7íÍ$c¯�

…µí3bŠ?u�@Š?_ µCUà6�ÞµÛ°, z’eé2í’e¦|1Uà

XML ’e��Tf£ím7, |(…µøm7 (XML ��) f£#Š?_ µCUà6

�Þµ� ÇÕ, …µ6Š�QYVAŠ?_ µCUà6�Þµím7 ( XML ��), 1

zm7�²Ñ’eéÛbím7, BizObject Framework yú’eéTÍT�

…µ3bñíué,µUà6.ÛbnjàSú’eéTTÜíxX, ¹?Uà Bi-zObject Framework 2rÖ�qí’eÍTƒ�ú’eéTÍT� ÄÑ’eæ¦T“−

£7'ÖµÆí‡æ, du SQL x¶� àSTÜÉ©�’e[, CàShÓ’e[��T�

ÄÑ’eæ¦T“�−ƒØÖµÆíxX, à‹bé©ø_A·nj’eæ¦ql.ت

?� BizObject Framework TXrÖ�qí’eÍTƒ�, é,µql6?DJ|�À�

13

Page 16: The Feasibility Study and Implementation of ITRI SME …pangfeng/ParallelDistributedLab/master... · The Feasibility Study and Implementation of ITRI SME-PDM on Microsoft .NET platform

|0í§�êAwFÛbíŠ?� âk BizObject Framework -ZÖ íÔ4ªJ@à

k®é�í Web based @àÍ$Çê, 鮵íqlAºù·k®µFÛbíxX,7.

ÛbV-àS榒eé� Ĥ…µªJ�“Š?_ µ£Uà6�Þµ_ Çêql�

Ê BizObject Framework 2Uà XML xXVªW’e_�íqlD&ˆ, 1JÓ

Kû²í–1VqlÍ$í’e_�� /Ê BizObject Framework 2ø3bí’e_�

}As×é, }�Ñ·HÍ$2æÊí’e!Zí’e_�, ˚Ñ“�’eé�_� (Busi-ness Data Class, BDC), J£YW“�’eé�_�7ßÞ, àJ·Hø“�ÕGí’

eí“�’eÓK (Business Data Object, BDO)� w2“�’eé�_� (BDC) ø

N¬ BizObject Framework ú@ƒ’eéÍ$2í’e[�, 7“�’eÓK (BDO)†ú@ƒ[�qí’e�

’e_�íqlÎ7.âbø’m�^í!Z“Õ, °v6b5¾Í$í@àÔ4, ql_çí’e!ZøªU)Í$íê��“, 1TôÍ$íô�4� J-‡ú BizObjectFramework 2í BDC J£ BDO í’e_�íqldø¿pí«n:

BDC’e_�íqlñíuàV·H¼“í/øõñ� Ô_Wäzp: BbUà BDCV·Ht−í¶Æ, ¶Æ�±˚� ¶Æ“�·H£,�¶Æ±˚�úá� BbªJz BDCú@ƒ’eé2í¶Æ’e[�hP, }�u¶Æ±˚� ¶Æ“�·H£,�¶Æ±˚��

�Àízp, BizObject Framework ªJN¬ BDC Ê’eé2“¨ø_¶Æ’e[�

í<2�

Ê BDO ’e_�jÞ, BDO íqlñíuàVTX_ Š?í�p� �|J£_

Èím7f]FÛ5!�’e!Zm7, ç@à_ Ûb’evªJN¬ BizObjectFramework FTXí’eÓKR¦�Þ¦) BDO� BizObject Framework YÎ BDCí·H, *’eé2|¦Ö°’e, 1æA BDO ’m� Uà¶ÆõWVzp, BizObjectFramework YÎ BDC í·H)ø¶Æ�ú_hP}�u¶Æ±˚� ,�¶Æ£¶Æ“

�·H, kuÊ’eév¶Æ’e[�1z¶Æ2Ö°í’e¦|, Ê XML ��ím7

³Þ, àú_hPV·H¶Æ, 1z¦)íÖ°’eæ[Ê XML ��m72�

âk BizObject Framework í BDC D BDO îuJ XML xXF�Zí’e_

�, ¤’e_�Î7ªJàVü\’e!Zí£ü4Õ, 6ªJÇ[VTÑÍ$șĒe

�²�Þ� Õ¶Í$ªJYW BDC í’e-Z� k�²í’e_�, 1N¬ BDO J

£ BizObject Framework ø’e�ªÍ$2� BizObject Framework 6ªJø’e

_��|ƒÕ¶Í$� SME-PDM Í$‚à¤ø«T_�Vc¯$“q˛æÊí@àÍ

$, uø�Ý��^0/ ì4œòíj¶�

2.1.9 Layer1: ’e榵 (Database Server)

…µuUàÉ©�’eéÍ$ (Microsoft SQL Server 2000)� !…, SME-PDM Í$Ê¥_¶}3buæ[’e[�, Ouúk’e[½ÈíÉ[1³�Ê¥iTql, 'ÀÓ

íÉ�àVæ[’e[�� F�úkÉ©4’e[�íÍT·Ê BizObject Framework2õTêA�

2.2 81zp

%¬,�zp SME-PDM Í$-Z5(, …�3bíqñ}Ôø_ÍTõÒW, 1/z¥

_WäàSÊ SME-PDM ¥_Í$2ÏWíõÒ¬˙¸åÞ’e, êc�“Ê…�52�

6}zÏW¬˙åÞDÍ$-Zó�úÎ, éBb?Dy‹ínjÍ$í-ZDÏW¬˙�

ÛÊcqBb;bhÓø°eK’e[3], J-}·HÍTÍ$¬˙2í©ø_¥, 1

/Ê©ø_¥·zÍ$åÞû|V, ÇÕ6}ú©ø_Çdêcí�Ü, °vÊ©ø"Ç

í¬iË�ø"Í$-ZÇ, ÊÇ2¿H¶}H[¤ÍT¥FUàƒÍ$-Z2í¶}�

øÇáUà6UàZ½Â©QB SME-PDM Í$, ¤vZ½Â2|ÛÍ$épåÞ

àÇ2.3, ¥v`Uà6UàƒÍ$í Web Server Layer� *Uà6Z½Â2?Dõƒ

í, ÿªJwì…u˘k Web Server Layer f£ƒUà6Z½ÂíåÞ� Web ServerLayer ‚à Web /�ÂN¬ HTTP ¦m›ìf£ƒUà6Z½Â,Þ, Z½Âyz’

m�²AåÞ×ÛÊUà6k‡� FJñ‡Í$Uàƒí¶}u Web Server Layer�ÊUà6�p×Uò{(ép SME-PDM Í$, Ç2.5 ÿuUà6épÍ$(í�ø

_åÞ� ÊUà6épÍ$í¬˙ÿ˛%UàÍ$2Ö�µŸŠ?� Uà6épÍ$í¬

14

Page 17: The Feasibility Study and Implementation of ITRI SME …pangfeng/ParallelDistributedLab/master... · The Feasibility Study and Implementation of ITRI SME-PDM on Microsoft .NET platform

Figure 2.3: Í$épåÞ

Web Server

BizObject Framework

DB Server

PDM Activity Module

Layer4

Layer3

Layer2

Layer1

XML

Client Browser

Figure 2.4: Í$-Z

Figure 2.5: Í$ép(åÞ

Web Server

BizObject Framework

DB Server

PDM Activity Module

Layer4

Layer3

Layer2

Layer1

XML

Client Browser

HTTP

Figure 2.6: Í$-Z

15

Page 18: The Feasibility Study and Implementation of ITRI SME …pangfeng/ParallelDistributedLab/master... · The Feasibility Study and Implementation of ITRI SME-PDM on Microsoft .NET platform

˙à-, Web Server * HTTP ¦m›ì¦)Uà6í×Uò{, ¥v Layer4: WebServer Layer ãÊUà Layer2: BizObject Framework 2_ Š?, BizObjectFramework yãÊUà Layer1: DB Server� DB Server *’eé2¦)Uà6í×U

ò{’m, 1øUà6’ef£# BizObject Framework� BizObject Framework ¡

5 BDC )ø·HUà6í’m�ⱸò{�m7, yz*’eé¦)í’mUà XML��f£B Web Server Layer� Web Server Layer øUà6�pí×Uò{D*’e

é2¦)í×Uò{ªúAŠ5(, Uà6nép SME-PDM Í$� FJUà6épÍ

$2¥_¬˙, uUàƒúµ, ¨Ö Web Server Layer, BizObject Framework Layer£ Database Layer �, àÇ2.6�

Figure 2.7: Uà6²ÏhÓeK[À

Web Server

BizObject Framework

DB Server

PDM Activity Module

Layer4

Layer3

Layer2

Layer1

Client Browser

HTTP

Figure 2.8: Í$-Z

ÊUà6épÍ$(, Çá²ÏhÓeK[À, àÇ2.7� ¥_�TwõÉÌk WebServer Layer 2, ÄÑUà6É�²¦ÛbhÓíeK[À, 1³�UàƒLSD’eé

�ÉíŠ?, C6Uàƒ Activity Module Layer íŠ?, Ĥʥ_¥2É�Uàƒ

Web Server Layer íUà6�ÞŠ?, àÇ2.8

Figure 2.9: Uà6hÓeK[ÀB’eé

Web Server

BizObject Framework

DB Server

PDM Activity Module

Layer4

Layer3

Layer2

Layer1

Client Browser

HTTP

Figure 2.10: Í$-Z

çUà6/ê[À,ÞF�[�5(, Uà6ÊUà6�Þ2²Ï‹pø_eK’e,çUà6²ÏÓ‹eKv, àÇ2.9, Web Server Layer }ãÊUà SME-PDM ActvityModule Layer 2íeK’e�Ü_ , 7Web Server Layer }UàeK�Ü_ 2í

hÓeK’eŠ?, eK’e_ }l* BizObject Framework 2¦)¤eKí BDC’e��, 1¦)’e��(, eK’e_ Uà XML xXz��* Web Server Layer2¦)í BOM ’e[À’e, �“Ñ XML ��’e, BizObject Framework ¦)¨

_(í XML ’e[À’e(, yUà Database Server, z¥°’eŸp’eé2� h

Ó[ÀuUàû_ Layer íŠ?, àÇ2.10Ê BizObject Framework z[ÀŸp’eéêA(, Activity Module Layer 2

íeK’e�Ü_ }YƒVA BizObject Framework hÓêAím7� ¥v Web

16

Page 19: The Feasibility Study and Implementation of ITRI SME …pangfeng/ParallelDistributedLab/master... · The Feasibility Study and Implementation of ITRI SME-PDM on Microsoft .NET platform

Figure 2.11: hÓeK[ÀêA

Web Server

BizObject Framework

DB Server

PDM Activity Module

Layer4

Layer3

Layer2

Layer1

XML

Client Browser

HTTP

Figure 2.12: Í$-Z

Server Layer 6QYƒVA-µ Activity Module Layer ím7� Web Server Layer)ø¥c_hÓ’e[Àí¬˙˛%üõêA� |( Web Server Layer }zhÓêAí

m7Uà HTTP ¦m›ì, éUà6ø−c_hÓí�T˛%êA, àÇ2.11� Ç2.11 ê

AeKhÓ(í˘4åÞ� Ê|(, Web Server Layer ¦øUà6˛%êAc_�T, É

�Uà Web Server Layer íŠ?, Ç2.12�

J,·HUà6ÊhÓeKc_¬˙�T£óú@kÍ$2í_ zp�

17

Page 20: The Feasibility Study and Implementation of ITRI SME …pangfeng/ParallelDistributedLab/master... · The Feasibility Study and Implementation of ITRI SME-PDM on Microsoft .NET platform

Chapter 3

Ç, SME-PDM �²Ñ .NETFramework �«

Ê…ı2øÌ��ÜÇ, SME-PDM �²Ñ .NET Framework �«FÛbíóÉx

X� …ı�ü_3æ, }�u .NET Framework �«-Z�Ü� SME-PDM xX A

�Ü� .NET 2D SME-PDM óÉxX�Ü� SME-PDM ¯�ªW4Ç,� £J’e

榵 (BizObject Framework) Ñ�Wzp�²¼˙� Bb}Ì�í�Ü SME-PDMUàƒíxX, 1/Ç,ø SME-PDM �²ƒ .NET �«,ÛbíxX, £zpÛUà

¨<xXVd¯��²� |(, Bb‚à SME-PDM 2í BizObject Framework TÑ

�²Ñ .NET íWä, 1}&¥_Wä�²¬˙ßÞí½æ�

3.1 .NET Framework Introduction

�,RW .NET �«3bñíuÑ7TXUà6*LSËj, LSvÈõ, ÊLS�«C

qe,·?¦)Uà6Ûbí’m, f�Cu˙�� Uà6.àø−’mu\[ÊBóP

0CuàS¦�FíóÉ��� Wà, J(í��2, BbUà MS Office y6.Ûb�

CD m±, Uà6ªJN¬ Web Service Vé_ƒFbíœÂ,, 1/ÉÛ˛�„V¥�

�bUà MS Office í licence ‘à, FJUà6Uàí,ñøìu|h/|érí�

…� ,ñÉÛbN¬æ˜A�é_, Uà6YÎUàíÕ”G‘�

3.1.1 Microsoft ¬ ,ñê�½æ

Microsoft ¬ í,ñ_�Êê�¬˙2}`Xà-˚Ø:

• ßí˙�{'ØŸ, 7/Í$íŠ? (ex : automatic memory management) ª

?1._àkF�í˙�xk

• f$í COM jK (COM DLL / COM EXE / ActiveX Control) ÖͪJ

®ƒ code reuse íñí, OÊ COM íqÊ!ZºßÞ7yÖí½æ, ®�xk

ú COM �ÞíõT.°, .ñq¯T, âk COM jK}AЃ Windows íé

“œ„ é“, ¥šø− COM jKí˙�n?UàF, Éu˙�qlAºà‹.

·<í�…C�ÞZ‰·}¨A½æ�

• ı�F�í˙�xkÊ…™íUà¸DwFxk5ÈíǦ,, ·?UàÓKû²í

˙�qlÔ� (COM .or VB .w C++ ŸíÓK)�

• ˙�ÛbA�p[ñ�ÜVÊ¢p[ñí¨‘, ÄÑp[ñ¨‘}¨AÍ$^?í-

±�

• ı��ø_ê¾ÀUí!�-ZV�ZæÒæ˜�� (Web Service)

18

Page 21: The Feasibility Study and Implementation of ITRI SME …pangfeng/ParallelDistributedLab/master... · The Feasibility Study and Implementation of ITRI SME-PDM on Microsoft .NET platform

• Security consideration� Ê˙�2úkª?�½æí˙�{, ı�Ì„wÏWí�

Ì, ?¹ú.°í˙�{, ı�?qì.°í�TÌ„�

3.1.2 .NET Architecture

�,Ñ7TX,H½æíj²j�, FJT| .NET Framework ¥_–1, 1‹JR

�� Ê .NET Framework 2íF�˙�xk})åÑ Microsoft Intermediate Lan-guage(MSIL), 1Ê Common Language Runtime ,ÏW� Common LanguageRuntime (CLR) -ZÊT“Í$í��,, …Š�@à˙�õÒíÏW, 1Å—F�

í@à˙�íÛ°, Wàp[ñ�Ü� TÜér½æ� £c¯.°í˙�xk�� O˙�

ql�õÒ,.}\ Common Language Runtime à, ÄÑFbFÞúíu-ZÊ

CLR ,ÞíuàÓKé�é, ¥_uàÓKé�éªJ\LS˙�xkFUà, ¹ CLRuF�Ê .NET Frameramework ,X¶í˙�xku°Uàí Runtime jK� .NETFramework zÛbN¬ CLR í−„n?ÏWí˙�{˚Ñ Managed Code� Ê .NETFramework ,F�Ÿá{·N¬ Just in Time (JIT) )åÂø�²A\ CPU Fw…

íNI(nªÏW� Éb�X¶v� CPU -Zí JIT )åÂ, ÿªJz MSIL )åA

ªJÊv CPU -Z,ÏWíœÂ{, ¥<âO MSIL N¬®� JIT )åÂøªJF�

«�

3.1.3 Architecture

.NET Framework ,Language, and Tools

Visual Basic C++ C# .....

Common Language Specification

Web Services User interface

Data and XML

Base Class Library

Common Language Runtime

Visual Studio .NET

Figure 3.1: .NET -Z–h

éBbVõõ.NET í-Z¶}� Ç3.1 u.NET -Z–h, Ç3.1 2, |,µíux

k)åÂ,.NET Framework X¶í)åÂ� VB, C++, C#. . .�� Ê)åÂ-µu¦

àxkd� (common language specification, CLS)� ¥�d�óçkø F�xkí

u¦|üŠ?Õ¯, ¥�d�uø �ÜF�xkF.âX¶íu¦Š?,¥�d�ªJü

\ .NET Framework w2/ø_xkªJDwFxkí CLR óñ� à¤øV, çF�

í˙�xkí)寯 CLS dì, ¥šF�xkŸí˙�·?DÊ .NET Framework,Þó�Uà, ÉbFb?¯¯ CLS, †w˙�{ÿ\„?DÏW�

Ç3.1 2, CLS -µ�Üà-:

• Web Servicesæ˜��TX7ø_æ˜Uà6�Þ, w2¨Ö7®�.°í HTML −„á£æ˜

−„á� æ˜��6TÜ®�.°í昛ì� ér£TæÜÕG� |ßí¶}ÿ

uBbªJUà��Z Windows Froms ó°íj�V�Z Web User Interface�

¥šªJñqíÇê| ASP.NET ˙��

19

Page 22: The Feasibility Study and Implementation of ITRI SME …pangfeng/ParallelDistributedLab/master... · The Feasibility Study and Implementation of ITRI SME-PDM on Microsoft .NET platform

• User interface� Web Services ó°, Éu User Interface FNíu Windows Forms� 6ÿ

u��í Windows ˙��Þ�

• Data and XMLWeb Services £ User interface u[Ê Data and XML ,µ, XML uàV¨

_×Û’eí™pxk, Data £ XML ªJ«àÊ SOAP ›ì2, 6ÿuzor

ø’e¥_Ê XML 2, Í(¨Ê HTML f�2, ¥šÿª¦¬ÊÊ�\f£ª

V� F�íÊÊ�·ordåf�N¬ port 80f£�

• Base Class LibraryBCL uF� .NET ˙�í!�é�;Ä, Ê .NET 2í©ø_‰a·uø_ÓK,F�íÓK·u–Äkø_±Ñ System íé�2�

• Common Language RuntimeCLR uø LS .NET ˙�ªJ‚àí*LSX¶ .NET íxk (VB, C++,C#. . . ) 2í™Ä’Ä, Ou1ÝF�í .NET xk·X¶F�í .NET ��� W

à: 5ªJÊ VB.NET 2ÏWø<5.?Ê C++ 2íT“, ¥5?Í� ©ø�

xkí?‰uâvxkí)åÂFXº�

J,u .NET �«��, zp7ÑBó}� .NET |ÛíŸÄ, ´� .NET àSj

²„|Û .NET �«v, ,ñê�¬˙2FßÞíÿ¸D.—, du code reuse í½æ�

ÇÕ´�Ü7 .NET Framework 3b-Z, £zpÊ-Z2 .NET AjKíŠà�

3.2 SME-PDM xX A

Q-VÿéBbV��7j SME-PDM ˝§à7¨<xX, éBàø_ÇVdzp, ¥š}ªœñq7j, Ç3.2 2©ø_–)H[ø�xX, �-B}z©ø_–)xX·dø

_�Àí�Ü�

ASP(JSP)

Application Module(VB)

BizObject Framework(VB)

COM+ Service

MS-XML V3.0

ADO v2.6 CDO 1.2 Microsoft Scripting Runtime

SQL DatabaseServer

MSMQ2.0 Mail File

Figure 3.2: SME-PDM Í$xX A

• ASPr±u Active Server Page, ASP íŠ?3buàVŸ�GæÜí, ñíuéU

à6?DD/�ÂßÞ��� ¥u ASP 3bæÊíñí�

20

Page 23: The Feasibility Study and Implementation of ITRI SME …pangfeng/ParallelDistributedLab/master... · The Feasibility Study and Implementation of ITRI SME-PDM on Microsoft .NET platform

Ê SME-PDM 2 ASP í script language ¶}uUà Java script xkŸA,O�,RŠíu Visual Basic script, çÍ ASP 6�X¶ Java script, Bk

ÑBóUà Java script ª?uÄÑçví Visual Basic script Š?.—, 7/

VB Script .x_ “íW˜Š?, FJ˙�ql�²ÏŠ?œ#í˙�xk JavaScript Tql�

7¥)xXÊ SME-PDM 2óçk User Interface ¶}, Uà6DÍ$5Èí�

�3buÔ¥_¶}Võd� 7/6.âÔ¥_¶}n?D� Application Mod-ule _ ǦDUà�

• Application ModuleŠ?_ µ (Application Module) Uà Visual Basic 6.0˙�xkõTêA� …

_ uÍ$Š?í�-, F©QUà6�Þ� BizObject FrameWork, 3bŠà

Êk’eíj4TÜjÞ, wŠ?_ ¨Ö˙‰y’e�Ü_ � �…−�_ �

Óe�Ü_ � ÓKÞ·U‚�Ü_ � ù��Ü_ �Š?�

• BizObject Framework’e榵 (BizObject Framework) Uà Visual Basic 6.0 õTêA, w3b

Š?uàV©QTÜ’eé2í’e, 1Š��@Š?_ µDUà6�Þµ, D’eéµÇ¦� Q§Š?_ µDUà6�ÞµVím7, 1j&|¤m7íñí, ª

?f£’e#Uà6�Þµ, Cuyh’eéµ2í’e�

c_’e榵3bŠ?ÊTÜ XML í parse ½æ, ÄÑ’eæ¦T“�−ƒØ

ÖµÆí‡æ, FJ’eéµz’eé2í’m�²A XML ��, 1z¥<’mT

X#F�Í$íjKUà� 7¤_ 3bñíuéÊŠ?_ µJ,í˙�ql�,˙�ql�.Ûbø−µÆí’eéTÜj¶ÿDN¬�Àíj¶TÜUà’eé

2í’e� ÄÑ’e榵z’eé2í’e|¦¨A XML ��í’e¼, FJ

ql‡«�ÞíÇêAºÉÛbxe XML ’eTÜxXÿ?DTÜ’e� 7/6

ÄÑ’e榵TX¥_™ÄäÞ, FJÍ$ñqN¬¥_™ÄäÞTØkC6Dw

FÍ$T’e�²Ç¦í�T�

• COM+ ServiceComponent Object Model (COM) TXø�œ„, éùªPí,ñjKªJ�

COM ©!Êø–, ¥_,ñª?u5AÐê�í, ª?uVA/,ñTX�¼, Ê

™Äíd¸-ªJ©!Êø–, ˛¤Ç¦¯T� ç5Êql@à˙�v, 5ªJl½

©ø-u´�˛%æÊí COM ÓKªJ65êA5FÛíŠ?, 7..99·A

ÐVªŸ� ç5Ê VB qUà COM jKv, 5..ø−vjKí«T��5(,n?Uà…� Ébø−àSãÊ5;bíŠ?Zª� Wà5ªJ/qíÊ5ê�í,

ñ2ãÊUà Internet Explore(IE),7.Ûbø− IE u5óŸí, ¥ÿu COMFR�í–1�

• MS-XMLMS-XML u�,ê�í XML j&Â, …uÊ Windows �«TX™Ä XML j

K, …q�Ê IE ³Þ, uø_n‘í XML parse library�

7Bóu XML á? XML uø�™pdK, Uà6ªJUà XML dK·H’e�

XML dKéN HTML dK, É.¬ XML dKàV·H’eí, 7 HTML d

KuàV[ÛdKÊZ½ÂUàí� XML dKÑ©°’e‹,AзHí tag ˘

4, ĤUà6'ñq‚à XML dK·Hø_’eé’e[ (table)�

7 MS-XML j&ÂíŠ?uTÜ XML dK, Éb‚à MS-XML BbÿªJ

zŸVí’eé’e¨A XML í’e, ó¥í6ªJ* XML ’e2¦|ŸVí

’e[�

• ADOADO (ActiveX Data Object) u�,ê�í’eTÜjK, Uà6ªJ‚à ADOjKV榒eéí’e� Éb˙�ql�JFbAÐ�2í®�xkãÊUà ADOjK, ·ªJ榮�®š’eVÄ, ¨�É©�’eé, .�u Oracle� MS SQL

21

Page 24: The Feasibility Study and Implementation of ITRI SME …pangfeng/ParallelDistributedLab/master... · The Feasibility Study and Implementation of ITRI SME-PDM on Microsoft .NET platform

Server� £ Access �� ·ªJUà ADO ¥_’eTÜjK, dLSí’eéæ

¦T“�

• CDOMicrosoftR Collaboration Data Objects (CDO) Library, ¤jK3bŠ?u

àVTÜ e-mail óÉ9�, ¨ÖzŸ� f££QY�¶}� çUà6é_ IIS v,°v²¦ SMTP Service, …ÿ}\é_ÊÍ$2�

• Microsoft Scripting RuntimeScripting Runtime Object Library (Scrrun.dll), ¥_jK3bíŠ?uÚ7

2’ef�Tܶ}, du¦)Í$2w±HU� µ`Ú72/ø˜�-íF�’e

H� ¦)Ú72/ø˜�-íF�f�’e (File)� dK’eèŸ� ��f�� �

f���

• SQL Database�,Fê�í’eé,ñ� SQL DB server uÉ©4’eé, ªàVæ[’eCu

�f��

• MSMQMessage Queuing (MSMQ) uø�2�,ñ, 2�,ñuuJf]£TÜm7Ñ

3í,ñ-Z� 2�,ñí–1éNæ˜,f£í’e¥¨, É.¬%¬2�,ñê

£í’e ¯ªœµÆ, ©°m7}�®Aí™æ� Å�×ü� £wF®�®ší’

mD��� 2�,ñŠ?ªJ3�/��Níøm7f]#ÛbQYí˙�Í$, Q

Y«íÍ$.â¿©ø_CÖ_ä− (Channel), ¥š2�,ñÿªJN¬¥<ä

−, zm7f£#QY«� SME-PDM Í$ÿuN¬¥<ä−ªW$“Èí¼˙c

¯�

3.3 Ê .NET 2D SME-PDM óÉ5xX

Ê .NET Framework 2�rÖ“híxXªJ«àÊ SME-PDM 2, …�øÇá}�

ÜÊ .NET 2D SME-PDM óÉ5xX, 1úhxXšTzp� íl, Bbl‚àÇ3.3VTzp, Ç3.3 2í˝iüÇuŸV SME-PDM íxX AÇ, 7Ç3.3 2í¬iüÇ

†uóúkHíxXÇÊ .NET 2yhxXjKÇ, ÊHíxX2à�hí .NET xX

ªJUàv, }ÊjKj)2+,æH� BbªJ'péíªJõ|¨<HxXu�híx

XªJ�²í� -Þ}z©_+,æHíj)Tø<óÉxXzp�

ASP(JSP)

Application(VB)

BizObject(VB)

COM+ Service

MS-XML V3.0

ADO

v2.6MSMQ2.

0

CDO

1.2

Microsoft

ScriptingSQL

Databa

Mail File

ASP.NET(VB.NET)

Application(VB.NET)

ADO.NET

COM+ Service

XML.NET

ADO.

NETBizTalk

CDO

1.2

Microsoft

ScriptingSQL

Databa

Mail File

Figure 3.3: SME-PDM Í$óúÊ.NET 2óÉxXÇ

3.3.1 ASP.NET

ASP.NET TX7ø_ Web @à˙�_�� ¥_�TX7ø<[À� −„á£!�-Z,é˙�ql��À� Web @à˙�� ASP.NET TX7ø<ú@ HTML jÖ (WàO

22

Page 25: The Feasibility Study and Implementation of ITRI SME …pangfeng/ParallelDistributedLab/master... · The Feasibility Study and Implementation of ITRI SME-PDM on Microsoft .NET platform

~� ÀÀ]�) í HTML Controls, J£Š?y#í Web Controls� HTML controlsÊ/�«JÓKû²íj�\˙�−„, é˙�ql�ªJJÓKû²˙�ŸTíj�, �“˙�íµÆ4�

.NET Framework ASP.NET

ASP.NET

Common Class Library

Common Language Runtime

Web Application

Web Service

ASP.NET Runtime

Figure 3.4: ASP.NET -Z

Ç3.4 Ñ ASP.NET -ZÇ� w2 Web ��, £u .NET 2'½bíø¶M, 5‡

�Ü .NET ív`í�øÆu ��,RW .NET �«3bñíuÑ7TXUà6*LS

Ëj, LSvÈõÊLS�«Cqe,·?¦)Fbí’m, f�Cu˙��� à‹z Web��H[ .NET í�ÿøõ6.Ѭ, Web ��uÑ7¸˙�qlD Web server �

�, Ê .NET Framework 5‡, ˙�ql�àbql|?D‚àæÒæ˜DwF˙��

ó¦mí˙�.Õ˛‚à, Distributed Componet Object Model(DCOM)� RemoteMethod Invocation(RMI)� MSMQ¸ Internet Inter-Orb Protocal(IIOP) �, O¥

<ó�¦mí˙�u�Ì„í, Wà DCOM íÚ7É?D� DCOM íó�Ǧ:ß,7úk Web Service Vzÿ³�¥_Ì„, ÄÑ Web Service uSà SOAP ¸ XMLǦ, Ĥ Web Service  Î7 model-specific ¦m›ìí¾ó, Web Service íîE

ªJ'ñqíʱ«ÓKUà SOAP ¸ HTTP �j�ãÊ, 1/ Web Service Uà

text-based XML çA’e�f#îE, ĤÉbT“Í$?DTÜ SOAP £ HTTPãÊ, T“Í$ÿ?DUà Web Service� ¥ªJz"×ÖbíT“Í$·?DUà WebService� Ç3.5 [Û| Web Service Êæ˜,Uàíj�� Ĥ Web Service íAŠ

Browser

Mobile phone

PDA

Web Service

Other Web Service

Enterprise partner

SOAP over HTTP

Figure 3.5: Web service Overview

é˙�ql�ªJz,ñdA�� (Service Software, Ê/�Â2JTX��íj�F

æÊí@à˙�) íj�ÏW� Web Services uø�ªJUàÊæÒæ˜í˙�j4, ¸

f$í@à˙�UàT“Í$FTXíŠ?øš, JæÒæ˜Ñ!�í@à˙�6ªJ‚

à Web Services VÓ#…™íŠ?�

23

Page 26: The Feasibility Study and Implementation of ITRI SME …pangfeng/ParallelDistributedLab/master... · The Feasibility Study and Implementation of ITRI SME-PDM on Microsoft .NET platform

3.3.2 ADO.NET

ADO.NET @ª¦H BizObject Framework, Ä ADO.NET wŠ?°Q7 ADO DXML �Š?, FJ ADO.NET Š?@vªJ¦H BizObject Framework ¥µíŠ

?, 7/?DyògíUà XML Š?, ª7®ƒF�«íñí�

ADO(ActiveX Data Object).NET TX7Àøí�Þ, éUà6ªJÓKû²Í

Tíj�, N¬ú’eÓKí�Ü, ®A榒eVÄíñí, 7Uà6ªÍTÓK…™,7ÝÍT’e[� ’eW, C6 XML� °vwxe Disconnect Data Cache Model, Ê

N-Tier í-Z-.ÛM/í keep connection, /�â data cache 휄, ªÊ’e£

üí‡T5-, â cache ø’ef�, 7.Û榒eé�

ADO.NET TX7Ç$“�Þ, 1X¶ª SQL x¶yÑÃ�í#���Œ, U)’

eé榜„yÑÃã0§, Áý˜ÏêÞ�

3.3.3 BizTalk Server

BizTalk Server CrªJàV¦H Message Queue, Ûªø¥nj� ʜѵÆí$“

¼˙ç2, ø_>q/9KíêA%%ÛùpÖ½¥, Wà˛ÓÍ$†¨Öp � Ó¼�

œ„íTÜ, 7~cÍ$†Ûùp3�� HÜA� ‹’pÎ�¥� BizTalk Server ªÊ

.NET framework ÏW¼“T¼˙�T, ªc¯Ö½¼“jK, ¿ìT¼˙, U)®

¼“jKªYÎd†QY/f£m7, ›°êAT, ®A EAI (Enterprise ApplicationIntegration)� BizTalk Server TXéN Visio íÇ$“¼˙Çql�Þ, éUà6ªJ

àŠ…j�ql$“j4, °v1TX BizTalk Accelerator, éUà6ªJ;W_�, 0

§d•Í$�

3.4 SME-PDM ¯�ªW4Ç,

…�3bñíuzpø SME-PDM ¯�ƒ .NET ,TíÇ,, …�}As_¶}ø_¶

}u VB to VB.NET ¶}, ÇÕø_¶}u ASP to ASP.NET, ÄÑ¥s_¶}u

SME-PDM Ûb¯�|péís×Øæ�

3.4.1 VB to VB.NET ªW4Ç,

VB ¯�B VB.NET íªW4Ç,� Ê.ªW!Z½cí‡T-, ÀÓ˙�xk�²¬

˙2, 3b Focus Êk

1. Öͯ��Ñ}ªW_çí¯��T, 3b}u˙�{óú@5 Code 5�²�T,úkj4¶}í?‰œÿ� ÑÁýö£ÏWví˜Ï, #Ë�‡.âTÜ VariantType, 1ÝòQ²Ñ Object Type, 7Nì_ç�G, JãʬÖ.ªã‚í˜Ï,Ô{à Default Value 5qìD ToString vWјÏ�

2. /<ó°íƒ�±˚˛�hWÑ, .â½h25u´àhíƒ�, Wà Collectionclass í Dir�

3. f�óñ4.°, ÛbyZæ¦f�5óɃ��

4. �Œ Null íUàj�, âkwúk Null D Empty íUàj�.°, Öb Pro-pogation íƒ�úk Null X¶œÿ�

5. As New �hì2, âkÓKû²íh1, .âúk©øÓKæÊóú@í Initial-ization íj¶, .â‡úŸ˙�2F�í As New ªW^Z�

6. .yX¶ As Any�

7. F�íf]MJ„Ôy™p, îãqÑ ByRef�

8. ‡ú�bMíqì, s�xk�.°íqì, .â½hüw�

9. /<!��GZ‰, Wà Data .yu double í$��

24

Page 27: The Feasibility Study and Implementation of ITRI SME …pangfeng/ParallelDistributedLab/master... · The Feasibility Study and Implementation of ITRI SME-PDM on Microsoft .NET platform

10. âk VB .NET X¶Ö½ÏWé, FJ.â·<˙�{u´EÑérÏWé�

11. ‡ú©øÓK@�üì4íŠbDp[ñ�YTÜ�

‡úJ,�õ, ¯��ÑÖ}_çíÊ©W˙�2ªW™p, Oëj�‡@løÿ˙�

{ªW_çíyZ, yŸ‚à¯��ÑœÑ�^0, /Tò£ü4, Ê…Ÿ SME-PDM ¯

�ç2, 3bí×½æu Variant Type, �˛u©ø_ÓK·Ûb½Ûì2 Type, wŸ

Ñ .NET 2íhƒ�hŠ?Cuh±˚��²½æ, Ûb½h ¡5híƒ�é, 1øø

²Ïóú@íƒ�±˚ªW^Z� ¥s_½æ�˛U)²Öbí˙�1ÛøWW½h¿£,7wFü½æ6EÐ/æÊk˙�ç2�

‡ú¤¶}, �‡Uàù¨�¯�j�, lø×½ækÛW5 VB ˙�ç2, JÁýW

˜FÛvÈ, Ê×Öb˙�ªWy²‡Äe5(, y‚à¯��ѪWyŸ¯�� ·<: ªWyŸ¯�5(, EÍ}|Û¯�½æ, /̶üøwb¾,u´üõÁý, O¤ÔªJÁ

ý�²¬˙2í.üì4, U˙�‰“œÑª¦³� Jcc‚à¯��ÑTýí!‹ªW˙

�{í�², FÛv�©ø—W˙�Ûvýüv, /þ„ªW_çí)åDW˜T�

3.4.2 ASP to ASP.NET ªW4Ç,

âk SME-PDM ÊUà6�Þµ2FUàí ASP u Java Script, Ä7Ó‹7¯�í

˚Ø�, -Þu¯� ASP B ASP.NET ã‚}êÞí8$�

1. ÖÍ ASP.NET ú ASP �øìíóñ4, Ou SME-PDM í ASP 'péíÌ

¶òQÊ ASP.NET í=1-

2. âk SME-PDM í ASP r·uJ JavaScript FŸ, }¨A.ªãøíª?½

æ� ÄÑ ASP.NET .d ASP X¶ø_ÜÞqíÖxkÏW (VB, JavaScript),ASP.NET Êø_ÜÞÉ?�ø�xk, (¥uâ ASP ¸ ASP.NET íqÊÏWù

βìí, ASP uâ asp.dll2 úŸßí script dKòQjåÏW, 7 ASP.NETuâ aspnet isapi.dll lø script dK compile Í(ÏW) FJ SME-PDM í

ASP ÿÉ?J JavaScript  ^Zº¯ ASP.NET íÛ°, 7.?J VB.NET ^Z� Êñ‡´.ÀU ASP.NET ú JavaScript íX¶8”-, .ßüì?´

ß‚ËøF�í ASP ˙� porting A ASP.NET ˙�� 7/J JavaScript V

Ÿ ASP.NET ˙�, N˛�° ASP.NET í�¬�

3. Ê ASP.NET 2, function í implement .âÊ<Script Runat=Server>¸</Script> implement, 7.d ASP ªJÊ<% ¸ %>5Èí implement, O

SME-PDM í ASP ·uS¦(6, FJ¥_�²íTuøìbdí�

4. ÄÑ ASP ˙�2}ãÊø< COM jK, OÊ COM þ„�A .NET Frame-work ªÏWí8”-, ASP.NET ˙�òQãÊŸlí COM jK}�ã‚í˜

�

Ê�²¬˙2, cuJxkµÞóñÑ3, „¨�j4µÞíóñ� VB to VB.NET3bñíuøÛæ5 VB ˙�¯�Ñ .NET Framework �«ª)å5˙�, ASP toASP .NET øÛæ5 ASP ˙�¯�Ñ .NET Framework �«ª)å5˙�, ¤¶}

Ûªø¥Ç,íŸÄÊkŸÍ$2í JavaScript b¾õÖ, /wŠ?óçµÆ, 1̶ü

ìu´�óú@í ASP.NET ªªW_çí�²T�

¯�¬˙2, âk PDM ¬kó×, ̶ÊsvÈqøŸ¯�AŠ, ÑD ASP 9lÇ

¦, J£D˛%�ß5 VB .NET íÕ¶¡5Ǧ, .âøF�í COM l¯�Ñ .NETFramework ,ªòQÏW5jK� ·<!̶üìu´F�¯�(í COM î?Uà, ç

½æêÞv, ÛÇÕÓ‹©vj²j¶ívÈ�

3.5 BizObject Framework Ñ�Wzp�²¼˙

BizObject Framework 3bóÉf� (BizUtility.vb�PDMClass.vb�PDMObject.vb�System.vb)âk SME-PDM ¬kó×, Ê�²¬˙uJ˙�xkóñÑ3, Ĥñ‡l.�² ADO¶},

25

Page 28: The Feasibility Study and Implementation of ITRI SME …pangfeng/ParallelDistributedLab/master... · The Feasibility Study and Implementation of ITRI SME-PDM on Microsoft .NET platform

Ê�²¬˙2Ûb^ZíËjà-:

• ^Z Win32 API úk as any �µ� âk VB.net .X¶ as any í�µj��

• ^Zé�˘4�µ�

• ^ZH�í VB ƒb (StrPtr�LenB�InputB) Ñ VB.NET ú@hƒb�

• ^Z variant type ‰yÑ Object �µ^Z�

Ê�²¬˙˙�\G¶}

• \G ADO

• \G MS-XML, âk MS-XML ʤ_ 2�”×íM¾, Ñ7‹§�²§�l

\G…�

Q-V, ˙�%¬7,Þ^Z£\G5(, ˛%¸ .NET óñ, µÿéBbV¿t

ADO £ MS-XML íÏWÊ .NET ,ÏWí!‹�

• ¿t

ÏW bizClass.GetAllClasses() v,ADO ÏW£ü, OÊ MS-XML ¶}|Û

ComException� ˜ÏêÞvåÞàÇ3.6

Figure 3.6: ComException Error

• ˜Ïª?ŸÄzp

Ê .NET Framework ,, H�í MS-XML FeÑø_ unmanagement jK

(â .NET xFßÞíjK, …eÑ management jK), ĤÖÍ .NET ,Þ

ªJÏWH�í MS-XML, O1.?D\„}�LS½æêÞ, zëøõÿuõõ

AЫ−àS� ÄÑÊ .NET 2, unmanagement jKíp[ñ�Ü1.?D\

„?D£�Uà�

• ¿t!�

Ê .NET Framework ,Þ MS-XML CwF unmanagement jK̶£üÏ

W� ÄÑ .NET Framework 2ÖÍ?Dóñ umanagement jK, Oº³�Ÿ

¶\„¤jKíÊ .NET Framework 2íÏW¬˙uÊFí−„5-í� ĤÊ

.NET Framework êÞ¥�³�ã‚í˜Ï6uÜFçÍ,¥.ââ˙�ql�A

ЊV£Z£�

%¬,Þ�²5(¿t˙�í!‹1.uIAÅ<í, âk MS-XML ̶£üÏW,Bb.â;_j¶Vj², j²j¶à-: SME-PDM Í$.âZà .NET Framework,Þí XML Š?, 1/z ADO jKZà ADO.NET jK, ÄÑ .NET Framework2í ADO.NET �‡ú XML k}X¶, y?D¯¯Ÿ…Í$í’eæµíŠ?£ñí,7/Í$ªJnÎêÞÝ゘Ïíª?4, Í$6?D�à .NET Framework TXí

Í$i“=1� âk SME-PDM í’e榵!�u XML Tܶ}, FJÍ$n}�

øµ BizObject Framework àVT XML parse Tܵ� ÛÊàBbUà ADO.NETjK,BizObject Framework ÿ³�æÊígM� FJBbªJòQUà ADO.NET H

� BizObject Framework ��

26

Page 29: The Feasibility Study and Implementation of ITRI SME …pangfeng/ParallelDistributedLab/master... · The Feasibility Study and Implementation of ITRI SME-PDM on Microsoft .NET platform

Chapter 4

PDM Í$˙�qlõT

‡øı)ø, àb‚àH˙�^ZAÑ .NET �…,í˚Ø�¸½Ÿø_hí .NET �…íØ�u!…,uÏ.Öí, Ĥb²kqlø_ PDM Í$íÔ$, 7 PDM Í$Š

?õÆ, FJ²Ï7�áœÑx�H[4í PDM Í$Š?, à-�:

• Í$Aº�Ì�Ü: !…,Í$Aº�ÜÊ PDM í0äuø_|!…íŠ?, Ä

Ñ�^Aºí�„n?D�^íªWß¹�ÜÍ$�

• ù�d•�Ü: ù�d•�Üu PDM Í$2íøá½åj, ÄÑF�íŠ?·u

@Êù�d•�Ü¥áŠ?,, ª7ô.|wFª¼íŠ?�

‚à¤ø¸…}�Û‚à Microsoft.NET TÑõT PDM í�«uªWí, 7/

^0Ü�,}yÑ�ª, ˙�{6}yÑ��� …ı�}Ì��HàS*�ƒÌ`TøP

Ê .NET Framework ,ÏWí PDM Í$, w2}ý¸�_ ASP.NET £ .NETFramework í3bŠ?� 3bñíuý¸ PDM Í$˙�-Z, £�^0íÇê¬˙, X

˙�ÇêAº¡5�

4.1 Í$Çê¼˙

�-Çá�ÜàSõTøP PDM Í$íÇê¼˙, ÛÊÇêøP×�ù�,ñí¬˙˛

%�J‡u×.ó°, J‡Çê,ñ¦�·ué˙�øWøWíT coding, .¬¥�Ç

ê,ñí¬˙˛%×Bb± , ÛÊ×�ù�íÇê¬˙˛%ªphí¼˙ë� ÛÊ5U

àí˙�xk.�u V B�C ++�C]�Java�, Fb·TX7ø×#íƒ��O5 Uà,˙�.âb�ø…UàGwn?ø−F�jKíŠ?� FJÛÊ˙�Çêß¹.âü

wu´˛%�ÛAíªJUà, ¥šn.}Ÿ7šÙí˙�, (VnêÛŸVÉbUà�A

ŸíjKÿªJj²� y‹,ñ‡TXíÓKû²í–15(, code reuse ¥�–1yu

ðW7/6�V�½b�

Ê .NET Framework |Û5(, ¥�–1 (code reuse) É}Ó‹7.}Áý, 7/

…TX7ø_�«, ªJéF�Uà6?DUà®�˙�xkFÇê|Ví,ñjK, Bó

] .NET }××íZ‰ÛÊF�×�,ñÇêj�� z7¥óÖ, BbÛÊ£�ªp3æ,Í$Çê¼˙�J-�_¬˙, à�-F��

• õTŠ?}&

• -Zql

• Uà6�Þµ(Web Server Layer)

• Š?_ µ(Activity Module Layer)

• ’e榵(Data Access Layer)

• ’eéµ(DataBase Layer)

27

Page 30: The Feasibility Study and Implementation of ITRI SME …pangfeng/ParallelDistributedLab/master... · The Feasibility Study and Implementation of ITRI SME-PDM on Microsoft .NET platform

4.2 õTŠ?}&

ñ‡BøbõTí¶}uAºÍ$�Ì�ܶ}, ¥_Š?ªJ�ÜUà6ÊPDM Í$

2íWÑ�Ìqì� Wà: YÎ$“ñ¼“j4íì2, øOUà6ø.\ñræ¦t−œ

òql’e, øOUà6YWwiHFG8í�ÌÊÍ$2ªWÍT, 1/Í$�Ü6ªJ

YÎ$“ñíÛ°, ‰y�Ì�Üœ„, ç$“ñ¼“j4Z‰v, PDM Í$ªYÎõÒ

Û°7d|c� Í$�Ì�ÜŠ?à-:

1. ¶Æ (ˇ ) �Ü

ˇ íì2Ñø_ªJH[øˇAíÈñ, ¦�¥øˇAx�ó°íTñ™£�

Ì, Ê$“ñ2, øOˇ íì2ѶÆ�

(a) hÓˇ : Í$éýhÓˇ ²À, Uà6/p!…’m�

(b) ˇ ’eTÜ: ŒÉ� ^Z� tΡ ’e�

(c) ˇ É[TÜ: qì� �Ç�

(d) ˇ �Ìqì: qì¤ˇ í�Ì�

2. iH�Ü

iHíì2Ñø_H[/øáTqñí£Š�í‚ï“·H, Ê$“ñ2, øOi

Híì2Ñ<˚, Wà%Ü� ˙���

(a) hÓiH: Í$éýhÓiH²À, Uà6/p!…’m�

(b) ŒÉiH: Í$éýŒÉiH‘K, Uà6/pkŒÉ‘K�

(c) ^Z£tÎiH: Uà6ŒÉiH(, ªJÊÍ$�|íiH²Ï^ZtÎi

H’e�

(d) qìiHUà6’e: Í$éý¤iHíUà6±À, 1X�Ü6^Z�

(e) iH�Ìqì: qì¤iHí�Ì�

3. Aº�Ü

Aºíì2Ñø_ªJàVÍTÍ$í×E, Ê$“ñ2, øOAºíì2ÑUà6,WàAº�

(a) hÓAº: Í$éýhÓAº²À, /p!…’m�

(b) ŒÉAº: Í$éýŒÉAº‘K, Uà6/pkŒÉ‘K�

(c) ^Z£tÎAº: Uà6ŒÉAº(, ªJÊÍ$�|íAº±À2²Ï^Z

tÎAº’e�

(d) Aº�Ìqì: qì¤Aºí�Ì�

4.3 -Zql

Í$-ZqlYHSàúµ�j4-ZqlÑ3b–1,Í$z’e榵� ¼�j4µJ

£Uà6�Þj4•}A.°íé�� …ü��s_3æ

• .NET N-Tier -Zql!�–1

• PDM Í$-ZUà Microsoft .NET –1

…�ø}�Ü-Zqlí!�–1, 3buS¦ .NET N-Tier $“@àÍ$-ZÑ

3b–1, ÇÕ}�ÜJ .NET Ñ-Z–1Fê�|Víh PDM Í$-Z, Ê¥ü�³

Þ, Ì��Ü-Z³ÞíŠ?–)�

28

Page 31: The Feasibility Study and Implementation of ITRI SME …pangfeng/ParallelDistributedLab/master... · The Feasibility Study and Implementation of ITRI SME-PDM on Microsoft .NET platform

4.3.1 .NET N-tier -Z–1

h PDM Í$@à˙�uSàúµ�j4-Zí ASP.NET Web @à˙�� JÇ4.1Ñ

3b!�–1, …u Microsoft .NET N-Tier -ZÇ[6], Ç4.1Df$íúµ�j4-Z

Figure 4.1: .NET $“@àÍ$-Z

ªœ–V, !Z,uøší, õ–V1³�Ö×íÏ�� O…”,u�<Ï�í, Bš��

Üø-Ç4.12©_–)í<2�

UI Component: ¥<jK3uTXUà6ÍTíAœ�Þ, Ûb5?’eÊåÞ,

íé§D1h� ñ‡|�àíue¢�ÞCZ½Â�Þ, Ohí�pxXDW�qeRÏ|

h, FJqlv.â5?Økí�4�

User Process Components: Uà6¦�Ûbb_¥êAFkÏWíT, WàÊ

æ¦S˛Ó¹í˙åuZ½ß¹ñ“� �e¼¹Ì�’m� ²˛ƒ˛Óš� ^Z£üwS˛

b¾� �pîE’m£G ’e, nêAS˛� TÜ“�¼˙í˙�.@v¸ UI Compo-nents ÎýÊø–, FJBbql User process Components Š�“�ÍT¼˙, 1�

Ü®�Uà6�ÞDUà6í��˙å�

Q-VuøOúµ�-Zí Business Logic Layer, OuÑ7TX#.°íàE«_

çí�Þ£FÍ$c¯�Û°, FJzf$í business Logic layer }Ñb_ Compo-nents, |,µí component u Service Interfaces, TX_çí�Þ#®�àE«ãÊ,duøOí Web Server C6 Windows �ÞUà6, ÝBu Mobile phone Uà6�

·u‚à¤�ÞTãÊí�T, Service Interface ?ª˚Ñ Facade , ¥_Àåuø_¶

d, ±Èj„Ñ�ºÓíÕh� Service Interface …íŠ?u#8øˇé�CäÍ$ø_

$øí�Þ, éUà6.ø−Í$qµÆé�, ÉÛbN¬ Facade ¥_�À�Þ榥ˇ

�

Business Components †uTXÏW“�FÛbíl�Š?, WàTÜ¿Àvl�

®�˘ç, Cl�«�Ó¹í_·}ºD«‘� Business workflows Š�DwFÍ$, W

àTÜ¿Àv.â°vDÀ¼Í$� HlÓ¼Í$��n?êA¿ÀTÜ� Business En-tities ·HÍ$2í’eAÑ®�Ûõ2í¼“õñÓK (business entity object), W

àBbªJ‚à¤_ V·HÀÂ, cqBbb·Hh«Þøìj¥_¼“ÓK, uBó$

Õ? …íiÅuÖý? æHuBó. . .�� Bb«à…bk Components 5Èf]’e,1/ªJà DataSet �DataReader �XML CAWì2í Object-Oriented Class �í��JÅ—®� Components íÛ°�

f$úµ�-Zí�úµu Data Access Layer, Ê .NET Application Architec-ture 2\MøšíŠ?, Wà Data Access logic Components TX榒eéí�

�, ,µíUà6.ÛbnjàS榒eéíõÆ¥7?D�ÀíUà Data Accesslogic Component FTXíŠ?VTTÜ, ¥š?DÁýÍ$2_ íóY4, Ó‹¤_

29

Page 32: The Feasibility Study and Implementation of ITRI SME …pangfeng/ParallelDistributedLab/master... · The Feasibility Study and Implementation of ITRI SME-PDM on Microsoft .NET platform

\Uàíä0,� 7 Service Agents jKTXãÊwFÍ$Š?í��, WàãÊÀ¼

Í$CÓ¼Í$�

@àÍ$à‹c�Ç4.1 í-Zql, †BbÿªJ«à .NET Framework d•@

àÍ$íérœ„, Ы�Ü (Operational Management), 1„ì}à�«�í¦m\

µ (Wà DCOM vs. Web Service� °¥ vs. Ý°¥�XML vs. Entity object �j�

í²Ï)�

4.3.2 PDM Í$-ZUà Microsoft .NET

h PDM Í$-Zu¡5 .NET Architecture Concept Ç4.1-ZFql|V, àÇ4.2Fý Ç4.2!�–1DÇ4.1uøší, Q-V}‡úÇ2�_œÑ½bíËjâ,B-T

Client Browser

Web Server Layer

Activity Module Layer

Data Access Layer

Database Layer

Interface

Component Entity

DAC

ADO.NET

ASP.NET

HTTP

SOAP over HTTP

Figure 4.2: PDM -ZqlÇ

zp�

Client browser ÿu×ð%�ÊÚ72UàíZ½Â, du Internet Exploer C6

u Mozilla �,ñ, Uà6‚à¤,ñ©QƒBbFªŸí Web Server Layer, Z½Â

}ø Web Server œÂ,ím7×.#îE«íUà6� Web Server Layer 3bŠàu

?DTXUà6D@àÍ$5Èí��=1, éUà6?D*Í$2¦)ClæFÛbí

’m� Ê PDM 2Uà6?D* Web Server Layer ¦)FFÛbíóÉù�’m, du

ù�í·H, ù�íóÉAº’m¦)��, ·.âN¬ Web Server Layer ¦)�

Web Server ¸ Activity Module Layer 5Èí¦m›uUà Simple ObjectAcess Protocol(SOAP), �ÀÓK榛ì (SOAP) u‚àÛæíæÒæ˜-Zé@

à˙�5ȪJ˛¤Ç¦,7.}\ÊÊ�®ó� …f£m7j�uJ Hypertext Trans-fer Protocol(HTTP) çf�íj�, J XML ·HǦíqñ� 7F?D¡NÊÊ�í

ŸÄuñ‡F�íÊÊ�·orN¬ port80TǦ, ŸÄu×ÖbÊÊ�wì port80 F

QYƒím7îÑdå_�í HTTP ¦m›ì, 1.}éq¶Í$�\·ïí8”êÞ,FJ SOAP ?D¡NÊÊ�, 7®ƒF�«íñ™�

Ê Activity Module Layer 2}Ñú_¶}}�u Interface � Component £ En-tity _ �ú¶}� 7 Interface _ ñíuTXø $ø�Þ#Uà6, 1/éUà6«

?D‚à¤_ íò¼�ÞUà Component _ � BbªJÊ Interface 2ì2Ö��

ÞXÕ¶Uà6Uà, du Web Service �Function Call Service �Mobile Service �

30

Page 33: The Feasibility Study and Implementation of ITRI SME …pangfeng/ParallelDistributedLab/master... · The Feasibility Study and Implementation of ITRI SME-PDM on Microsoft .NET platform

�Þ, ´ªJéÍ$y�!Z4, ±Q Component _ íµÆ��ßT� Interface _

UàíŠ?�Þu¦k�-í Component Í$Š?1‹Jc¯, 7�-í Component_ 1.ø−� Interface _ æÊ, FJ1³�¡5ƒ Interface _ , O Component_ 5ȪJó�Uà¡5� Õ¶íUà6«kUàÍ$Š?.âN¬ Interface ò¼c

¯�ÞUà�µ Component Í$Š?�

Component _ 2ªJõTF�í¼“jK, ¨Ö�Ì�Ü� Workflow £ù��Ü

��_ � Entities _ H[7Í$íǦÓK, ¤_ ¥_Í$2í’eAÑ®� en-tity object, Bb«à®� entity object ÊÍ$2©_ Tier 52f£, ¥_qlíi

õÊkÉbBbí’eé�Z‰, du Product ’e[Ó‹CÁý7/ø_hP, BbÉ

ÛbÊ Entities _ 2T^Z, c_Í$f£ Product í¥_’eÿ}Z‰, 7 Entity_ ¥_Í$f£ÓKíiõÊkéBb'ñq^ZÍ$f£m7, Ó‹Í$�4, ñq&

ˆÍ$f£’eíø_4�

Data Access Layer Š?uTX�ÀUàí’eé_ , é,µUà6.Ûbø−T

Ü’eéí��, duàSUàãæ˙å (Stored Procedure) , Níuø<˛%ãlŸ

ßí SQL NI, ÉbBb�p¡bÿªJÏWF, ¦)FÛbí’m� éN¥<·uÛb

�’eé*�íù“Aºn}Uàí, 7/.ª?F�í˙�qlAº·nj’eé@v

àSql, Ĥù“}u'½bí, FJBbnÛb}µql�

Database Layer Š?uæ[Í$íF�’e[, …Í$ñ‡UàíuÉ©�’eé

(Relational DB Server) Microsoft SQL server 2000, …Å—øO$“ÊÚä¼�� ’

eHl£ª¾�«�=12ú’elæ¸}&íÖš4Û°� SQL Server 2000 Öš4í

Š?~¯v-®é$“ -Ê’elæjÞíb°, *×�æ¦í �$“ú$“�(Businessto Business;B2B) D �$“ú¼��(Business to Commerce;B2C) �¼“=1ƒ_A

UàíÀœ=1, ÝBkªJÅ—¦£Aºíœ�4T“Û°�

4.4 Uà6�Þµ(Web Server Layer)

Uà6�Þµ3bŠàu?DTXUà6D@àÍ$5Èí��=1, …éUà6?D*

Í$2¦)ClæFÛbí’m� …Š�TÜUà6�Þ, 1DŠ?_ µªW¦m� à‹

øUà6�Þµ¸wF@à˙�}Ç, †˙�ªJÇêUàó°¼�j4¸’eéæ¦

˙�{í.°Uà6�Þ, ?¹ Web Form � Windows Form ¸W�_0� …µUà

ASP.NET xXõTUà6�Þ¸’e0¦��� �-}Aú_3æVTzp, }�uB

óu ASP.NET � àSõTUà6�Þ£àSUà ASP.NET T0¦���

4.4.1 ASP.NET

ASP.NET u Microsoft Active Server Page(ASP) í|h�…, ASP 3bŠ?u?D

TXø_DUà6��íæÜ, ñ‡¸ ASP �ó°íŠ? Script ˙�xk� PHP�Perl�˙�xk� ASP ˙�3buà VB Script(Visual Basic) )Ÿ/�«˙�{, 6ª

JUà Java Script, ASP ªJuÖ íÓ VB ˙�, 6ªJuÉ)bW VB ‹�k

HTML ç2� ASP íÏW=13bu Internet Information Server(IIS) , 6ªJU

à Psersonal Web Server(PWS) , , .¬ér4³� IIS ß, FJªœRŠ IIS VçT

ÏW ASP í/�Â� ASP uø�Ê Server «TÜ˙�{í=1, F Server f£!‹

B CLIENT u™Ä HTML í��� øO7k ASP .}Ä.°Z½Â¨A˙�ÏW˜

Ïí8”� 7/ñ‡×ÖbíUà6·uUà�,T“Í$, Ĥ ASP Ê�,Í$TXí

IE Z½Â=1ÏW.}�½æêÞ�

Éuz ASP.NET wÑu ASP íh�…, úFVz6Ø.t�7, FJÿ‡ú…b

5ÈíÏæ4Tø_ªœ� ASP.NET X¶Ö�˙�xk, ASP É?DUà Script xkŸ/�«˙�{, |�àí˙�xkÿu VBScript D JavaScript, à‹´;Uàw…

Script xk, ÿ.âÇÕé_w…˙�xkòåÂ� ASP u Script xk,Script uòå

�í˙�xk, òå�˙�xkíÿõ�s_, �ø_ÿõu…ÿýÃãí�GD.xe)

åí=1� O ASP.NET D ASP .°,ASP.NET u)å�í .NET =1, 7/X¶í

˙�xkyÖš“� FJBbªJUà .NET FX¶íF�˙�xkVõT, du VisualBasic .NET �Visual C] C JScript .NET �˙�xk�

31

Page 34: The Feasibility Study and Implementation of ITRI SME …pangfeng/ParallelDistributedLab/master... · The Feasibility Study and Implementation of ITRI SME-PDM on Microsoft .NET platform

ASP.NET ª ASP �y0íÏW^0, ASP.NET Ê .NET Framework 2ÏW

í, 6ĤFªJ�àƒ .NET Framework ÊÏWv‚Ê^0,íø<#“Zª, 7/

F�í ASP.NET ˙�{îJ)å¬íu°xkÏWv‚˙�{Ê/�Â,ÏW, 7.u

Sàòåíj�, ¥š ASP.NET ªJUào‚©! (early binding) VT^0íT¯�

�-dı�Ü ASP xX£TXø_ ASP Wä� ASP f�¦�J asp шf±, …

uø_dåf, Î7¨Ö!…í HTML tags Õ ´ªJ¨Ö ASP í˙�{ (Script)�ASP í˙�{uJ<% . . . %> í™pV¸ HTML –}� HTML tags Š?uàV�ý

’e��Uà, du<HTML>�<TITLE>�<BODY>� <H1> . . .��, <HTML>,H[ HTML æÜíÇá, 7 </HTML> †H[ HTML æÜí!!� <TITLE>¸</TITLE>5È, Ö0æÜí™æ, ™æéýÊZ½Â|,µ� <BODY>¸< /BODY>5

È, ׶}àkÖ0æÜíqñ, ¥<qñøòQ×ÛÊZ½Âe¢q� <H1>[å (Head-ing) �àÊ#|dåí½b4, éUà6ªJN¬.°í Heading V–}FÊíı��

ASP í Scripts¦�uUà VBScript, Êf�2\¨Ê<% . . . %>í™p2� Scriptíqñ¶}uÊ/�«ÏWí� çUà6Ê/�Â,b°x asp ˆf±íf�v, /�

Â}Ê asp f�2©vÊ<% . . . %>í™p˙�{, Ê/�ÂÏW(z!‹�f#Uà

6íZ½Â2�

ÛÊBbõø_õÒíWä� �ø_�À ASP ˙�, FTXø_�Àí=1éUà6

D/�ÂßÞ��, Uà6*Z½Â2�pâ±£E�, /�ÂYƒUà6íb°5(, ÇáÏW ASP í Script , 1/z|(!‹à HTML f�#Uà6íZ½Â�

User Input

Figure 4.3: ASP ÏW¸W, Uà6�pâ±£E��

ASP Script

Figure 4.4: ASP ÏW¸W, /�ÂÏW Script, 1�fÏW(!‹�

Ç4.3�ýøÇáUà6�p±åDE�íåÞ� QOÇ4.4�ý/�«QYƒUà

6b°ÏW echo.asp f�, 1/QYƒUà6�pí¡b}�u±å¸E�� Ç4.5éý

32

Page 35: The Feasibility Study and Implementation of ITRI SME …pangfeng/ParallelDistributedLab/master... · The Feasibility Study and Implementation of ITRI SME-PDM on Microsoft .NET platform

Figure 4.5: ASP ÏW¸W, Uà6Z½ÂQY*/�Âf�í HTML !‹�

Figure 4.6: ASP ÏW¸W, Uà6Z½Â�ý HTML !‹�

Uà6Z½ÂQY/�«f�í HTML ��!‹, Z½Â}Œõ¤ HTML í™p, 1

z!‹�ýÊZ½Â,� Ç4.6éýUà6ÊZ½Â2õƒí!‹�

4.4.2 User Interface Design

qlUà6åÞ3bu¡5J‡ SME-PDM íÏWåÞVTql� BbõTíUà6�

Ì�Ü, uTX#�Ì�Ü6VTqì, .âõTJ-�áåÞ�

• Uà6épåÞ

• ¶ÆóÉåÞ

hÓ¶ÆåÞ� ŒÉ^Z¶ÆåÞ� ¶ÆiH�Ü� qì¶Æ¼µÉ[� �ǶƼ

µÉ[�

• iHóÉåÞ

hÓiHåÞ� ŒÉ^ZiHåÞ� iHAº�Ü�

• AºóÉåÞ

hÓAºåÞ� ŒÉ^ZAºåÞ� Aº�ÌqìåÞ�

ÊqlJ,åÞ|�UàíxXu DataGrid /�Â−„á, DataGrid ÿuF‚

í’ej�, …uø_Ý�#×í−„á, 1TX”wêc/îóíŠ?Vég榒e�

DataGrid /�Â−„á}Jj� row∗column íj�éýø°CuÖ°í’e� 7/

…DBbFUàí Activity Module Layer 2í Entity Module í Dataset �êc

íX¶, éBb'ñqTÜ’e� Q-V, }�ý‚à DataGrid `TíUà6åÞ, âk

õTíåÞØÖ, FJÉTX¶ÆqìåÞ�

33

Page 36: The Feasibility Study and Implementation of ITRI SME …pangfeng/ParallelDistributedLab/master... · The Feasibility Study and Implementation of ITRI SME-PDM on Microsoft .NET platform

Figure 4.7: Uà6²¦Uà)4²á Figure 4.8: DataGrid Ê)4_�Uà

DropDown List

Figure 4.9: UàDropDown List ²¦;b

qìí,�¶Æ

Figure 4.10: ,�¶ÆZ‰(íÕG

34

Page 37: The Feasibility Study and Implementation of ITRI SME …pangfeng/ParallelDistributedLab/master... · The Feasibility Study and Implementation of ITRI SME-PDM on Microsoft .NET platform

4.4.3 Cache

Cache[7]xXÿuzUà6�àí’mæ[Êp[ñ2, é/�Â?D0§*p[ñ2¦

)Uà6Ûbí’m, 1�f#Uà6� 7/æܸøOí Windows @à˙�1.ó°,æÜUàíu HTTP xX, HTTP uÌÕG(stateless) í¦m›ì, ²Æuz, WebForm æÜu³�ÕGí, JÌÔyqì, /�Âú©ø_ request .}A�<�®_

request u´·VAó°íàE«, ú©ø_ request øe°C� ©øŸí request %D

·}Uæܽh� , 6ÿuz, Éb/�ÂêAUà6/ø_æÜTÜT“1zFf£�

Z½Â5(, }�ÎvæÜíF�’m� ç-ŸæÜy\Uà6ãÊUàv, /�Â.ây

½høc_TÜ˙å½TøŸ� BbnjæÜíÏW¬˙5(ªJnj, à‹ø_Uà6,�Uà/ø_æÜ, ¥v`BbÉbzUà6Ûbí’mp“æ[ƒp[ñ2, Uà6ÿª

J'0í*p[ñ2¦)Ûbí’m�

0¦xXÊ ASP.NET æÜ2}Ñ°ø_ Web @à˙�¸.°àE«í’ef]¸

\æ£ °ø_àE«¸/�Â5Èí’ef]¸\æ� ú@B ASP.NET }�u Appli-cation ÓK¸ Session ÓK�

Application Cache

Application Cache ÓKÿu ASP.NET @à˙�ír�4‰b, ÊÍ$2æ[F�U

à6u°í’e, duUà6í×Uò{� læÊ Application Cache ÓK2í’eÎÝ

\�ÎC¦H, ´†p[ñ.}„[|V� ¥DøOæÜ�'×í.°, æÜF2àí’Ä

Ê request !!5(ÿ}\ Web Server �Î� ⤪ø, Uà6æ[Ê ApplicationCache ÓK2í’e|ßuUà6%�Uàí, .ª×¾æ[Uàä0.òí’e, ¥š

ñq¨‘Í$’Ä�

Application Cache ÓKªJéÖ_Uà6°væ¦ó°Êp[ñ2í’e, ĤB

b.âü\ Application Cache ÓK°¥ÕG, fnßÞ race condition� ¥uN/_

Uà6ÊèŸ/ø_‰b, O¥_�T´³�ÏWêH, ˇÍ�ÇÕø_Uà6Hi蟰

ø_‰b, ¥Bb˚Ñ race condition� Ê Application Cache ÓK³ÞBbUà Lock¸ Unlock s_j¶Vfn�

Session Cache

Session Cache ÓKæ[Uà6íTÕG, ¸ˇÌkUà6ÇáÏWZ½ÂBZ½ÂÉ

£wÈíTÕG� à‹�.°íUà6Uà°ø_ Web Server, †©ø_Uà6·}

®AË�.°íTÕG� °ø_Uà6×Ç Web Server, É£Z½Â5(yD�íu,6}Ë�ø_híTÕG� _¯æ[Ê Session Cache ÓKí’eu\æ‚Ìœs� Ü

>� /˘k_�T¼¨í’e�

ASP.NET }A�<…VAÀøZ½ÂàE«íb°, 1øwUà Session Cache Ó

Kæ[’e, ÄÑ©ø_Uà6�.°í session Cache ÕG¸ application Cache Ó

K.ó°, .}� race condition í½æêÞ, FJ Session Cache x�œßíØk4

¸ô�4, _àk Web cluster, Ó‹@à˙�íô�4� Session Cache ÓK|×íÿ

õu^?, ÄÑ©ø_Uà6·�ËAÐ.°íTÕG, çUà6�Ö, Í$.âàVæ

[íp[ñ}yÖ�

A Cache Example

�Üê Application Cache ¸ Session Cache 5(, �-dıÔø_õÒWäé×ð?

DÀU}�¥s�0¦��íÏ�� cq�ø_Í$, ³Þ�ø« Web Server œÂ, ø«

’eé/�Â, ¥« Web Server ©QƒÕ¶æÒæ˜, ¥uÍ$�áÕG, àÇ4.11, 1

.æÊ Application Cache ¸ Session Cache � ÛÊ�øPUà6 George * ClientA©QépÍ$, àÇ4.12 Í$êÛ Application Cache 2Uà6 George ò{.æÊ,¤v Web Server ©(ƒ DB Server 2¦)F�Uà6í×Uò{� ç Web Server*’eé2¦)Uà6í×Uò{5(, }zFæ[ƒ Application Cache 2, àÇ4.13ÄÑ¥<’muF�Uà6·ªUàí’e, ¥v Application Cache ˛%æ[Uà6

×Uò{� ç Web Server �ŒêUà6 George ò{� Application Cache 2í’e

35

Page 38: The Feasibility Study and Implementation of ITRI SME …pangfeng/ParallelDistributedLab/master... · The Feasibility Study and Implementation of ITRI SME-PDM on Microsoft .NET platform

ó°5(orªpÍ$, Uà6 George ÇáÏW_AÛ°D Web Server ßÞ��, à

Ç4.14 b°ŒÉAÐ Project óÉAº±˚, ¥vÍ$B’eé2ŒÉ’e, 1zŒÉ)

ƒí’m[0Ê Session Cache 2, 5(à‹ñ‡Uà6×ǤæÜyD�¤æÜv, Z

ªUà Session Cache 25‡FUàí’e� |(, çUà6×Ç7Í$ Session CacheZ}¾Ü, àÇ4.15, Ou~·< Application Cache 1³�¾Ü� à‹5(¢�Çø_

Uà6©QƒÍ$v, Í$ÿ.ÛbÊ�’eé©Q¦)Uà6’e, ÉbUàp[ñ2í

Application Cache ÿªJŒÉƒUà6×Uò{, 5(Uà6Q-Ví�TD5‡ó°,_ATÕGæ[Ê Session Cache 2, Y¤éR�

Internet DB Server

Web Server

ClientA

ClientB

ClientC

Figure 4.11: Í$�áÕG

Internet DB Server

Web Server

ClientA

ClientB

ClientC

George

Request login Get all user password

Figure 4.12: Uà6George épÍ$

Internet DB Server

Web Server

ClientA

ClientB

ClientC

George

Request login

Application Cache Data

All user password

Figure 4.13: ßÞApplication Cache

Internet DB Server

Web Server

ClientA

ClientB

ClientC

George

Query project member

Application Cache Data

All user password

Session Cache Data

Project member

Figure 4.14: ßÞSession Cache

Internet DB Server

Web Server

ClientA

ClientB

ClientC

Application Cache Data

All user password

Figure 4.15: Uà6×Ç,Session Cache ¾

Ü

4.5 Š?_ µ(Activity Module Layer)

¤µíŠ?uTXÍ$¼“j4Š?, ñ‡Í$õTí¶}u�Ì�Ü, duŒÉUà6×

Uò{u´£ü, Uà6�Ìqì_ �Š?� J(ù��Ü_ � ˙‰y�Ü_ � Ó

e�Ü_ �, ·u˘kŠ?_ µ2íø¶M� ªJzuÍ$Š?�-øõ6.Ѭ� Ê

¥_¶}ªœµÆíxXuBb.âTÜø<æ� (transation) ½æ, ÄÑ'Ö¼“j4

36

Page 39: The Feasibility Study and Implementation of ITRI SME …pangfeng/ParallelDistributedLab/master... · The Feasibility Study and Implementation of ITRI SME-PDM on Microsoft .NET platform

Š?ux�ßå4”, ¥<Š?.â\£ü/�ŸåíêA, ´†.â�+ƒŸVíšä,Ê¥_¶} .NET Framework 2íxXuUà BizTalk Server ¼“jK, ¤jK¦�

àVõT¼“ workflow, Ê PDM Í$26ÛbUà workflow, Ô_WäVz, Êù�

�Ü_ íŠ?³, �'Öù�íó�.Ûb%¬µµÉµ, duù��Ü6°<� ù�%

Ü°<. . .�� .¬ñ‡õTí¶}³�Uàƒ¥_xÍ,

Data Access Layer

Interface Module

Component Module

Entity Module

Web Server

SOAP over HTTP

API

Figure 4.16: Actvity Module Layer Architecture

Š?_ µÍ$-Z, àÇ4.16, ÊŠ?_ µ2}Ñú_¶}}�� Interface �

Component £ Entity �ú¶}� Interface Module 3bŠ?uTXø_ Web Ser-vice �Þ#Web Server Layer Uà, 1/‚à Interface Module z�µ ComponentModule íŠ?¥_éÛ#Õ¶Uà6, ….cÁýUà6òQQ¾ Component Mod-ule ³Þí¼“Š?, 7/ªJTòÍ$ér4� Component Module uÍ$�-Š?,…¨ÖF�í¼“j4Š?� Entity Module uø_Ö |Ví_ , BbUà¤_ d

ìqlF�í¼“õñjK, duîE’e� ¶Æ’e� iH’e�’e-Zql� Ê©µ

2F�í method ·Uà¤_ TÑf�m7íd�, ˙�qlvÖÍÖ7ø<¥,.¬ Entity Module ºªJ××Ó‹Í$&ˆíjZ4� ÝBÊqlÍ$¼¨, F�˙�

ql�ÉbYW¤_ VTql, ÿªJ�Í$2F�íÓKǦ� Q-V, �-dı}â

,B-úkŠ?_ µÍ$-ZTøJÌ��Ü�

4.5.1 Simple Object Access Protocol Introduction

SOAP(Simple Object Access Protocol) uø�J HTTP Ñ!�í›ì, 1àk>²

Web ,í!ZD�G’m� øï/�ÂQYƒ XML ��’e, /�Â}Uà XML }

&Âø’e�²AÑ XML f�JjZUà6Uàv’e�

XML introduction

XML(Extensible Markup Language) ô.™pxk, …uø�ÓdåíAB·Hxk,Uà6.�Uà¨��«, XML dK·?DéUà6Êø_Ç[��ídåf2Çó� è

¦� Dæ[’e� HTML D XML dKøš·u™p�xk, .¬ HTML Uà™Âí

ñíuàV�ý’e, 7 XML Uà™ÂíñíuàV·H’eí� XML ʼ“íà¤

õ.Ý�×, duªJUà…V·H’eéCuf£ÚäsKí���, ·u…í@à, «

wÊ.°íÍ$5Èí’mà‹ÛbǦ, Í$È·ªJN¬ XML ��m7>¼, Éb

Bb?Dnj XML í��ÿªJ'ñqé.°íÍ$ÈßÞ��, 1‚à XML m7�

�Ó‹Í$íØk4�

øM XML dKuâs_¶M A: åd (prolog)DdKjÖ (document element)�ådí¶M6ªJ¨�-�²Ï4íbÖ: dK�G�µ, Š�ì2dKí�GD!Z� å

d¨Ö¤ XML dKUàíxk_�, £ XML dK�…��µ� øM™Ä XML dK

37

Page 40: The Feasibility Study and Implementation of ITRI SME …pangfeng/ParallelDistributedLab/master... · The Feasibility Study and Implementation of ITRI SME-PDM on Microsoft .NET platform

ªJ.Ûb�µåd� Çø_¶}udKjÖ, ¥_¶}uUà6àVæ[’míËj, Ê

XML dK2, jÖNíudKíj4!Z, 1/¨ÖdKí’mqñ� t�íjÖuâ–

á™Â� jÖqñ, J£!!™ÂF A� jÖqñªJuåj’e� wF (+Õ) jÖ, C

s6í ¯�

XML åd¸W, à-:

<?xml version=”1.0”?><! −−File Name:Inventory.xml−− >

�øWu XML í�µ¶M, zp¥_ XML dKí�…HU� ÖÍÊd�2pdN

|@vb��µ¶M, O XML �µ¶Mu²Ï4í� à‹5b‹p XML �µ¶M, …

.â[0ÊdKí–áP0� �ùW†uÅj� Ê XML dK2‹pÅju²Ï4í, O

‹pÅjªJ‹#dKíªè4� ÅjuJ<! −−åj–á, J−− >åj!!�

XML dKjÖ��uâ™p (tag) D·±˛È (namespaces) Aí� jÖ™p�

�u<™p±˚>Ñ–á,< /™p±˚>!!� <™p±˚>D< /™p±˚>5È, æ[

Uà6’m, ªJuåj’e, CuwF (+Õ) jÖ, Cs6í ¯� ·±˛ÈuàVfn

XML f�Ê>²’eC6¯9s_ XML f�’evêÞ Collision í½æ, cq�s

_ XML f�, ø_uîE’eÇÕø_u¤îEí:ßA’e, à‹¥s_f�·Hî

E’eí±å™p¸:ßAí±˚™pó°v, ÿ}ßÞ Collision 7,namespace ÿu

àVfn¥�98êÞ� ·±˛ÈUà��à-:< namespace: tagname xmlns: namespace=”namespace string”>contents

< /namespace : tagname>

éñåH[Uà6A¿å�, w…uÍ$A¿íå�� à‹à C xkVªõ names-pace, BbªJà Define namespace=”namespace string”Vªõ, ÿuå�íì2�

H7˛� zŸ…í™p±˚tagname Ê‹,AÐì2í namespace ˙7�

õê XML f��� A5(, �-dı�Üø_õÒí XML dKWä, ¥_Wä

uàSzs_A5ÈGkím7J XML dKTÑ[ýíWä�

<?xml version=”1.0” encoding=”utf-8”? ><! −− a note −− >

<n:note xmlns:n=”xml example”><to>Mary</to><from>George< /from><heading>Reminder< /heading><body>Don’t forget me this weekend!< /body>< /n:note>

‡sWu XML f�íåd, wFu XML dKjÖ, Wä2Ék namespace ¶}

uz n ‰b¦HAÑ xml example å�, �-F�í™p6u˘k¥_·±˛È, ¨�

to�from�heading ¸ body� ÊdKjÖ2íF�™p±˚·uUà6A¿í, BbªJ

2¥<™pnj XML dK2æ[Bóm7, ÊWä2, ªJñqíõ|uUà6 GeorgeGk# Mary, Gkqñu Don’t forget me this weekend!�

Web Service

Web Service æÊí3bñíuÑ7é˙�D Web Service ��, 1éF�˙�ql�

;bÊAÐí˙�2‹p�A˛%Ÿß[Êæ˜,íjK� FJÊÍ$2Î7AÐUàA

WÇêí Web Service ��5Õ, J(´ªJÊæ˜2TX��, ÝBªJÉTX#�ü

‘íUà6� ãÊ Web Service í¦m›ìxXuUà SOAP ¦m›ì, SOAP |3b

íñíu‚àÛæíæÒæ˜-Zé@à˙�5ȪJ˛¤Ç¦� Ê Web Service |Ûí

‡™6æÊ'Ö¥�Z;í��j�, .¬…bY˝Ôìí¦m›ì, 7/¥<¦m›ìÌ

¶ñqF�«Ç¦, du Distributed Component Object Model(DCOM)� RemoteMethod Invocation(RMI). . .�� ¥<¦m›ìÄÑ-ZíÉ[FJÌ„Ê–�æ˜2�

38

Page 41: The Feasibility Study and Implementation of ITRI SME …pangfeng/ParallelDistributedLab/master... · The Feasibility Study and Implementation of ITRI SME-PDM on Microsoft .NET platform

Browser

Mobile phone

PDA

Web Service

Other Web Service

Enterprise partner

SOAP over HTTP

Figure 4.17: WebService æ˜-Z

Web Service íæ˜-ZàÇ4.17, à°5õƒíF�í Web Service uN¬ SOAPãÊ, Uà6ªJUà Web Service í�«¨ÖøO Browser�Mobile phone� PDA�

¸ Enterprise parnter ��

SOAP message architecuture

5‡dıT¬ SOAP uø�J HTTP Ñ!�í›ì, 1àk>² Web ,í!ZD�G

’m� øï/�ÂQYƒ’e, /�Â}Uà XML }&Âø’e�²AÑ XML f�J

jZUà6TÜv’e� SOAP ím7-ZàÇ4.18� âÇõ|, ø_ SOAP message

HTTP Header

SOAP Document

Document element

Prolog

Method and parameter

Header message

Figure 4.18: SOAP Message Architecture

!…,uâø_ HTTP f�2æ[ø_ XML dK��ím7�

SOAP Example

�-�Üø_ SOAP ¸W, cqÛÊ�ø_ Web Service TX��, …í���øá

u Hello World method, ¥_ method �ø_¡b, ªJ�pAÐí±å� à‹ãÊA

Š, Í$�fø_å�:Hello World from ±å� SOAP message �s�ø�uUà6

d request v`ßÞím7, ÇÕu Web Service f£íí response m7��� -Þ

ÿu¤ method í SOAP request message�

39

Page 42: The Feasibility Study and Implementation of ITRI SME …pangfeng/ParallelDistributedLab/master... · The Feasibility Study and Implementation of ITRI SME-PDM on Microsoft .NET platform

POST /InStock HTTP/1.1Host: www.stock.orgContent−Type: application/soap+xml; charset=utf−8Content−Length: nnn

<?xml version=”1.0” encoding=”utf-8”? >

<soap:Envelope xmlns:soap=”http://schemas.xmlsoap.org/soap/envelope/”><soap:Body><HelloWorld xmlns=”http://tempuri.org/WebServiceExample/Service1”><name>Zheng-Nan Shi< /name>< / HelloWorld >< /soap:Body>< /soap:Envelope>

D SOAP m7-ZÇ4.18 ªœ, |,ÞûW, ÿu˘kÇ2í HTTP Header, ”-V

í¶}ÿuUà XML ��í SOAP Domcument, w2<HelloWorld>ÿu method±˚, <name>ÿu�p¡b�

4.5.2 Interface Module

Interface Module TX Web Service �ÞXÕÞUà6Uà, 1/‚à Interface Mod-ule z�µ Component Module íŠ?¥_c¯#Õ¶Uà6Uà, ÁýUà6òQQ

¾ Component Module ³Þí¼“Š?, ª7TòÍ$ér4� éUà6«?D‚à¤

_ íò¼�ÞUà Component _ � BbªJÊ Interface 2ì2Ö��ÞXÕ¶U

à6Uà, du Web Service�Function Call Service�Mobile Service ��Þ, ´ªJ

éÍ$y�!Z4, ±Q Component _ íµÆ��ßT�

Interface _ UàíŠ?�Þu¦k�-í Component Í$Š?1‹Jc¯, 7�-í Component _ 1.ø−� Interface _ æÊ, FJ1³�¡5ƒ Interface_ , O Component _ 5ȪJó�Uà¡5� Õ¶íUà6«kUàÍ$Š?.â

N¬ Interface ò¼c¯�ÞUà�µ Component Í$Š?�

An Interface Module Example

Interface Module uc¯�µí Component Module Š?, z¥<Š?TXø_ WebService �Þ#Õ¶Uà6, ÛÊÿÔø_Wä, uÉkUà6™Mð„í Web Service�

’ñí: �ŒUà6í¯¶4

’�p LoginID Password’çÊ Users 2�¥_Uà6v�f¤Uà6 ID, J̤Uà6�f˛å�

<WebMethod()> Public Function CheckLoginID(ByVal LoginID As String,ByVal Password As String) As StringDim UserObj As New UserTryReturn UserObj.CheckLogin(LoginID,Password)Catch ex As ExceptionConsole.Write(ex.ToString)End TryEnd Function

Ê .NET Framework 2, à‹bõTø_ Web Service ��, ˙�ÉÛbÊ method‡Þ‹,<WebMethod()>¥_™p, ¥_ method Ê .NET Framework �«,AÍ

AÑø_ Web Service method�

40

Page 43: The Feasibility Study and Implementation of ITRI SME …pangfeng/ParallelDistributedLab/master... · The Feasibility Study and Implementation of ITRI SME-PDM on Microsoft .NET platform

4.5.3 Component Module

Component Module uc_Í$�-, ¨ÖF�í¼“j4Š?� ñ‡õTí¶}u Ac-cess Control Logical(ACL) �Ì�Ü� …Éu Component Module íø_Wä� Ê

Í$�Ì�ܳÞ, Uàƒs�xX, ø�uÉkérjÞ, Çø�u�Ü}< query Dtransaction ÕG�

érjÞíxXuUà Message-Digest Algorithm 5(MD5) xX, zø_L<Å�

íå��‰²AøìÅí×cb (128bit), MD5 Æ�¶.Ûb Public Key C Private, uø�.ªLí‹òÆ�¶� MD5 \@àÊ UNIX ¸ Linux �T“Í$2� WàÊ

UNIX Í$2, àEíò{ÿuJ MD5 %‹ò(ælÊdKÍ$2� çàEé“ív`,Í$zàE�píò{l�A MD5 M, Í(y ¸\æÊdKÍ$2í MD5 MªWª

œ, ª7üì�píò{u´£ü� ¦¬¥ší¥, Í$Ê1.ø−àEò{íp{í8

”-ÿªJüìàEé“Í$í¯¶4� ¥.OªJfnàEíò{\x�Í$�ܺ�

ÌíàEø−, 7/´Êøì˙�,Ó‹7ò{\újíØ��

�Ü}< query D transaction ÕG, Bb.â}<Uà6í�T, u´x�ø©�

íóYÉ[, C6ÉuàVŒÉ’e� à‹Š?�TÉàVT’eŒÉ, Ê .NET Frame-work ªJUà DataReader ¥_ƒ�, …ªJÓ‹ŒÉí§�, 1ªÁý’eéÍ$í

ŠV� ÇÕ�Üæ�ÕG (transaction) ñíu�ܼ“¼˙, 'ÖUà6ÏWí�Tx

�øìíŸåÉ[, 7/©ø_¥·.âbüõêA, Ô_WäVz, hÓø_ù�.â

²¦ù��Ü6, ù�Aº, ¸hÓäù�±˚�¥� à‹w2ø_¥³�êA, µÍ$.âb�?D�+íŠ?, ¥_v`BbÿªJz¥<�T¦ékÛb transaction x

Xí�T, Í$.âÇÕ‹J�Ü�

4.5.4 Entity Module

Entity Module Š?u·Hd¸F�ÊÍ$2í’e1/‚à¤_ ·Hí’eÊÍ$

jK2f�� Entity _ H[7Í$2íǦÓK, ¤_ ¥_Í$2í’eAÑ®�¼

“ entity object, Bb«à®� entity object ÊÍ$2©_ Tier 52f£, ¥_ql

íiõÊkÉbBbí’eé�Z‰, du Product ’e[Ó‹CÁý7/ø_hP, B

bÉÛbÊ Business Entities ¤_ 52T^Z, c_Í$f£ Product í¥_’eÿ

}Z‰, 7¥_Í$f£ÓKíiõÊkéBb'ñq^ZÍ$f£m7, Ó‹Í$�4,ñq&ˆÍ$f£’eíø_4�

¤_ õTj�'dÊ C xk³Þí Struct ì2–1�

typdef struct {int UserID; char name; char loginName, char password;} user;

Ê Entity Module ì2 user ’e��(, F�˙�jK·}UàÊ Entity Module 2

ì2í user ¥_’e��� user data type 2��_bÖ, du userID �name �login-Name £ password �, F�˙�_ bTÜ user í’e, ·.âN¬Bb˛%ì2ß

í¥_ user ��� ¥6ÿ®ƒéF�íjKUà$ød�í’e, Ó‹Í$�4, éÍ$

ñq&ˆí–1�

An Entity Module Example

ñ‡õTí¶}uì27�á’e��, }��Uà6’e (User)� iH’e (Role)�¶Æ’e (Department)� �Ì’e (Authorization)� ù�’e (Project)� äù�’

e (Categories). . .�� Ê .NET Framework 2, �ß��xXªJàVõT EntityModule � à-�:

• XML

• DataReader

• DataSet

41

Page 44: The Feasibility Study and Implementation of ITRI SME …pangfeng/ParallelDistributedLab/master... · The Feasibility Study and Implementation of ITRI SME-PDM on Microsoft .NET platform

• Typed DataSet

• Custom object

…_ õTíj�Sà XML xX, ‚à™pV·H¼“õñÓK (entity object)� �-

uì2 User í’e��õW:<?xml version=”1.0” encoding=”utf-8” ?><xs:schema id=”dsUsers” targetNamespace=”http://tempuri.org/dsUsers.xsd”elementFormDefault=”qualified”attributeFormDefault=”qualified” xmlns=”http://tempuri.org/dsUsers.xsd”xmlns:mstns=”http://tempuri.org/dsUsers.xsd”xmlns:xs=”http://www.w3.org/2001/XMLSchema”xmlns:msdata=”urn:schemas-microsoft-com:xml-msdata”><xs:element name=”dsUsers” msdata:IsDataSet=”true”><xs:complexType><xs:choice maxOccurs=”unbounded”><xs:element name=”Users”><xs:complexType><xs:sequence><xs:element name=”UserID” type=”xs:int” / ><xs:element name=”Name” type=”xs:string” / ><xs:element name=”LoginName” type=”xs:string” / ><xs:element name=”Password” type=”xs:string” minOccurs=”0” / ><xs:element name=”Description” type=”xs:string” minOccurs=”0” / ><xs:element name=”RoleID” type=”xs:int” / ><xs:element name=”ValidDay” type=”xs:dateTime” minOccurs=”0” / ><xs:element name=”InValidDay” type=”xs:dateTime” minOccurs=”0” / >< /xs:sequence>< /xs:complexType>< /xs:element>< /xs:choice>< /xs:complexType><xs:unique name=”dsUsersKey1” msdata:PrimaryKey=”true”><xs:selector xpath=”.//mstns:Users” / ><xs:field xpath=”mstns:UserID” / >< /xs:unique>< /xs:element>< /xs:schema>

Z¾Í$&ˆ£�Ü

Entity Module ªJZ¾Í$í&ˆ¸�Üí˚Ø�� Entity Module u .NET –1-

Z2íøájK, µÑBó¤_ ªJdJ,¥<Z¾á? J-Ôø_õÒíWädzp,à‹Bbb‡ú’eé2í’e[�hÓhP, µc_Í$ÛbàSd&ˆ£�Ü�

cqBbbúk’eé2 User ’e[�ThÓø_hP, ¥_hPí±˚uR�� ó

úí, ÊÍ$2BbÉÛb�Ü Entity Module 2퉓, 7.Ûb�ƒÍ$wF_ �

ÄÑ…_ õTíj�Sà XML xX, ĤÉÛb‡ú User ’e��hÓø_·Hj

Ö, ‚षHjÖ·HP�¥_hP˘4, c_Í$2F�Uàƒ User ’e��í_

¦m’eZ}yhÑhí User ’e��� ^Z5( User ’e��õWà-�

42

Page 45: The Feasibility Study and Implementation of ITRI SME …pangfeng/ParallelDistributedLab/master... · The Feasibility Study and Implementation of ITRI SME-PDM on Microsoft .NET platform

<?xml version=”1.0” encoding=”utf-8” ?><xs:schema id=”dsUsers” targetNamespace=”http://tempuri.org/dsUsers.xsd”elementFormDefault=”qualified”attributeFormDefault=”qualified” xmlns=”http://tempuri.org/dsUsers.xsd”xmlns:mstns=”http://tempuri.org/dsUsers.xsd”xmlns:xs=”http://www.w3.org/2001/XMLSchema”xmlns:msdata=”urn:schemas-microsoft-com:xml-msdata”><xs:element name=”dsUsers” msdata:IsDataSet=”true”><xs:complexType><xs:choice maxOccurs=”unbounded”><xs:element name=”Users”><xs:complexType><xs:sequence><xs:element name=”UserID” type=”xs:int” / ><xs:element name=”Name” type=”xs:string” / ><xs:element name=”LoginName” type=”xs:string” / ><xs:element name=”Password” type=”xs:string” minOccurs=”0” / ><xs:element name=”Description” type=”xs:string” minOccurs=”0” / ><xs:element name=”RoleID” type=”xs:int” / ><xs:element name=”ValidDay” type=”xs:dateTime” minOccurs=”0” / ><xs:element name=”InValidDay” type=”xs:dateTime” minOccurs=”0” / ><xs:element name=”Address” type=”xs:string” minOccurs=”0” / >< /xs:sequence>< /xs:complexType>< /xs:element>< /xs:choice>< /xs:complexType><xs:unique name=”dsUsersKey1” msdata:PrimaryKey=”true”><xs:selector xpath=”.//mstns:Users” / ><xs:field xpath=”mstns:UserID” / >< /xs:unique>< /xs:element>< /xs:schema>

4.6 ’e榵(Data Access Layer)

’e榵ÑÍ$TX’eæ¦í��, 3bñíuªJé,µUà6.ÛbnjàSæ

¦’eí¥£µÆ SQL x¶, Uà6ÿ?D£üÌÏæ¦ Database qí’e[� …

µŠ�F�ú’eéæ¦�T1‹J¨_, é,µUà6ÉÛbø−ÛÊÛbú¨<’e

T¨<TÜ, y*…µ©vUà_çí method �T, ÿªJ/qÍT’eé2í’e�¦

�¥<�T� Create � Read � Update ¸ Delete ��T, …µÍTTÜí’e¦�DŠ

?_ µí Entity Module 2Fqìíóɼ“õñ’e�É, duUà6’e (User)�iH’e (Role)� ¶Æ’e (Department) Cù�’e (Project)� ’e榵-Zà

Ç4.19, …µ-Z�s_jK}�u Data Access Component Module D ADO.NET, Data Access Component 3bŠ?u¥_F�D’eéóÉíÍT��, 1ª7T

X�ÀñqUàí’eéÍTŠ?#Õ¶Uà6ãÊ� ADO.NET u Microsoft .NETFramework 2TXàVTÜ’eíjK�

4.6.1 Data Access Component Module

…_ 3bŠ?u¥_F�D’eéóÉíÍT��, 1N¬ Access Data Object .NETú’eéªWÍT� Data Access Component TX�À榒eéíŠ?, query Cw

43

Page 46: The Feasibility Study and Implementation of ITRI SME …pangfeng/ParallelDistributedLab/master... · The Feasibility Study and Implementation of ITRI SME-PDM on Microsoft .NET platform

Data Access Component

ADO.NET

DB Server Layer

Activity Module Layer

API

API

Figure 4.19: Data Access Layer Architecture

F’eÍT, �f Entity Module 2Uàí’e!Z (ex. User�Role)� ÄÑÍ$,µ

Uà6à;ú’eªWÍT.âãÊUà¤_ , ĤõT¤_ ªJéÍ$ñq&ˆ, 6

±Q Actvity Module Layer D DB server 5ÈíóY4�

õT¤_ .â·<íËju, Data Access Component Module 2F�íŠ?.

âÀÓ“, ©ø_ method úk’eé query v, ÉTÜø_’e[, .b°vTÜs_

J,, ÄÑ¥_u Actvity Module Layer í�L¸ˇ� ÇÕúk’eæ�TÜ (trans-action) 6.TTÜ, ¥u Activity Module Layer í�L� Activity Module ÉÛb

ãÊ…_ 2Ûb� transaction í’eéæ�Š?, 1‹p transaction ��ÿªJ�

Data Access Component Example

ÛÊUà VB.NET xkÔø_�Àí Data Access Component ¸W, -Þ¥_Wä

uàVTÜ User table ’e, Š?� update � retrive £ Create�

Public Class Users

Private cnstr As String = ConnectionStringacquire the connection string

Public Function Create(ByVal dsAddUsers As ActvityEntity.dsUsers) AsBooleancode to create a user data into databaseEnd Function

Public Function RetriveAll() As ActvityEntity.dsUserscode to retrive a DataSet containing User dataEnd Function

Public Function Update(ByVal Changed As ActvityEntity.dsUsers) AsBooleancode to update database on the properties of the User data sent in as aparameter of type datasetEnd FunctionEnd Class

44

Page 47: The Feasibility Study and Implementation of ITRI SME …pangfeng/ParallelDistributedLab/master... · The Feasibility Study and Implementation of ITRI SME-PDM on Microsoft .NET platform

4.6.2 ADO.NET Introduction

ADO.NET u Microsoft .NET Framework ,TXTÜ’eíjK, …TX7�«í

�¦4J£ªØkí’eæ¦� ADO.NET Uàªô.™pxk (XML), ADO.NETªü\�^íø’ef�BLS�«,íLS@à˙��

Uà ADO.NET í2-áñu’eÕ (Dataset)� ’eÕu’eé’ePkp[ñ

2툅� ’eÕ¨ÖLSbñí’e[, ¦�©ø_’e[·uú@ƒ’eéí’e[

C�e[� ’eÕuæÊkp[ñ2, 1/³�©(ƒ¨Öóú@5’e[C�eí’e

é2� ¥�2i©(í-ZÊè¦CŸp’eév, nUàUà’eé/�Â’Äíj�

TX7y×íªô�4 (Scalability)�

Data Access Example

Uà ADO.NET 榒eé�s�j�, ø�uòQ榒eéÇø�u‚à’eÕT

×(æ¦� O!…,D’eé©(TÜ’eíßå·uøší, *� ’eé©(ÓK� q

ì©(å�� Çó’eé©(, |(É£’eé©(� ©(¥à-:

� ’eé©(ÓK

Dim conn As New OleDbConnection()qì©(å�

conn.ConnectionString =”Provider=Microsoft.Jet.OLEDB.4.0 ” &” User ID=Admin; Password=; ” &”Data Source=C:\Northwind.mdb”Çó’eé©(

conn.Open(). . .ÏW SQL Command. . .É£’eé©(

conn.Close()

4.7 ’eéµ(DataBase Layer)

˙�ql Database |½bíuàS� ø_É©4’eé, 1*¦)í’m�²Ñ

’eé2í[À (Table)� çBbzF�í[Àqlß5(, .â²ì¥_[À³Þµ_

u Primary Key, Primary Key ªJ.uÉ�ø_, ªJ�Ö_hP Aø_ PrimayKey, .¬}�¥� Primary Key ßÞíŸÄuɦø_hP³�Ÿ¶éFÊ[À2A

Ñø_ñøíhP, FJ.âUàÖ_hP²ìAÑø_ Primary Key� ²ìß PrimayKey 5(, |(ø−ÿuqì’e[ÀD’e[À5ÈíÉ[7� à‹[À A ³Þí/_

hPYËk[À B í primary Key , ¥vBbz[À A 2íhPì2Ñ Foreign Key,Ê’eé³ÞÿªJz[À A �[À B qìÑø_ Relation, qìß5(, çBby�

[À B í primary Key v, [À A í Foreign Key n}�O‰��

4.7.1 }&¦)Í$’e[

ÊBb}&¡55‡ SME-PDM @à˙�í Web Server Uà�Þ5(, }&)øb

õTAº�Ì�ÜÛbJ-[À, Ç4.20, ÊÇ2��(íåH[u¥_[�í PrimayKey� Primary Key Ê’e[�³ÞFH[íuñø4, BbªJUà primay Key ç

Øù?DÊ’eéTæ¦�T� çÍ, à‹uù“í’eéqlAºøÇá@vú’e[

�T£d“í�T, £d“3bñíué’eéfnl潺í’e,7/?DjZT’e

í&ˆ� ®_’e[�zpà-, Users [�, àVp“º±å� ºiH� ºépÍ

$í±˚£ò{� ºzp� ×Uóàn‚£Ü^n‚�, 7 UserID u primary key ,RoleID Yæk Roles [�í primary key � Roles [�, àVp“iH±˚, iHzp,

45

Page 48: The Feasibility Study and Implementation of ITRI SME …pangfeng/ParallelDistributedLab/master... · The Feasibility Study and Implementation of ITRI SME-PDM on Microsoft .NET platform

UserID Name LoginNamePassword Description RoleID ValidDay InValidDay

Users Table

RoleID Name Description DepID

Roles Table

DepID Name Description ReportTo

Departments Table

ClassID Name Description

Class Table

UserID ClassID Increase Modify Del Query OnlineView View Download

CheckIn CheckOut ReversionCopy

UserAuthority Table

ProjectID Name Description ManageUserID EstCompleteD

ateEstDuration CreationDate

Projects Table

CategoryIDProjectID Name Description EstDuration

Categories Table

ProjectID UserID

ProjectMember Table

Figure 4.20: Database Table list

46

Page 49: The Feasibility Study and Implementation of ITRI SME …pangfeng/ParallelDistributedLab/master... · The Feasibility Study and Implementation of ITRI SME-PDM on Microsoft .NET platform

£iHF˘¶ÆHU, 7 RoleID u primary key,DepID Yæk Departments [�

í primary key � Departments [�, àVp“¶Æ±˚, ¶Æzp£¶Æí,�¶Æ

HU, ¥_ ReportsTo hPªàV�“¶Æ5ÈíÉ©4� Class [�, àVp“Í$2

Ûbqì�Ìíé�, ¨Ö7é�±˚, é�zp� duBíAÞ, ù��Ü,CAD Çf�

�Ì�Ü� UserAuthority [�, àVp“©_AFx�í�Ì, ©_AUàé� ID V

T�Ì}é, duù��Ü, Bills of Material(BOM) ép�� ©øé·ªJT.°íq

ì, du increase � Modify � Del � Query � OnlineView � View � Download ��� Ĥ primary Key �s_hP ¯7A, }�u UserID ¸ ClassID , ÄÑ©_

A�ª?x�ó°íé��Ì� ÇÕ´�ú_[�u˘kù��ܶ}, Ÿ†,ñ‡Fbõ

Tí�Ì�Ü1.}Uàƒ, OàJ(Ûb‹JØkù�õTŠ?, µ¥ú_[�uøìÛ

bí, ¥ú_[�zpà-, Projects [�, àVp“F�ù�’mUàí[�, p“í’

m�ù�±˚� ù�·H� ù��Ü6� ,lvêAínä� ,lv£ù�ÇávÈ�,ProjectID u¤[�í Primary Key� Categories [�, àVp“ù�}éüù�í[

�, p“í’m¨��¤üù�F˘ù�±˚� üù�±˚� üù�·H£¤üù�FÛb

êAív�, Primary Key u CategoriesID� ProjectMember [�, àVp“¤ù

�2í¡DAº, p“í’m�ù�±˚H{£ù�AºH{� Primary key uâs_h

P A, }�u ProjectID £ UserID�

4.7.2 � ’e[D’e[5ÈíÉ©

ÛÊBbÇáÊ’eé2õT|BbFÛbí[À£[À5ÈíÉ©, ÉbÊ’eé/�

Â2qìß[À�[À5ÈíÉ©, ’eéÿªJ6ŒBbTÜs_[À5ÈíóYÉ[�

duà‹Bbz Department ’e[2/_¶ÆtÎ5(, Í$}A�6BbTÜ Role’e[2uBbtÎí¶ÆiH� âkBbUàí’eéu Microsoft SQL server , õ

T|[À£[ÀÉ[íj��s�, ø�uâ SQL server í Enterprise ManagementàhÓ[Àíj�ø_ø_MMÓ‹, ÇÕø�uUà Microsoft Visio ,ñ, ¥,ñª

JéBbql[À, qì primary key ¸[À Relation , ÝBu Store procedure � |

(ªJ� SQL server T°¥“í�T, 5Ê Visio 2Fdí�Tøø·}Ê’eé2°

¥|Û� ¨Ö5Ê Visio qlíF�[À, [À2Fqìí Primary key... ��

àSql’e[D’e[5ÈíÉ©á? íl.âl©vhP� primary Key 5

ÈíÉ[, ¥jÞí‡i?‰.âÔ%ðÚ, ÿ©’e[ql6uà¤, ª?.°íA

T|Ví’eé!Z·.}ó°� ÛÊÿÔø_WäTzp: ¶Æ’e[ (DepartmentsTable) DiH’e (Roles Table) [5ÈíÉ©4, ÊÛõ2ø_¶Æ2}æÊ'Ö�

iH, óúí’eé2ø_¶Æ’e[�íØùªJú@ƒiH’e[�Ö°’e,¥uø

_'t�íøúÖ’e[, 6ÿuø_¶Æ2}�Ö�íiHú@, v|¥šíÉ[5(,BbªJ‚àd•’eéퟆ, øø’e[í Primary Key , µ`ƒÖ’e[2, ÄÑ

Primary Key uñøí, ¥šBbÿªJN¬¤øØùvƒ;bí’e� ÛÊBbÊiH

[�2Ó‹ø_¶Æ)UhP, ÊiH[�2í¶Æ)U, uø_Õ¶Øù, Ê’eéíù

�Xx³Þ˚T Foreign Key � ÛÊ�Ü7àS‡i’e[D’e[5ÈíÉ©(, Çá

zF�í’e[�5ÈíÉ©Tø_zp�

Roles Table

RoleID (PK) Name Description DepID(FK)

Departments Table

DepID (PK) Name Description ReportTo

Figure 4.21: The relation between Departments and Roles Table

Ç4.21 H[¶Æ’e[�DiH’e[�, ÊÇ4.21 2[�hP±˚ê� PK , FK�H{, Fb}�H[7 Primary Key ¸ Foreign Key � Ç2¶å[ý Roles [�2

47

Page 50: The Feasibility Study and Implementation of ITRI SME …pangfeng/ParallelDistributedLab/master... · The Feasibility Study and Implementation of ITRI SME-PDM on Microsoft .NET platform

í DepID YËk Departments [�2í Primary Key � wF’e[5ÈíÉ[ÿ.

y‹J;H, r¶’e[�íÉ[ª¡5Ç4.22�

4.7.3 ’eéÍ$-Z

Ç4.22 Ñ’eéÍ$-ZÇ, …u%âqìF�’e[D’e[5ÈíÉ©45(, F)í

|� ¯!‹� Ç2�úábj„í, }��’e[�2íhP±˚� 3Øùœ¸Õ¶Øù

œíH{£’e[�5ÈíÉ[j²�íl�Ü[�2hP±˚, ÊÇ2©ø_j�FH[

íuø_’e[�, [�í¬šiZuhP±˚� Ô_WäVz, Bbhô Departments’e[�, F¬ši� DepartmentID � Name � Description � ReportTo �±˚, ¥<ÿu Departments ’e[�íhP±˚7� yV�Ü Primary key ¸ Foreign KeyÊÇ2àS}<, Ê©_’e[�í˝i, � PK ¸ FK1 �HU, FbFH[í}�FH

[íÿuu Primary key ¸ Foreign Key �’eéXx7� |(u’e[�5ÈíÉ

[j², ÊÇ2©_’e[�5È·�¶åó©Q, 7¶åí–áõF©QíÇ2� For-eign Key, 7¶åFN²í�õ[�H[¤[�2� Foreign Key D5óúí PrimaryKey� Ô_Wä, Ê Departments D Roles [�2�ø¶åó©, –õÊ Roles, �õÊ Departments , ¥FH[í<2uÊ[� Roles 2í DepartmentsID u ForeignKey, ¤hPóYk[� Departments 2í Primary key 6ÿu DepartmentID ¥_hP� J,�ÜàSõT|’eé!Zíh1DõÒõT¬˙�

48

Page 51: The Feasibility Study and Implementation of ITRI SME …pangfeng/ParallelDistributedLab/master... · The Feasibility Study and Implementation of ITRI SME-PDM on Microsoft .NET platform

UserAuthority

PK,FK2 UserID PK,FK1 ClassID

Increase Modify Del Query OnlineView View Download CheckIn CheckOut Reversion Copy

Categories

PK CategoryID

FK1 ProjectID Name Abbreviation EstDuration

Class

PK ClassID

Name Description

Departments

PK DepartmentID

Name Description ReportTo

Users

PK UserID

Name LoginName Password Description

FK1 RoleID ValidDay InValidDay

ProjectMembers

PK,FK1 ProjectID PK,FK2 UserID

Projects

PK ProjectID

Name Description

FK1 ManagerUserID EstCompletionDate EstDuration CreationDate

Roles

PK RoleID

Name Description

FK1 DepartmentID

Figure 4.22: Database Structure

49

Page 52: The Feasibility Study and Implementation of ITRI SME …pangfeng/ParallelDistributedLab/master... · The Feasibility Study and Implementation of ITRI SME-PDM on Microsoft .NET platform

Chapter 5

Experiments

…ıõðñíu¿t .NET -Z–1ŸAíÍ$DÝ .NET -Z–1Í$ performanceíªœ� Í$Uà .NET -Z–1ªJ�à�Ö×�ù�d•íßT, 7/F�qlAº

?D}¯T, /ÉÛbù·ÊAÐù“¶}íä�� ÄÑÍ$}Ñûµ, à‹˙�ql�

íùÅuUà6�Þ¶},µ˙�ql�ÉÛbù·ÊUà6�Þµíql� à‹˙�ql

�íùÅuŠ?_ µ¶}, µ˙�ql�ÉÛbqlö�’e¼� ù��Ü�Š?� ø_

Í$à‹%¬¥<}5(, BbªJ‹0Í$êAí§�, 1ªJ�^±QÍ$_ ȵ

Æ�, OuÍ$%¬¥<µÆíql˙åD-Z -õT5(, Bb.ø−¥šíql-Z

úDÍ$í^?�Bóšíà, ĤBbõTÇø_Ý .NET -Z -íÍ$D .NET-Z -íÍ$óªœ�

5.1 Ý .NET -Z -Í$�Ü

Ý .NET -Z -íÍ$3b}Ñúµµ, }�uUà6�Þµ� Š?_ µD’eé

µ� 7/Š?_ µ21³�Uà Interface Module� Component Module £ En-tity Module �ú__ � Í$-ZàÇ5.1, BbªJøÝ .NET –1Í$-ZÇ5.1 D.NET –1Í$-ZÇ4.2dªœ� BbªJ'ñqõ|s_Í$5Èí-ZÏ��

Client Browser

Web Server Layer

Activity Module Layer

Database Layer

Component

ADO.NET

ASP.NET

HTTP

SOAP over HTTP

Figure 5.1: Ý.NET –1Í$-Z

ÊUà6�Þµ¶}uó°í� ÊŠ?_ µí¶}, s_Í$5ÈíÏ�Êk .NETÍ$-Z2�ú__ }�u Interface Module� Component Module £ Entity Mod-ule ú__ , OuÇø_Ý .NET -Z–1íÍ$É�ø__ Component Module,¤_ }òQN¬ ADO.NET ƒ�òQú’eédæ¦í�T, /TX SOAP �ÞX

ÕäãÊUà� Ê’e榵í¶}, s_Í$Ïæ4Ý�pé, Ý .NET -ZíÍ$u

50

Page 53: The Feasibility Study and Implementation of ITRI SME …pangfeng/ParallelDistributedLab/master... · The Feasibility Study and Implementation of ITRI SME-PDM on Microsoft .NET platform

z¥øµíŠ?òQõTÊŠ?_ µ³Þ, 1³�Ö |V, Ou .NET -ZÍ$uz

’eæ¦íŠ?}¦|� |(øµu’eéµ, ¥øµís_Í$·uøší, s_Í$

Uàí’eé·uUà Microsoft SQL 2000�

s_Í$-Zóªœ, Ý .NET íÍ$-Z -ªœ�À, óúí, Ý .NET Í$2íF�_ jKŠ?ª .NET -ZÍ$2í_ jKŠ?µÆ, ÄÑ©ø__ F.â

dí98œÖ, _ ÈíóY4œ×, Ĥ�.ñqØk£&ˆíÿõ, OÜ�,^?}ª

.NET -ZÍ$ß, ÄÑ….ÛbN¬Í$µµãÊ, 7?DòQ¦)’e�

5.2 Experimental Environment

õð=1}Ñs_¶}dzp, }��,ñ¶}£wñ¶}�

,ñ¶}�s_¶}, }��Bbb¿tíÍ$D¿tx,ñ� …õðÛb¿tíÍ

$�s_�…, }�u .NET -Z�…DÝ .NET -Z�…, ¥s_�…·}AÖ_µ

ŸõT, BbªJz¥s_Í$×I}Aú_¶}, �ø_¶}uUà6�Þ, Uà6�Þ

µUà Microsoft Internet Information Server(IIS) dÑ/�Â, 1Uà ASP.NETÑ…µíõT˙�xk� �ù_¶}uŠ?_ µD’e榵, Š?_ µTX WebService #Uà6�Þµ, 1D’e榵Ǧ, ¥sµJ VB.NET TÑõTí˙�x

k� �ú_¶}u’eéµ, ’eéµJ Microsoft SQL Server 2000 TÑæ[’eí

’eé� J,ú_¶}ªJ}�[Êx�.°Ô4í/�Â2,¥šªJz9‰}àƒ#F

�/�Â� OÑ7jZ, …õðzÍ$¥ú_¶}·-Ê°ø«/�Â2ÏW� ¿tÍ$U

à,ñxX’ecÜà[5.1:

Í$ Uà6�Þµ Š?_ µ ’e榵 ’eéµ

.NET-Z ASP.NET,IIS

VB.NET,Web Service

VB.NET,ADO.NET

SQL Server

Ý.NET -Z ASP.NET,IIS

VB.NET,Web Service,ADO.NET

Ì SQL Server

Table 5.1: Í$Uà,ñxX’e

¿tx,ñUà Microsoft Application Center Test(ACT), Ê Visual Stu-dio.NET enterprise �TX¤x, Application Center Test Š?u_ÒÖ_‡«U

à6, 1ÇóÖ_/�©(1A§Ëf£ HTTP b°V_ÒøסUà6íWÑ� …

ªJN¬“`íj�øBbÍT IE æ¦æ¦íZ½¬˙�A VBscript, 1‚à Multi-thread íj�_ÒÖ_‡«Uà6ú/�Âdæ¦�T, |(ø!‹p“-V1àÑ[×

Û� ¤xTXÖá/�Âp“XUà6¡5, …õð3buJ/�Â�ø�@Uà6vÈ

dѡ5M�

Ékwñ¶}r¶Uà°ø«Ú7, PDM Í$íUà6�Þµ� Š?_ µ� ’eæ

¦µ£’eéµ·-Ê°ø«Ú7,� …õðUàí¿tÚ7u IBM notebook �Uu

X31 i4v, ºe�[à[5.2:

�U OS CPU chip RAM HD

IBM X31 I4V WinXP per-fessional

IntelPentium-M 1.4 GHZ

Intel 855PM 512MB 40GB

Table 5.2: wñºe

51

Page 54: The Feasibility Study and Implementation of ITRI SME …pangfeng/ParallelDistributedLab/master... · The Feasibility Study and Implementation of ITRI SME-PDM on Microsoft .NET platform

5.3 Experimental Results

Ç5.2 u…õð!‹, Ç2í X WuUà6°v©(B/�Âí_b, Ç2í Y Wu/�

Â�øŸ�@#Uà6í�ÌvÈ (Time To First Byte, TTFB)� ¥_�ÌvÈuâ¿

tx ACT }�_ÒJ10ÑIb_Uà6°v©(ƒ/�Â, ©_Uà6Uà/�Âü

} , ÊUà‚Èq¿tx�“©_Uà6Uà/�Âí¥@vÈ, |(zF��“í/

�Â¥@vȦ�Ì, J,¥T6ŸF¦)í¥@vÈÌMÿu Y WíbM� Ç2�s

‘~(}�H[ .NET -ZÍ$DÝ .NET -ZÍ$, HU}�u .NET architecutreD non .NET architecture �

0

5

10

15

20

25

30

35

40

0 10 20 30 40 50 60 70 80 90 100

Tim

e to

firs

t byt

es (m

illis

econ

d)

number of connections

.NET architecturenon .NET architecture

Figure 5.2: õð!‹

*Ç2ªJõƒs‘~(·�²,í�‘, ¥uÄÑ�ÖUà6°vú/�Âæ¦v,/�Âí9‰}�V�½, FJ/�Â¥@vÈ}MM‰Å�

Ç2 .NET architecture D non .NET architecture s‘~(·uÄÑUà6_b

Ó‹7�MM²,í�‘, 7/ non .NET architecture í/�Â�@vÈ·ª .NETarchitecture bß� ¥uÄÑÝ .NET -ZíÍ$.cµbœý7/©µí_ }6

.pü, Ou .NET -ZíÍ$.cµbœÖ7/©µ2í_ L�pé, FJ .NET -

Z_ ªÝ .NET -ZbÖ�� FJ°ø��TÊ .NET -ZÍ$2ÛbUàƒí_

_bDµb}ªÊÝ.NET -ZÍ$bÖ, Ĥ/�Â¥@vȦ�Ý .NET -ZÍ$

}ª .NET -ZÍ$bߥ1.<Õ, O*õð!‹ªJõƒÖÍÝ .NET -ZÍ$ª

.NET -ZÍ$¥@vÈ0, .¬…b5ÈÏ�1.×, Êõð2s_Í$|×í^?Ï�

u6.14%�

*õðBbø−øK9, ÖÍÝ .NET -ZÍ$ÏW§�Öͪ.NET -ZÍ$0, O

u…b5È|×íÏ�6É�Ê6.14%5È7˛� FJÖÍ .NET -ZÍ$ �6.14%í¥@vÈ, O .NET -ZªJZ¾Í$íØk4£&ˆØ�, 7/ .NET -ZyªJ

®ƒ,ñ½ºUàíÜ;� ĤÍ$ �ø<vÈ7?D�àƒwF'Ö .NET -Zíß

T, ¥uø_BbªJQ§í!‹�

52

Page 55: The Feasibility Study and Implementation of ITRI SME …pangfeng/ParallelDistributedLab/master... · The Feasibility Study and Implementation of ITRI SME-PDM on Microsoft .NET platform

Chapter 6

Experiences

ÊõT¤Í$¬˙2, B)ƒrÖ£�í%ð� BnjƒàS*̃�õTqløá×�ù

�� 7¥_%ð¬˙.É�Ìk PDM Í$7˛, �˛F�×�ù�Í$·ªJ‚à¥_

%ðõT�

õTøPÍ$íb‘K.â²ìÍ$-Z, ql6.ânj¥_-Z2©__ vŠ

�íŠ?� Ê¥_jÞqlÎ7ql�%ðíÚ5Õ, BUàíj¶u¡5�,TXí

.NET n-Tier -Z–1[6], �,TX¥_–15Õ, �,´z-Z2©__ ·d�Ì�

í�‡�Ü, ÇÕ�,z-Z2�cí_ qlA/<ñqUàí_�, éBb¥<J‡³

�í¬ .NET -Zíql6ñq¡5Uà�

ÊqlêÍ$-Z(, øO˙�}‡ú¥_-ZT�¶d•, ¥v`Fb¦�Uà

UML[8] ( Unified Modeling Language) xkTql, ˙�Uà UML dqlJ%

u$“äíã¼, Ê¥_¶}B1³�Ö‹D�, .¬¥_¶}Ê$“äuóç½bí� B

bªJz UML qlǪõÑ�ºÓíqlÇøš, ˙�¡5 UML qlǪJé�%

ðí˙�nj¥_Í$qlu´/ç� UML ǪJé˙�njÍ$2©__ é�

5ÈíF�É[, Í$êA(, à‹˙�Ûbú/¶}‹JØk^Z, ¥v`Ô UML qlÇÿªJø−Bbñ‡^Zí_ uÊÍ$íµ_¶}, 7/d7^Z5(}àí_

u¨<� Ô_WäVz, à‹ SME-PDM Í$� UML qlÇ, ¥šBb�T SME-PDM ƒ .NET Framework ,ÿ.à¥óT:, BbøÇá´bŒõÍ$_ ˙�{,1njñ‡¥__ ÊdBóí� wõà‹�qlÇ, BbÿªJ.àyõ,NWí˙�

{, BbÿªJ'ñq*qlÇ2õ|¥__ íŠà�

õTíÍ$©øµ·Uà.°íxX� FJBÊõTí¬˙2.â‡ú©øµ ©è.

°xXízÀ, FJbøAÖAêAu‘v¢‘‰í� dUà6�Þµ.ânj ASP.NET� Cache � Security �, ÿJ Cache dzp, ql6.â²ìÊ0¦p[ñ2æ[í

’e, à‹Ê0¦p[ñ2æ[í’eql.ç, ¥<’e'ñqÿ}¨A/�ÂíŠV�

Š?_ µUàíxXu transaction � Biztalk � Security � Web Service �� J

transaction dzp, ql�.ânjàSÊÍ$2TÜø �T, à‹¥<�T³�£ü

êA, Í$.âd�+í�T� ’e榵UàíxX3bu ADO.NET� ql6.ân

j ADO.NET ¥_jKíŠ?, 1ø−Bóv`ÛbUà DataReader C DataSet, é

Í$ÏWyx�^0� ÇÕà‹ql6bql’eéµ, Fÿ.ânjàSql|ø_�^

0í’e[�, C6nj SQL xkíà¶�� FJø_×�ÃãíÍ$.âbÕ¯.°ù

“ä�íAn?Dß‚êA�

ÊõT%ð2, BêÛ�O .NET -ZŸ˙���J%.°í>g, J‡Ÿ˙�·ª

œÓ-Fk, ;ƒBóŸBó� 7ÛÊ.°, ©__ ·˛%�üìíñ™£Š?, FJB

É?�O-ZqlŸ˙�, ÖÍ>gÅõóGó2� OuÍ$ÉbYÎ .NET -Zqlõ

T, Í$}yñqØkD&ˆ� Ê4.5.4 ı��TƒUà Entity Module dØkD&ˆí

Wä� ø_-ZpüíÍ$?Dé©__ k}\Uà, 7/©__ ÈíóY4}±Q�

FJBb‡ú/__ T^Zv, Éb‡ú}\àí_ T�Œ, c_Í$íyhÿ}ê

A�

53

Page 56: The Feasibility Study and Implementation of ITRI SME …pangfeng/ParallelDistributedLab/master... · The Feasibility Study and Implementation of ITRI SME-PDM on Microsoft .NET platform

Bibliography

[1] c‰‰. SME-PDM Introduction v1.0.1, 6 2003.

[2] c‰‰. SME-PDM EC Management, 6 2003.

[3] c‰‰. SME-PDM BOM Management, 6 2003.

[4] Alan MacCormack Marco Iansiti. Developing products on internet time.Harvard Business Review, March 1997.

[5] XML Tutorial. http://www.w3schools.com/xml/default.asp.

[6] Microsoft Corporation. Application Architecture for .NET: Designing Ap-

plication and Services, version 1.0 edition, 2002.

[7] David Burgett. Tackle Data Concurrency Exceptions Using the DataSet

Object, 2 2004. http://www.microsoft.com/taiwan/msdn/library/2004/feb-2004-tw/webfarmsTOC.htm.

[8] Unified Modeling Language. http://www.uml.org/.

54