资源描述:
《Douglas C. Schmidt - Concurrent object-oriented network programming in C 电子版》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、MotivationforDistributionConcurrentObject-OrientedBenetsofdistributedcomputing:NetworkProgrammingwithC++{Collaboration!connectivityandinterworking{Performance!multi-processingandlocalityDouglasC.Schmidt{Reliabilityandavailability!replicationWashington
2、University,St.Louis{Scalabilityandportability!modularity{Extensibility!dynamiccongurationandrecon-gurationhttp://www.cs.wustl.edu/schmidt/schmidt@cs.wustl.edu{Costeectiveness!opensystemsandresourcesharing12CaveatsChallengesandSolutionsOOandC++areno
3、tapanaceaDevelopingecient,robust,andextensibledistributedapplicationsischallenging{However,whenusedproperlytheyhelpminimizeaccidental"complexityandimprovesoftwarequal-{e.g.,mustaddresscomplextopicsthatarelessityproblematicornotrelevantfornon-distribu
4、tedandnon-concurrentapplicationsAdvancedOSfeaturesprovideadditionalfunc-tionalityandperformance,e.g.,Object-oriented(OO)techniquesandC++languagefeaturesenhancedistributedsoft-{Multi-threadingwarequalityfactors{Multi-processing{KeyOOtechniques!designpa
5、tternsandframe-works{Synchronization{KeyC++languagefeatures!classes,inheritance,dynamicbinding,andparameterizedtypes{Explicitdynamiclinking{Keysoftwarequalityfactors!modularity,exten-{Sharedmemorysibility,portability,reusability,reliability,andcor-rectn
6、ess{CommunicationprotocolsandIPCmechanisms34SoftwareDevelopmentTutorialOutlineEnvironmentOutlinekeychallengesfordevelopingdis-Thetopicsdiscussedherearelargelyinde-tributedapplicationspendentofOS,network,andprogramminglanguagePresentanOOdesignandimple
7、mentation{CurrentlybeingusedonUNIXandWindowsNTofthefollowingcommunicationapplications:platforms,runningonTCP/IPandIPX/SPXnet-works,writteninC++1.DistributedLogger2.Application-levelGatewayExamplesillustratedwithfreelyavailableADAP-TIVECommunicationEnvi
8、ronment(ACE)OOtoolkitBothsingle-threadedandmulti-threadedso-{AlthoughACEiswritteninC++,theprincipleslutionsaregivenapplytootherOOlanguages56Stand-alonevs.DistributedApplicationArchitecturesSourcesofComplexityPRINTERCOMPUTERDist