{"id":30570,"date":"2020-04-22T10:00:17","date_gmt":"2020-04-22T17:00:17","guid":{"rendered":"https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/?p=30570"},"modified":"2024-01-08T22:34:48","modified_gmt":"2024-01-09T06:34:48","slug":"open-sourcing-the-java-language-extension-for-sql-server","status":"publish","type":"post","link":"https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/2020\/04\/22\/open-sourcing-the-java-language-extension-for-sql-server\/","title":{"rendered":"Open sourcing the Java language extension for SQL Server"},"content":{"rendered":"
With over 20 years of existence, Java is still one of the most popular<\/a> programming languages and is used in many enterprise applications.<\/p>\n In SQL Server 2019, we added a Java language extension, which enables secure execution of Java programs in the context of a SQL Server query. This enables a wide range of scenarios such as performing advanced text and data preparation tasks, reaching out to external APIs to get data and also training machine learning models and model scoring.<\/p>\n Today, we’re thrilled to announce that we are <\/strong>open sourcing the Java language extension for SQL Server<\/strong><\/a> on GitHub.<\/strong><\/p>\n This extension is the first example of using an evolved programming language extensibility architecture which allows integration with a new type of language extensions<\/a>. This new architecture gives customers the freedom to bring their own runtime and execute programs using that runtime in SQL Server while leveraging the existing security and governance that the SQL Server programming language extensibility architecture provides.<\/p>\n Choosing which runtime to use does provide the flexibility to choose different distributions of Java, and as newer versions of the Java runtime get released, this architecture will make it easier to upgrade the Java runtime. However, this freedom may raise some questions around support. Enterprises need to have a support contract in place for their Java runtime. The answer, in this case, is that we’ve got you covered<\/a>. Thanks to a partnership between Microsoft and Azul, all Azure and SQL Server customers can use Azul\u2019s Zulu for Azure \u2013 Enterprise distribution of Java <\/strong>for free with support jointly provided by Microsoft and Azul. <\/strong>This supported distribution of Java is included<\/em> in SQL Server out of the box!<\/p>\n Now that support is not an issue, let’s look at what use cases Java can enable inside SQL Server. Bringing Java workloads closer to the data opens a variety of possibilities:<\/p>\n The Java language extension leverages the Extensibility Framework API for SQL Server to communicate and exchange data with SQL Server. This API has been publicly documented<\/a>. The API in combination with the open source code of the Java language extension<\/a> provides an end to end example implementation of how a programming language extension can be built. This makes it easier for additional programming language extensions to be built for SQL Server by the community. What language extensions would you like to see?<\/p>\n Whether you are interested in creating your own language extension or just using the Java language extension for SQL Server, here is a tutorial<\/a> to get you started.<\/p>\n","protected":false},"excerpt":{"rendered":" With over 20 years of existence, Java is still one of the most popular programming languages and is used in many enterprise applications. In SQL Server 2019, we added a Java language extension, which enables secure execution of Java programs in the context of a SQL Server query. This enables a wide range of scenarios<\/p>\n","protected":false},"author":5562,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"ep_exclude_from_search":false,"_classifai_error":"","footnotes":""},"post_tag":[],"product":[5227,2536],"content-type":[2448],"topic":[2466],"coauthors":[2625],"class_list":["post-30570","post","type-post","status-publish","format-standard","hentry","product-sql","product-sql-server-2019","content-type-updates","topic-developer"],"yoast_head":"\n\n
Why Open Source?<\/h2>\n
Get started<\/h2>\n