Developing Java Applications in the Cloud: Oracle Java Cloud Service Guodong Li Sr. Director OFM Product Management JAPAC
The following is intended to outline our general product direction The following is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into any contract. It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions. The development, release, and timing of any features or functionality described for Oracle’s products remains at the sole discretion of Oracle.
Program Agenda Introduction Offering Capabilities Architecture Demonstration
Common Infrastructure Services Oracle Cloud Quick Overview Platform Services Platform Services Application Services Social Services Common Infrastructure Services Oracle is aggressively investing in the cloud business. At OpenWorld last year we announced 5 services. Today Oracle has announced many more. They will together transform the way you can build applications and also run your business. Oracle’s Cloud offering is essentially grouped into 4 categories. This session is going to focus on one component of the Platform-as-a-Service, i.e. Java Cloud Service. Common Infrastructure Services – services like storage, caching, messaging that support services layered on top. Platform Services - Oracle offers a complete and comprehensive set cloud services that allows developers to build rich applications and business users to harness the platform Application Services – Comprehensive range of applications and business processes, built using SOA standards – Java, SOA, BPEL, HTML5, with modern HTML5 User Interface – Web, Mobile, Outlook. Built in Business Intelligence, Social, and Mobile, Self-Service control for Business Users. Complete Data Isolation and Flexible Upgrades Social Services – Comprehensive Social Relationship Management Platform that enable you to not only engage with prospects, customers, influencers, partners, & candidates through social media, but also listen & monitor interactions across multiple social media channels thus providing a rich experience for your customers and empowering your business to respond quickly to social chatter within your user community.
Transform Development Experience with Oracle Cloud Complete, Standards-Based, Enterprise-Grade Developer Services Java Services Mobile Services Messaging Services Storage Services Database Services Notification Services Analytics Services Collaboration Services Application Store Identity Services Caching Services Oracle Cloud offers a comprehensive portfolio of services that developers can use to build and run applications by leveraging the benefits of cloud but by not compromising on development standards and best practices. All of these services run on proven infrastructure, offering you the reliability and performance expected of any enterprise-grade solution worth its salt. T: Before we go into details on Java Cloud Service, let me quickly summarize our design principles for these services that directly translate to their key features and benefits for developers. Enterprise Grade Hardware, Software, and Management Infrastructure
Oracle Java Cloud Service Summary EASY TO USE: instant access, Self-service CHOICE: JDeveloper, Eclipse, NetBeans SECURE: application and data isolation Key talking point on the slides itself: Java Cloud Service is basically a full, comprehensive Java EE container in the cloud. It provides easy, instant and self-service access to a complete, best-of-breed application container in the cloud No training, learning required. Keeping user’s and customer’s productivity in mind, we have made sure that no one in your organization using Java Cloud Service has to learn any new development tools. You can continue using your favorite productivity tools to build applications targeted to Oracle Cloud. We take security seriously. The entire Oracle datacenter hosting Oracle Cloud has various levels of security, from large F5 network, firewalls, virus scanning, etc. For applications and data we believe best way to achieve security is through isolation. In Java Cloud Service, we provide a separate VM instance per service. So your application reside in truly isolated VM environment. No other tenants application can step on to your resource, or have visibility into your applications. Data isolation is provided through isolated schemas for each service. There is no co-mingling of data or applications.
Oracle Java Cloud Service Introduction – Key Strength Industry’s #1 application server on the best engineered hardware Secure, highly available infrastructure Enterprise-grade, Open, Standard-based Database service & IDE integration Java EE apps, Web Apps, Web Services, REST services Fully managed and supported by ORACLE Key takeaway Best application server – Weblogic Running on the best, purpose built, engineered-system – Exalogic Integrated with the most powerful database machine to run Oracle Database – Exadata We provide the best of breed application server software, database and hardware that is fully managed and operated by Oracle – at a low per-month subscription Built using standards, open technology – no vendor lock-in; also move easily from on-premise to cloud, or the other way
Oracle Java Cloud Service Offerings Three pricing tiers for various usage scenarios…. All tiers have same SLAs. Simple, easy to understand pricing – no surprises, extremely easy to plan and budget. No overages, no need to constantly remind yourself to shutdown your environment to reduce bill. S2 & S4 in cluster mode for high availability S1 – typical usage development, functional testing as well as production for small, departmental applications S2 – Test 2 production environment, QA, stress testing and production for small to medium departmental applications S4 – Production for large applications, high availability due to 4 node cluster T: We’ve worked hard to make sure our cloud offerings are easy to use. 1 Oracle WebLogic Server Managed Server instances to which the applications are deployed. 2 RAM allocated to the Java heap for all of the service's Managed Servers combined to run the Oracle WebLogic Server Managed Servers and the objects consumed by your application code. 3 File system space available to your service instance for the storage of your application deployment archive files as well as the servers log files. 4 Maximum allowed bytes of data in and out of your service within a billing month. Database import and export are provided for free and do not deduct from this allocation.
Oracle Java Cloud Service Subscription Provide details, submit trial request Manage service & applications Go to cloud.oracle.com Click on “Try It” Check email Activate service Activate Subscribe Use Ease of use, self-service process – how does it work? Three simple steps – Go to cloud.oracle.com and click on Trial, enter your details, submit trial Behind the scene we provision the environment for you, we associate services you bought together for example Java & Database & we notify you when our service is ready to be activated Check your email for activation notification, a yellow link that takes you to a URL to activate your trials Once activated, behind the scene we instantiate the service and hook it up to the operations console for support to start monitoring it Now start using it! Provision Associate Notify Instantiate Operations hook-up
Oracle Java Cloud Service Application Lifecycle Developer Service Commit Deploy Deploy Java Cloud Service WEB SOAP Monitor & Troubleshoot REST How does the development lifecycle look like with Java Cloud Service? Same as your current on-premise lifecycle Use same tools, develop locally in your favorite IDEs. Deploy to your server – instead of local server, you deploy to remote server running in Oracle Cloud. All IDEs are cloud-ready – i.e. they have in-built capabilities to interact with Oracle Cloud. Manage and monitor your service and applications using either a console GUI or command line. There are Maven and Ant Task to embed the lifecycle commands right into your build process. No new technology to learn, no new skills to acquire! CLI, Maven, Ant Console
Oracle Java Cloud Service Database Service – Association Pre-requisite for Java Cloud Service Enables schema sharing Allowed between services in same datacenter TRIAL 1 Java : 1 Database At trial subscription PAID N Java : 1 Database At service activation Oracle Cloud services are tightly integrated with each other Tight integration with Database Service – running on Exadata Pre-requisite for Java Cloud Service, but multiple Java Cloud Services can be associated with 1 database service In trials, you always get one database service for each java service
Oracle Java Cloud Service: Integrations Developer Service – In Preview Develop using a turnkey development platform securely hosted in the cloud Deploy automatically to Oracle Java Cloud Service Collaborate using tools integrated in your IDE to manage and track tasks, builds, and documentation Tight integration with Developer Service Key takeaway is that developers can develop applications in their IDE, checkout code from developer service, commit back changes and automatically kick off builds. At the end of the build, the application can automatically be deployed in java cloud service. A complete, comprehensive development, building and testing environment.
Oracle Java Cloud Service: Integrations Storage Service – In Preview On-demand, secure, storage for your digital content in the cloud Access content via REST or Java APIs through seamless integration with Java Cloud Service Simple, yet powerful administration console for management, metrics and monitoring This service gives you the ability to store digital content in the cloud and comes with administrative controls to monitor content usage. Use it as a standalone to store your data or in conjunction with other Oracle Cloud Services. It can be seamlessly integrated into your broader development needs via REST and Java APIs. The ability to flexibly provision storage on-demand and seamlessly integrate with all of the other resources means you’ll spend less time making the nuts and bolts work together behind the scenes, and more on making magic for your end users. T: Next, let’s take a look at the Oracle Messaging Cloud Service.
Oracle Java Cloud Service: Integrations Messaging Service – In Preview Build asynchronous messaging application with ease Control messaging with prioritization, selectors, persistence, transactions & guaranteed delivery Access via JMS APIs within Java Cloud Service or REST from outside Oracle Cloud The Messaging Cloud Service is also currently in Preview Availability. It offers asynchronous messaging, automatic prioritization, dependent selectors, persistence, and transactions, which guarantee message delivery. The service can be used from the Java Cloud Service as a JMS provider, or from outside the Oracle Cloud via a REST API and HTTP Message Push Listeners. Our messaging service bridges the gap between on-premise and cloud, making your applications extremely easy to integrate. And thanks to our embracing of open standards, your development with Oracle Messaging Cloud Service is portable making it easy to move your applications from on-premise to the cloud and back again. As the stewards of Java, Oracle is working closely with the community to ensure the move to the cloud creates an experience that is familiar to Java developers, yet fully leveraging the benefits of cloud and the integrations with our vast portfolio of technologies. T: Next, let’s take a deep dive into the capabilities of Java Cloud Service.
Capabilities
Oracle Java Cloud Service Application Profile Database Cloud ADF Web Java Cloud Service can be used to deliver applications across diverse channels. One can build large variety of applications on JCS – web applications, Java EE applications, Web Services, REST services. REST Web Services Office Mobile
Oracle Java Cloud Service Application Standards Support Java EE & Web Apps EJBs (Local Only) JSF JSP Web Services (JAX-WS) REST Service (JAX-RS) Database Interaction Java Persistence API (JPA) JDBC to Database Service Oracle ADF Apps ADF Faces ADF Business Components ADF Web Service Data Control Standard Java EE technologies supported JCS compiles to the standards, but few limitation apply, esp. for things that don’t make sense in the Cloud. For e.g. for remote EJBs one would require to punch hole for RMI/IIOP through the firewall. Only HTTP/HTTPS traffic allowed in and out of Oracle Cloud JCS has a whitelist process that can identify what APIs are not supported in Oracle Cloud. Whitelist can be run during development process to identify unsupported APIs earlier in the cycle.
Oracle Java Cloud Service Developer Perspective IDE Integrations Command Line Interface Maven Plugins Ant Tasks 3rd Party Frameworks Built ground up keeping developer’s productivity in mind
Oracle Java Cloud Service IDE Integration Popular IDE support Plugins provided to make IDEs Oracle Cloud-ready Requires Oracle Java Cloud Service SDK Deploy directly to cloud View logs View metrics REST Popular IDEs upgraded to make Oracle Cloud-ready Download the updated IDE, download a small footprint Java Cloud Service SDK. Point IDE to SDK and your IDE can now interact with Oracle Cloud Can deploy, list applications, check status, get logs, test, right out of IDE.
Oracle Java Cloud Service Service Interactions Database Service Through JDBC, JPA, ADF BC, or other JDBC abstractions Fusion Application Service Through WS-Security protected SOAP Service Integration with Fusion Applications through Web Services as well as ADF task flow punch outs Security plumbing already done for you
Oracle Java Cloud Service Extending Oracle Cloud Applications – Service-based Integration Oracle Cloud WEB Oracle Cloud PaaS Oracle Cloud Apps SOAP, REST Customers, Partners, Suppliers, etc. Easy extensibility of Fusion Applications through Web Service based integration. Few partners already building such extensions to Fusion Applications; deployed on JCS and interact with FA via Web Services. Extending FA functionality through REST APIs to build mobile applications REST, SOAP
Oracle Java Cloud Service Extending Oracle Cloud Applications – UI-based Integration Oracle Cloud Apps Oracle Cloud WEB SOAP, REST Oracle Cloud PaaS Customers, Partners, Suppliers, etc. FA UI can embed iFrames that can punch out to ADF task flows deployed on JCS WEB, REST
Architecture & Key Components
Oracle Java Cloud Service Built using Cloud Application Foundation Cloud Application Foundation Traffic Director/Web Tier WebLogic Server Coherence Tuxedo Virtual Assembly Builder ORACLE Cloud Exalogic Elastic Cloud Web Social Mobile User Engagement Business Process Management Content Management Business Intelligence Service Integration Data Integration JCS built on top of the Cloud Application Foundation and Exa* infrastructure as recommended by Oracle to customers building their own private PaaS. Identity Management Development Tools Cloud Application Foundation Enterprise Management
Oracle Java Cloud Service Secure, Isolated, High Availability Architecture Java Cloud Service Instance Customer Dedicated WebLogic Domain Exalogic ZFS Storage Binary Volume Config Volume Customer Volume Exalogic Compute Node A Exalogic Compute Node B OVM Instance 1 OVM Instance 1 Customer dedicated Cluster with HA Managed Server 1 App 1 App N Managed Server 2 App 1 App N JCS services are domain in cluster configuration – esp. S2 and S4 – adds to availability by adding extra managed server nodes. These nodes are on separate VM instance Pinned on different compute nodes so that if something went wrong to one node, the other managed server keeps serving Database Cloud Service Instance Exadata (Oracle DB Schema – RAC Node)
Oracle Java Cloud Service Key Components Business Application Service Console My Services Identity Console My Accounts My Accounts Buy Services My Services Monitor Service View Notifications Identity Console Manager Users & Roles Service (Instance) Console (Java, DB) Manage applications Important components to note – 4 portals to interact with Oracle Cloud My Accounts – for buying services My Services – for managing services Identity Console – for user management Service Consoles – for managing applications More details in following slides.
Oracle Java Cloud Service Account Management My Account View services across datacenters Check service uptime Upsize Add account administrators Accessible to Account Administrators Account Admin (Buyer) My Accounts: A buyer’s portal Meant for someone from the procurement, a business person Has relationship with Oracle; uses an account created on Oracle.com / OTN Can nominate others to become account owners
Oracle Java Cloud Service Service Management My Services View all services in one datacenter Check service status Check Oracle notifications Lock service for maintenance Accessible to Service Administrators (Owners) Service Admin My Services Service Owner’s Portal An IT person; someone responsible for the health of the service Tenant user, inside Tenant’s identity domain – has no relationship with Oracle Also has access to the service console (following)
Oracle Java Cloud Service Service Instance Management Java Service Control Deploy, un-deploy, re-deploy, start ,stop applications View availability View CPU, memory usage View response time and load View, download logs Accessible to Service Administrators (Owners) Service Admin Service Console Service instance specific portal – now looking at a particular service instance An IT person; someone responsible for the health of the applications deployed Tenant user, inside Tenant’s identity domain – has no relationship with Oracle
Oracle Java Cloud Service Identity Management Identity Console Add Users, Roles Assign in-built admin roles and application roles Import, Export Users Reset Passwords Change password questions Accessible to Identity Domain Administrators Identity Domain Admin Identity Console Identity Administrator’s Portal An IT/Security person; someone responsible for the managing users, credentials, roles. Tenant user, inside Tenant’s identity domain – has no relationship with Oracle Somewhat a super user, can make others services owners, identity administrators. Does not have authority to make anyone account administrators (buyer) – they are not in Tenant’s identity domain, they are known to Oracle
Oracle Java Cloud Service Identity Domain – Introduction Mappings Roles Users LDAP Root Provides identity isolation between tenants in the cloud Contains users, roles and mapping Enables single-sign on across service within the same domain AcmeDomain BrookmarkDomain SummitDomain Identity domain is an isolated, dedicated slide of directory for storing your users, and roles. You can just have one identity domain used (associated) across all your services – like a global corporate directory Or you can create different domains for different purpose – testing vs. production, regional, departmental, etc. Acme, Inc. Summit Corp. Brookmark, Inc.
Oracle Java Cloud Service Identity Domain – Association Identity Domain Sharing Sharing done by associating multiple services to the same Identity Domain Association done at Paid service activation time or Trial service subscription time Only services within the same Account & Datacenter can share Identity Domain One extreme – one domain (directory slice) for all services Other extreme – separate domain (directory slice) per service Or a combination in between – Some services share one domain, while other services share another domain
Oracle Java Cloud Service Summary – Access REST HTTP, REST, SOAP JDBC, REST REST In summary --- JCS can be accessed in following ways IDEs Data browsing Data loading/unloading Applications & Services Browser apps, or any client the can talk SOAP, REST, HTTP CLI, Maven, Ant Automation, application development lifecycle management Oracle Database Cloud Database applications, JDBC access to DB
Oracle Java Cloud Service Summary – Key Areas of Differentiation Programming Model Standard Java EE Flexible Deployment On-premise or in the cloud Database and Persistence Full Oracle Database & User defined schema Database Services Fusion Applications Integration Integrated connectivity services Identity Management Comprehensive & integrated Service Console Common & integrated IDE Support JDeveloper, Eclipse, NetBeans In summary – key differentiations Same tech stack on-premise and on the cloud – easy migration/moving applications across the two environment Standards-based – No vendor lock-in Tight integration with Database and other Oracle Cloud services Simple, easy integration with Fusion Applications on cloud or on-premise Full IDM stack with SSO, identity management, web services security, authorization Service specific consoles Increased developer’s productivity by support popular development tools
Demonstration of Oracle Java Cloud Service
Demo Scenario Brand New Application in Cloud Consume Buy Administrate Web Application Consume Jane Brand New Application in Cloud Java Service Buy Me Develop, Deploy John Custom App Delegate Custom Schema Administrate Joe Database Service For this demo scenario, use the demo video called “CW - JCS Overview v4” From Development to Runtime in Oracle Cloud - Deploy Java Services or ADF applications to the cloud; leverage database services in the cloud; work with Fusion Applications in the Cloud… and access all of these from a mobile application with Native functionality through ADF Mobile. Leveraging the rich set of components provided by ADF Faces Rich Client Components. Delegate
Join the Conversation www.facebook.com/OracleCloudComputing @OracleCloudZone #Cloud Learn more: oracle.com/cloud Try now: cloud.oracle.com
Graphic Section Divider