Oracle Java Cloud Service reduces the complexity associated with the deployment and maintenance of enterprise Java applications. It enables you to create Java Cloud Service instances quickly. You can deploy your applications to a service instance, then secure and manage them without worrying about the underlying infrastructure.

Using the Java Cloud Service you can instantly create Java EE environments within the Oracle Cloud. These applications can be deployed in standard WAR (Web Application Archive) or EAR (Enterprise Archive) formats. Beyond the standard Java EE specifications, Java Cloud Service also supports the deployment of applications that make use of Oracle WebLogic Server-specific extensions as well as Oracle Application Development Framework (ADF) constructs.

Understanding the Java Cloud Service Architecture

Oracle Java Cloud Service provides a platform to develop and deploy business applications in the cloud. With Oracle Java Cloud Service (Java Cloud Service), businesses can maximize productivity with instant access to a cloud environment powered by Oracle WebLogic Server, complete with integrated security and database access.

The following graphic illustrates the relationship of Oracle Java Cloud Service with Oracle Cloud. The Oracle Cloud hosted at the Oracle Cloud data center includes the Cloud Portal (My Services and My Account), an Oracle Java Cloud Service instance, an Identity Domain, and a Database Service.

As shown in the previous illustration, Java Cloud Service instances are hosted within the Oracle Cloud in a data center operated by Oracle. This architecture provides a great deal of power and flexibility. Advantages include:

Quick provisioning of new Java Cloud Service instances in a self-service fashion on the cloud.oracle.com page. See "Trial Subscriptions for Oracle Database and Oracle Java Cloud Services" in Getting Started with Oracle Cloud.

The ability to choose the service's capacity, throughput, and high availability at provisioning time.

A fully-managed and operated environment from Oracle with high availability, scalability, and built-in disaster recovery.

Administrators

Once you create a Java Cloud Service instance, administrators can access the service in the following ways:

Developers can interact with the Java Cloud Service in the following ways:

Integrated Development Environments (IDEs). Oracle Java Cloud Service supports tooling within Oracle JDeveloper, Oracle Enterprise Platform for Eclipse, and NetBeans IDEs, which enables developers to directly interact with target service instances as part of the development process. To learn more, see About Using Integrated Development Environments.

Additionally, developers can also interact with Java Cloud Service instances using the CLI in the Java Cloud Service SDK or the Oracle Java Cloud Service control.

Understanding Application Infrastructure and Java Environment

As a Platform as a Service (PaaS) solution, the focus of Java Cloud Service is to automate the back-end infrastructure (that is, the operating system, virtual machine, Java EE container, and Java Cloud Service settings), as well as the provisioning and configuration process. Therefore, the infrastructure of the Java Cloud Service runtime is not directly exposed to its service users. In other words, Java Cloud Service is not an Infrastructure As A Service (IaaS) solution. However, certain aspects of the infrastructure can be managed through the My Services interface of the Java Cloud Service as follows:

Type of Java Cloud Service instance (that is, basic, standard, enterprise). The type of Java Cloud Service determines the number of Java EE server processes, memory storage, and file system capacity for the service instance.

Identity domain to which the Java Cloud Service belongs. The identity domain determines the identity store and single-sign-on realm of the instance.

The association of a Java Cloud Service instance with a Database Cloud Service instance. This association makes the database instance available to deployed applications as a JDBC data source.

You upload and manage data for Oracle Database Cloud Service instance using the Oracle Cloud Data Loading utility, the Oracle Application Express Data Load utility or a SQL script in SQL Workshop. See "Developing Applications for the Oracle Database Cloud Service" in Using Oracle Database Cloud Service.

About Deploying Java EE Applications

You can deploy Java EE applications, including Enterprise Archive (EAR) and Web Application Archive (WAR) files to a Java Cloud Service using:

About the Java Cloud Service SDK

The Java Cloud Service SDK (software development kit) provides utilities that facilitate the management of Java Cloud Service instances and the development of applications for the Java Cloud Service. The Java Cloud Service SDK is a downloadable package that contains the following components, in addition to some examples and documents:

After downloading the Java Cloud Service SDK, you can start using the command-line interface with your service instance or you can integrate your service with a supported IDE, as described in About Using Integrated Development Environments.

About Using Integrated Development Environments

The Java Cloud Service provides tooling within the Oracle JDeveloper, Oracle Enterprise Platform for Eclipse, and NetBeans IDEs that enables developers to directly interact with target service instances as part of the development process. Use the Resources page to access links to additional tools that enable you to directly interact with your Java Cloud Service instance.

Oracle JDeveloper

Oracle JDeveloper is a free integrated development environment that simplifies the development of Java-based SOA and Java EE applications. JDeveloper offers complete end-to-end development for Oracle Fusion Middleware and Oracle Fusion Applications with support for the full development life cycle.

Supported Versions:

Oracle JDeveloper 11.1.1.6.0

Documentation:

The documentation for using JDeveloper to develop for and deploy to Java Cloud Service is available in JDeveloper. Select Help > Table of Contents and search for Cloud.

NetBeans

NetBeans is a free, open-source Integrated Development Environment (IDE) for software developers. All the tools needed to create professional desktop, enterprise, web, and mobile applications with the Java platform, as well as with C/C++, PHP, JavaScript and Groovy.

Supported Versions:

NetBeans 7.2 + Update

Documentation:

The official NetBeans documentation will contain information on using the IDE's Java Cloud Service integration capabilities.

For information about NetBeans content and Oracle Cloud integration, see:

Oracle Enterprise Pack for Eclipse

