版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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”ODBCAPIsandnothavetochangemuchcode
•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. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 护学岗工作制度
- 护理长工作制度
- 拉丝厂工作制度
- 换科室工作制度
- 控烟厂工作制度
- 提请审议工作制度
- 收料工作制度
- 政企合作工作制度
- 国开一网一平台汉本《美学美育专题》教学考试题及答案
- 2026年注册化工工程师资格考试模拟试题及答案
- 2024ABB PIHF谐波滤波器用户手册
- DB3305∕T276-2023 生态联勤警务站建设与管理规范
- 国家职业标准 -碳排放管理员
- T-WSJD 67-2024 职业病诊断质量控制评估指南
- 销售加速公式培训课件
- 琉璃瓦施工合同协议书
- 办理证件合同协议书
- 《动物营养学》全套教学课件
- 设计变更时的协调与应对措施
- 早产儿特点及护理要点
- 《人工智能安全导论》 课件 第五章 人工智能技术在网络入侵检测领域
评论
0/150
提交评论