版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1
Thanksforhavingme…
Forme…someinterestingcloudintegrationsuitestoinvestigatefurther…
/what
-
we
-
do/integration
-
platform/snapcenter.php
/UsageScenarios/ApplicationIntegration/CloudIntegrat
ion.aspx
/resources/whitepapers
2
WhoIam…
3
[Wherearewe]
?Increasedpopularitytowardsusingpackagedsoftwareasaserviceorbuildingappsincloudplatforms
?Morethan95percentoforganizationsexpecttomaintainorincreasetheirinvestmentsinsoftwareasaservice(SaaS)andmorethanone-thirdhavemigrationprojectsunderwayfromon-premisestoSaaS,accordingtoasurveybyGartner,Inc.
?Currently,communications(52percent),utilities(51percent),andbankingandsecurities(49percent)industriesrankhighestwithrespecttoSaaSdeployedacrossthehorizontalandvertical-specificcategoriessampled.In2012,thoseindustriesrankinghighestwithrespecttotheirplanstouseSaaSincludefederalgovernment(33percent),bankingandsecurities(22percent)andwholesaletrade(20percent).Beyond2012,topindustriesconsideringSaaSaremanufacturingandnaturalresources(37percent),wholesaletradeandretail(each29percent).
4
[What’stheproblem?]
?SaaSnotreallybuiltwithdataexchangeinmind
?InformationWeeksurvey(
/news/cloud
-
computing/software/231002362?queryText=SaaS+Integration
)ofSaaSsatisfactionareasshowed“easeofdeployment”#1andintegrationlast
?Easytoseetheseas“offsite”andeitherdolimitedintegration,or,irregularbatchloads
?Threescenarios:on-premisetocloud,cloudtoon-premise,andcloudtocloud
?Eachhaveuniquechallenges,buteacharevaluableandnecessaryscenarios
5
[wheredowewanttobe?]
?Therearetriedandtrueintegrationstylesforsharingdata/processesbetweensystems
?We’retakingthatreliablechassisandapplyingittonewtechnologies
6
[howdowegetthere?]
AseminalbookonthetopicistheEIPbookbyHohpeandWoolf
Discussesahandfulofcommunicationstylesandintegrationpatterns.We’llfocusonthreethatarecalledoutthere:
?Shareddatabase
?Remoteprocedureinvocation
?Messaging/async
Foreachpattern…
?Defineit
?Whenitmakessense
?Constraints
?Cloudconsiderations
?Cloudtechnologies
?Demo
7
Whenitmakessense…
?SharingviaETLorfileisn’ttimely
?Whatifyouneedthelatestdata?
?Couldbeforreporting,referencedataortransactions
?Usewhenyouhavecommondata(and/orstructure)butdifferentCONSUMINGinterfaces
?Thinkofmulti-tenantappswhereyoushareaDB,butpartitionbyuser
?CouldbeanODSordatamartwhereyouwantcommonschemausedbyothers
?Getasingleviewofthedata(noneedtoforceeachendtodefineadataformat)
?Alldependentsystemsareconsistentatthesametime
?Singledataaccessstrategy(SQLsyntax)
8
Challenges
?**Design**
?Toughtoagreeonformats(forODS,mart,transactionalrecords)
?Unifiedschemathatsatisfieseveryone?Commodityonly,or,strongleadershiptoformastandard(orextensibility)
?**Contention/Performance**
?Lesslikelytousewhenhavemultipleappsmanipulatingsametransactionaldata
?Couldhavedatarecordsdefinedwhereyoucouldchangepartsofonerecordwhilesomeonechangespartsofothers
?Maygetfewerinconsistencies,butstillhaveissuesofsimultaneousupdates
?Cantrytohandlewithtransactions,buttransactionsareoftentheenemyofscalability
?
/~cs223/papers/cidr07p15.pdf
?Trytoavoidupdates/conflictsbetweenapplicationssharingthedata
?Newrowsonly,orreadonly(reportingscenario,orreferencedata)
?Avoiddeadlocks
?CouldgetpoorperformanceifappsaredistributedandallaccessingoverWAN
?**COTSsupport**
?Packagedappsrarelyacceptanexternaldatabaseasitssource
?Oppositeof“Sharednothing”wherenodesareselfsufficient
/wiki/Shared_nothing_architecture
?Maymeansharding
/database
-
sharding/
9
CloudConsiderations
?**Accessprotocols**
?CloudprovideseitherDBorwebprotocolaccess
?Havechoicesastohowtoaccess
?Ifremediatingexistingapps,maywanttheoptionofusing“standard”O(jiān)DBCAPIsandnothavetochangemuchcode
?Fornewer(orrebuilt)apps,manyservicesprovideaRESTfulAPIfordataaccess
?**Identity**
?Identityproviders
?Ifshared,howdoyouapplygranularaccess?
?**Performance**
?Mayhavegoodperformance
?Shardingbuiltintomostofthese(splitbasedondomains/groups)
?Insomecaseshaveeventualconsistentreads,butSimpleDBsupportsoption
tohaveconsistentreads
/articles/3572?_encoding=UTF8&jiveRedirect=1
?ConditionalPUTandDELETEwithexpectedvalues(topreventoverwritingfresherdata)
?CanstilldoeventuallyconsistentreadandtrusttheConditionalstoenforceconsistency
?CoulduseversionortimestampvalueaspartofConditional
9
?**DifferentDBstorageoptions**
?CouldusecloudRDMSifyoudon’thavemassivescaleneeds
?Canuseaschema-lessproductlikeSimpleDB
?**Providerlimits**
?WritesarethrottledtoSimpleDB,socanuseshardeddomainsifexpectmorethanXYZputs/second(dobatch)
?
/post/712653349/simpledb
-
essentials
-
for
-
high
-
performance
-
users
-
part
-
1
?Mayhavelimitedtransactions
?Acrosstables/entitiesforschema-lesslikeAzuretables
?**Options**
?DBs
?StructuredRDMS
?AmazonRDS
?SQLAzure
?D
?DatabasehostedonIaaSplatformlikeAWS
?Schema-less
?SimpleDB
?AzureTables
?GoogleAppEngineDataStore
/appengine/docs/python/datastore/overview.
html
?Optimisticconcurrency
?Distributesdatawhennecessary
?Limitsinnumberofcallsperminute
?Blobs
?S3
?AzureBlobStorage
10
Demo
?Slideshows“beforeandafter”
?Demostart…
?ShowdbvaluesfromVS2010;ShowIAMandcredentialsspecifictoauseraccount
?.NETapp
?Retrieveitems;Openappanddon’tputcustomerIDin;thenputjustthe
30010accountin
?CloudFoundry
?RubyappwhereIquerythedatabaseviaRESTafterbuildingsignedstring
?
http://seroter
-
/lookup/30010
?
http://seroter
-
/lookup/30014
?ShowRubyclass;VMCtoshowrunningappinstances
?SFDC
?CustomcodethatlooksatsharedDB
?
/apex/InteractionHistory?id=003A0000001YN
Pe
(30010)
?
/apex/InteractionHistory?id=003A0000001Yy
cD
(30014)
?ShowSFDCcode
?.NETapp
?Addnewitem;RefreshSDFCandCloudFoundryapps
11
CanviewmyAmazonWebServices(AWS)SimpleDBcontentviaVisualStudio2010plugin.NoticethatIhavefourrowsofdatafortwodifferentcustomers.
12
Icanalsodogranularrole-basedpermissionsinAWSandrestrictwhocan
create/update/readdata
13
IbuiltaclientapplicationthatpullsalltheinteractionsfromAWSSimpleDBforagivenuser
14
I’vealsobuiltaRubywebapplicationhostedinVMWare’spublic/privatecloudcalledCloudFoundry
15
MyCloudFoundryRubycodeconsumestheAWSSimpleDBdataviawebservices
16
YoucanseehowmanyinstancesofmywebapparedeployedintheVMWarecloud
17
Withonecommand,I*instantly*jumptotwoinstances.Immediatelyloadbalanced.
18
Icanthen*instantly*movebacktoasingleinstance.
19
I’mnowinmySaccountwhereIbuiltacustompagetopullSimpleDBdata
20
Byclickingthebuttononmypage,Iretrievedalltheinteractionsforthis
Scustomer
21
MycodeshowthatIconsumetheAWSSimpleDBserviceinaverysimilarwaytoCloudFoundryapp
22
Withinmyon-premisesapp,IaddedanewrecordtomySimpleDBdatabase
23
ThatrowisnowimmediatelyvisibleinS
24
…andwithinmyCloudFoundryapp!
25
Whenitmakessense…
?Havemultipleapps,builtindependentlyanddata/processesneedtobeshared
?Justsharingdatanotalwaysenough;processes,workflowstoo
?Datastayswithit’ssource
?SOA–businessservicesthatinitiateactionbasedoninvocation
?Encapsulationthathidesinternals
?Hideunderlyingchanges
?Canberesponsivetonecessarychangesvs.gettingeveryoneonboardwith(shared)databasechanges
?Abstractiongivesyoucoarsefunctionsinsteadofgranularfunctioncalls
?Interoperability
?RelyonHTTPandXML/JSON
?Reusability
?Veryfamiliarpatternfordevelopers(request/response)
?Goodforfinegrainedfunctionsandmashupservices
?Wantdatabeforemovingtonextstep
?Oftendon’tneedguaranteeddeliveryorabrokersinceyoucanjustretrytherequest
26
Challenges
?**Coupling**
?Notasbadasusingashareddatabase
?Stillhaverelativelytightcoupling
?Hardtochangeonepiece
?**Security/Capabilitygaps**
?Havetosupportawidervarietyofcapabilitiesbyserviceproviders
?Lackofuniformsecuritystrategies,inconsistentsupportfortransactions
?Dependsonprotocolsthatcanbeconsumed
?**Locking**
?Blockingcallforthesender
?Receiverprocessesexceptions(proandcon)
?**Maybetransientdata**
?Ifastraightlookupwithoutpersistence…notavailableforreports,workflowsetc
?**COTSsupport**
?ManyCOTSsystemsdon’tnativelyexposetheircapabilitiesasservices
?Somehavegottenbetter,butyoustillseehyper-granularorabstractservicesexposedbyleadingvendors
27
CloudConsiderations
?**Security**
?Howdoyouconsumeonsiteservices?
?Howfederatewhendoingcloud-to-cloud
?**Latency**
?Mayrequiredoublehopifwefirstgetatokenandthenmakeactualrequest
?Giventhatthisisablockingcall,mayneedtouseAJAXdesign
?**Access**
?Mayrequirespecificprotocols(HTTP)
?NotgoingtoseebroadsupportforDB-specificprotocols
?**Option**
?Cloudtoon-premises
?Coulduseinternetfacingproxyservicethatforwardsrequesttoback-endsystem/DB
?CoulduseVPNbetweencallerandtargetsystem
?ReliesoncloudappthatsupportsVPN
?AmazonVPC,GoogleDataConnector,AzureConnect
?CoulduseWindowsAzureAppFabricforcloudbasedrelayservice(notdurable)
?Cloudtocloud
?Leveragewebservicesonbothsides;Uwithcloudintegrationprovider
28
Demo
?Showonpremiseservice
?RESTcontract
?Implementation
?Showwhatmakesit“cloudy”
?Cloudbindings
?Startservice
?Showinregistry
?
?
/apex/DiscountLookup?id=001A000000YBX3C
?ShowSFDCcall(withtokenforsecurity)
?Callservice
?CallservicefromaccountwithdifferentID
29
I’vebuiltacustomWCFservicethatusesaRESTful(vs.SOAP)webservicestrategy
30
TheimplementationofthisservicesimplysaysiftheuserIDis200,thediscountis10%.Otherwise,5%.
31
ThisserviceconnectstoWindowsAzureAppFabricviathisconfiguration.Whatthisdoesiscreateasecure,two-waytunneltotheMicrosoftcloud.
Messagessentto/DiscountServicewillget“relayed”tomyon-premiseswebservice!
32
Istartupmyon-premisesservice,whichinitiatesthebindingtothecloud
33
Icanseemyon-premisesserviceexposedinmycloudregistry
34
BecauseIhaveturnedoffcallersecurity,Icantestmyserviceusinganybrowser.
35
NotethatIgetadifferentvaluewhenIuseacustomerIDbesides200
36
WithinS,Ihaveacustompagewhichconsumesthecloudrelayserviceandexecutesmyon-premisebusinesslogicinrealtime!
37
ForadifferentaccountID(besides200),adifferentdiscountrateisreturned
38
Behindthescenes,thiscodeconnectstotherelayserviceandoptionallypassesinasecuritytoken.
39
Whenitmakessense…
?Sharedatabetweensystemsinaresponsiveandscalableway
?Callerdoesn’thavetowait
?Thinkofsendinganemail;itdoesn’tblockOutlookuntilyourrecipientgetsit
?Wanttodobroadcast(pub/sub)ormulticast(definedrecipients)
?Callerdoesn’tneedtocarewhereitgoes
?Supportsdisconnectedapplications(notonlineatthesametime)
?Havemultiplereplicableunits(busscenario)
40
Challenges
?**Notrealtimesynchronization**
?Inherentlyincludeseventualconsistency
?Nosimultaneousorinstantupdates
?**Mayneeddurability/reliability**
?Withoutdurabilityinthemiddle,standthechancetolosedata
?Aroutercanbeusedifyouwanttodirectthemessagestoplacesunknowntothecaller
?Routercanalsodoactivitieslikedatatransformation,protocolbridging,orworkflow
?Idempotenceneededinmanycases
?Datasharedmytellreceivingsystemtogogetdata(handledupesok)
?**Appsupportforreceivingorsendingasyncmessages**
?Fewapplicationsnativelysharedataasynchronously
41
CloudConsiderations
?**Appsupport**
?Seemsevenfewercloudappsshareorreceiveasync
?**Security**
?Maystillneedtopokeaholeinthefirewall
?**Providerlimits**
?Cloudvendorlimitsonpolling(e.g.SFDC)
?Maywanttoputlotsintoqueueand“peek”toretrieve/deleteonlycertainones
?Distributednatureofcloudarchcouldresultinunexpected(lack)ofdata
?Distributedqueuesmaynotreturnallitemsoneachpoll(machinesampleviaAmazon)
?**Options**
?SomeSaaSplatformsbakeinasyncpush(e.g.)
?Couldleverageacloudqueuethateveryonetalksto
?Orothercloudbroker(DB,messagerouter)
?Couldworkforbot
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度企業(yè)總部基地租賃合同范本2篇
- 2025年度現(xiàn)代農(nóng)業(yè)病蟲害綜合防治與防治藥物研發(fā)服務(wù)合同3篇
- 二零二五年度河北省二手房買賣合同附帶貸款利率及還款方式協(xié)商3篇
- 二零二五年度教育培訓(xùn)合同(不含教材)3篇
- 二零二五年度旅游行業(yè)投資并購合同3篇
- 二零二五年度搬遷項(xiàng)目進(jìn)度管理合同3篇
- 貪吃蛇c++課程設(shè)計(jì)
- 二零二五年度國際酒店設(shè)施招標(biāo)采購合同3篇
- 海南外國語職業(yè)學(xué)院《樂理基礎(chǔ)與視唱(二)》2023-2024學(xué)年第一學(xué)期期末試卷
- 海南外國語職業(yè)學(xué)院《MATLAB與電機(jī)系統(tǒng)仿真》2023-2024學(xué)年第一學(xué)期期末試卷
- 2025北京豐臺(tái)初二(上)期末數(shù)學(xué)真題試卷(含答案解析)
- 遼寧華電高科環(huán)保技術(shù)有限公司油泥煤循環(huán)流化床協(xié)同資源化工業(yè)化試驗(yàn)項(xiàng)目環(huán)境影響評價(jià)報(bào)告書
- 復(fù)旦大學(xué)普物B期末考試試卷
- 剪映教程PPT版本新版剪影零基礎(chǔ)教學(xué)課程課件
- 小學(xué)語文低年級寫話 鴿子
- GB/T 35223-2017地面氣象觀測規(guī)范氣象能見度
- GB/T 24183-2009金屬材料制耳試驗(yàn)方法
- 醫(yī)院感染質(zhì)量控制中心工作總結(jié)和計(jì)劃課件
- 中共一大介紹
- 生產(chǎn)車間5s管理培訓(xùn)課件
- 監(jiān)考要求、操作流程及指導(dǎo)語
評論
0/150
提交評論