2 Developing Java Applications in the Cloud: Oracle Java Cloud Service Guodong Li Sr. Director OFM Product Management JAPAC
3 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.
4 Program Agenda Introduction Offering Capabilities Architecture Demonstration
5 Common Infrastructure Services Oracle CloudQuick OverviewPlatform ServicesPlatform ServicesApplication ServicesSocial ServicesCommon Infrastructure ServicesOracle 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 platformApplication 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 UpgradesSocial 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.
6 Transform Development Experience with Oracle Cloud Complete, Standards-Based, Enterprise-GradeDeveloper ServicesJava ServicesMobile ServicesMessaging ServicesStorageServicesDatabase ServicesNotification ServicesAnalytics ServicesCollaboration ServicesApplication StoreIdentityServicesCachingServicesOracle 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
7 Oracle Java Cloud Service SummaryEASY TO USE: instant access, Self-serviceCHOICE: JDeveloper, Eclipse, NetBeansSECURE: application and data isolationKey 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 cloudNo 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.
8 Oracle Java Cloud Service Introduction – Key StrengthIndustry’s #1 application server on the best engineered hardwareSecure, highly available infrastructureEnterprise-grade, Open, Standard-basedDatabase service & IDE integrationJava EE apps, Web Apps, Web Services, REST servicesFully managed and supported by ORACLEKey takeawayBest application server – WeblogicRunning on the best, purpose built, engineered-system – ExalogicIntegrated with the most powerful database machine to run Oracle Database – ExadataWe provide the best of breed application server software, database and hardware that is fully managed and operated by Oracle – at a low per-month subscriptionBuilt using standards, open technology – no vendor lock-in; also move easily from on-premise to cloud, or the other way
9 Oracle Java Cloud Service OfferingsThree 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 availabilityS1 – typical usage development, functional testing as well as production for small, departmental applicationsS2 – Test 2 production environment, QA, stress testing and production for small to medium departmental applicationsS4 – Production for large applications, high availability due to 4 node clusterT: 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.
10 Oracle Java Cloud Service SubscriptionProvide details, submit trial requestManage service & applicationsGo to cloud.oracle.comClick on “Try It”CheckActivate serviceActivateSubscribeUseEase 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 trialBehind 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 activatedCheck your for activation notification, a yellow link that takes you to a URL to activate your trialsOnce activated, behind the scene we instantiate the service and hook it up to the operations console for support to start monitoring itNow start using it!ProvisionAssociateNotifyInstantiateOperations hook-up
11 Oracle Java Cloud Service Application LifecycleDeveloper ServiceCommitDeployDeployJava Cloud ServiceWEBSOAPMonitor & TroubleshootRESTHow does the development lifecycle look like with Java Cloud Service?Same as your current on-premise lifecycleUse 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, AntConsole
12 Oracle Java Cloud Service Database Service – AssociationPre-requisite for Java Cloud ServiceEnables schema sharingAllowed between services in same datacenterTRIAL1 Java : 1 DatabaseAt trial subscriptionPAIDN Java : 1 DatabaseAt service activationOracle Cloud services are tightly integrated with each otherTight integration with Database Service – running on ExadataPre-requisite for Java Cloud Service, but multiple Java Cloud Services can be associated with 1 database serviceIn trials, you always get one database service for each java service
13 Oracle Java Cloud Service: Integrations Developer Service – In PreviewDevelop using a turnkey development platform securely hosted in the cloudDeploy automatically to Oracle Java Cloud ServiceCollaborate using tools integrated in your IDE to manage and track tasks, builds, and documentationTight integration with Developer ServiceKey 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.
14 Oracle Java Cloud Service: Integrations Storage Service – In PreviewOn-demand, secure, storage for your digital content in the cloudAccess content via REST or Java APIs through seamless integration with Java Cloud ServiceSimple, yet powerful administration console for management, metrics and monitoringThis 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.
15 Oracle Java Cloud Service: Integrations Messaging Service – In PreviewBuild asynchronous messaging application with easeControl messaging with prioritization, selectors, persistence, transactions & guaranteed deliveryAccess via JMS APIs within Java Cloud Service or REST from outside Oracle CloudThe 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.
17 Oracle Java Cloud Service Application ProfileDatabaseCloudADFWebJava 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.RESTWeb ServicesOfficeMobile
18 Oracle Java Cloud Service Application Standards SupportJava EE & Web AppsEJBs (Local Only)JSFJSPWeb Services (JAX-WS)REST Service (JAX-RS)Database InteractionJava Persistence API (JPA)JDBC to Database ServiceOracle ADF AppsADF FacesADF Business ComponentsADF Web Service Data ControlStandard Java EE technologies supportedJCS 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 CloudJCS 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.
19 Oracle Java Cloud Service Developer PerspectiveIDE IntegrationsCommand Line InterfaceMaven PluginsAnt Tasks3rd Party FrameworksBuilt ground up keeping developer’s productivity in mind
20 Oracle Java Cloud Service IDE IntegrationPopular IDE supportPlugins provided to make IDEs Oracle Cloud-readyRequires Oracle Java Cloud Service SDKDeploy directly to cloudView logsView metricsRESTPopular IDEs upgraded to make Oracle Cloud-readyDownload the updated IDE, download a small footprint Java Cloud Service SDK. Point IDE to SDK and your IDE can now interact with Oracle CloudCan deploy, list applications, check status, get logs, test, right out of IDE.
21 Oracle Java Cloud Service Service InteractionsDatabase ServiceThrough JDBC, JPA, ADF BC, or other JDBC abstractionsFusion Application ServiceThrough WS-Security protected SOAP ServiceIntegration with Fusion Applications through Web Services as well as ADF task flow punch outsSecurity plumbing already done for you
22 Oracle Java Cloud Service Extending Oracle Cloud Applications – Service-based IntegrationOracle CloudWEBOracle Cloud PaaSOracle Cloud AppsSOAP,RESTCustomers, 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 applicationsREST, SOAP
23 Oracle Java Cloud Service Extending Oracle Cloud Applications – UI-based IntegrationOracle Cloud AppsOracle CloudWEBSOAP, RESTOracle Cloud PaaSCustomers, Partners, Suppliers, etc.FA UI can embed iFrames that can punch out to ADF task flows deployed on JCSWEB, REST
25 Oracle Java Cloud Service Built using Cloud Application FoundationCloud Application FoundationTraffic Director/Web TierWebLogic ServerCoherenceTuxedoVirtual Assembly BuilderORACLECloudExalogic Elastic CloudWebSocialMobileUser EngagementBusiness Process ManagementContent ManagementBusiness IntelligenceService IntegrationData IntegrationJCS built on top of the Cloud Application Foundation and Exa* infrastructure as recommended by Oracle to customers building their own private PaaS.Identity ManagementDevelopment ToolsCloud Application FoundationEnterprise Management
26 Oracle Java Cloud Service Secure, Isolated, High Availability ArchitectureJava Cloud Service InstanceCustomer Dedicated WebLogic DomainExalogic ZFS StorageBinary VolumeConfig VolumeCustomer VolumeExalogic Compute Node AExalogic Compute Node BOVM Instance 1OVM Instance 1CustomerdedicatedClusterwith HAManaged Server 1App 1App NManaged Server 2App 1App NJCS 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 instancePinned on different compute nodes so that if something went wrong to one node, the other managed server keeps servingDatabase Cloud Service InstanceExadata (Oracle DB Schema – RAC Node)
27 Oracle Java Cloud Service Key ComponentsBusiness ApplicationService ConsoleMy ServicesIdentity ConsoleMy AccountsMy AccountsBuy ServicesMy ServicesMonitor ServiceView NotificationsIdentity ConsoleManager Users & RolesService (Instance) Console (Java, DB)Manage applicationsImportant components to note – 4 portals to interact with Oracle CloudMy Accounts – for buying servicesMy Services – for managing servicesIdentity Console – for user managementService Consoles – for managing applicationsMore details in following slides.
28 Oracle Java Cloud Service Account ManagementMy AccountView services across datacentersCheck service uptimeUpsizeAdd account administratorsAccessible to Account AdministratorsAccount Admin (Buyer)My Accounts:A buyer’s portalMeant for someone from the procurement, a business personHas relationship with Oracle; uses an account created on Oracle.com / OTNCan nominate others to become account owners
29 Oracle Java Cloud Service Service ManagementMy ServicesView all services in one datacenterCheck service statusCheck Oracle notificationsLock service for maintenanceAccessible to Service Administrators (Owners)Service AdminMy ServicesService Owner’s PortalAn IT person; someone responsible for the health of the serviceTenant user, inside Tenant’s identity domain – has no relationship with OracleAlso has access to the service console (following)
30 Oracle Java Cloud Service Service Instance ManagementJava Service ControlDeploy, un-deploy, re-deploy, start ,stop applicationsView availabilityView CPU, memory usageView response time and loadView, download logsAccessible to Service Administrators (Owners)Service AdminService ConsoleService instance specific portal – now looking at a particular service instanceAn IT person; someone responsible for the health of the applications deployedTenant user, inside Tenant’s identity domain – has no relationship with Oracle
31 Oracle Java Cloud Service Identity ManagementIdentity ConsoleAdd Users, RolesAssign in-built admin roles and application rolesImport, Export UsersReset PasswordsChange password questionsAccessible to Identity Domain AdministratorsIdentity Domain AdminIdentity ConsoleIdentity Administrator’s PortalAn IT/Security person; someone responsible for the managing users, credentials, roles.Tenant user, inside Tenant’s identity domain – has no relationship with OracleSomewhat 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
32 Oracle Java Cloud Service Identity Domain – IntroductionMappingsRolesUsersLDAP RootProvides identity isolation between tenants in the cloudContains users, roles and mappingEnables single-sign on across service within the same domainAcmeDomainBrookmarkDomainSummitDomainIdentity 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 directoryOr you can create different domains for different purpose – testing vs. production, regional, departmental, etc.Acme, Inc.Summit Corp.Brookmark, Inc.
33 Oracle Java Cloud Service Identity Domain – AssociationIdentity Domain SharingSharing done by associating multiple services to the same Identity DomainAssociation done at Paid service activation time or Trial service subscription timeOnly services within the same Account & Datacenter can share Identity DomainOne extreme – one domain (directory slice) for all servicesOther extreme – separate domain (directory slice) per serviceOr a combination in between – Some services share one domain, while other services share another domain
34 Oracle Java Cloud Service Summary – AccessRESTHTTP, REST, SOAPJDBC, RESTRESTIn summary --- JCS can be accessed in following waysIDEsData browsingData loading/unloadingApplications & ServicesBrowser apps, or any client the can talk SOAP, REST, HTTPCLI, Maven, AntAutomation, application development lifecycle managementOracle Database CloudDatabase applications, JDBC access to DB
35 Oracle Java Cloud Service Summary – Key Areas of DifferentiationProgramming ModelStandard Java EEFlexible DeploymentOn-premise or in the cloudDatabase and PersistenceFull Oracle Database & User defined schemaDatabase ServicesFusion Applications IntegrationIntegrated connectivity servicesIdentity ManagementComprehensive & integratedService ConsoleCommon & integratedIDE SupportJDeveloper, Eclipse, NetBeansIn summary – key differentiationsSame tech stack on-premise and on the cloud – easy migration/moving applications across the two environmentStandards-based – No vendor lock-inTight integration with Database and other Oracle Cloud servicesSimple, easy integration with Fusion Applications on cloud or on-premiseFull IDM stack with SSO, identity management, web services security, authorizationService specific consolesIncreased developer’s productivity by support popular development tools
37 Demo Scenario Brand New Application in Cloud Consume Buy Administrate Web ApplicationConsumeJaneBrand New Application in CloudJava ServiceBuyMeDevelop,DeployJohnCustomAppDelegateCustom SchemaAdministrateJoeDatabase ServiceFor 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