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 Í$í– . . . 6
1.2 PDM Í$ . . . 6
1.3 SME-PDM Í$Ü . . . 6
1.3.1 qlÜc¯ (Design Integration Management Service) 7 1.3.2 …−„c¯ (Version Control Service) . . . 8
1.3.3 ö¼˙c¯ (Check Design Control Service) . . . 8
1.3.4 ql‰yc¯ (Design Change Control Service) . . . 8
1.3.5 ùª−c¯ (Project Schedule Control Service) . 9 1.3.6 ›°Çê=1 (Collaborative Development Environ- ment Service) . . . 9
2 SME-PDM Í$-Z 10 2.1 Í$-ZŠ?zp . . . 10
2.1.1 Layer4: Uà6Þµ (Web Server) . . . 10
2.1.2 Layer3: Š?_ µ (PDM Activity Module) . . . 11
2.1.3 ˙‰y’eÜ_ (Engineering Change Control Mod- ule, EC) . . . 11
2.1.4 …−_ (Version Control Module) . . . 12
2.1.5 ÓeÜ_ (Bill of Material Control Module, BOM) . . 12
2.1.6 ÓKÞ·U‚Ü_ (Life Cycle Management Control Mod- ule, LCM) . . . 13
2.1.7 ùª−_ (Project Schedule Management Control Module, PSM) . . . 13
2.1.8 Layer2: XML j&µ (BizObject Framework) . . . 13
2.1.9 Layer1: ’e榵 (Database Server) . . . 14
2.2 81zp . . . 14
3 Ç, SME-PDM ²Ñ .NET Framework « 18 3.1 .NET Framework Introduction . . . 18
3.1.1 Microsoft ¬ ,ñê½æ . . . 18
3.1.2 .NET Architecture . . . 19
3.1.3 Architecture . . . 19
3.2 SME-PDM xX A . . . 20
3.3 Ê .NET 2D SME-PDM óÉ5xX . . . 22
3.3.1 ASP.NET . . . 22
3.3.2 ADO.NET . . . 24
3.3.3 BizTalk Server . . . 24
3.4 SME-PDM ¯ªW4Ç, . . . 24
3.4.1 VB to VB.NET ªW4Ç, . . . 24
3.4.2 ASP to ASP.NET ªW4Ç, . . . 25
3.5 BizObject Framework ÑWzp²¼˙ . . . 25
4 PDM Í$˙qlõT 27
4.1 Í$Çê¼˙ . . . 27
4.2 õTŠ?}& . . . 28
4.3 -Zql . . . 28
4.3.1 .NET N-tier -Z–1 . . . 29
4.3.2 PDM Í$-ZUà Microsoft .NET . . . 30
4.4 Uà6Þµ(Web Server Layer) . . . 31
4.4.1 ASP.NET . . . 31
4.4.2 User Interface Design . . . 33
4.4.3 Cache . . . 35
Application Cache . . . 35
Session Cache . . . 35
A Cache Example . . . 35
4.5 Š?_ µ(Activity Module Layer) . . . 36
4.5.1 Simple Object Access Protocol Introduction . . . 37
XML introduction . . . 37
Web Service . . . 38
SOAP message architecuture . . . 39
SOAP Example . . . 39
4.5.2 Interface Module . . . 40
An Interface Module Example . . . 40
4.5.3 Component Module . . . 41
4.5.4 Entity Module . . . 41
An Entity Module Example . . . 41
Z¾Í$&ˆ£Ü . . . 42
4.6 ’e榵(Data Access Layer) . . . 43
4.6.1 Data Access Component Module . . . 43
Data Access Component Example . . . 44
4.6.2 ADO.NET Introduction . . . 45
Data Access Example . . . 45
4.7 ’eéµ(DataBase Layer) . . . 45
4.7.1 }&¦)Í$’e[ . . . 45
4.7.2 ’e[D’e[5ÈíÉ© . . . 47
4.7.3 ’eéÍ$-Z . . . 48
5 Experiments 50 5.1 Ý .NET -Z -Í$Ü . . . 50
5.2 Experimental Environment . . . 51
5.3 Experimental Results . . . 52
6 Experiences 53
List of Figures
1.1 qlÜ«Tí–1_ . . . 7
1.2 ›°Çê=1-Z . . . 9
2.1 SME-PDM Í$-Z . . . 10
2.2 EC Module ˙¼˙Ç . . . 11
2.3 Í$épåÞ . . . 15
2.4 Í$-Z . . . 15
2.5 Í$ép(åÞ . . . 15
2.6 Í$-Z . . . 15
2.7 Uà6²ÏhÓeK[À . . . 16
2.8 Í$-Z . . . 16
2.9 Uà6hÓeK[ÀB’eé . . . 16
2.10 Í$-Z . . . 16
2.11 hÓeK[ÀêA . . . 17
2.12 Í$-Z . . . 17
3.1 .NET -Z–h . . . 19
3.2 SME-PDM Í$xX A . . . 20
3.3 SME-PDM Í$óúÊ.NET 2óÉxXÇ . . . 22
3.4 ASP.NET -Z . . . 23
3.5 Web service Overview . . . 23
3.6 ComException Error . . . 26
4.1 .NET $“@àÍ$-Z . . . 29
4.2 PDM -ZqlÇ . . . 30
4.3 ASP ÏW¸W, Uà6pâ±£E . . . 32
4.4 ASP ÏW¸W, /ÂÏW Script, 1fÏW(!‹ . . . 32
4.5 ASP ÏW¸W, Uà6Z½ÂQY*/Âfí HTML !‹ . . . . 33
4.6 ASP ÏW¸W, Uà6Z½Âý HTML !‹ . . . 33
4.7 Uà6²¦Uà)4²á . . . 34
4.8 DataGrid Ê)4_Uà DropDown List . . . 34
4.9 UàDropDown List ²¦;bqìí,¶Æ . . . 34
4.10 ,¶ÆZ‰(íÕG . . . 34
4.11 Í$áÕG . . . 36
4.12 Uà6George épÍ$ . . . 36
4.13 ßÞApplication Cache . . . 36
4.14 ßÞSession Cache . . . 36
4.15 Uà6×Ç,Session Cache ¾Ü . . . 36
4.16 Actvity Module Layer Architecture . . . 37
4.17 WebService æ˜-Z . . . 39
4.18 SOAP Message Architecture . . . 39
4.19 Data Access Layer Architecture . . . 44
4.20 Database Table list . . . 46
4.21 The relation between Departments and Roles Table . . . 47
4.22 Database Structure . . . 49
5.1 Ý.NET –1Í$-Z . . . 50
5.2 õð!‹ . . . 52
List of Tables
5.1 Í$Uà,ñxX’e . . . 51 5.2 wñºe . . . 51
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¬ 400 N1j
0ß¹’eÜÚä“Í$ (e-PDM), 1;WÔ$Í$‚àÚä“xXdKu, AŠ ˱Q 25% íìœÇê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 Medium Enterprise, SME-PDM) ¤Í$u ûÍ%¬ÖVÊ$“äR PDM í-)7û ê, uø__¯Åq2ü$“5ß¹’eÜÍ$ J%íß¹’eÜÍ$íûpÛb
Ip×¾ívÈDA‰A…, úk2ü$“7kÊ¥jÞíI’%%œÑãF, OÓO$“
úkTô¬‰íb°5-, $“ûp PDM øu#“$“¬‰í½b x
ß¹íÞ·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·bUà6.°í–}, à¤n?ü\TX_¯í#.°Û°í
$“ñCuøOíUà6 ÇÕ, YWUà6íÛ°DÛ°Õ”.°, Í$qlÜÈ íŠ?ªJóc¯, JTXy˜í#Uà6 Í$c¯j¶ªJYWUà6íÛ
°>âè½ÈÑVc¯q0, 1/ªYW$“íÛ°ªWGº0J®ƒö£±Q$“í UàA… J-zpqlÜí®áŠ?qñ
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) £feD‰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 íjV¦ø¼˙í¡D6J£dK íT6, 6ªJN¬Í$í¹vm7Vf], 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‰y23bTXql‰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‰y52, 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à
1.3.5 ùª−c¯ (Project Schedule Control Ser- vice)
ùª−c¯3bŠ?uù0 hÓù’Ä£ T0Š? ùª
−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ùíRy‹ß‚
1.3.6 ›°Çê=1 (Collaborative Development Envi- ronment Service)
ñ‡$“Ñ7b±Qß¹íÞßA…D}àêÔ, 7øß¹¶}qlN¬ãÕíjD¯
¼ø°ªWß¹íÇê J$“N¬¤øjVªWß¹Çêv, $“.âÞúí½ æu’mu½æ£àSªWûê−s_¶} ÊJ‡ÄÑ$“í’mÍ$í¥£4œ ò£Ì_çCgP¯Üí.ŒÍ$, FJ$“׶}íÜ3b´uN¬GíjVª 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|DpªW}&Dq ì’míp|.âú$“È›°ûêºFÛí’mªW}&(, Bbn?ø−
@vàSqì êA’eíqì(, Í$øYWqì, AkNìí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¤N2 ì2›°¼˙í’m_, ¨Ö’e!ZJ£f ÇÕÂj.â¿ì˜Ï@µI,
<¹çÏW‚ÈJLSí˜Ï(¨ÖÍ$ÏW˜ÏJ£ÏW$“j4Fû_í˜Ï) |Û vÂjÍ$vàSTÜ, QOªWqìD$“j4íî„“J¯¯›°NF¿ìíqñ
øO7k, àS¿ìÂjí›°¯TNøuûp¤ø|×í‘D
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úµ-ZF.°, SME-PDM uø_ûµ-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 Server Pages (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 PHPPerl. . . òåí˙xkDøOBbUàÛb)åí
˙xkÏWj.°, Bb|Uàí C xkÿuø)å˙xk )å˙x kíÏWjuUà)å (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ì2CuGßÞí 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ãʵí BizObject Framework 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 of Material, BOM) C~À eK (BOM) ^ZC~À Çd^ZC~À ß¹dz ß
¹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 ˙¼˙Ç
ç ˙‰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Üí_, øuq¼˙, 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£ (Get latest release) ¦)|h (Get latest revision) …‰yv˙e (Revision his- tory) £feD‰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É:
2.1.6 ÓKÞ·U‚Ü_ (Life Cycle Management Control Module, 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•ÏW T}áCu äù, 1q ©ø_ T9áíêAn‚ Tª˙
Aº T}»J£ªŒõ
3. óùªW T¦ø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ªW Tí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í!‹ªW T½}»í
T ÇÕùܺDùAºíiH}6óçíÀU, ܺÛbªWcñùíqì, OùAºí TcÛbYW T¦ø,í»IêA T9á, 1ÑêAÕG¹ª Bk cñªíÑJ£óÉí¦øîâÍ$AÏW
ùv˙ÜFTX5¹v/ò4í@àÍ$ªàV.ŒµÆíù5ÏW, U)ùܺ¦³FÏWùí®á, 1úkª?íôbT|£v¥@D²µ, Uù
íRy‹ß‚
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_Í$ífm7
, éc_Í$ím7f£ ì, ¥š.OªJ“,µ_ qlíØ, ´ªJDw FUà XML m7íÍ$c¯
…µí3bŠ?u@Š?_ µCUà6ÞµÛ°, z’eé2í’e¦|1Uà XML ’eTf£í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|À
|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, q l_çí’e!ZøªU)Í$íê“, 1TôÍ$íô4 J-‡ú BizObject Framework 2í BDC J£ BDO í’e_íqldø¿pí«n:
BDC ’e_íqlñíuàV·H¼“í/øõñ Ô_Wäzp: BbUà BDC V·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¬ BizObject Framework FTXí’eÓKR¦Þ¦) BDO BizObject Framework YÎ BDC í·H, *’eé2|¦Ö°’e, 1æA BDO ’m Uà¶ÆõWVzp, BizObject Framework 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 xXFZí’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 Framework 2õ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 Server Layer ‚à Web /ÂN¬ HTTP ¦m›ìf£ƒUà6Z½Â,Þ, Z½Âyz’
m²AåÞ×ÛÊUà6k‡ FJñ‡Í$Uàƒí¶}u Web Server Layer
ÊUà6p×Uò{(ép SME-PDM Í$, Ç2.5 ÿuUà6épÍ$(íø _åÞ ÊUà6épÍ$í¬˙ÿ˛%UàÍ$2ÖµŸŠ? Uà6épÍ$í¬
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
˙à-, Web Server * HTTP ¦m›ì¦)Uà6í×Uò{, ¥v Layer4: Web Server Layer ãÊUà Layer2: BizObject Framework 2_ Š?, BizObject Framework 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à6pí×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 Web Server 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 Actvity Module Layer 2íeK’eÜ_ , 7 Web 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 Layer 2¦)í 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
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
Chapter 3
Ç, SME-PDM ²Ñ .NET Framework «
Ê…ı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-PDM Uàƒí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, fCu˙ 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)
• ˙ÛbAp[ñÜVÊ¢p[ñí¨‘, ÄÑp[ñ¨‘}¨AÍ$^?í-
±
• ıø_ê¾ÀUí!-ZVZæÒæ˜ (Web Service)
• 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 Language Runtime (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à, ¹ CLR uFÊ .NET Frameramework ,X¶í˙xku°Uàí Runtime jK .NET Framework zÛbN¬ CLR í−„n?ÏWí˙{˚Ñ Managed Code Ê .NET Framework ,FŸá{·N¬ Just in Time (JIT) )åÂø²A\ CPU Fw…
íNI(nªÏW ÉbX¶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 Librar y
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ø Fxkí u¦|üŠ?Õ¯, ¥duø ÜFxkF.âX¶íu¦Š?, ¥dªJü
\ .NET Framework w2/ø_xkªJDwFxkí CLR óñ à¤øV, çF
í˙xkí)寯 CLS dì, ¥šFxkŸí˙·?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 ó°íjVZ Web User Interface
¥šªJñqíÇê| ASP.NET ˙
• User interface
Web Services ó°, Éu User Interface FNíu Windows Forms 6ÿ uí Windows ˙Þ
• Data and XML
Web Services £ User interface u[Ê Data and XML ,µ, XML uàV¨
_×Û’eí™pxk, Data £ XML ªJ«àÊ SOAP ›ì2, 6ÿuzor ø’e¥_Ê XML 2, Í(¨Ê HTML f2, ¥šÿª¦¬ÊÊ\f£ª V FíÊÊ·ordåfN¬ port 80 f£
• Base Class Library
BCL uF .NET ˙í!é;Ä, Ê .NET 2í©ø_‰a·uø_ÓK, FíÓK·u–Äkø_±Ñ System íé2
• Common Language Runtime
CLR 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ÿéBbV7j 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 Database Server
MSMQ2.0 Mail File
Figure 3.2: SME-PDM Í$xX A
• ASP
r±u Active Server Page, ASP íŠ?3buàVŸGæÜí, ñíuéU à6?DD/ÂßÞ ¥u ASP 3bæÊíñí
Ê SME-PDM 2 ASP í script language ¶}uUà Java script xkŸA, O,RŠíu Visual Basic script, çÍ ASP 6X¶ Java script, Bk ÑBóUà Java script ª?uÄÑçví Visual Basic script Š?.—, 7/
VB Script .x_ “íW˜Š?, FJ˙ql²ÏŠ?œ#í˙xk Java Script 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+ Service
Component 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í«T5(, n?Uà… Ébø−àSãÊ5;bíŠ?Zª Wà5ªJ/qíÊ5êí, ñ2ãÊUà Internet Explore(IE), 7.Ûbø− IE u5óŸí, ¥ÿu COM FRí–1
• MS-XML
MS-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[
• ADO
ADO (ActiveX Data Object) u,êí’eTÜjK, Uà6ªJ‚à ADO jKV榒eéí’e Éb˙qlJFbAÐ2í®xkãÊUà ADO jK, ·ªJ榮®š’eVÄ, ¨É©’eé, .u Oracle MS SQL
Server £ Access ·ªJUà ADO ¥_’eTÜjK, dLSí’eéæ
¦T“
• CDO
MicrosoftR Collaboration Data Objects (CDO) Library, ¤jK3bŠ?u àVTÜ e-mail óÉ9, ¨ÖzŸ f££QY¶} çUà6é_ IIS v,
°v²¦ SMTP Service, …ÿ}\é_ÊÍ$2
• Microsoft Scripting Runtime
Scripting Runtime Object Library (Scrrun.dll), ¥_jK3bíŠ?uÚ7 2’efTܶ}, du¦)Í$2w±HU µ`Ú72/ø˜-íF’e H ¦)Ú72/ø˜-íFf’e (File) dK’eèŸ f f
• SQL Database
,Fêí’eé,ñ SQL DB server uÉ©4’eé, ªàVæ[’eCu
×f
• MSMQ
Message 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 2rÖ“híxXªJ«àÊ SME-PDM 2, …øÇá}
ÜÊ .NET 2D SME-PDM óÉ5xX, 1úhxXšTzp íl, Bbl‚àÇ3.3 VTzp, Ç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õ|¨<HxXuhíx XªJ²í -Þ}z©_+,æHíj)Tø<óÉxXzp
ASP(JSP) Application(VB)
BizObject(VB) COM+ Service
MS-XML V3.0
ADO v2.6
MSMQ2.
0 CDO
1.2
Microsoft Scripting SQL
Databa
Mail File
ASP.NET(VB.NET) Application(VB.NET)
ADO.NET COM+ Service
XML.NET
ADO.
NET
BizTalk CDO
1.2
Microsoft Scripting SQL
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
~ ÀÀ]) í 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
WebApplication 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, fCu˙ à‹z Web
H[ .NET íÿøõ6.Ѭ, Web uÑ7¸˙qlD Web server
, Ê .NET Framework 5‡, ˙qlàbql|?D‚àæÒæ˜DwF˙
ó¦mí˙.Õ˛‚à, Distributed Componet Object Model(DCOM) Remote Method 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’ef#îE, ĤÉbT“Í$?DTÜ SOAP £ HTTP ãÊ, T“Í$ÿ?DUà Web Service ¥ªJz"×ÖbíT“Í$·?DUà Web Service Ç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íjF æÊí@à˙) íjÏW Web Services uøªJUàÊæÒæ˜í˙j4, ¸ f$í@à˙UàT“Í$FTXíŠ?øš, JæÒæ˜Ñ!í@à˙6ªJ‚
à Web Services VÓ#…™íŠ?
3.3.2 ADO.NET
ADO.NET @ª¦H BizObject Framework, Ä ADO.NET wŠ?°Q7 ADO D XML Š?, 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, ›°êA T, ®A EAI (Enterprise Application Integration) BizTalk Server TXéN Visio íÇ$“¼˙ÇqlÞ, éUà6ªJ àŠ…jql$“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Ü Variant Type, 1ÝòQ²Ñ Object Type, 7Nì_çG, JãʬÖ.ªã‚í˜Ï, Ô{à Default Value 5qìD ToString vWјÏ
2. /<ó°íƒ±˚˛hWÑ, .â½h25u´àhíƒ, Wà Collection class í Dir
3. fóñ4.°, ÛbyZæ¦f5óɃ
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ì, sxk.°íqì, .â½hüw
9. /<!GZ‰, Wà Data .yu double í$
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.NET uâ 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.NET 3bñíuøÛæ5 VB ˙¯Ñ .NET Framework «ª)å5˙, ASP to ASP .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¯Ñ .NET Framework ,ªòQÏW5jK ·<!̶üìu´F¯(í COM î?Uà, ç
½æêÞv, ÛÇÕÓ‹©vj²j¶ívÈ
3.5 BizObject Framework ÑWzp²¼˙
BizObject Framework 3bóÉf (BizUtility.vbPDMClass.vbPDMObject.vbSystem.vb) âk SME-PDM ¬kó×, ʲ¬˙uJ˙xkóñÑ3, Ĥñ‡l.² ADO
¶},
ʲ¬˙2Ûb^ZíËjà-:
• ^Z Win32 API úk as any µ âk VB.net .X¶ as any íµj
• ^Zé˘4µ
• ^ZHí VB ƒb (StrPtrLenBInputB) Ñ 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çÍ, ¥.ââ˙qlA Њ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 Framework 2í 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.NET jK,BizObject Framework ÿ³æÊígM FJBbªJòQUà ADO.NET H
BizObject Framework �
Chapter 4
PDM Í$˙qlõT
‡øı)ø, àb‚àH˙^ZAÑ .NET …,í˚ظ½Ÿø_hí .NET
…íØu!…,uÏ.Öí, Ĥb²kqlø_ PDM Í$íÔ$, 7 PDM Í$Š
?õÆ, FJ²Ï7áœÑxH[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 £ .NET Framework í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 BC + +C]Java, Fb·TX7ø×#íƒO5 Uà, ˙.âbø…UàGwn?ø−FjKíŠ? FJÛÊ ˙Çêß¹.âü wu´˛%ÛAíªJUà, ¥šn.}Ÿ7šÙí˙, (VnêÛŸVÉbUàA ŸíjKÿªJj² y‹,ñ‡TXíÓKû²í–15(, code reuse ¥–1yu ðW7/6V½b
Ê .NET Framework |Û5(, ¥–1 (code reuse) É}Ó‹7.}Áý, 7/
…TX7ø_«, ªJéFUà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)
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³ÞíŠ?–)
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ípxXDWqeRÏ|
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 Access logic Component FTXíŠ?VTTÜ, ¥š?DÁýÍ$2_ íóY4, Ó‹¤_
\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.2 Fý Ç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 Object Acess Protocol(SOAP), ÀÓK榛ì (SOAP) u‚àÛæíæÒæ˜-Zé@
à˙5ȪJ˛¤Ç¦, 7.}\ÊÊ®ó …f£m7juJ Hypertext Trans- fer Protocol(HTTP) çfíj, J XML ·HǦíqñ 7F?D¡NÊÊí ŸÄuñ‡FíÊÊ·orN¬ port80 TǦ, ŸÄ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
Þ, ´ª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, ÉbBbp¡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°, *×æ¦í $“ú$“(Business to 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 PHPPerl
˙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Ø.t7, 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 Visual Basic .NET Visual C] C JScript .NET ˙xk
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ý
’eUà, 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, Êf2\¨Ê<% . . . %>í™p2 Script íqñ¶}uÊ/«ÏWí çUà6Ê/Â,b°x asp ˆf±ífv, /
Â}Ê asp f2©vÊ<% . . . %>í™p˙{, Ê/ÂÏW(z!‹f#Uà 6íZ½Â2
ÛÊBbõø_õÒíWä ø_À ASP ˙, FTXø_Àí=1éUà6 D/ÂßÞ, Uà6*Z½Â2pâ±£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à6pâ±£E
ASP Script
Figure 4.4: ASP ÏW¸W, /ÂÏW Script, 1fÏW(!‹
Ç4.3 ýøÇáUà6p±åDEíåÞ QOÇ4.4 ý/«QYƒUà 6b°ÏW echo.asp f, 1/QYƒUà6pí¡b}u±å¸E Ç4.5 éý
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ìåÞ
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
4.4.3 Cache
Cache[7]xXÿuzUà6àí’mæ[Êp[ñ2, é/Â?D0§*p[ñ2¦
)Uà6Ûbí’m, 1f#Uà6 7/æܸøOí Windows @à˙1.ó°, æÜUàíu HTTP xX, HTTP uÌÕG(stateless) í¦m›ì, ²Æuz, Web Form æÜ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 @à˙ír4‰b, ÊÍ$2æ[FU à6u°í’e, duUà6í×Uò{ læÊ Application Cache ÓK2í’eÎÝ
\ÎC¦H, ´†p[ñ.}„[|V ¥DøOæÜ'×í.°, æÜF2àí’Ä Ê request !!5(ÿ}\ Web Server Π⤪ø, Uà6æ[Ê Application Cache Ó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}¥s0¦íÏ 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¦)FUà6í×Uò{ ç Web Server
*’eé2¦)Uà6í×Uò{5(, }zFæ[ƒ Application Cache 2, àÇ4.13 ÄÑ¥<’muFUà6·ªUàí’e, ¥v Application Cache ˛%æ[Uà6
×Uò{ ç Web Server ŒêUà6 George ò{ Application Cache 2í’e
ó°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 Cache Z}¾Ü, àÇ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‡ó°, _A TÕ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
Š?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µ Component Module íŠ?¥_éÛ#Õ¶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Ñfm7í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 ,í!ZDG’m øï/ÂQYƒ XML ’e, /Â}Uà XML }
&Âø’e²AÑ XML fJjZUà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™pxk, .¬ 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Ö: dKGµ, Šì2dKíGD!Z å d¨Ö¤ XML dKUàíxk_, £ XML dK…µ øM™Ä XML dK