Oracle Cloud Learning Center


1 Introducing Oracle Java Cloud Service

This button toggles the Table of Contents floating window

 

This section provides documentation about getting started with the Oracle Java Cloud Service for Oracle Cloud developers and administrators.

Topics:

About Oracle Java Cloud Service

Topics

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.

Description of ocjs_arch.jpg follows
Description of the illustration ocjs_arch.jpg

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

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:

To learn more, see Developing Applications for Oracle Java Cloud Service.

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:

  • Oracle Java Cloud Service command-line interface (CLI)

  • Oracle Java Cloud Service Maven Plug-in

  • Oracle Java Cloud Service Ant Tasks

  • Oracle Java Cloud Service Whitelist tool

For instructions on downloading the Java Cloud Service SDK, see Downloading the Java Cloud Service SDK.

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

Topics:

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.

You can download these tools and the Oracle Java Cloud Service SDK from: http://www.oracle.com/technetwork/topics/cloud/downloads/

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.

More Information:

For product information, links to documentation, user community, and more, see:

http://www.oracle.com/technetwork/developer-tools/jdev/overview/index.html

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:

http://netbeans.org/kb/docs/web/oracle-cloud.html

More Information:

For product information, links to documentation, user community, and more, see:

http://www.netbeans.org

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:

http://docs.oracle.com/cd/E27086_05/help/oracle.eclipse.tools.cloud.doc/html/index.html

More Information:

For product information, links to documentation, user community, and more, see:

http://www.oracle.com/technetwork/developer-tools/eclipse/overview/index.html

About Managing Application Security

Topics

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.

Also, see "Managing Users and Roles" in Getting Started with Oracle Cloud.

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.

For more information on supported OWSM policies, see "Predefined Policies" in Oracle Fusion Middleware Security and Administrator's Guide for Web Services

To use OWSM policies, you must attach them at design time:

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:

  • All dependencies can be embedded within the deployment archives.

  • All third-party JARS and their dependencies pass the Java Cloud Service whitelist. See Java Cloud Service Whitelist Criteria.

Considerations When Developing Applications on Java Cloud Service

Topics

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).

Tip:

The class loader behavior of EAR archives when deployed to a Java Cloud Service is the same as that of WebLogic Server as described in "Understanding WebLogic Server Application Classloading" in Oracle Fusion Middleware Upgrade Guide for Oracle WebLogic Server.

Web Applications

  • Applications using Servlet 2.5, JavaServer Pages (JSP) 2.1, Java Server Faces (JSF) release 1.2 and release 2.0.

  • Use of web.xml, weblogic.xml deployment descriptors, and related annotations are supported.

Web Services Applications

  • Applications using Java API for XML web Services (JAX-WS) 2.1 based web services. Use of webservices.xml, weblogic-webservices.xml deployment descriptors and related annotations is supported.

  • Applications providing REST-based APIs through Java API for RESTful web services (JAX-RS) 1.1 and Jersey 1.9 annotations are supported.

ADF Applications

Oracle Application Development Framework (ADF) 11.1.1.6 applications are supported.

Enterprise Java Beans (EJB) Containers

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.

  • EJB 2.x Entity Beans are not supported.

JDBC Services

  • Applications using Java Persistence API (JPA) 2.0 specifications and use of JPA persistence.xml elements with EclipseLink 2.1.3 specific extensions.

  • Direct use of Java Database Connectivity (JDBC) 4.0 APIs as described in "WebLogic Server 12.1.1 Compatibility with Previous Releases" in Oracle Fusion Middleware Upgrade Guide for Oracle WebLogic Server.

  • Use of Oracle Database 11g compatible SQL statements.

  • 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.

Other Supported Java EE 5 and 6 Specifications

Table 1-1 describes other Java EE 5 and Java EE 6 specifications supported by the Java Cloud Service.

Tip:

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.

1.2

Java API for XML-based Web Services (JAX-WS)

2.1

Java API for RESTful Web Services (JAX-RS)

1.1

Java Architecture for XML Binding (JAXB)

2.0


Other Supported Public WebLogic Server 10.3.6 APIs and Capabilities

Table 1-2 describes additional public WebLogic Server 10.3.6 APIs and capabilities supported by the Java Cloud Service.

Note:

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.

Table 1-2 Supported Public WebLogic Server 10.3.6 APIs and Capabilities

API Description

weblogic.logging.*

Used for internal (non-catalogue) WebLogic server logging

weblogic.jsp.*

For applications using custom WebLogic Server specific tags

weblogic.cache.*

Response caching servlet filter

weblogic.application.*

Used for implementation of application lifecycle listeners

weblogic.i18n.*

Public I18N APIs and logging

weblogic.i18ntools.*

Public I18N APIs and logging

weblogic.jndi.*

For Java Naming and Directory Interface (JNDI) lookup within WLS JNDI tree

weblogic.jws.*

WebLogic specific extensions to JAX-WS for supporting WS-*

weblogic.servlet.*

For annotations based servlet descriptions

weblogic.transaction.*

API used for direct JTA interaction


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.

Java SE

  • Java non-blocking IO

  • Java networking

  • Executing a new process

  • Direct SQL connection

    Tip:

    Java Cloud Service supports database connections through an associated data source.

  • Java media

  • Java mail

  • Java compiler

  • Java RMI

  • Java Native Interface (JNI)

  • Java desktop accessibility

  • JDK log management

    Tip:

    You can use JDK loggers to log the messages.

  • CORBA API (org.omg.**)

  • Overriding Java Security Manager

Java EE

  • Remote EJB

  • Java Messaging Service

  • Remote JMX Management

See also Unsupported Features and APIs.


Previous Page Next Page