Developer | Feature

Open for Developers

There has never been more freedom of choice for developers building on Oracle Cloud.

By Alexandra Weber Morales

Oracle may be known as the source of the most-popular databases (Oracle Database and MySQL) and programming language (Java), but it hasn't always been known as the most developer-friendly tech company—until now. With Oracle Cloud Platform, the company has opened the doors wide to developers looking for an open, modern, and easy platform for building cloud-native as well as conventional enterprise applications. And it's reaching out to those developers with a variety of initiatives, including a new developer portal, a 20-city developer conference, and advocacy programs.

"If you're a developer building new cloud-native applications or modernizing existing applications, Oracle is changing the way you can leverage Oracle and non-Oracle technologies to develop these applications," says Thomas Kurian, Oracle president of product development. "We want you to be able to access and use our cloud services and reach this amazing technology that we spent so many years building."

Open, Modern, Easy

Watch Oracle President of Product Development Thomas Kurian discuss Oracle's new developer programs.

Developers have always been part of Oracle's DNA—witness Oracle Technology Network's ongoing popularity as the go-to destination for authoritative and community-driven content for Oracle developers and other technologists. And Oracle's technology has always been built on open standards. But the new developer portal and upcoming developer-focused events go a step further by helping developers find and share information about—and get hands-on access to—Oracle software innovations that make developing applications more open, modern, and easy.

Open. Oracle Cloud Platform lets developers code not only in Java but also in JavaScript/Node.js, PHP, and soon in Ruby and Python, says Bruno Borges, principal product manager for developer engagement on Oracle Cloud Platform. In addition to the ubiquitous Java Platform, Enterprise Edition (Java EE), Oracle encourages developers to explore other open source frameworks, such as Spring Framework and Dropwizard.

Oracle enables developers to use their choice of open source technology. "You want to use your best open source tools to build applications against the Oracle Cloud Platform, whether that's your DevOps tools, your testing tools, programming frameworks, or open source data management products, such as Hadoop, Spark, and Kafka," Kurian says. "We've done a lot of work to certify, test, and make those work really well, with great performance in our cloud."

Developers also have a choice of databases on Oracle Cloud Platform: they can use Oracle Database, MySQL, or NoSQL databases such as Cassandra or MongoDB, Borges says.

Modern. The cloud enables different architectural styles, which themselves depend on different tools. "We enable modern applications built with containers, microservices, and APIs, using tools for DevOps and Agile methodologies," Borges says. "And you can use open source technologies such as Apache Spark, Kafka, Vagrant, Puppet, and Docker. We also have exciting new tools and technologies coming out soon for leveraging machine learning and artificial intelligence and for building chatbots within in your applications."

Easy. Oracle Cloud Platform makes it fast and easy to develop cloud-native and conventional enterprise applications leveraging rich platform functionality—including multitenancy, mobile, social, Internet of Things, integration, and operations management. Developers can easily build applications using containers, migrate legacy applications running on VMs to the cloud without needing to change even the network topology of those applications, or simply create applications without writing code but rather by leveraging drag-and-drop application development interfaces. And around these different types of development is a complete DevOps lifecycle for faster time to market and higher developer productivity.

"When developing, you need good debugging to release high-quality code. When your application is into production, you need to proactively identify where problems might be developing or, if a problem has happened, to quickly identify the root cause of the problem and fix your code," says Siddhartha Agarwal, vice president of product management and strategy for Oracle Cloud Platform and Oracle Fusion Middleware. "Oracle Management Cloud capabilities leverage machine learning and big data across user experience, web/application/database tier performance, and log data to give developers rapid insight into issues without needing to install or manage any software other than dropping in an agent." (See "Open for DevOps.")

All of these topics are on the agenda for the Oracle Code 2017 series of developer conferences to be held in 20 cities around the world. (See Developer Roundtable "Personal Development.")

Open to All Kinds of Developers