Oracle Enterprise Pack for Eclipse (OEPE) provides tools that make it easier to develop applications using specific Oracle Fusion Middleware technologies and Oracle Database. For Oracle Cloud, OEPE provides direct deployment to Oracle Java Cloud Service, integrated whitelist scanning to check for errors before deployment, integration into the Java Service Console, and log viewers to check on the status of the application.

Supported Versions:

OEPE 12.1.1.1.1

Documentation:

You can find the documentation for the Enterprise Pack for Eclipse integration with the Java Cloud Service at:

About Managing Application Security

This section provides overview information about managing the security of the Java EE and ADF applications that have been deployed to a Java Cloud Service instance.

Default User Authentication

All Java EE and ADF web applications deployed to a Java Cloud Service instance are automatically secured. When users access an application deployed on Oracle Cloud the default authentication mechanism requests their user ID, password, and the name of the identity domain. Once logged in, users are authenticated for applications. By default (that is, if no specific configurations are defined), only users that have been authenticated through Single Sign-On (SSO) can access a deployed application, but this includes users from any identity domain.

To provide finer- grained secure access to your Java EE or ADF applications, you can specify role-based authentication that can vary from being publicly accessible to restricted to only users within the same identity domain. To learn more, see Securing Applications in Java Cloud Service.

Securing Web Services

Applications deployed on Java Cloud Service can invoke externally exposed web services (Outbound WS Client), as well as host web services (Inbound Web Service), that can be either non-secured or secured (for example, using WS-Security). For guidelines on building secure JAX-WS web services, see Securing JAX-WS Web Services.

About Third-Party Framework Support

Oracle makes no specific claims about a definite list of third-party libraries that should work within a Java Cloud Service environment. In general, an application's use of most third-party frameworks should work within Java Cloud Service, so long as:

Considerations When Developing Applications on Java Cloud Service

This section provides information about the supported application standards and APIs that you need to consider when developing applications for deployment to a Java Cloud Service instance.

About Underlying Oracle Technologies

Think of each Java Cloud Service instance as a deployment target for applications using a set of Java EE release 5, Java EE release 6, and Oracle WebLogic Server capabilities. Note that Java Cloud Service is built on the following Oracle technologies:

Oracle WebLogic Server (WebLogic Server) release 10.3.6

Oracle Application Development Framework (ADF) release 11.1.1.6

Note:

All references in this document to WebLogic Server capabilities and ADF specific capabilities refer only to the releases specified in the previous list.

About Supported Applications, Standards, and APIs

Java Cloud Service supports the deployment of the following types of applications and technology standards:

WAR or EAR Deployment

Web Application Archive (WAR) or Enterprise Archive (EAR) deployment. All supported applications must be deployed through a WAR file or an EAR file (which can contain multiple WAR or JAR files).

Applications using EJB 2.1 and EJB 3.0 specifications. Use of ejb-jar.xml, weblogic-ejb-jar.xml, and related annotations are supported with the following exceptions:

Only local EJB invocations are supported, specifically, the client code invoking an EJB application's interface must be either within the same deployment archive as the EJB implementation code itself or within a deployment archive that is deployed to the same Java Cloud Service instance.

JDBC Data Sources provisioned within a Java Cloud Service instance upon association with a Database Cloud Service instance will be XA-enabled JDBC data sources.

Java Platform, Standard Edition (SE) 1.6 APIs

Applications can use the set of Java SE 1.6 public APIs as long as they pass the Java Cloud Service whitelist tool and that their use is in-line with Java EE best practices. See Java Cloud Service Whitelist Criteria.

Some Java EE specifications in this section relate purely to the underlying Java EE container environment and are irrelevant to the actual Java EE deployment archives and how they are developed (for example, Java Authentication and Authorization Service (JaaS)). Although these specifications are supported, they are not listed here.

Table 1-1 Other Java Cloud Service Supported Application Types

Supported Specification

Supported Version

JavaServer Pages Standard Tag Library (JSTL)

1.2

Java Data Base Connectivity (JDBC)

4.0

Java Persistence API

2.0

Web Services Metadata for the Java Platform

2.0

Java Naming and Directory Interface Specification (JNDI)

1.2

Java Transaction API (JTA)

1.1

Streaming API for XML (StAX)

1.0

SOAP with Attachments API for Java (SAAJ)

1.3

JavaBeans Activation Framework Specification (JAF)

1.1

Java API for XML Processing (JAXP)

1.3

Java Management Extensions (JMX)

Note: JMX is only supported for exposure of MBeans within a deployment archive and access to these MBeans from the deployment archive itself or other archives deployed to the same Java Cloud Service instance.

As a best practice, Oracle recommends that you always use standard Java APIs for your Java Cloud Service and avoid using WebLogic Server APIs to ensure that your applications are portable to other environments. This way your applications will not get locked into running only on the Oracle Java Cloud Service.

About the Java Cloud Service Whitelist Validation

For technical and security reasons, a small number of specific APIs are prevented from executing in Oracle Cloud. Applications using these APIs are not deployable because they will not pass the whitelist phase of the Java Cloud Service deployment process. Java Cloud Service SDK includes a whitelist tool that enables you to check whether an application is in violation of the Java Cloud Service whitelist. To learn more, see Downloading the Java Cloud Service SDK.

Note:

The Java Cloud Service "whitelist" is actually the result of what are sometimes called blacklist and whitelist checks. It may be helpful to think of Java Cloud Service whitelist validation as simply a compatibility check.

Java Cloud Service Whitelist Criteria

Whitelist violations result when applications use functionality from the following areas.