您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 销售管理 > 11gPL_SQLWeb服务(32)
IntroductiontoPL/SQLIntroductiontoPL/SQLWebServicesWebServicesJamesHudsonWisconsinDepartmentofNaturalResources••AsoftwaresystemdesignedtosupportAsoftwaresystemdesignedtosupportinteroperablemachinetomachineinteroperablemachinetomachineinteractionoveranetworkinteractionoveranetwork––W3CW3Cdefinitiondefinition••StandardsStandards--basedusingXML,HTTP,SOAP,basedusingXML,HTTP,SOAP,etc.tomakeitrelativelyeasyetc.tomakeitrelativelyeasy••BasisforServiceBasisforService--OrientedArchitectureOrientedArchitecture••CandoWebServicesusingMostPlatformsCandoWebServicesusingMostPlatforms••IncludingPL/SQLIncludingPL/SQL••PublishPL/SQLFunctionsasWebServicesPublishPL/SQLFunctionsasWebServices••Use(Use(““consumeconsume””)otherWebServicesin)otherWebServicesinyourPL/SQLprogramsyourPL/SQLprograms••ReducedComplexityReducedComplexity••ThickDatabasePhilosophyThickDatabasePhilosophy••ImprovedPerformance(insomecases)ImprovedPerformance(insomecases)••BetterControlBetterControl••Security,exposesdatabaseservertowebSecurity,exposesdatabaseservertowebserviceusersserviceusers••LimitationsintheToolsLimitationsintheTools––RESTnotdirectlysupportedRESTnotdirectlysupported––WSWS--I,etc.missingnowI,etc.missingnow••ToomuchcodingToomuchcoding––NoautomaticstubgenerationyetNoautomaticstubgenerationyet••Oracle11gOracle11g––orawsvorawsvservletservletforpublishingforpublishing––UTL_DBWSandUTL_HTTPforconsumingUTL_DBWSandUTL_HTTPforconsuming••Oracle9iand10gOracle9iand10g––UTL_DBWSandUTL_HTTP(withsomesetup)UTL_DBWSandUTL_HTTP(withsomesetup)––JpublisherJpublisher••Ourfocus:11gOurfocus:11g••InstallingInstallingorawsvorawsv••EnablingHTTPEnablingHTTP••SettingupSSL(HTTPS)SettingupSSL(HTTPS)••RolesandAccessControlRolesandAccessControl••TestingTesting(32):='DECLARESERVLET_NAMEVARCHAR2(32):='orawsvorawsv';';BEGINBEGINDBMS_XDB.deleteServletMapping(SERVLET_NAMEDBMS_XDB.deleteServletMapping(SERVLET_NAME););DBMS_XDB.deleteServlet(SERVLET_NAMEDBMS_XDB.deleteServlet(SERVLET_NAME););DBMS_XDB.addServlet(NAMEDBMS_XDB.addServlet(NAME=SERVLET_NAME,=SERVLET_NAME,LANGUAGE='C',LANGUAGE='C',DISPNAME='OracleQueryWebService',DISPNAME='OracleQueryWebService',DESCRIPT='DESCRIPT='ServletServletforissuingqueriesasaWebService',forissuingqueriesasaWebService',SCHEMA='XDB');SCHEMA='XDB');DBMS_XDB.addServletSecRole(SERVNAMEDBMS_XDB.addServletSecRole(SERVNAME=SERVLET_NAME,=SERVLET_NAME,ROLENAME='XDB_WEBSERVICES',ROLENAME='XDB_WEBSERVICES',ROLELINK='XDB_WEBSERVICES');ROLELINK='XDB_WEBSERVICES');DBMS_XDB.addServletMapping(PATTERNDBMS_XDB.addServletMapping(PATTERN='/='/orawsvorawsv/*',/*',NAME=SERVLET_NAME);NAME=SERVLET_NAME);END;END;••SameAdministration,SameAdministration,exceptexcept––RequiresAdvancedSecurityRequiresAdvancedSecurity––SeparatelySeparately--pricedoptionpricedoption––DBAwilladministersecuritycertificatesandDBAwilladministersecuritycertificatesandOracleWalletOracleWallet••TraditionalsecurityforpublishingTraditionalsecurityforpublishingdatabasewebservicesdatabasewebservices––ConsumerofthosewebservicesmustconnectConsumerofthosewebservicesmustconnecttodatabasetodatabase––DatabaseusermusthaveexecuteontheDatabaseusermusthaveexecuteonthefunctiontobeconsumedfunctiontobeconsumed––OrawsvOrawsvrequiresrequires““basicbasic””authenticationauthentication••RolesRoles––ToconnecttothedatabaseandinvokewebToconnecttothedatabaseandinvokewebservices,musthaveXDB_WEBSERVICESroleservices,musthaveXDB_WEBSERVICESrole––Ifoverhttp,alsoneedIfoverhttp,alsoneedXDB_WEBSERVICES_OVER_HTTPXDB_WEBSERVICES_OVER_HTTP––Ifneedtoseepublicobjects,notexplicitlyIfneedtoseepublicobjects,notexplicitlygrantedtotheuser,grantedtotheuser,XDB_WEBSERVICES_WITH_PUBLICXDB_WEBSERVICES_WITH_PUBLIC••TheNewOne:AccessControlListsTheNewOne:AccessControlLists••ControlwhatControlwhatURIsURIsdatabaseuserscanseedatabaseuserscansee••AffectUTL_MAIL,UTL_HTTP,etc.AffectUTL_MAIL,UTL_HTTP,etc.••Example:enableSCOTTtoseewebExample:enableSCOTTtoseewebservicesat://localhost:8080
本文标题:11gPL_SQLWeb服务(32)
链接地址:https://www.777doc.com/doc-1575733 .html