Increasingly, Oracle sees three main types of developers, says Mike Lehmann, vice president of product management for Oracle Cloud Platform development: the aforementioned cloud-native developers (a fast-growing 25 percent of Oracle Cloud customers), conventional enterprise developers (about 40 percent), and low-code developers (a surprisingly large and growing 35 percent).

Those conventional enterprise developers who already have Java EE applications running on Oracle WebLogic Server and Oracle Database "also want to get to the cloud and modernize for efficiency and agility—and they may want to build new functionality as well," Lehmann says.

The growing ranks of low-code developers—what Gartner calls "citizen developers"—are eager to use cloud services such as Oracle Application Builder Cloud Service, he says. Oracle Application Builder Cloud Service lets business users and citizen developers build and publish applications, or extend software-as-service (SaaS) applications, to keep up with rapidly changing demands. These low-code capabilities also include the ability to quickly build rich mobile applications.

"There are a lot of developers coming up in the lines of business," says Agarwal. "We're actually giving them the ability to do drag-and-drop-based application development of a rich mobile app," he adds. "They don't need to know how to write APIs—the API is exposed and now they're just dragging and dropping and making real-time data connections in their application, and they can test it right there."

"Our differentiation in the cloud space is that we provide solutions for all three types of developers," Lehmann says. "We see a lot of intertwined use cases and intermingling of these three styles."

Open for Polyglot Programming

Just as there is no single cloud use case, there is also no single language, despite Java's dominance in enterprise application development.

Oracle Application Container Cloud is Oracle's polyglot runtime environment, currently supporting Java Platform, Standard Edition (Java SE) as well as any Java framework, including Spring Boot and Dropwizard; Node.js; PHP; and more. "More recently, beyond language runtimes we have added more-advanced capabilities such as in-memory data caching and the ability to develop and deploy formations of services with what we call stacks," Lehmann says.

"Oracle Application Container Cloud is the place for you to write your polyglot microservices, and then it plugs into the Oracle ecosystem to enable you to extend it into your larger enterprise infrastructure," he adds, and connecting cloud apps to Oracle services for integration, collaboration, data, identity, and management ties development efforts to real value-creating enterprise solutions. If you want a DevOps pipeline for producing polyglot applications, Oracle Developer Cloud Service has everything you need. Oracle Developer Cloud Service streamlines software development in any language by providing issue tracking, code versioning, wikis, Agile tools, continuous integration, and delivery automation.

If you want application performance monitoring of that polyglot runtime, Oracle Management Cloud manages that environment. And if you want to register your APIs from those polyglot applications in Oracle API Platform Cloud Service, Oracle provides that integration.

Open for Open Source

Beyond the ubiquitous Oracle Database, which supports all major programming languages, Oracle plays an ongoing role in the Java and MySQL communities as well. MySQL is the world's most popular open source database for web, cloud, and mobile applications, with more than 100 million copies downloaded and distributed. Java itself is completely developed in open source and the OpenJDK, and Oracle continues to invest in and publish open source tools such as Oracle JavaScript Extension Toolkit (Oracle JET) and EclipseLink.

As Kurian notes, Oracle's developer initiative encourages the use of industry-standard open source tools. Oracle Cloud gives these tools first-class citizenship so that developers can stand up a MySQL database in minutes, build any open source framework on Java SE in Oracle Container Cloud, and launch PHP applications out of the box.

"If you're a developer, with our cloud you can access any software we have with a browser or an API core, and we've published our APIs into a catalog," Kurian says. "We know developers love open source tools and technologies. [We're integrating] these technologies with services in our cloud so you can use the best tools to automate how you build, deploy, and manage software environments."

However you define open—open for the easy integration of an array of popular tools and technologies without vendor lock-in, open for developers ranging from citizen to cloud-native, or open to modern development lifecycles using cloud-based DevOps tools—Oracle has clearly opened all doors to developers and invited them to step inside.

This article was originally published in Oracle Magazine.

Alexandra Weber Morales, principal at World Wind Writing, is the former editor in chief of Software Development magazine and has more than 15 years of experience as a technology content strategist and journalist.

Next Steps