TechnicalWhitePaperforKingdeeK/3KingdeeSoftware(China)Co.,Ltd.October2011AbstractAbstractThiswhitepaperdescribesthetechnicalfeaturesofKingdeeK/3.ThiswhitepaperdescribestheapplicationdeploymentsolutiontoKingdeeK/3.ThiswhitepaperdescribesthesystemmaintenancesolutiontoKingdeeK/3.ThiswhitepaperdescribestheapplicationmodesolutiontoKingdeeK/3.Copyright2011KingdeeInternationalSoftwareGroupCo.,Ltd.Allrightsreserved.October,2011NopartofthiswhitepapercanbereproducedorcopiedforanypurposewithoutpriorwrittenconsentofKingdeeInternationalSoftwareGroupCo.,Ltd.Thiswhitepapermakesnowarranty,whetherexpressorimplied,thatanyproduct/service(oranyfunctionhereof)providedbyKingdeeInternationalSoftwareGroupCo.,Ltd.isfullyconsistentwithdescription.Informationinthiswhitepaperissubjecttochangewithoutnotice.KINGDEEEAS,KINGDEEERP,KINGDEEDRP,KINGDEECRM,KINGDEEKM,K/3,K/3.NETandKingdee2000XPareregisteredtrademarksofKingdeeSoftware(China)Co.,Ltd.Othercompaniesandproductnamesmentionedinthiswhitepapermaybetheirtrademarksorregisteredtrademarksusedforlogoonly.Someproductsortechnologiesmentionedinthiswhitepapermayberespectivelyownedbyothercompanies.TableofContents1.OVERVIEW..12.TECHNICALFEATURESOFKINGDEEK/3.2GENERAL..2THREE-TIERARCHITECTURE..3TechnicalFeaturesoftheWindowsDNA..3StructuralFeaturesoftheWindowsDNA..3MS.NETFramework.7StructuralFeaturesofKingdeeK/3System..13KINGDEEK/3BOS.17Concept..18TechnicalValues.19BusinessValues.19FASTCONFIGURATION.21ProcessofFastConfiguration..213.APPLICATIONDEPLOYMENTSOLUTIONSOFKINGDEEK/3.26BASICDEPLOYMENTPLAN..27ApplicationServer.28HR/WebServer.30DatabaseServer.32Client..33SoftwareConfiguration..34NetworkEnvironment.35ADVANCEDDEPLOYMENTPLAN..36SQLServerClusterwithHighAvailability..374.SYSTEMMAINTENANCESOLUTIONSOFKINGDEEK/3.38SYSTEMPERFORMANCEMAINTENANCE.38PerformanceMonitor.38PerformanceInspectionAlert..43PerformanceAdjustment..43HardwareUpgrade.45SYSTEMSECURITYMAINTENANCE..45SystemSecurityOverview..45EnvironmentSecurity.46SystemSecurityofSoftware..47SecuritySettingsofK/3System.57IDAuthenticationSolutionsofK/3System..59NetworkSecurity.61NetworkSolution.64FirewallTechnology.65VPNTechnology.66FAILUREANDRECOVERY.68NETWORKANDDEVICES.69SERVERS..69SYSTEMBACKUP.70SystemBackup.70ADBackup..70DatabaseBackup.715.APPLICATIONMODESOLUTIONSOFKINGDEEK/3..72CENTRALIZEDAPPLICATION..72DISTRIBUTEDAPPLICATION..72RemoteTransmissionSolution.72DescriptionofApplicationCases.731.1.OverviewOverviewFromJiangnanManufactureGeneralBureauestablishedbyLiHongzhangtoSteelProductionin1958,beinganindustrialstrongpowerhasbeenadreamheldbyChineseforgenerations.Onthewaytonewindustrialization,ChinaneednotonlyuseERPtodriveindustrialization,butalsospeedupthedevelopmentofsmallandmedium-sizedenterprises,inparticular,smallandmedium-sizedenterprisesengagedinscienceandtechnology.EnterpriseERPinChinaismoredependentonsmallandmedium-sizedenterprises,becauselargeenterprisesorsuperlargeenterprisearesmallinnumberandmakelimitedcontributions.Asaresult,itisnecessarytoacceleratethedevelopmentofsmallandmedium-sizedenterprises,especiallythoseengagedinmanufacturing,scienceandtechnology.Comparedwithlargeenterprises,smallandmedium-sizedenterpriseshavethreedifficultiesinrealizingERP:1.Lackofcapital.Largeenterprisesmayinvestmillions,tensofmillionsorevenhundredsofmillionsinERP,whichisnotaffordabletosmallandmedium-sizedenterprises.2.Lackoftechnology.Somesmallandmedium-sizedenterprisesmaysavesomemoneyforERPduetogoodeconomicbenefitsinthepastfewyears,buttheylacknecessarytechnologies,anddonotknowwhattodo.3.Lackoftalent.Smallandmedium-sizedenterprisesalsolackengineersfamiliarwithERP.Underanenvironmentwithnumerousandcomplicatedcomputertechnologies,itishardfortheITsystemtoplayanimmediateroleinpractice.TheKingdeeK/3ERPsystemistailoredtoERPofsmallandmedium-sizedenterprises.Withacost-effective,provedandstabletechnicalarchitecture,ithelpssmallandmedium-sizedenterprisesrealizeERPwithease.Inaddition,itischaracterizedbyfastimplementation,fastconfiguration,fastapplicationandfastresults,thusenablingenterprisestomakeanadjustmentasrequired,andcreateanewapplicationatafastspeedduringERPmanagement.Itimprovescompetitiveadvantagesofenterprises,andhelpsenterprisesadaptthemselvestochangesrapidlyandeasily.Inadditiontocapital,technologyandtalentlimits,asoftwareprovideralsomeetsmanychallengesintheapplicationdemandfield.Forexample: ApplicationsmaybespreadthroughouttheworldbywayoftheWANorInternet. Theconnectionbetweenuserandapplicationmaybeintermittentandslow.1Forexample,ausermayaccessthenetworkoftheenterpriseusingthenotebookparttimeaday.AusermayalsoaccessthenetworkthroughtheInternetandalow-speedModem. DatarequiredbyanapplicationmaybestoredinmultiplePCs,whichareprobablylocatedatdifferentplacesandnotavailable24hoursaday. Itisnecessarytobalanceinvestmentinexistinghardwareandsoftware.UsersmaybeequippedwithPCsofdifferenttypesandwithdifferentfunctions.Newapplicationsmayinteractwithexistingapplicationsrunningondifferentplatforms.Consideringtheabovefactors,thiswhitepaperdescribesthedistributedapplicationsolutionoftheKingdeeK/3ERPsysteminanall-aroundwayfromtheviewpointsofthetechnicalfeature,applicationdeployment,systemmaintenance,andapplicationmode.2.2.TechnicalFeaturesofKingdeeK/3TechnicalFeaturesofKingdeeK/3GeneralMaintechnicalfeaturesoftheKingdeeK/3ERPsystem: BasedontheWindowsDNAand.Nettechnicalarchitecture BasedonthemainstreamMicrosoftSQLServer32-bit/64-bitdatabase Supportingmultiplelanguages Perfectbasicservices(objectmanagementandaccess,authority,security,message,BOTPandworkflow) Completesupporttools(interfacedefinition,objectdefinition,reportdefinition,multi-languagetoolandbackgroundtransactiondefinition,etc.) Agility(open,re-configurable,reusableandexpandable)andintegrationDeploymentmodelofKingdeeK/3: Windowsclient,whichsupportsthemainstreamWindowsOSsuchasWindowsXP/2000/2003/Vista. TheclientsupportstheAutoUpdatefunctiontoupdatesystempatchesautomatically. WebpageclientofAsp.net. ComponentLoadBalance(CLB)andNetworkLoadBalance(NLB)aresupported. AccessthroughHTTP(WAN)andTCP(LAN). Theapplicationintegrationofthethird-partyissupportedthroughtheWeb2Service.Three-tierArchitectureTheKingdeeK/3systemisadistributedapplicationsystembasedontheWindowsDistributedInternetApplication(WindowsDNA).Kingdeebegantostudythethree-tierstructurein1997,appliedthethree-tierstructuretoK/3seriesproductsin1998,andlaunchedthefirstERPproductwithanactualthree-tierstructureinMay1999.Afternearlysevenyears'devotionalstudiesandalotofcustomers'authentication,theapplicationofthethree-tierstructuretotheKingdeeK/3systemisquitematureandstableatpresent,andtheKingdeeK/3ERPsystembecomesthemostcost-effectiveoneamongitskind.TechnicalFeaturesoftheWindowsDNAThecoreoftheWindowsDNAistointegrateWebandClient/ServerapplicationdevelopmentmodelsthroughtheComponentObjectModel(COM).ServicesoftheWindowsDNAareuniformlyprovidedforapplicationsthroughtheCOM.Theseservicesincludecomponentmanagement,dynamicHTML,Webbrowserandserver,script,transaction,messagequeue,security,directory,databaseanddataaccess,systemmanagementanduserinterface.TheWindowsDNAhasasetofcompleteandopenmethodsofWebcalculation.ItisbasedonmanyimportantstandardsfrominternationalstandardizationorganizationssuchasW3CandIETF.Itscompliancewithopenprotocolsandinterfacesmakesiteasytointegratewithsolutionsofothermanufacturers,andtointeroperatewithcurrentsystems.SincetheWindowsDNAisbasedontheCOMandopenInternetstandard,theprogrammercanuseanylanguageortooltogeneratecompatibleapplications.Asamodernobjectmodelindependentoflanguage,theCOMprovidesinteroperabilitybetweenapplicationsatvarioustiersoftheapplicationarchitecture.WiththeCOM,theprogrammercanusesoftwarecomponentstoexpandanypartofaprogram.ThesecomponentscanbeprogrammedwithC++,VisualBasic®,Javaorotherlanguage.Duetothisopenmethod,theWindowsDNAsupportsmanydevelopmenttools,includingthosefromMicrosoft,Powersoft®andothermanufacturers.StructuralFeaturesoftheWindowsDNAThestructuredesignoftheWindowsDNAmaximizesapplications:3 Independence Reliability Availability Expandability InteroperabilityIndependenceTheapplicationindependencereferstothecapabilityofmanagingimportantresources.Theapplicationrequiresimportantresourcestorunitsfunctionsindependentlyandreliably.RDBMSconnection,hostconnection,andtransactionareallinstancesofimportantresources.ThereisnodoubtthattheapplicationindependenceisoneofthemostimportantaspectsoftheWindowsDNAapplicationdesign,andthebiggestdifferencebetweentwo-tierstructuredesignandthree-tierstructuredesign.Inthetypicaltwo-tierstructureprogram,customerscanhavedirectaccesstoimportantresourcesoftheprogram,andusetheseresourcesfreely.Theclient/serverprogramofthetwo-tierstructureisnotindependent,thatis,customerscanhavedirectaccesstoimportantresourcesoftheprogramandusetheseresourcesatwillwhenneeded.Sincecustomerscanhavedirectaccesstoimportantresourcesoftheprogram,theprogramcannotprotectitselffromdamages,whetherintentionaloraccidental.Asaresult,thegeneralstabilityoftheprogramisdestroyed.Forexample,acustomerwithmaliciousanddeliberateintentmayuseupimportantresourcesoftheprogramtopreventothercustomersfromworking.Suchattackmakestheresistlessprogramuseless.4AWindowsDNAprogramdoesnotallowanycustomerdirectaccesstoitsimportantresources,butcustomerscanmakearequesttothespecifiedbelievablecomponent(executor)fortransactionoperationsrelatedtoprogramsettings(suchasincometaxcalculationandorderprocessing).Forexample,thePOexecutorcanmakenecessaryoperationstoaddarowinanorder:keepinventoryinthewarehouse,salestaxcalculation,freight,etc.Inthisway,importantresourcesareusedinabelievableanddefinedmanner,andtheWindowsDNAprogramcanfullycontrolitsownresources,thusimprovingthestabilityoftheprogram.Sinceexecutorsarebelievablecomponents,theymustpayattentiontothemodeofusingimportantresourceswhencustomersrequestimportantresourcestothem.Beforeperforminganyoperationinthenameofanycustomer,theexecutormustauthenticatethevalidityofthecustomerwhomakesarequest,whetherthecustomerisauthorizedtoperformthisoperation,andwhetherthisrequesthasacorrectsyntaxandvaliddata.Anyillegalrequestisdeniedatonce.ReliabilityThereliabilityreferstothecapabilityoftheapplicationtoprovidecorrectresults.However,itishardtoreturncorrectresultsunderthemulti-userenvironment.Forexample,aprogramisdesignedtotransferaccounts.Thatis,oneaccountisdebitedandanotheraccountiscredited.Althoughitlookslikeasimpleoperation,yetthatisnottruewhenyousupposethecreditoperationfailsduetosystemhardwareorsoftwareerrorsafterthedebitoperationisfinished.Oryoucansupposetwousersincreasethebalancebetweenincomeandexpenditureofoneaccountby50Yuanatthesametime,buteachofthemseestheoriginalvalueis100.Afteroperation,thevaluebecomes150,differentfromthecorrectresultof200!Toensurecorrectresults,theexecutorshouldserveaspartoftheMTStooperatetransactions,whiletheMTSisresponsiblefortransactionmanagement.TransactionsensurestatetransmissioncomplieswiththeAtomic,Consistent,IsolatedandDurable(ACID)principles. Theatomicprincipleensurestheoperationsequenceisfullyexecutedornotexecuted.Forthepreviouscase,theentireoperationisnotfinisheduntilbothdebitandcreditoperationsaresuccessful.Otherwise,thesystemreturnstotheoriginalstate. Theconsistentprincipleensurestheinternalintegrityofresources.Forexample,deletingarelatedrecordfromthemainformdamagesthereferenceintegrityofthedatabase. Theisolatedprincipleensureschangesoccurinsuccession,notatthesametime. Thedurableprinciplereferstothecapabilityofsavingchanges(mostlytotheharddisk).Oncethesystemfails,thesechangescanberestored.5SincetransactionscanlockrecordstoensureACIDprinciples,theyshouldbetakenasimportantresources,andcannotbeaccessedbycustomersdirectly.Supposeacustomerstartsatransaction,andthenhe/sheleaveshis/herofficetodrinkacupofcoffee!Anyrecordlockedbythetransactioncannotbeaccesseduntilthecustomercomesbackorthesystemexpires.Tomaintainprogramindependence,theWindowsDNAprogramshouldtaketransactionsasimportantresources.AvailabilityTheavailabilityreferstothetimewhentheprogramrespondstothecustomer.Theavailabilityoftheprogramdependsonmanyfactorsoutofcontroloftheprogrammer—hardwareavailability(harddiskandnetworkadapter),softwareavailability(database,Webserverandqueuesystem)andnetworkavailability.Toimprovethehardware/softwareavailability,theWindowsDNAshouldreduceanypotentialsingle-pointfailurethroughtheredundancysystem.TheWindowsDNAprogramshouldbeinstalledonthehardwarewithRAID,multiplenetworkadaptersandmultiplecontrollers,andusetheMicrosoftClusterServer(MSCS)forclustering.TheWindowsDNAprogramcanuseMicrosoftMessageQueueServices(MSMQ)emulationtoimprovethenetworkavailability.MSMQprovidesthestoreandforwardfunction,whichallowsmessagestobestoredinthelocalPCinthecaseofanynetworkfailure.OncemessagesenterMSMQandwaitfortransmission,MSMQshallrepeatedlysendeachmessageuntilallmessagesaresentorexpire.Thismodeprovidesguaranteeformessagetransmission,andgainsanobviousadvantageoversession-basednetworkcommunicationservices(suchasDCOMandRPC).Inaddition,MSMQsupportsdynamicroutinganddynamicallyselectsnetworksformessagetransmission.Byaddingnetworksformessagetransmission,theprogramhasmorechancestoroutemessagessuccessfully.DynamicroutingisalsoanadvantageofMSMQoversession-basedtransmission.ExpandabilityTheidealobjectiveoftheexpandabilityistoincreasethelinearthroughputforadditionalresources,thatis,toallowtheprogramtosupporttentoovertenthousandusersatanyplacebysimplyincreasingorreducingresourcestoexpandtheprogram.Thethroughputreferstotheworkloadfinishedwithinaspecifiedperiodoftime,intheunitoftransactionspersecond.Theexpandabilityistomeasurehowmanychangestheresourceincreasecausestothethroughput.Toimprovethe6expandability,theprogrammermustconcentrateontheincreaseofthethroughput.TheWindowsDNAprogramcanalsogaintheexpandabilitybycommunicationsbetweenMSMQ(asthemessenger)andexecutorandbetweentwoexecutors.TouseMSMQtoincreasethethroughput,youonlyneedtoaddserverstoprocessrequestsinthequeue.Usingmultipleserverstoprocessrequestsinthequeuehashighworkefficiencyandprovidesrealdynamicloadbalance.InteroperabilityTheinteroperabilitymeansthataprogramcanaccessprograms,dataorresourcesonotherplatforms.Manyenterpriseshavedifferenthardwareandsoftwaresystems,andthesesystemsmustcoordinatesmoothlyasrequired.Togainthebiggestinteroperability,theWindowsDNAprogrammustdependon: MicrosoftActiveX®DataObjects(ADO)orOLEDBforuniversaldataaccess; ExtensibleMarkupLanguage(XML)tosharedatawithotherprograms; DCOMtoaccessprogramsofUNIXandMultipleVirtualStorage(MVS)systems; MSMQtoaccessmessagequeuesystemsonotherplatforms; IntheMVSsystem,COMTransactionIntegrator(COMTI)toexecuteCustomerInformationControlSystems(CICS)(LU6.2)orInformationManagementSystems(IMS)transactions.MS.NETFrameworkThe.NETFrameworkisacalculationplatformprovidedbyMicrosoftCorporation.ItsimplifiesapplicationdevelopmentunderthehighlydistributedInternetenvironment.The.NETFrameworkaimsto: Provideauniformobject-orientedprogrammingenvironment,whetherobjectcodesarestoredandexecutedlocally,orspreadontheInternetbutexecutedlocallyorremotely. Provideacodeexecutionenvironmentthatminimizesconflictsbetweensoftwaredeploymentandversioncontrol. Provideacodeexecutionenvironmentthatguaranteessecureexecutionofcodes(includingunknowncodesorcodescreatedbyapartiallybelievablethirdparty). Provideacodeexecutionenvironmentthatremovesperformanceproblemsofthescriptorexplanationenvironment. Keepexperienceofdevelopmentpersonnelconsistentwhentheydevelopapplicationsofquitedifferenttypes(suchasWindows-basedapplicationsand7Web-basedapplications). Generateallcommunicationsbasedonindustrialstandards,sothatthecodebasedonthe.NETFrameworkcanbeintegratedwithanyothercode.Therearetwobasiccomponentsinthe.NETFramework:commonlanguagerun-time(CLR)and.NETFrameworkclasslibrary.TheCLRisthefoundationofthe.NETFramework.Therun-timelibrarycanberegardedasanagentwhomanagescodesduringexecution.Therun-timelibraryprovidescoreservices(suchasmemorymanagement,threadmanagementandremotemanagement),andforcestheexecutionofstricttypesecurityandcodeaccuracyinotherformsthatensuressecurityandreliability.Infact,thecodemanagementconceptisthebasicprincipleoftherun-timelibrary.Codestakingtherun-timelibraryastheobjectarecalledmanagedcodes,whilecodesnottakingtherun-timelibraryastheobjectarecalledunmanagedcodes.Anotherbasiccomponentofthe.NETFrameworkistheclasslibrary,whichisacomprehensiveobject-orientedreusabletypecollection.Youcanusetheclasslibrarytodevelopvariousapplications,includingtraditionalcommandlinesorGUIapplications,andapplicationsbasedonthelatestinnovationsofASP.NET(suchasWebformsandXMLWebservices).The.NETFrameworkcanbecarriedbyunmanagedcomponents.TheseunmanagedcomponentsloadtheCLRtotheirprocesses,andstartmanagedcodeexecution,thuscreatingasoftwareenvironmentthatcanusebothtrustandunmanagedfunctionsatthesametime.The.NETFrameworknotonlyprovidesmultiplerun-timelibraryhosts,butalsosupportsthedevelopmentofthird-partyrun-timelibraryhosts.Forexample,therun-timelibrarycarriedbyASP.NETcanprovideascalableserver-sideenvironmentformanagedcodes.ASP.NETdirectlyusestherun-timelibrarytostartASP.NETapplicationsandXMLWebservices(ASP.NETapplicationsandXMLWebservicesarediscussedlaterinthissection).TheInternetExplorerisanexampleofcarryingunmanagedapplicationsoftherun-timelibrary(intheformofMIMEclassexpansion).UsingtheInternetExplorertocarrytherun-timelibraryenablesyoutoembedmanagedcomponentsorWindowsformcontrolsintheHTMLfile.Thismodemakesmanagedmobilecodes(similartotheMicrosoft®ActiveX®control)possible,andobtainsimportantimprovements(suchaspartiallybelievableexecution,andsecureindependentfilestorage)thatonlymanagedcodecanprovide.ThefollowingfigureshowstherelationshipsbetweentheCLR&classlibraryandtheapplicationsandbetweentheCLR&classlibraryandtheentiresystem.Thefollowingfigurealsoshowshowthemanagedcoderunsinalargerstructure.8FunctionsoftheCLRTheCLRmanagesthememory,threadexecution,codeexecution,codesecurityauthentication,compilationandothersystemservices.ThesefunctionsarefixedfunctionsofmanagedcodesrunningintheCLR.Thesecuritydependsonfactorsincludingthesourceofthemanagedcomponent(suchastheInternet,intranetorlocalPC).Managedcomponentsaregrantedwithdifferenttrustlevels.Thismeansthateveninthesameactiveapplication,managedcomponentsmayperformfileaccessoperation,registeraccessoperationorotherfunctionstobeusedwithcare,orcannotperformthesefunctions.Therun-timelibraryforcestheexecutionofcodeaccesssecurity.Forexample,customersmaybelievethatanexecutablefileembeddedintheWebpagecanexecuteananimatedoraudiofileanimationonthescreen,butcannotaccesstheirpersonaldata,filesystemornetwork.Inthisway,thesecurityoftherun-timelibraryhasverygreatfunctionsthroughthelegalsoftwaredeployedbytheInternet.Therun-timelibraryalsoenhancesthecodereliabilitybyrealizingstrictclass9authenticationandcodeauthenticationcalledCTS.TheCTSensuresthatallmanagedcodesareself-description.VariousMicrosoftandthird-partylanguagecompilerscangenerateCTS-compliantmanagedcodes.Thismeansthatmanagedcodescanuseothermanagedclassesandinstanceswhenstrictlyexecutingclassfidelityandsecurity.Inaddition,themanagedenvironmentoftherun-timelibrarygetsridofmanycommonsoftwareproblems.Forexample,therun-timelibraryautomaticallyprocessesthelayoutofobjects,managesreferencetoobjects,andreleasesobjectsnotinuse.Theautomaticmemorymanagementresolvestwomostcommonapplicationerrors:memoryleakageandinvalidmemoryreference.Therun-timelibraryalsoincreasestheworkefficiencyofthedevelopmentpersonnel.Forexample,theprogrammercannotonlyuseadevelopmentlanguageselectedbythemtoprogramapplications,butalsotakefulladvantageofrun-timelibraries,classlibrariesandcomponentsprogrammedbyotherdevelopmentpersonnelwithotherlanguages.Anycompilerproviderwhotakestherun-timelibraryastheobjectivecandothat.Thelanguagecompilertakingthe.NETFrameworkastheobjectiveenablesexistingcodescompliedwiththelanguagetousefunctionsofthe.NETFramework,whichgreatlyalleviatestheworkloadonexistingapplicationsduringmigration.Althoughtherun-timelibraryisdesignedforfuturesoftware,yetitalsosupportscurrentandprevioussoftware.TheinteroperabilitybetweenmanagedcodesandunmanagedcodesenablesthedevelopmentpersonneltocontinuetouserequiredCOMcontrolsandDLLs.Therun-timelibraryaimstoimproveperformance.AlthoughtheCLRprovidesmanystandardrun-timelibraryservices,yetitneverexplainsmanagedcodes.TheJust-In-Time(JIT)compilationfunctionenablesallmanagedcodestoruninthelocalhostlanguage.Inaddition,thememorymanagerrulesoutthepossibilityofthefragmentarymemory,andincreasesthememoryreferenceareatofurtherimproveperformance.Atlast,therun-timelibrarycanbecarriedbyhigh-performanceserver-sideapplications,suchastheMicrosoft®SQLServerTMandInternetInformationServices(IIS).Thisinfrastructureenablesyoutousemanagedcodesforservicelogiccompilationwhileenjoyingexcellentperformanceofthebestenterpriseserversupportingtherun-timelibraryhost.ClassLibraryof.NETFrameworkTheclasslibraryofthe.NETFrameworkisareusableclasscollectionthatcanbe10closelyintegratedwiththeCLR.Theclasslibraryisorientedatobjects,fromwhichyoucanimportfunctionclassesbyprovidingyourownmanagedcode.Thisnotonlymakesyoueasytousetheclassofthe.NETFramework,butalsoreducesthetimespentinlearningnewfunctionsofthe.NETFramework.Inaddition,thethird-partycomponentcanmakeseamlessintegrationwithclassesinthe.NETFramework.Forexample,thecollectionclassofthe.NETFrameworkimplementsasetofinterfacesusedtodevelopyourowncollectionclass.Yourcollectionclassshallmakeseamlessintegrationwithclassesinthe.NETFramework.Asexpected,theclassofthe.NETFrameworkenablesyoutofulfillaseriesofcommonprogrammingtasks(suchascharacterstringmanagement,datacollection,databaseconnectionandfileaccess).Inadditiontothesecommontasks,theclasslibraryalsosupportsvariousclassesofdedicateddevelopmentsolutions.Forexample,youcanusethe.NETFrameworktodevelopapplicationsandservicesofthefollowingclasses: Consoleapplications WindowsGUIapplications(Windowsforms) ASP.NETapplications XMLWebservices WindowsservicesForexample,theWindowsformclassisagroupofcomprehensivereusableclasses,whichgreatlysimplifyWindowsGUIdevelopment.ToprogramtheASP.NETWebformapplication,usetheWebformclass.DevelopmentofClientApplicationsTheclientapplicationisthemostsimilartothetraditionalapplicationinWindows-basedprogramming.Theclientapplicationisanapplicationclassthatdisplaysawindoworformonthedesktoptohelpusersperformatask.Theclientapplicationincludesapplications(suchaswordprocessingprogramsandelectronicforms),andcustomserviceapplications(suchasdatainputtoo.