Upload
buikiet
View
220
Download
2
Embed Size (px)
Citation preview
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
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}&í×�,ñÍ$�
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
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
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
4.21 The relation between Departments and Roles Table . . . . . . . . 474.22 Database Structure . . . . . . . . . . . . . . . . . . . . . . . . . . 49
5.1 Ý.NET –1Í$-Z . . . . . . . . . . . . . . . . . . . . . . . . . 505.2 õð!‹ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
4
List of Tables
5.1 Í$Uà,ñxX’e . . . . . . . . . . . . . . . . . . . . . . . . . 515.2 wñºe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
5
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
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
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
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
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
˙�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
ç˙‰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
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
|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
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
˙à-, 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
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
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
• 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
• 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
Ê 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
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
~� ÀÀ]�) í 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
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
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
Ê�²¬˙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
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
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
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
\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
�Þ, ´ª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
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
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
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
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
ó°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
Š?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
ª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
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
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
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
• 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
<?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
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
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
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
£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
í 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
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
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
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
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
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
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