Language enhancements:Strings in SwitchChanges to literalsMulti Catch, precise rethrowDiamond operatorTry with resources
One of the big aspects of WebLogic Server 12c of course is the arrival of Java EE 6 support. Java EE 6 is a significant update for developers using WebLogic Server as it results in building applications that require less code (upwards of 50% in some applications), fewer Java classes (in a typical application we have seen upwards of 25% less classes) and dramatically reduced amount of configuration via XML. Bottom line: it is significantly faster to build applications and the applications are simpler to maintain. Java EE 6 also introduces common Java productivity practices that frequently were in proprietary frameworks that had to be installed, upgraded and maintained separately. Now common practices like dependency injection, annotations are part of the base container – common across all Java EE 6 implementations. Further, the model of modern programming with transactional POJOs for business logic and RESTful interfaces for Web and mobile applications are part of the platform. The modern programming paradigm is now native to the container: Servlet 3.0 with Java Server Faces on the front end, transactional POJO with EJB 3.1, simplified resource injection with CDI (dependency injection) – no third parties or additional frameworks needed.Finally, beyond innovations right from the core standard on which the server itself is built on, a signifcant amount of work has been done with Maven to bring what are de facto industry practices with open source dependency management frameworks like Maven, build environments like Hudson and popular development environments like Jdeveloper, NetBeans and Eclipse. Specifically in WebLogic 12c we have a set of Maven goals and functions, including: install, execute WLST scripts, appc support, deployment, server lifecycle (start/stop) and even domain creation. This makes not only the usage of Maven for dependency management but also part of a simplified build, test and tear down cycle incredibly easy.
Transaction Guard and App Continuity - Transaction Guard = the protocol coming back to the app server to allow decision making about what the client should do - Application Continuity is the result that happens – no interruption in service because we take thoughtful action like appropriate JDBC replayDBMS Resident Connection Pools (DRCP)- Every app server, each with connection pool (real connections underneath)- 1000 servers each with connection pools 100 pool size = 100000 connectionsReality – 1000 connections. Virtual connection on DB connecting- Built into UCP- What DRCP does is virtualize at the DB level all the connections Pluggable DBEach tenant out of the pool identifies themselves (DB sets principal –”tagged”). VPD on steroids. Two things seemed to be helped:1. Effectively lets customers upgrade their DB transparently to later versions within the context of a single DB container; 2. Let’s customers run multiple versions of DB (tenant DBs) inside a DB container. more efficient (CPU and disk) easier to secure easier to upgrade3. Single data source can provide MT access to the appropriate DB by switching DBs
How it worksCreate cluster with dynamic servers based on server templateServers inherit attributes from templateRules for calculating server-specific attributesServer name, listen ports, machines…..“N” servers available in the configurationConfiguration changes are dynamicStart /stop servers to scale clusterSupported withConsole, WLST, Enterprise ManagerElastic JMS (not WSM, ASM, UOO, UOW, SAF)Managed Coherence ServersNot a new implementation of WLS clusteringNew configuration optionUnderlying cluster runtime functionality is the sameWhile we are marketing “dynamic”, configuration usability benefits are significant“Configured” clusters very much supportedExpect majority of 12.1.2 clusters will use configured clustersJMS limitations likely to constrain adoption by high-end JMS usersFAQ – Do you support “auto-scaling” of clusters“Can I define a rule that will trigger expanding/shrinking clusters?”Answer is “not OOTB”, planned for 12.1.4Could configure WLDF watches which drive WLST script – “shrink” case is complex
Installation differencesOUI look and feelFewer installation options (Coherence always installed with WLS)Installation artifacts (Oracle Inventory, Directory structure)Installation time (clients and “merged” jar generated during installation) Silent installationConfiguration Wizard: “Per Domain” Node Manager vs. “Per Machine”PatchingPatch injection vs. classpath insertionNo SmartUpdate GUIPatchable clientsReconfiguration Wizard
LimitationsNo UOO, UOW, SAF agents, WSM, ASM
Left to right:Full 12c distro = 1 GB11g zip = 318mb12c zip distro = 168mbDeveloper Zip DistributionFull WebLogic Server 12.1.1.0 releaseSupported for development useLinux, Mac OS X, WindowsSize now down to 168MB
Cloud limited to Database right now
Cloud limited to Database right now
Rich design-time tools ADF 12.1.2 and ADF Essentials
Create, Deploy, and Debug Distributed Cache ApplicationsRich Deployment Descriptor EditorsForm based wizards ensure proper configurationDesign time ValidatorsContext sensitive help links directly into Coherence DocumentationNew tools for Coherence Managed ServersProject wizards for Coherence Grid Archive(GAR) ApplicationsPackaging and Deployment directly to WebLogic Server 12.1.2 or Coherence ServersDeploy GAR directlyEmbed as library in other applicationsDeploy as Shared Library