CINXE.COM
Oracle for Developers | Programming Languages, Tools, Community
<!DOCTYPE html> <html lang="en-US" class="no-js"><!-- start : Framework/Redwood2 --> <!-- start : ocom/common/global/components/framework/head --> <head> <!-- start : ocom/common/global/components/head --> <title>Oracle for Developers | Programming Languages, Tools, Community</title> <meta name="Title" content="Oracle for Developers | Programming Languages, Tools, Community"> <meta name="Description" content="Developer tools and resource for modern cloud application development using Java, databases, microservices, containers, and open source programming languages and technologies."> <meta name="Keywords" content="agile, AI, API design, blockchain, chatbots, cloud, containers, databases, devops, development tools, functional programming, java, javascript, low code, machine learning, microservices, node.js, open source, PHP, python, ruby, SQL, .NET"> <meta name="resgen" content="No"> <meta name="siteid" content="us"> <meta name="countryid" content="US"> <meta name="robots" content="index, follow"> <meta name="country" content="United States"> <meta name="region" content="americas"> <meta name="Language" content="en"> <meta name="Updated Date" content="2024-07-25T15:42:53Z"> <meta name="page_type" content="Developer"> <script type="text/javascript"> var pageData = pageData || {}; //page info pageData.pageInfo = pageData.pageInfo || {}; pageData.pageInfo.language = "en"; pageData.pageInfo.country = "United States"; pageData.pageInfo.region = "americas"; pageData.pageInfo.pageTitle = "Oracle for Developers | Programming Languages, Tools, Community"; pageData.pageInfo.description = "Developer tools and resource for modern cloud application development using Java, databases, microservices, containers, and open source programming languages and technologies."; pageData.pageInfo.keywords = "agile, AI, API design, blockchain, chatbots, cloud, containers, databases, devops, development tools, functional programming, java, javascript, low code, machine learning, microservices, node.js, open source, PHP, python, ruby, SQL, .NET"; pageData.pageInfo.siteId = "us"; pageData.pageInfo.countryId = "US"; pageData.pageInfo.updatedDate = "2024-07-25T15:42:53Z"; </script> <!-- start : ocom/common/global/components/seo-taxonomy-meta-data--> <script type="text/javascript"> var pageData = pageData || {}; //taxonmy pageData.taxonomy = pageData.taxonomy || {}; pageData.taxonomy.productServices = []; pageData.taxonomy.industry = []; pageData.taxonomy.region = []; pageData.taxonomy.contentType = []; pageData.taxonomy.buyersJourney = []; pageData.taxonomy.revenue = []; pageData.taxonomy.title = []; pageData.taxonomy.audience = []; pageData.taxonomy.persona = []; </script> <!-- end : ocom/common/global/components/seo-taxonomy-meta-data--> <!-- start : ocom/common/global/components/social-media-meta-tags --> <!-- end : ocom/common/global/components/social-media-meta-tags --> <!-- start : ocom/common/global/components/seo-hreflang-meta-tags --><link rel="canonical" href="https://www.oracle.com/developer/" /> <link rel="alternate" hreflang="en-AE" href="https://www.oracle.com/ae/developer/" /> <link rel="alternate" hreflang="es-AR" href="https://www.oracle.com/ar/developer/" /> <link rel="alternate" hreflang="de-AT" href="https://www.oracle.com/at/developer/" /> <link rel="alternate" hreflang="en-AU" href="https://www.oracle.com/au/developer/" /> <link rel="alternate" hreflang="en-BA" href="https://www.oracle.com/ba/developer/" /> <link rel="alternate" hreflang="en-BD" href="https://www.oracle.com/bd/developer/" /> <link rel="alternate" hreflang="en-BE" href="https://www.oracle.com/be/developer/" /> <link rel="alternate" hreflang="bg-BG" href="https://www.oracle.com/bg/developer/" /> <link rel="alternate" hreflang="en-BH" href="https://www.oracle.com/bh/developer/" /> <link rel="alternate" hreflang="pt-BR" href="https://www.oracle.com/br/developer/" /> <link rel="alternate" hreflang="en-BZ" href="https://www.oracle.com/bz/developer/" /> <link rel="alternate" hreflang="en-CA" href="https://www.oracle.com/ca-en/developer/" /> <link rel="alternate" hreflang="fr-CA" href="https://www.oracle.com/ca-fr/developer/" /> <link rel="alternate" hreflang="de-CH" href="https://www.oracle.com/ch-de/developer/" /> <link rel="alternate" hreflang="fr-CH" href="https://www.oracle.com/ch-fr/developer/" /> <link rel="alternate" hreflang="es-CL" href="https://www.oracle.com/cl/developer/" /> <link rel="alternate" hreflang="zh-CN" href="https://www.oracle.com/cn/developer/" /> <link rel="alternate" hreflang="es-CO" href="https://www.oracle.com/co/developer/" /> <link rel="alternate" hreflang="es-CR" href="https://www.oracle.com/cr/developer/" /> <link rel="alternate" hreflang="en-CY" href="https://www.oracle.com/cy/developer/" /> <link rel="alternate" hreflang="cs-CZ" href="https://www.oracle.com/cz/developer/" /> <link rel="alternate" hreflang="de-DE" href="https://www.oracle.com/de/developer/" /> <link rel="alternate" hreflang="en-US" href="https://www.oracle.com/developer/" /> <link rel="alternate" hreflang="da-DK" href="https://www.oracle.com/dk/developer/" /> <link rel="alternate" hreflang="fr-DZ" href="https://www.oracle.com/dz/developer/" /> <link rel="alternate" hreflang="en-EE" href="https://www.oracle.com/ee/developer/" /> <link rel="alternate" hreflang="en-EG" href="https://www.oracle.com/eg/developer/" /> <link rel="alternate" hreflang="es-ES" href="https://www.oracle.com/es/developer/" /> <link rel="alternate" hreflang="fi-FI" href="https://www.oracle.com/fi/developer/" /> <link rel="alternate" hreflang="fr-FR" href="https://www.oracle.com/fr/developer/" /> <link rel="alternate" hreflang="en-GH" href="https://www.oracle.com/gh/developer/" /> <link rel="alternate" hreflang="el-GR" href="https://www.oracle.com/gr/developer/" /> <link rel="alternate" hreflang="en-HK" href="https://www.oracle.com/hk/developer/" /> <link rel="alternate" hreflang="hr-HR" href="https://www.oracle.com/hr/developer/" /> <link rel="alternate" hreflang="hu-HU" href="https://www.oracle.com/hu/developer/" /> <link rel="alternate" hreflang="en-ID" href="https://www.oracle.com/id/developer/" /> <link rel="alternate" hreflang="en-IE" href="https://www.oracle.com/ie/developer/" /> <link rel="alternate" hreflang="en-IL" href="https://www.oracle.com/il-en/developer/" /> <link rel="alternate" hreflang="en-IN" href="https://www.oracle.com/in/developer/" /> <link rel="alternate" hreflang="it-IT" href="https://www.oracle.com/it/developer/" /> <link rel="alternate" hreflang="en-JO" href="https://www.oracle.com/jo/developer/" /> <link rel="alternate" hreflang="ja-JP" href="https://www.oracle.com/jp/developer/" /> <link rel="alternate" hreflang="en-KE" href="https://www.oracle.com/ke/developer/" /> <link rel="alternate" hreflang="ko-KR" href="https://www.oracle.com/kr/developer/" /> <link rel="alternate" hreflang="en-KW" href="https://www.oracle.com/kw/developer/" /> <link rel="alternate" hreflang="en-LK" href="https://www.oracle.com/lk/developer/" /> <link rel="alternate" hreflang="en-LU" href="https://www.oracle.com/lu/developer/" /> <link rel="alternate" hreflang="lv-LV" href="https://www.oracle.com/lv/developer/" /> <link rel="alternate" hreflang="fr-MA" href="https://www.oracle.com/ma/developer/" /> <link rel="alternate" hreflang="es-MX" href="https://www.oracle.com/mx/developer/" /> <link rel="alternate" hreflang="en-MY" href="https://www.oracle.com/my/developer/" /> <link rel="alternate" hreflang="en-NG" href="https://www.oracle.com/ng/developer/" /> <link rel="alternate" hreflang="nl-NL" href="https://www.oracle.com/nl/developer/" /> <link rel="alternate" hreflang="no-NO" href="https://www.oracle.com/no/developer/" /> <link rel="alternate" hreflang="en-NZ" href="https://www.oracle.com/nz/developer/" /> <link rel="alternate" hreflang="es-PE" href="https://www.oracle.com/pe/developer/" /> <link rel="alternate" hreflang="en-PH" href="https://www.oracle.com/ph/developer/" /> <link rel="alternate" hreflang="pl-PL" href="https://www.oracle.com/pl/developer/" /> <link rel="alternate" hreflang="pt-PT" href="https://www.oracle.com/pt/developer/" /> <link rel="alternate" hreflang="en-QA" href="https://www.oracle.com/qa/developer/" /> <link rel="alternate" hreflang="ro-RO" href="https://www.oracle.com/ro/developer/" /> <link rel="alternate" hreflang="sr-RS" href="https://www.oracle.com/rs/developer/" /> <link rel="alternate" hreflang="en-SA" href="https://www.oracle.com/sa/developer/" /> <link rel="alternate" hreflang="sv-SE" href="https://www.oracle.com/se/developer/" /> <link rel="alternate" hreflang="en-SG" href="https://www.oracle.com/sg/developer/" /> <link rel="alternate" hreflang="sl-SI" href="https://www.oracle.com/si/developer/" /> <link rel="alternate" hreflang="sk-SK" href="https://www.oracle.com/sk/developer/" /> <link rel="alternate" hreflang="fr-SN" href="https://www.oracle.com/sn/developer/" /> <link rel="alternate" hreflang="en-TH" href="https://www.oracle.com/th/developer/" /> <link rel="alternate" hreflang="tr-TR" href="https://www.oracle.com/tr/developer/" /> <link rel="alternate" hreflang="zh-TW" href="https://www.oracle.com/tw/developer/" /> <link rel="alternate" hreflang="uk-UA" href="https://www.oracle.com/ua/developer/" /> <link rel="alternate" hreflang="en-GB" href="https://www.oracle.com/uk/developer/" /> <link rel="alternate" hreflang="es-UY" href="https://www.oracle.com/uy/developer/" /> <link rel="alternate" hreflang="en-VN" href="https://www.oracle.com/vn/developer/" /> <link rel="alternate" hreflang="en-ZA" href="https://www.oracle.com/za/developer/" /> <meta name="altpages" content="ae,ar,at,au,ba,bd,be,bg,bh,br,bz,ca-en,ca-fr,ch-de,ch-fr,cl,cn,co,cr,cy,cz,de,dk,dz,ee,eg,es,fi,fr,gh,gr,hk,hr,hu,id,ie,il-en,in,it,jo,jp,ke,kr,kw,lk,lu,lv,ma,mx,my,ng,nl,no,nz,pe,ph,pl,pt,qa,ro,rs,sa,se,sg,si,sk,sn,th,tr,tw,ua,uk,uy,vn,za"> <script type="text/javascript"> var pageData = pageData || {}; //page info pageData.pageInfo = pageData.pageInfo || {}; pageData.pageInfo.altPages = "ae,ar,at,au,ba,bd,be,bg,bh,br,bz,ca-en,ca-fr,ch-de,ch-fr,cl,cn,co,cr,cy,cz,de,dk,dz,ee,eg,es,fi,fr,gh,gr,hk,hr,hu,id,ie,il-en,in,it,jo,jp,ke,kr,kw,lk,lu,lv,ma,mx,my,ng,nl,no,nz,pe,ph,pl,pt,qa,ro,rs,sa,se,sg,si,sk,sn,th,tr,tw,ua,uk,uy,vn,za"; </script> <!-- end : ocom/common/global/components/seo-hreflang-meta-tags --> <!-- end : ocom/common/global/components/head --> <meta name="viewport" content="width=device-width, initial-scale=1"> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <!-- start : ocom/common/global/components/framework/layoutAssetHeadInfo --> <!-- Container/Display Start --> <!-- BEGIN: oWidget_C/_Raw-Text/Display --> <link rel="dns-prefetch" href="https://dc.oracleinfinity.io" crossOrigin="anonymous" /> <link rel="dns-prefetch" href="https://oracle.112.2o7.net" crossOrigin="anonymous" /> <link rel="dns-prefetch" href="https://s.go-mpulse.net" crossOrigin="anonymous" /> <link rel="dns-prefetch" href="https://c.go-mpulse.net" crossOrigin="anonymous" /> <link rel="preconnect" href="https://tms.oracle.com/" crossOrigin="anonymous" /> <link rel="preconnect" href="https://tags.tiqcdn.com/" crossOrigin="anonymous" /> <link rel="preconnect" href="https://consent.trustarc.com" crossOrigin="anonymous" /> <link rel="preconnect" href="https://d.oracleinfinity.io" crossOrigin="anonymous" /> <link rel="preload" href="https://www.oracle.com/asset/web/fonts/oraclesansvf.woff2" as="font" crossOrigin="anonymous" type="font/woff2" /> <link rel="preload" href="https://www.oracle.com/asset/web/fonts/redwoodicons.woff2" as="font" crossorigin="anonymous" type="font/woff2"> <!-- END: oWidget_C/_Raw-Text/Display --> <!-- Container/Display end --> <!-- Container/Display Start --> <!-- BEGIN: oWidget_C/_Raw-Text/Display --> <!-- BEGIN CSS/JS --> <style> body{margin:0} .f20w1 > section{opacity:0;filter:opacity(0%)} .f20w1 > div{opacity:0;filter:opacity(0%)} .f20w1 > nav{opacity:0;filter:opacity(0%)} </style> <script> !function(){ var d=document.documentElement;d.className=d.className.replace(/no-js/,'js'); if(document.location.href.indexOf('betamode=') > -1) document.write('<script src="/asset/web/js/ocom-betamode.js"><\/script>'); }(); </script> <link data-wscss href="/asset/web/css/redwood-base.css" rel="preload" as="style" onload="this.rel='stylesheet';" onerror="this.rel='stylesheet'"> <link data-wscss href="/asset/web/css/redwood-styles.css" rel="preload" as="style" onload="this.rel='stylesheet';" onerror="this.rel='stylesheet'"> <noscript> <link href="/asset/web/css/redwood-base.css" rel="stylesheet"> <link href="/asset/web/css/redwood-styles.css" rel="stylesheet"> </noscript> <link data-wsjs data-reqjq href="/asset/web/js/redwood-base.js" rel="preload" as="script"> <link data-wsjs data-reqjq href="/asset/web/js/redwood-lib.js" rel="preload" as="script"> <script data-wsjs src="/asset/web/js/jquery-min.js" async onload="$('head link[data-reqjq][rel=preload]').each(function(){var a = document.createElement('script');a.async=false;a.src=$(this).attr('href');this.parentNode.insertBefore(a, this);});$(function(){$('script[data-reqjq][data-src]').each(function(){this.async=true;this.src=$(this).data('src');});});"></script> <!-- END CSS/JS --> <!-- END: oWidget_C/_Raw-Text/Display --> <!-- Container/Display end --> <!-- Container/Display Start --> <!-- BEGIN: oWidget_C/_Raw-Text/Display --> <!-- www-us HeadAdminContainer --> <link rel="icon" href="https://www.oracle.com/asset/web/favicons/favicon-32.png" sizes="32x32"> <link rel="icon" href="https://www.oracle.com/asset/web/favicons/favicon-128.png" sizes="128x128"> <link rel="icon" href="https://www.oracle.com/asset/web/favicons/favicon-192.png" sizes="192x192"> <link rel="apple-touch-icon" href="https://www.oracle.com/asset/web/favicons/favicon-120.png" sizes="120x120"> <link rel="apple-touch-icon" href="https://www.oracle.com/asset/web/favicons/favicon-152.png" sizes="152x152"> <link rel="apple-touch-icon" href="https://www.oracle.com/asset/web/favicons/favicon-180.png" sizes="180x180"> <meta name="msapplication-TileColor" content="#fcfbfa"/> <meta name="msapplication-square70x70logo" content="favicon-128.png"/> <meta name="msapplication-square150x150logo" content="favicon-270.png"/> <meta name="msapplication-TileImage" content="favicon-270.png"/> <meta name="msapplication-config" content="none"/> <meta name="referrer" content="no-referrer-when-downgrade"/> <style> #oReactiveChatContainer1 { display:none;} </style> <!--Tealium embed code Start --> <script src="https://tms.oracle.com/main/prod/utag.sync.js"></script> <!-- Loading script asynchronously --> <script type="text/javascript"> (function(a,b,c,d){ if(location.href.indexOf("tealium=dev") == -1) { a='https://tms.oracle.com/main/prod/utag.js'; } else { a='https://tms.oracle.com/main/dev/utag.js'; } b=document;c='script';d=b.createElement(c);d.src=a;d.type='text/java'+c;d.async=true; a=b.getElementsByTagName(c)[0];a.parentNode.insertBefore(d,a); })(); </script> <!--Tealium embed code End--> <!-- END: oWidget_C/_Raw-Text/Display --> <!-- Container/Display end --> <!-- end : ocom/common/global/components/framework/layoutAssetHeadInfo --> <script>(window.BOOMR_mq=window.BOOMR_mq||[]).push(["addVar",{"rua.upush":"false","rua.cpush":"false","rua.upre":"false","rua.cpre":"false","rua.uprl":"false","rua.cprl":"false","rua.cprf":"false","rua.trans":"","rua.cook":"false","rua.ims":"false","rua.ufprl":"false","rua.cfprl":"false","rua.isuxp":"false","rua.texp":"norulematch","rua.ceh":"false","rua.ueh":"false","rua.ieh.st":"0"}]);</script> <script>!function(e){var n="https://s.go-mpulse.net/boomerang/";if("False"=="True")e.BOOMR_config=e.BOOMR_config||{},e.BOOMR_config.PageParams=e.BOOMR_config.PageParams||{},e.BOOMR_config.PageParams.pci=!0,n="https://s2.go-mpulse.net/boomerang/";if(window.BOOMR_API_key="DXNLE-YBWWY-AR74T-WMD99-77VRA",function(){function e(){if(!o){var e=document.createElement("script");e.id="boomr-scr-as",e.src=window.BOOMR.url,e.async=!0,i.parentNode.appendChild(e),o=!0}}function t(e){o=!0;var n,t,a,r,d=document,O=window;if(window.BOOMR.snippetMethod=e?"if":"i",t=function(e,n){var t=d.createElement("script");t.id=n||"boomr-if-as",t.src=window.BOOMR.url,BOOMR_lstart=(new Date).getTime(),e=e||d.body,e.appendChild(t)},!window.addEventListener&&window.attachEvent&&navigator.userAgent.match(/MSIE [67]\./))return window.BOOMR.snippetMethod="s",void t(i.parentNode,"boomr-async");a=document.createElement("IFRAME"),a.src="about:blank",a.title="",a.role="presentation",a.loading="eager",r=(a.frameElement||a).style,r.width=0,r.height=0,r.border=0,r.display="none",i.parentNode.appendChild(a);try{O=a.contentWindow,d=O.document.open()}catch(_){n=document.domain,a.src="javascript:var d=document.open();d.domain='"+n+"';void(0);",O=a.contentWindow,d=O.document.open()}if(n)d._boomrl=function(){this.domain=n,t()},d.write("<bo"+"dy onload='document._boomrl();'>");else if(O._boomrl=function(){t()},O.addEventListener)O.addEventListener("load",O._boomrl,!1);else if(O.attachEvent)O.attachEvent("onload",O._boomrl);d.close()}function a(e){window.BOOMR_onload=e&&e.timeStamp||(new Date).getTime()}if(!window.BOOMR||!window.BOOMR.version&&!window.BOOMR.snippetExecuted){window.BOOMR=window.BOOMR||{},window.BOOMR.snippetStart=(new Date).getTime(),window.BOOMR.snippetExecuted=!0,window.BOOMR.snippetVersion=12,window.BOOMR.url=n+"DXNLE-YBWWY-AR74T-WMD99-77VRA";var i=document.currentScript||document.getElementsByTagName("script")[0],o=!1,r=document.createElement("link");if(r.relList&&"function"==typeof r.relList.supports&&r.relList.supports("preload")&&"as"in r)window.BOOMR.snippetMethod="p",r.href=window.BOOMR.url,r.rel="preload",r.as="script",r.addEventListener("load",e),r.addEventListener("error",function(){t(!0)}),setTimeout(function(){if(!o)t(!0)},3e3),BOOMR_lstart=(new Date).getTime(),i.parentNode.appendChild(r);else t(!1);if(window.addEventListener)window.addEventListener("load",a,!1);else if(window.attachEvent)window.attachEvent("onload",a)}}(),"".length>0)if(e&&"performance"in e&&e.performance&&"function"==typeof e.performance.setResourceTimingBufferSize)e.performance.setResourceTimingBufferSize();!function(){if(BOOMR=e.BOOMR||{},BOOMR.plugins=BOOMR.plugins||{},!BOOMR.plugins.AK){var n=""=="true"?1:0,t="",a="bdpnbeqxjpkyoz2cnr6q-f-44a4f814a-clientnsv4-s.akamaihd.net",i="false"=="true"?2:1,o={"ak.v":"39","ak.cp":"82485","ak.ai":parseInt("604074",10),"ak.ol":"0","ak.cr":4,"ak.ipv":4,"ak.proto":"http/1.1","ak.rid":"6f058391","ak.r":42017,"ak.a2":n,"ak.m":"dscx","ak.n":"essl","ak.bpcip":"8.222.208.0","ak.cport":58134,"ak.gh":"184.28.235.13","ak.quicv":"","ak.tlsv":"tls1.2","ak.0rtt":"","ak.0rtt.ed":"","ak.csrc":"-","ak.acc":"reno","ak.t":"1732406397","ak.ak":"hOBiQwZUYzCg5VSAfCLimQ==x3IuAQJVrtp0XIlOeEBdwH+YAuc2djJfuzdEcZEyqGW/w5X2SNDaJz/kPvDnFkT7JOsH7XB9pktyXs0zejGaDRAJ4ssRaFhBwiHw2CsgyF5xtZzAsh/QqBgIljzffAM/MO/7wJfCRlWPaUXvyQQK9K7pb+5j97E/UI3Wv12qtVuEffAoWoTA/bKm9MobPo+pwyzq1EkWOCmGAgHSouF89Nkfxp1R99yVw4j4h9QfgF4pO4kebWaVT+XqhoXBs+vE2PpgNTJxsY8CZxmUcZDVdnyHxf5oRAMQKuFl5CDQVNiL2tiji7E7M85gp0jAWj8fCgTJzFJOzcZuR0IB2fUTXmrxR8sLAYwQaNWS+kteOaHOawLpcyBx9EeA22ZhivdYqiOMqRbJBwCTezQOj2zKK4PdCf8UNCAt7Tdlauy0uxA=","ak.pv":"492","ak.dpoabenc":"","ak.tf":i};if(""!==t)o["ak.ruds"]=t;var r={i:!1,av:function(n){var t="http.initiator";if(n&&(!n[t]||"spa_hard"===n[t]))o["ak.feo"]=void 0!==e.aFeoApplied?1:0,BOOMR.addVar(o)},rv:function(){var e=["ak.bpcip","ak.cport","ak.cr","ak.csrc","ak.gh","ak.ipv","ak.m","ak.n","ak.ol","ak.proto","ak.quicv","ak.tlsv","ak.0rtt","ak.0rtt.ed","ak.r","ak.acc","ak.t","ak.tf"];BOOMR.removeVar(e)}};BOOMR.plugins.AK={akVars:o,akDNSPreFetchDomain:a,init:function(){if(!r.i){var e=BOOMR.subscribe;e("before_beacon",r.av,null,null),e("onbeacon",r.rv,null,null),r.i=!0}return this},is_complete:function(){return!0}}}}()}(window);</script></head><!-- end : ocom/common/global/components/framework/head --> <!-- start : ocom/common/global/components/redwood/layoutAssetStartBodyInfo --> <body class="f20 f20v0 rwtheme-slate"> <!-- Container/Display Start --> <!-- BEGIN: oWidget_C/_Raw-Text/Display --> <!-- www-us StartBodyAdminContainer --> <!-- END: oWidget_C/_Raw-Text/Display --> <!-- Container/Display end --> <div class="f20w1"> <!-- Dispatcher:null --> <!-- BEGIN: oWidget_C/_Raw-Text/Display --> <!-- U30v3 --> <style> #u30{opacity:1 !important;filter:opacity(100%) !important;position:sticky;top:0} .u30v3{background:#3a3632;height:50px;overflow:hidden;border-top:5px solid #3a3632;border-bottom:5px solid #3a3632} #u30nav,#u30tools{visibility:hidden} .u30v3 #u30logo {width:121px;height: 44px;display: inline-flex;justify-content: flex-start;} #u30:not(.u30mobile) .u30-oicn-mobile,#u30.u30mobile .u30-oicn{display:none} #u30logo svg{height:auto;align-self:center} .u30brand{height:50px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;max-width:1344px;padding:0 48px;margin:0 auto} .u30brandw1{display:flex;flex-direction:row;color:#fff;text-decoration:none;align-items:center} @media (max-width:1024px){.u30brand{padding:0 24px}} #u30skip2,#u30skip2content{transform:translateY(-100%);position:fixed} .rtl #u30{direction:rtl} </style> <section id="u30" class="u30 u30v3 pause searchv2" data-trackas="header"> <div id="u30skip2"> <ul> <li><a id="u30skip2c" href="#maincontent">Skip to content</a></li> <li><a id="u30acc" href="https://www.oracle.com/corporate/accessibility/">Accessibility Policy</a></li> </ul> </div> <div class="u30w1 cwidth" id="u30w1"> <div id="u30brand" class="u30brand"> <div class="u30brandw1"> <a id="u30btitle" href="https://www.oracle.com/" data-lbl="logo" aria-label="Home"> <div id="u30logo"> <svg class="u30-oicn-mobile" xmlns="http://www.w3.org/2000/svg" width="32" height="21" viewBox="0 0 32 21"><path fill="#C74634" d="M9.9,20.1c-5.5,0-9.9-4.4-9.9-9.9c0-5.5,4.4-9.9,9.9-9.9h11.6c5.5,0,9.9,4.4,9.9,9.9c0,5.5-4.4,9.9-9.9,9.9H9.9 M21.2,16.6c3.6,0,6.4-2.9,6.4-6.4c0-3.6-2.9-6.4-6.4-6.4h-11c-3.6,0-6.4,2.9-6.4,6.4s2.9,6.4,6.4,6.4H21.2"/></svg> <svg class="u30-oicn" xmlns="http://www.w3.org/2000/svg" width="231" height="30" viewBox="0 0 231 30" preserveAspectRatio="xMinYMid"><path fill="#C74634" d="M99.61,19.52h15.24l-8.05-13L92,30H85.27l18-28.17a4.29,4.29,0,0,1,7-.05L128.32,30h-6.73l-3.17-5.25H103l-3.36-5.23m69.93,5.23V0.28h-5.72V27.16a2.76,2.76,0,0,0,.85,2,2.89,2.89,0,0,0,2.08.87h26l3.39-5.25H169.54M75,20.38A10,10,0,0,0,75,.28H50V30h5.71V5.54H74.65a4.81,4.81,0,0,1,0,9.62H58.54L75.6,30h8.29L72.43,20.38H75M14.88,30H32.15a14.86,14.86,0,0,0,0-29.71H14.88a14.86,14.86,0,1,0,0,29.71m16.88-5.23H15.26a9.62,9.62,0,0,1,0-19.23h16.5a9.62,9.62,0,1,1,0,19.23M140.25,30h17.63l3.34-5.23H140.64a9.62,9.62,0,1,1,0-19.23h16.75l3.38-5.25H140.25a14.86,14.86,0,1,0,0,29.71m69.87-5.23a9.62,9.62,0,0,1-9.26-7h24.42l3.36-5.24H200.86a9.61,9.61,0,0,1,9.26-7h16.76l3.35-5.25h-20.5a14.86,14.86,0,0,0,0,29.71h17.63l3.35-5.23h-20.6" transform="translate(-0.02 0)" /></svg> </div> </a> </div> </div> <div id="u30nav" class="u30nav" data-closetxt="Close Menu" data-trackas="menu"> <nav id="u30navw1" aria-label="Oracle website"> <button data-navtarget="products" aria-controls="products" aria-expanded="false" class="u30navitem">Products</button> <button data-navtarget="industries" aria-controls="industries" aria-expanded="false" class="u30navitem">Industries</button> <button data-navtarget="resources" aria-controls="resources" aria-expanded="false" class="u30navitem">Resources</button> <button data-navtarget="customers" aria-controls="customers" aria-expanded="false" class="u30navitem">Customers</button> <button data-navtarget="partners" aria-controls="partners" aria-expanded="false" class="u30navitem">Partners</button> <button data-navtarget="developers" aria-controls="developers" aria-expanded="false" class="u30navitem">Developers</button> <button data-navtarget="company" aria-controls="company" aria-expanded="false" class="u30navitem">Company</button> </nav> </div> <div id="u30tools" class="u30tools"> <div id="u30search"> <div id="u30searchw1"> <div id="u30searchw2"> <form name="u30searchForm" id="u30searchForm" data-contentpaths="/content/Web/Shared/Auto-Suggest Panel Event" method="get" action="https://search.oracle.com/results"> <div class="u30s1"> <button id="u30closesearch" aria-label="Close Search" type="button"> <span>Close Search</span> <svg width="9" height="14" viewBox="0 0 9 14" fill="none" xmlns="http://www.w3.org/2000/svg"> <path d="M8 13L2 7L8 1" stroke="#161513" stroke-width="2" /> </svg> </button> <span class="u30input"> <div class="u30inputw1"> <input id="u30input" name="q" value="" type="text" placeholder="Search" autocomplete="off" aria-autocomplete="both" aria-label="Search Oracle.com" role="combobox" aria-expanded="false" aria-haspopup="listbox" aria-controls="u30searchw3"> </div> <input type="hidden" name="size" value="10"> <input type="hidden" name="page" value="1"> <input type="hidden" name="tab" value="all"> <span id="u30searchw3title" class="u30visually-hidden">Search Oracle.com</span> <div id="u30searchw3" data-pagestitle="SUGGESTED LINKS" data-autosuggesttitle="SUGGESTED SEARCHES" data-allresultstxt="All results for" data-allsearchpath="https://search.oracle.com/results?q=u30searchterm&size=10&page=1&tab=all" role="listbox" aria-labelledby="u30searchw3title"> <ul id="u30quicklinks" class="autocomplete-items" role="group" aria-labelledby="u30quicklinks-title"> <li role="presentation" class="u30auto-title" id="u30quicklinks-title">QUICK LINKS</li> <li role="option"><a href="/cloud/" data-lbl="quick-links:oci">Oracle Cloud Infrastructure</a> </li> <li role=" option"><a href="/applications/" data-lbl="quick-links:applications">Oracle Fusion Cloud Applications</a></li> <li role="option"><a href="/database/technologies/" data-lbl="quick-links:database">Oracle Database</a></li> <li role="option"><a href="/java/technologies/downloads/" data-lbl="quick-links:download-java">Download Java</a> </li> <li role="option"><a href="/careers/" data-lbl="quick-links:careers">Careers at Oracle</a></li> </ul> </div> <span class="u30submit"> <input class="u30searchbttn" type="submit" value="Submit Search"> </span> <button id="u30clear" type="reset" aria-label="Clear Search"> <svg width="20" height="20" viewBox="0 0 20 20" aria-hidden="true" fill="none" xmlns="http://www.w3.org/2000/svg"> <path d="M7 7L13 13M7 13L13 7M19 10C19 14.9706 14.9706 19 10 19C5.02944 19 1 14.9706 1 10C1 5.02944 5.02944 1 10 1C14.9706 1 19 5.02944 19 10Z" stroke="#161513" stroke-width="2" /> </svg> </button> </span> </div> </form> <div id="u30announce" data-alerttxt="suggestions found to navigate use up and down arrows" class="u30visually-hidden" aria-live="polite"></div> </div> </div> <button class="u30searchBtn" id="u30searchBtn" type="button" aria-label="Open Search Field" aria-expanded="false"> <span>Search</span> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24"> <path d="M15,15l6,6M17,10a7,7,0,1,1-7-7A7,7,0,0,1,17,10Z" /> </svg> </button> </div> <span id="ac-flag"> <a class="flag-focus" href="/countries-list.html#countries" data-ajax="true" rel="lightbox" role="button"> <span class="sr-only">Country</span> <img class="flag-image" src="" alt=""/> <svg class="default-globe" alt="Country" width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> <rect width="20" height="20" fill="url(#pattern0)"/> <defs> <pattern id="pattern0" patternContentUnits="objectBoundingBox" width="1" height="1"> <use xlink:href="#image0_1_1830" transform="translate(-0.166667 -0.166667) scale(0.0138889)"/> </pattern> <image alt="" id="image0_1_1830" width="96" height="96" xlink:href="data:image/png;base64,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"/> </defs> </svg> </a> </span> <div id="u30-profile" class="u30-profile"> <button id="u30-flyout" data-lbl="sign-in-account" aria-expanded="false"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24"><path d="M17,19.51A3,3,0,0,0,14,17H10a3,3,0,0,0-3,2.51m9.92,0a9,9,0,1,0-9.92,0m9.92,0a9,9,0,0,1-9.92,0M15,10a3,3,0,1,1-3-3A3,3,0,0,1,15,10Z"/></svg> <span class="acttxt">View Accounts</span> </button> <div id="u30-profilew1"> <button id="u30actbck" aria-label="close account flyout"><span class="u30actbcktxt">Back</span></button> <div class="u30-profilew2"> <span class="u30acttitle">Cloud Account</span> <a href="/cloud/sign-in.html" class=" u30darkcta u30cloudbg" data-lbl="sign-in-to-cloud">Sign in to Cloud</a> <a href="/cloud/free/" class="u30lightcta" data-lbl="try-free-cloud-trial">Sign Up for Free Cloud Tier</a> </div> <span class="u30acttitle">Oracle Account</span> <ul class="u30l-out"> <li><a href="https://www.oracle.com/webapps/redirect/signon?nexturl=" data-lbl="profile:sign-in-account" class="u30darkcta">Sign-In</a></li> <li><a href="https://profile.oracle.com/myprofile/account/create-account.jspx" data-lbl="profile:create-account" class="u30lightcta">Create an Account</a></li> </ul> <ul class="u30l-in"> <li><a href="/corporate/contact/help.html" data-lbl="help">Help</a></li> <li><a href="javascript:sso_sign_out();" id="u30pfile-sout" data-lbl="signout">Sign Out</a></li> </ul> </div> </div> <div class="u30-contact"> <a href="/corporate/contact/" data-lbl="contact-us" title="Contact Sales"><span>Contact Sales</span></a> </div> <a href="/global-menu-v2/" id="u30ham" role="button" aria-expanded="false" aria-haspopup="true" aria-controls="u30navw1"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"> <title>Menu</title> <path d="M16,4 L2,4" class="p1"></path> <path d="M2,12 L22,12" class="p2"></path> <path d="M2,20 L16,20" class="p3"></path> <path d="M0,12 L24,12" class="p4"></path> <path d="M0,12 L24,12" class="p5"></path> </svg> <span>Menu</span> </a> </div> </div> <script> var u30min = [722,352,0,0]; var u30brsz = new ResizeObserver(u30 => { document.getElementById('u30').classList.remove('u30mobile','u30tablet','u30notitle'); let u30b = document.getElementById('u30brand').offsetWidth, u30t = document.getElementById('u30tools').offsetWidth ; u30v = document.getElementById('u30navw1'); u30w = document.getElementById('u30w1').offsetWidth - 48; if((u30b + u30t) > u30min[0]){ u30min[2] = ((u30b + u30t) > 974) ? u30b + u30t + 96 : u30b + u30t + 48; }else{ u30min[2] = u30min[0]; } u30min[3] = ((u30b + 112) > u30min[1]) ? u30min[3] = u30b + 112 : u30min[3] = u30min[1]; u30v.classList.add('u30navchk'); u30min[2] = (u30v.lastElementChild.getBoundingClientRect().right > u30min[2]) ? Math.ceil(u30v.lastElementChild.getBoundingClientRect().right) : u30min[2]; u30v.classList.remove('u30navchk'); if(u30w <= u30min[3]){ document.getElementById('u30').classList.add('u30notitle'); } if(u30w <= u30min[2]){ document.getElementById('u30').classList.add('u30mobile'); } }); var u30wrsz = new ResizeObserver(u30 => { let u30n = document.getElementById('u30navw1').getBoundingClientRect().height, u30h = u30[0].contentRect.height; let u30c = document.getElementById('u30').classList, u30w = document.getElementById('u30w1').offsetWidth - 48, u30m = 'u30mobile', u30t = 'u30tablet'; if(u30c.contains('navexpand') && u30c.contains(u30m) && u30w > u30min[2]){ if(!document.querySelector('button.u30navitem.active')){ document.getElementById('u30ham').click(); } u30c.remove(u30m); if(document.getElementById('u30').getBoundingClientRect().height > 80){ u30c.add(u30t); }else{ u30c.remove(u30t); } }else if(u30w <= u30min[2]){ if(getComputedStyle(document.getElementById('u30tools')).visibility != "hidden"){ u30c.add(u30m); u30c.remove(u30t); } }else if(u30n < 30 && u30h > 80){ u30c.add(u30t); u30c.remove(u30m); }else if(u30n > 30){ u30c.add(u30m); u30c.remove(u30t); }else if(u30n < 30 && u30h <= 80){ u30c.remove(u30m); if(document.getElementById('u30').getBoundingClientRect().height > 80){ u30c.add(u30t); }else{ u30c.remove(u30t); } } }); u30brsz.observe(document.getElementById('u30btitle')); u30wrsz.observe(document.getElementById('u30')); </script> </section> <!-- /U30v3 --> <!-- END: oWidget_C/_Raw-Text/Display --> <!-- end : ocom/common/global/components/redwood/layoutAssetStartBodyInfo --> <!-- widgetType = PageTitleBannerV2 --> <!-- ptbWidget = true --> <!-- ptbWidget = true --> <!-- BEGIN: oWidget_C/PageTitleBannerV2/Display --> <!-- RH03v2 --> <section class="rh03 rh03v3 rw-slate-160bg" data-bgimg="/a/ocom/img/bgimg02-bgse-devo.png,/a/ocom/img/bgimg02-bgsw-devo.png" data-trackas="rh03" data-ocomid="rh03"> <div class="rh03w1 cwidth"> <!-- breadcrumb schema --> <!-- Display SEO Metadata --> <script type="application/ld+json"> { "@context": "https://schema.org", "@type": "BreadcrumbList", "itemListElement": [ { "@type": "ListItem", "position": 1, "name": "Developer", "item": "https://www.oracle.com/developer/" } ] } </script> <!-- Widget - 1 --> <!-- Dispatcher:null --> <!-- BEGIN: oWidget_C/_Raw-Text/Display --> <!-- CONTENT --> <div class="herotitle rh03twocol"> <div class="rh03col1"> <h1 class="rwaccent">Oracle Developer Center</h1> <p>Resources for developers – Discover. Learn. Build.</p> </div> </div> <!-- /CONTENT --> <!-- END: oWidget_C/_Raw-Text/Display --> </div> </section> <!-- /RH03v2 --> <!-- END: oWidget_C/PageTitleBannerV2/Display --> <!-- start : ocom/common/global/components/compass/related-widgets --> <!-- Dispatcher:null --> <!-- BEGIN: oWidget_C/_Raw-Text/Display --> <!-- RC110v0 --> <section class="rc110 rc10v0 ws-sticky rw-neutral-00bg" data-trackas="rc110" data-ocomid="rc110" data-a11y="true"> <div class="rc110w0 cwidth"> <div class="rc110w1"> <div class="rc110w2"> <span class="rc110heading" id="rc110jump">Jump To:</span> <ul aria-labelledby="rc110jump"> <li><a href="#latest-news" class="anchorlink">Latest News</a></li> <li><a href="#artificial-intelligence" class="anchorlink">AI</a></li> <li><a href="technologies/">Technologies</a></li> <li><a href="#programming-languages" class="anchorlink">Languages</a></li> <li><a href="#solutions" class="anchorlink">Solutions</a></li> <li><a href="#community-events" class="anchorlink">Community and events</a></li> <li><a href="#information-hub" class="anchorlink">Resources</a></li> </ul> </div> </div> </div> </section> <!-- /RC110v0 --> <!-- END: oWidget_C/_Raw-Text/Display --> <!-- Dispatcher:null --> <!-- BEGIN: oWidget_C/_Raw-Text/Display --> <!-- RH08v0 --> <section class="rh08 rh08v0 rw-neutral-40bg" data-trackas="rh08" data-ocomid="rh08" data-autorotate="5" data-playtext="Play" data-pausetext="Pause" data-a11y="true"> <div id="latest-news" class="cwidth"> <div class="bgimgw1"> <div class="rw-neutral-30bg bgimg bgimgw2 bgimg-cover bgimg-fsize bgimg-med"></div> <br></div> <div id="rh08" class="rh08slider"> <div class="rh08sliderw1"> <div class="rh08sliderw2"> <div class="rh08slide" aria-hidden="true" tabindex="-1"> <div class="rh08w1 cpad"> <div class="rh08w2 rh02-img" style="background-image:url('/a/ocom/img/rh08--devo-hp-oracle-code-assist.webp')"></div> <div class="rh08w2 rh02txt"> <div class="rh08w5"> <div class="rh08w6"> <h2 class="rwaccent-4">Oracle Code Assist in beta</h2> <div class="rh08body"> <p>Build applications faster with AI.</p> <div class="obttns"> <div class="obttn"> <a href="https://blogs.oracle.com/cloud-infrastructure/post/oracle-code-assist-beta-and-netsuite-suitescript" data-lbl="learn-more-about-oracle-code-in-beta">Learn more<span class="sr-only"> about Oracle Code Assist in beta</span></a> </div> </div> </div> </div> </div> </div> </div> </div> <div class="rh08slide" aria-hidden="true" tabindex="-1"> <div class="rh08w1 cpad"> <div class="rh08w2 rh02-img" style="background-image:url('/a/ocom/img/rh08--devo-hp-ai-resource-hub.webp')"></div> <div class="rh08w2 rh02txt"> <div class="rh08w5"> <div class="rh08w6"> <h2 class="rwaccent-4">AI Resource Hub</h2> <div class="rh08body"> <p>Gain AI knowledge, discover Oracle’s AI strategy, and start building AI solutions.</p> <div class="obttns"> <div class="obttn"> <a href="/developer/ai-resource-hub/" data-lbl="explore-the-ai-resource-hub">Explore<span class="sr-only"> the AI resource hub</span></a> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </section> <!-- /RH08v0 --> <!-- END: oWidget_C/_Raw-Text/Display --> <!-- Dispatcher:null --> <!-- BEGIN: oWidget_C/_Raw-Text/Display --> <!-- RC66v1 --> <section id="artificial-intelligence" class="rc66 rc66v1 rw-slate-170bg cpad" data-trackas="rc66" data-ocomid="rc66" data-a11y="true"> <div class="rc66w1 cwidth"> <header class="rw-ctitle"> <h2 class="rw-ptitle">Artificial Intelligence</h2> <ul> <li><a href="/developer/ai-developers/">Explore Oracle AI for developers</a></li> </ul> </header> <div class="col-framework col3 col-top col-gutters col-justified"> <ul class="col-w1"> <li class="col-item"> <div class="col-item-w1"> <img data-src="/a/ocom/img/rc66--dev0-ai-create.webp" alt=""> </div> <div class="col-item-w2"> <h3 class="rc66cardtitle">Build AI solutions, fast</h3> <ul class="obullets"> <li>Use real-world scenarios.</li> <li>See example code on GitHub repositories.</li> <li>Get step-by-step instructions.</li> </ul> <a href="/artificial-intelligence/solutions/">Visit the AI Solutions Hub</a> </div> </li> <li class="col-item"> <div class="col-item-w1"> <img data-src="/a/ocom/img/rc66--dev0-ai-grow.webp" alt=""> </div> <div class="col-item-w2"> <h3 class="rc66cardtitle">Grow with generative AI</h3> <ul class="obullets"> <li>Embed AI in cloud applications.</li> <li>Refine LLMs with your own data.</li> <li>Train smarter with NVIDIA GPUs.</li> </ul> <a href="https://docs.oracle.com/en-us/iaas/Content/generative-ai/home.htm">See the GenAI documentation</a> </div> </li> <li class="col-item"> <div class="col-item-w1"> <img data-src="/a/ocom/img/rc66--dev0-ai-search.webp" alt=""> </div> <div class="col-item-w2"> <h3 class="rc66cardtitle">Enjoy unmatched capabilities</h3> <ul class="obullets"> <li>Flex with JSON Relational Duality.</li> <li>Generate faster, leaner code with Java and GraalVM.</li> <li>Accelerate semantic search with AI Vector Search.</li> </ul> <a href="/database/ai-vector-search/">Explore AI Vector Search</a> </div> </li> </ul> </div> </div> </section> <!-- /RC66v1 --> <!-- END: oWidget_C/_Raw-Text/Display --> <!-- Dispatcher:null --> <!-- BEGIN: oWidget_C/_Raw-Text/Display --> <!-- RC56v0 --> <section class="rc56 rc56v0 cpad" data-trackas="rc56" data-ocomid="rc56" data-a11y="true" id="programming-languages"> <div class="rc56w1 cwidth"> <header class="rw-ctitle"> <h2 class="rw-ptitle">Languages</h2> <div> <a href="/developer/languages/">See all languages</a> </div> </header> <ul class="rc56w2" aria-labelledby="thisListLabel1"> <li class="rc56w3"> <a href="/developer/go/"> <div class="rw-logo rw-logo-centered"><img data-src="/a/ocom/img/devo-go-logo.png" alt="Oracle Resources for Go"></div> </a> </li> <li class="rc56w3"> <a href="/developer/graalvm-developers/"> <div class="rw-logo rw-logo-centered"><img data-src="/a/ocom/img/devo-graalvm-logo.png" alt="Oracle Resources for GraalVM Enterprise"></div> </a> </li> <li class="rc56w3"> <a href="/developer/java-developers/"> <div class="rw-logo rw-logo-centered"><img data-src="/a/ocom/img/devo-java-logo.png" alt="Java Technologies at Oracle"></div> </a> </li> <li class="rc56w3"> <a href="/developer/dotnet-developers/"> <div class="rw-logo rw-logo-centered"><img data-src="/a/ocom/img/devo-dotnet-logo.png" alt="Oracle .NET Developer Center"></div> </a> </li> <li class="rc56w3"> <a href="/developer/python-developers/"> <div class="rw-logo rw-logo-centered"><img data-src="/a/ocom/img/devo-python-logo.png" alt="Build with Python on Oracle Cloud"></div> </a> </li> <li class="rc56w3"> <a href="/developer/ruby-developers/"> <div class="rw-logo rw-logo-centered"><img data-src="/a/ocom/img/devo-ruby-logo.png" alt="Ruby Developer Center at Oracle"></div> </a> </li> <li class="rc56w3"> <a href="/developer/php/"> <div class="rw-logo rw-logo-centered"><img data-src="/a/ocom/img/devo-php-logo.png" alt="Oracle PHP Developer Center"></div> </a> </li> <li class="rc56w3"> <a href="/developer/javascript/"> <div class="rw-logo rw-logo-centered"><img data-src="/a/ocom/img/devo-javascript-logo.png" alt="Getting started with JavaScript on Oracle"></div> </a> </li> </ul> </div> </section> <!-- /RC56v0 --> <!-- END: oWidget_C/_Raw-Text/Display --> <!-- Dispatcher:null --> <!-- BEGIN: oWidget_C/_Raw-Text/Display --> <!-- RC32v0 --> <section id="solutions" class="rc32 rc32v0 cpad rw-slate-170bg" data-ocomid="rc32" data-trackas="rc32" data-a11y="true"> <div class="rc32w0 cwidth"> <h2 class="rwaccent">Featured solutions</h2> <div class="rc32w1 slate-170"> <div class="rc32w2"> <div class="rc32w3"> <h3> <span class="rc32lg">Create a Chatbot with Unstructured Data</span> </h3> <p>Learn how to build an AI chatbot with unstructured data using Oracle Database 23ai, OCI AI services, and RAG.</p> <a href="/artificial-intelligence/create-a-chatbot-with-unstructured-data/" data-lbl="powerful-chatbot">View Solution<span class="sr-only"> about creating a powerful chatbot with unstructured data</span></a> </div> <div class="rc32w4"> <img data-src="/a/ocom/img/rc32-powerful-chatbot.webp" alt=""> </div> </div> <div class="rc32w2"> <div class="rc32w3"> <h3> <span class="rc32lg">Automate Invoice Processing with AI</span> </h3> <p>Automate invoice extraction and simplify document processing in ERP systems using AI.</p> <a href="/artificial-intelligence/automate-invoice-processing/" data-lbl="invoice-handling">View Solution<span class="sr-only"> about automate invoice handling with OCI document understanding</span></a> </div> <div class="rc32w4"> <img data-src="/a/ocom/img/rc32-invoice-handling.webp" alt=""> </div> </div> <div class="rc32w2"> <div class="rc32w3"> <h3> <span class="rc32lg">Low-code modular LLM app engine</span> </h3> <p>Ingest live data into a RAG-based knowledge search engine store using an Oracle low-code modular LLM app engine.</p> <a href="/artificial-intelligence/low-code-modular-rag/" data-lbl="low-code-rag">View Solution<span class="sr-only"> about low-code modular RAG-based knowledge search engine</span></a> </div> <div class="rc32w4"> <img data-src="/a/ocom/img/rc32-low-code-rag.webp" alt=""> </div> </div> </div> </div> </section> <!-- /RC32v0 --> <!-- END: oWidget_C/_Raw-Text/Display --> <!-- Dispatcher:null --> <!-- BEGIN: oWidget_C/_Raw-Text/Display --> <!-- RC24v4 --> <section id="community-events" class="rc24 rc24v4 rc24horizontal cpad" data-a11y="true" data-trackas="community-events"> <h2 class="rw-ptitle cwidth">Community and events</h2> <div class="rc24w1 cwidth"> <div class="rc24w2"> <img data-src="/a/ocom/img/rc24-cloud-coaching-series.jpg" alt=""> </div> <div class="rc24w3 rw-neutral-20bg"> <h2>Developer Coaching series</h2> <p>Developer coaches are highly skilled developers, ready to assist you in your Oracle Cloud development journey. Developer Coaching office hours provide an opportunity for you to engage directly with experts and find additional help for your organization.</p> <div class="obttns"> <div><a href="/developer/events/" data-lbl="cloud-coaching-series">Learn more<span class="sr-only"> about developer coaching series</span></a></div> </div> </div> </div> </section> <!-- /RC24v4 --> <!-- RC24v1 --> <section class="rc24 rc24v1 cpad" data-a11y="true" data-trackas="community-events"> <div class="rc24w1 cwidth"> <div class="col-framework col3 col-top col-gutters col-justified"> <div class="col-w1 rc24waterfall"> <div class="col-item"> <h3>Oracle Developer Community</h3> <p>Share your questions and answers.</p> <a href="/developer/community/">Join the conversation</a> </div> <div class="col-item"> <h3>Oracle ACE Program</h3> <p>Go that step further. Become an Oracle Ace.</p> <a href="https://apexapps.oracle.com/pls/apex/ace_program/r/oracle-aces/home">Learn more<span class="sr-only"> about Oracle ACE</span></a> </div> <div class="col-item"> <h3>See all developer events</h3> <p>Search for developer events in your region.</p> <a href="https://search.oracle.com/events?q=developer">Explore upcoming events</a> </div> </div> </div> </div> </section> <!-- /RC24v1 --> <!-- END: oWidget_C/_Raw-Text/Display --> <!-- Dispatcher:null --> <!-- BEGIN: oWidget_C/_Raw-Text/Display --> <!-- RC30v0 --> <section id="information-hub" class="rc30 rc30v0 rw-neutral-30bg cpad o-bgimg" data-trackas="rc30" data-ocomid="rc30" data-a11y="true"> <div class="rc30w1 cwidth"> <h2 class="rc30subt">Resources</h2> <div class="rc30w2"> <form class="oform rc30mobnav"> <span class="oform-w1"> <span class="oselect"> <select name="f4"> <option value="#documentation">Documentation</option> <option value="#events">Events</option> <option value="#technologies">Technologies</option> <option value="#languages">Languages</option> <option value="#learn">Learn</option> </select> </span> </span> </form> </div> <div class="rc30w3"> <div class="rc30w4 rc30pane" id="documentation"> <div class="col-framework col2"> <div class="col-w1"> <div class="col-item rw-neutral-00bg"> <div class="col-item-w1 rc30w10"> <div class="rc30w5"> <div class="rc30w6"><img data-src="/a/ocom/img/rc30v0-devo-documentation.jpg" alt=""></div> </div> <div class="rc30w5"> <h3 class="rwhead-sm">Documentation</h3> <p>Explore getting started guides, documentation, tutorials, reference architectures, and other content for Oracle products and services.</p> <div><a href="https://docs.oracle.com/" data-lbl="explore-documentations">Explore the content</a></div> </div> </div> </div> <div class="col-item rw-neutral-40bg"> <div class="col-item-w1 rc30w11"> <p>Kick-start your app development with SDKs and the command-line interface.</p> <ul class="icn-ulist"> <li class="icn-chevron-right"><a href="https://docs.oracle.com/en-us/iaas/Content/API/SDKDocs/javasdk.htm" data-lbl="docs-sdk-java">SDK for Java</a></li> <li class="icn-chevron-right"><a href="https://docs.oracle.com/en-us/iaas/Content/API/SDKDocs/pythonsdk.htm" data-lbl="docs-sdk-python">SDK for Python</a></li> <li class="icn-chevron-right"><a href="https://docs.oracle.com/en-us/iaas/Content/API/SDKDocs/typescriptsdk.htm" data-lbl="docs-sdk-typescript">SDK for TypeScript and JavaScript</a></li> <li class="icn-chevron-right"><a href="https://docs.oracle.com/en-us/iaas/Content/API/SDKDocs/dotnetsdk.htm" data-lbl="docs-sdk-dotnet">SDK for .NET</a></li> <li class="icn-chevron-right"><a href="https://docs.oracle.com/en-us/iaas/Content/API/SDKDocs/gosdk.htm" data-lbl="docs-sdk-go">SDK for Go</a></li> <li class="icn-chevron-right"><a href="https://docs.oracle.com/en-us/iaas/Content/API/SDKDocs/rubysdk.htm" data-lbl="docs-sdk-ruby">SDK for Ruby</a></li> <li class="icn-chevron-right"><a href="https://docs.oracle.com/en-us/iaas/Content/API/SDKDocs/plsqlsdk.htm" data-lbl="docs-sdk-pl-sql">SDK for PL/SQL</a></li> <li class="icn-chevron-right"><a href="https://docs.oracle.com/en-us/iaas/Content/API/SDKDocs/cliinstall.htm#Quickstart" data-lbl="docs-sdk-cli">Command-line interface (CLI)</a></li> </ul> </div> </div> </div> </div> </div> <div class="rc30w4 rc30pane" id="events"> <div class="col-framework col2"> <div class="col-w1"> <div class="col-item rw-neutral-00bg"> <div class="col-item-w1 rc30w10"> <div class="rc30w5"> <div class="rc30w6"><img data-src="/a/ocom/img/rc30v0-devo-cloud-coaching.jpg" alt=""></div> </div> <div class="rc30w5"> <h3 class="rwhead-sm">Developer Events and Webinars - replays</h3> <p>Explore Oracle Developer event replays and recent webinars, hosted by technical experts.</p> <div><a href="/developer/on-demand-replays/" data-lbl="developer-events-webinars-replays">Learn more<span class="sr-only"> about developer events and webinars - replays</span></a></div> </div> </div> </div> <div class="col-item rw-neutral-40bg"> <div class="col-item-w1 rc30w11"> <h4>Developer events</h4> <p>Access developer resources and learn about future events designed just for you. Hear from experts in their field and gain practical hands-on experience.</p> <ul class="icn-ulist"> <li class="icn-chevron-right"><a href="/developer/events/" data-lbl="cloud-coaching-series">Developer Coaching series</a></li> <li class="icn-chevron-right"><a href="https://search.oracle.com/events?q=developer" data-lbl="search-all-events">Search all events</a></li> </ul> </div> </div> </div> </div> </div> <div class="rc30w4 rc30pane" id="technologies"> <div class="col-framework col2"> <div class="col-w1"> <div class="col-item rw-neutral-00bg"> <div class="col-item-w1 rc30w10"> <div class="rc30w5"> <h4></h4> <ul> <li><a href="/developer/ai-developers/" data-lbl="tech-ai-ml">AI and ML</a></li> <li><a href="/developer/api-developers/" data-lbl="tech-api">APIs</a></li> <li><a href="/developer/blockchain-developers/" data-lbl="tech-blockchain">Blockchain</a></li> <li><a href="/developer/chatbots-developers/" data-lbl="tech-chatbots">Chatbots</a></li> <li><a href="/developer/container-technologies-developers/" data-lbl="tech-containers">Container technologies</a></li> <li><a href="/developer/databases-developers/" data-lbl="tech-databases">Databases</a></li> <li><a href="/developer/devops/" data-lbl="tech-devops">DevOps</a></li> </ul> </div> <div class="rc30w5"> <h4></h4> <ul> <li><a href="/developer/heatwave-developers/" data-lbl="tech-heatwave">HeatWave</a></li> <li><a href="/developer/infrastructure-as-code-developers/" data-lbl="tech-infrastructure-as-code">Infrastructure as code</a></li> <li><a href="/developer/linux-developers/" data-lbl="tech-linux">Linux</a></li> <li><a href="/developer/low-code-developers/" data-lbl="tech-low-code">Low code</a></li> <li><a href="/developer/microservices-developers/" data-lbl="tech-microservices">Microservices</a></li> <li><a href="/developer/open-source-developers/" data-lbl="tech-open-source">Open source</a></li> <li><a href="/developer/visual-builder-developers/" data-lbl="tech-visual-builder">Visual Builder</a></li> </ul> </div> </div> </div> <div class="col-item rw-neutral-40bg"> <div class="col-item-w1 rc30w11"> <h3 class="rwhead-sm">Technologies</h3> <p>Oracle gives you the power, flexibility, and reliability needed to create the best products and services available.</p> </div> </div> </div> </div> </div> <div class="rc30w4 rc30pane" id="languages"> <div class="col-framework col2"> <div class="col-w1"> <div class="col-item rw-neutral-00bg"> <div class="col-item-w1 rc30w10"> <div class="rc30w5"> <h4></h4> <ul> <li><a href="/developer/python-developers/" data-lbl="lang-python">Python</a></li> <li><a href="/developer/java-developers/" data-lbl="lang-java">Java</a></li> <li><a href="/developer/javascript/" data-lbl="lang-javascript">JavaScript</a></li> <li><a href="/developer/php/" data-lbl="lang-php">PHP</a></li> <li><a href="/developer/dotnet-developers/" data-lbl="lang-dotnet">.NET</a></li> <li><a href="/developer/node-js-developers/" data-lbl="lang-node-js">Node-js</a></li> </ul> </div> <div class="rc30w5"> <h4></h4> <ul> <li><a href="/developer/ide-developers/" data-lbl="lang-ide">IDE</a></li> <li><a href="/developer/go/" data-lbl="lang-go">Go</a></li> <li><a href="/developer/graalvm-developers/" data-lbl="lang-graalvm">GraalVM</a></li> <li><a href="/developer/gdk-developers/" data-lbl="lang-graavlvm-dev-kit">GraalVM development kit</a></li> <li><a href="/developer/rust/" data-lbl="lang-rust">Rust</a></li> <li><a href="/developer/ruby-developers/" data-lbl="lang-ruby">Ruby</a></li> </ul> </div> </div> </div> <div class="col-item rw-neutral-40bg"> <div class="col-item-w1 rc30w11"> <h3 class="rwhead-sm">Languages</h3> <p>Use your preferred language with Oracle Cloud Infrastructure. Get started with powerful tools designed to help you scale while providing world-class reliability.</p> </div> </div> </div> </div> </div> <div class="rc30w4 rc30pane" id="learn"> <div class="col-framework col2"> <div class="col-w1"> <div class="col-item rw-neutral-00bg"> <div class="col-item-w1 rc30w10"> <div class="rc30w5"> <div class="rc30w6"><img data-src="/a/ocom/img/rc30v0-devo-learn.jpg" alt=""></div> </div> <div class="rc30w5"> <h3 class="rwhead-sm">AI Resource Hub</h3> <p>Discover, learn and build. Access a range of AI resources to help you get ahead on your AI journey.</p> <div><a href="/developer/ai-resource-hub/" data-lbl="ai-resource-hub">Learn more<span class="sr-only"> AI Resource Hub</span></a></div> </div> </div> </div> <div class="col-item rw-neutral-40bg"> <div class="col-item-w1 rc30w11"> <h4>Learn</h4> <p>For the new, the initiated, and the converted.</p> <ul class="icn-ulist"> <li class="icn-chevron-right"><a href="/developer/certifications/" data-lbl="learn-certs">Certifications</a><br/> Open new doors for your cloud skills and career</li> <li class="icn-chevron-right"><a href="/developer/on-demand-replays/" data-lbl="learn-livelabs">LiveLabs</a><br/> Try out a wide variety of tools and technologies with labs and workshops.</li> <li class="icn-chevron-right"><a href="/developer/use-cases/" data-lbl="learn-use-cases">Use Cases</a><br/> Explore functional requirements and methodologies for the application of popular technologies.</li> </ul> </div> </div> </div> </div> </div> </div> </div> </section> <!-- /RC30v0 --> <!-- END: oWidget_C/_Raw-Text/Display --> <!-- end : ocom/common/global/components/compass/related-widgets --> <!-- start : ocom/common/global/components/framework/layoutAssetEndBodyInfo --> <!-- Dispatcher:null --> <!-- BEGIN: oWidget_C/_Raw-Text/Display --> <!-- U10v0 --> <footer id="u10" class="u10 u10v6" data-trackas="footer" type="redwood" data-ocomid="u10" data-a11y="true"> <nav class="u10w1" aria-label="Footer"> <div class="u10w2"> <div class="u10w3"> <div class="u10ttl">Resources for</div> <ul> <li><a data-lbl="resources-for:career" href="/careers/">Careers</a></li> <li><a data-lbl="resources-for:developers" href="/developer/">Developers</a></li> <li><a data-lbl="resources-for:investors" href="https://investor.oracle.com/home/default.aspx">Investors</a></li> <li><a data-lbl="resources-for:partners" href="/partner/">Partners</a></li> <li><a data-lbl="resources-for:researchers" href="/research/">Researchers</a></li> <li><a data-lbl="resources-for:students-educators" href="https://academy.oracle.com/en/oa-web-overview.html">Students and Educators</a></li> </ul> </div> </div> <div class="u10w2"> <div class="u10w3"> <div class="u10ttl">Why Oracle</div> <ul> <li><a data-lbl="why-oracle:analyst-reports" href="/corporate/analyst-reports/">Analyst Reports</a> </li> <li><a data-lbl="why-oracle:gartner-mq-erp-cloud" href="/erp/what-is-erp/best-erp/">Best cloud-based ERP</a></li> <li><a data-lbl="why-oracle:cloud-economics" href="/cloud/economics/">Cloud Economics</a></li> <li><a data-lbl="why-oracle:corporate-responsibility" href="/social-impact/">Social Impact</a></li> <li><a data-lbl="why-oracle:culture-inclusion" href="/careers/diversity-inclusion/">Culture and Inclusion</a></li> <li><a data-lbl="why-oracle:security-pracitices" href="/corporate/security-practices/">Security Practices</a></li> </ul> </div> </div> <div class="u10w2"> <div class="u10w3"> <div class="u10ttl">Learn</div> <ul> <li><a data-lbl="learn:cloud-computing" href="/cloud/what-is-cloud-computing/">What is cloud computing?</a></li> <li><a data-lbl="learn:crm" href="/cx/what-is-crm/">What is CRM?</a></li> <li><a data-lbl="learn:docker" href="/cloud/cloud-native/container-registry/what-is-docker/">What is Docker?</a></li> <li><a data-lbl="learn:kubernetes" href="/cloud/cloud-native/kubernetes-engine/what-is-kubernetes/">What is Kubernetes?</a></li> <li><a data-lbl="learn:python" href="/developer/what-is-python-for-developers/">What is Python?</a></li> <li><a data-lbl="learn:saas" href="/applications/what-is-saas/">What is SaaS?</a></li> </ul> </div> </div> <div class="u10w2"> <div class="u10w3"> <div class="u10ttl">News and Events</div> <ul> <li><a data-lbl="newsandevents:news" href="/news/">News</a></li> <li><a data-lbl="newsandevents:oracle-cloudworld" href="/cloudworld/">Oracle CloudWorld</a></li> <li><a data-lbl="newsandevents:oracle-cloudworld-tour" href="/cloudworld-tour/">Oracle CloudWorld Tour</a></li> <li><a data-lbl="newsandevents:oracle-health-summit" href="/health/health-summit/">Oracle Health Summit</a></li> <li><a data-lbl="newsandevents:devlive" href="/developer/devlive/">Oracle DevLive</a></li> <li><a data-lbl="newsandevents:search-all-events" href="https://search.oracle.com/events?q=&lang=english">Search all events</a></li> </ul> </div> </div> <div class="u10w2"> <div class="u10w3"> <div class="u10ttl">Contact Us</div> <ul> <li><a href="tel:18006330738">US Sales: +1.800.633.0738</a></li> <li><a data-lbl="contact-us:how-can-we-help" href="/corporate/contact/">How can we help?</a></li> <li><a data-lbl="contact-us:subscribe-to-emails" href="https://go.oracle.com/subscriptions">Subscribe to emails</a></li> <li><a data-lbl="contact-us:integrity-helpline" href="https://secure.ethicspoint.com/domain/media/en/gui/31053/index.html">Integrity Helpline</a></li> <li><a data-lbl="contact-us:accessibility" href="/corporate/accessibility/">Accessibility</a></li> </ul> </div> </div> <div class="u10w4"> <hr /> </div> </nav> <div class="u10w11"> <ul class="u10-cr"> <li class="u10mtool" id="u10cmenu"> <a data-lbl="country-region" class="u10ticon u10regn" href="/universal-menu/#u10countrymenu">Country/Region</a> </li> </ul> <nav class="u10w5 u10w10" aria-label="Site info"> <ul class="u10-links"> <li></li> <li><a data-lbl="copyright" href="/legal/copyright/">© 2024 Oracle</a></li> <li><a data-lbl="privacy" href="/legal/privacy/">Privacy</a><span>/</span><a data-lbl="do-not-sell-my-info" href="/legal/privacy/privacy-choices/">Do Not Sell My Info</a></li> <li> <div id="teconsent"></div> </li> <li><a data-lbl="ad-choices" href="/legal/privacy/privacy-policy/#adchoices">Ad Choices</a></li> <li><a data-lbl="careers" href="/corporate/careers/">Careers</a></li> </ul> </nav> <nav class="u10scl" aria-label="Social media links"> <ul class="scl-icons"> <li class="scl-facebook"><a data-lbl="scl-icon:facebook" href="https://www.facebook.com/Oracle/" target="_blank" title="Oracle on Facebook"></a></li> <li class="scl-twitter"><a data-lbl="scl-icon:twitter" href="https://twitter.com/oracle" target="_blank" title="Follow Oracle on Twitter"></a></li> <li class="scl-linkedin"><a data-lbl="scl-icon:linkedin" href="https://www.linkedin.com/company/oracle/" target="_blank" title="Oracle on LinkedIn"></a></li> <li class="scl-youtube"><a data-lbl="scl-icon:you-tube" href="https://www.youtube.com/oracle/" target="_blank" title="Watch Oracle on YouTube"></a></li> </ul> </nav> </div> </footer> <!-- /U10v6 --> <!-- END: oWidget_C/_Raw-Text/Display --> </div> <!-- Container/Display Start --> <!-- BEGIN: oWidget_C/_Raw-Text/Display --> <!-- Start - End Body Admin Container --> <!-- Start SiteCatalyst code --> <script type="text/javascript" data-reqjq data-src="/asset/web/analytics/ora_ocom.js"></script> <!-- End SiteCatalyst code --> <!-- End - End Body Admin Container --> <!-- END: oWidget_C/_Raw-Text/Display --> <!-- Container/Display end --> <!-- end : ocom/common/global/components/framework/layoutAssetEndBodyInfo --> </body> <!-- end : Framework/Redwood2 --> </html>