欢迎来到天天文库
浏览记录
ID:34171797
大小:3.66 MB
页数:116页
时间:2019-03-04
《Designing for Reuse_ Creating APIs for the Future Presentation 1.pdf》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、DesigningforReuse:CreatingAPIsfortheFutureMikeAmundsen,Layer7/CA@mamundIntroductionTheChallengeVersioningContentremovedbyauthor’srequestContentremovedbyauthor’srequestDeprecateversionafterayearContentremovedbyauthor’srequestContentremovedbyauthor’srequestTheyreleaseanewversio
2、nevery120daysCurrentlysupporting20+parallelversionsContentremovedbyauthor’srequestContentremovedbyauthor’srequestNobreakingchangesContentremovedbyauthor’srequestToVersionmeans"toturn"There'sanotherwordforbackward-compatibleversioning...Backward-compatibleversioningisessential
3、lycreatingextensionsSo,howdoyouenablebackward-compatibleAPIextensions?I'lltalkabouttwowaystoday...Messages(onthewire)...Implementation(inthecode)MessageDesignExtendingMessagesExtendingMessagesExtendingmessageslet'syoueasilyaddbackward-compatiblechangesStructurevsDataStructure
4、vsDataFocusonpassingdata,notstructureThereareseveralnewformatsdesignedspecificallyforpassingdataontheWebWhat'sthecommonthemeinthesenewdesigns?MessageoverObject"[I]tisfareasiertostandardizerepresentationandrelationtypesthanitistostandardizeobjectsandobject-specificinterfaces."
5、-RoyT.FieldingThemostcommondata-passingformatontheWebis…Themostcommondata-passingformatontheWebis…Becauseitiseasytoextend.MessagedesignisnottheonlyplacetoplanforextensionsImplementationDesignComponent!=ConnectorComponent▪Database▪FileSystem▪MessageQueue▪TransactionManager▪Sou
6、rceCodeComponent==IPComponent==$$$Component==PrivateConnector▪WebServer▪BrowserAgent▪ProxyServer▪SharedCacheConnector==SharedTechConnector==CommodityConnector==PublicKeepConnectorsandComponentsseparatedImplementationStackImplementationStackImplementationStackImplementationSta
7、ckClassScheduleServerEachoftheseimplmentationelementscanbeupdatedindependentlyw/obreakageClientStrategiesMostclientappsareboundtoURIsandtheCRUDpatternURI-StyleClients(CRUD)●HTMLSPAContainerURI-StyleClients(CRUD)●URIs,Objects,andActionsURI-StyleClients(CRUD)●URIs,Objects,andAc
8、tionsURI-StyleClients(CRUD)●URIs,Objects,andActionsURI-StyleClients(
此文档下载收益归作者所有