AMIS Oracle OpenWorld 2013 Review Part 3 - Fusion Middleware

Download AMIS Oracle OpenWorld 2013 Review Part 3 - Fusion Middleware

Post on 11-May-2015

1.850 views

Category:

Technology

5 download

Embed Size (px)

DESCRIPTION

AMIS Oracle OpenWorld 2013 Review Part 3 - Fusion Middleware

TRANSCRIPT

<ul><li>1.Part Three Fusion Middleware 10th October 2013 Review Oracle OpenWorld 2013 </li></ul><p>2. Java SE 7 adoption 100% 90% 80% 70% 60% 50% 40% 30% 20% 10% 0% Source: Hosting statistics from Jelastic.com Nov Dec Jan Feb Mar Apr May June July AugOct Java 6 Java 7 3. Java SE 7 en 8 Roadmap 20152013 2014 2016 JDK 8 (Q1 2014) Lambda JVM Convergence JavaScript Interop JavaFX 8 3D API Java SE Embedded support Enhanced HTML5 support 7u40 Java Flight Recorder Java Mission Control 5.2 Java Discovery Protocol Native memory tracking Local Security Policy 7u21 Java Client Security Enhancements App Store Packaging tools 4. DOWNLOAD Java SE 7 oracle.com/java TEST PREVIEW Java SE 8 EA JDK8.JAVA.NET 5. JDK 8 Java for Everyone Profiles for constrained devices JSR 310 - Date &amp; Time APIs Non-Gregorian calendars Unicode 6.2 ResourceBundle. BCP47 locale matching Globalization &amp; Accessibility Innovation Lambda aka Closures Language Interop Nashorn Core Libraries Parallel operations for core collections APIs Improvements in functionality Improved type inference Security Limited doPrivilege NSA Suite B algorithm support SNI Server Side support DSA updated to FIPS186-3 AEAD JSSE CipherSuites Tools Compiler control &amp; logging JSR 308 - Annotations on Java Type Native app bundling App Store Bundling tools Client Deployment enhancements JavaFX 8 Java SE Embedded support Enhanced HTML5 support 3D shapes and attributes Printing General Goodness JVM enhancements No PermGen limitations Performance lmprovements 6. Java SE 8 (JSR 337) Updated functionality JSR 114: JDBC Rowsets JSR 160: JMX Remote API JSR 199: Java Compiler API JSR 173: Streaming API for XML JSR 206: Java API for XML Processing JSR 221: JDBC 4.0 JSR 269: Pluggable Annotation-Processing API 7. 7 Lambda Expressions Functional interfaces aka Single Abstract Method interfaces Only one method 'ad-hoc' implementations ActionListener, Runnable, Callable, Comparator, Custom, Anonymous inner classes A lambda expression represents an anonymous function JButton testButton = new JButton("Test Button"); testButton.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent e){ System.out.println("Click Detected by Anon Class"); } }); testButton.addActionListener(e -&gt; {System.out.println("Click Detected by Lambda Listener");}); public interface ActionListener extends EventListener { public void actionPerformed(ActionEvent e); } 8. 8 Lambda expressions () -&gt; { } 9. 9 Syntax (int x, int y) -&gt; x + y (x, y) -&gt; x - y () -&gt; 33 (String s) -&gt; System.out.println(s) x -&gt; 2 * x c -&gt; { int s = c.size(); c.clear(); return s; } testButton.addActionListener(e -&gt; {System.out.println("Click Detected by Lambda Listener");}); Predicate isOdd = n -&gt; n % 2 != 0; @FunctionalInterface public interface Wisdom { public String provideAnswer(); } public class Oracle { public void giveAdvise (Wisdom wisdom){ String answer = wisdom.provideAnswer(); System.out.println ("I advise: %s", answer); } } public static void main(String[] args){ Oracle deepBlue = new Oracle(); deepBlue.giveAdvise ( () -&gt; "42" ); } 10. 10 Streams &amp; Collections and Lambda A stream is a sequence of values java.util.stream A stream can have as its source an array, a collection, a generator function, or an IO channel; alternatively, it may be the result of an operation on another stream Streams are meant to make manipulating the data easier and faster. Operations e.g. filter, map, sorted, limit, skip, reduce, findFirst, forEach A stream is a one-time-use Object. Once it has been traversed, it cannot be traversed again. for (Shape s : shapes) { if (s.getColor() == RED) s.setColor(BLUE); } shapes.forEach(s -&gt; { if (s.getColor() == RED) s.setColor(BLUE); }) shapes.stream() .filter(s -&gt; s.getColor() == RED) .forEach(s -&gt; { s.setColor(BLUE); }); shapes.parallelStream() .filter(s -&gt; s.getColor() == RED) .forEach(s -&gt; { s.setColor(BLUE); }); 11. 11 12. 12 Default methods Method(s) with implementation on an interface Enable interfaces to evolve without introducing incompatibility with existing implementations. Java 7 shapes.stream() .filter(s -&gt; s.getColor() == RED) .forEach(s -&gt; { s.setColor(BLUE); }); 13. 13 References http://openjdk.java.net/projects/lambda/ http://cr.openjdk.java.net/~briangoetz/lambda/lambda-state-final.html http://www.lambdafaq.org/ Tutorial: http://www.oracle.com/webfolder/technetwork/tutorials/obe/java/Lambda- QuickStart/index.html Basics: http://java.dzone.com/articles/java-lambda-expressions-basics Default methods http://cr.openjdk.java.net/~briangoetz/lambda/Defender%20Methods%20v4.pdf 14. 14 Date &amp; Time API's java.time The core of the API for representing date and time. It includes classes for date, time, date and time combined, time zones, instants, duration, and clocks. These classes are based on the calendar system defined in ISO-8601, and are immutable and thread safe. java.time.chrono The API for representing calendar systems other than the default ISO-8601. You can also define your own calendar system. e.g. Hijrah, Japanese, Minguo, Thai Buddhist calendar java.time.format Classes for formatting and parsing dates and times. java.time.temporal Extended API, primarily for framework and library writers, allowing interoperations between the date and time classes, querying, and adjustment java.time.zone Support for time-zones and their rules. 15. 15 Example now: 01:25:56.916 later: 01:41:56.916 16. 16 Example 17. 17 Example Flight time: PT11H30M 18. 18 2013-09-22 2013-09-22T10:30:00 19. 19 Tutorial Tutorial http://docs.oracle.com/javase/tutorial/datetime/index.html References http://download.java.net/jdk8/docs/api/java/time/package-summary.html 20. 20 Java Compact Profiles Interim modular Java Platform Three new Java SE Runtimes (Compact Profiles) in JDK 8 Compact1, Compact2 en Compact3 Java SE compatible subsets Benefits Significantly smaller base Java runtime Quicker download Basis for embedded Java Compact 1 Compact 2 Compact 3 Full JRE Java SE Embedded 8 Linux x86 11MB 15MB 21MB 49MB 21. 21 Profiles - Content compact1 Smallest set of API packages without omitting classes. Logging and SSL included as they are expected to be needed. Provides migration path for applications that target CDC/Foundation Profile compact2 Adds XML, JDBC and RMI Migration path from JSR-280, JSR-169 and JSR-66 compact3 Adds management, naming, more security, and the compiler API Intended for applications that require most of Java SE Full Java SE Adds Desktop APIs, Web Services and CORBA 22. 22 23. 23 Profiles and Netbeans 24. 24 References https://blogs.oracle.com/jtc/entry/a_first_look_at_compact https://blogs.oracle.com/jtc/entry/compact_profiles_demonstrated 25. Java SE Roadmap 20152013 2014 2016 JDK 8 (Q1 2014) Lambda JVM Convergence JavaScript Interop JavaFX 8 3D API Java SE Embedded support Enhanced HTML5 support 7u40 Java Flight Recorder Java Mission Control 5.2 Java Discovery Protocol Native memory tracking Local Security Policy JDK 9 Modularity Jigsaw Interoperability Cloud Ease of Use JavaFX JSR Optimizations NetBeans IDE 7.3 New hints and refactoring Scene Builder Support NetBeans IDE 8 JDK 8 support Scene Builder 2.0 support Scene Builder 2.0 JavaFX 8 support Enhanced Java IDE support NetBeans IDE 9 JDK 9 support Scene Builder 3.0 support Scene Builder 3.0 JavaFX 9 support 7u21 Java Client Security Enhancements App Store Packaging tools JDK 8u20 Deterministic G1 Java Mission Control 6.0 Improved JRE installer App bundling enhancements JDK 8u40 Scene Builder 1.1 Linux support 26. 26 Java 9 Project Jigsaw Cloud Language improvements e.g. Generics Project Sumatra Use gpu JNI 2.0 Money and Currency API? JVM 27. 27 Project Jigsaw Modularization Load / download what's needed Maintain backwards compatibility Interim SE 8 solution: compact profiles 28. 28 Convergence Hotspot &amp; JRockit JRockit &amp; HotSpot features to merge (HotSpot as base) Java 7 JDK update 40 (also called 7u40) New: Java Mission Control Unfortunately named 5.2.0 - is more a 1.0.0 release 29. Java Mission Control Toolset JMX Console For monitoring running Java processes in real time Monitoring of a few select key indicators JConsole on steroids Java Flight Recorder Analogous to a data flight recorder (DFR) in a modern aircraft Profiling of running production systems No Memleak Detector yet (JRockit MC heap-analyzer) (As delivered in the JDK 7u40 release) 30. 30 Java Flight Recorder Started out with JRockit Runtime Analyzer A means to get more information about the JVM and applications running on the JVM Customer wanted always on capability JRockit Flight Recorder Low overhead ( 2%) Data is saved on disk 31. 31 Creating Recordings Using Mission Control wizard Create Recording Select a JVM to do a recording Follow the wizard Configure what you want to record in a wizard Continuous/Time Fixed recordings Most useful settings How often to record samples 32. 32 JFR Hot Method Profiling 33. 33 JFR plug-in JOverflow for analyzing heap waste 34. 34 Future Java Mission Control Version 5.3.0 will be released with JDK 8 and a later 7 update improved JMX Console Automatic analysis of Flight Recordings (Heuristics Engine) Automatically provides diagnostics information Automatically suggests potential performance enhancements 35. 35 Java FX 36. 36 Modena: New Theme for Java FX Caspian Modena 37. 37 Some new Features ObservableArray ScheduledService Date picker TransformationList Printing 38. 38 Java EE 7 Major Themes Java EE 7 2005-2012 Ease of Development Lightweight Developer Productivity &amp; HTML5 1998-2004 Enterprise Java Platform Robustness Web Services 2013 - Future 39. 39 Java EE7 Themes DEVELOPER PRODUCTIVITY MEETING ENTERPRISE DEMANDS Java EE 7 Batch Concurrency Simplified JMS More annotated POJOs Less boilerplate code Cohesive integrated platform WebSockets JSON Servlet 3.1 NIO REST 40. 40 EE 7 Changes 41. 41 Looking Forward JCACHE State Management Configuration JSON Binding Java EE 8 and Beyond NoSQL Modularity Mobility/ HTML5 Cloud / PaaS 42. 42 Importance of Embedded Java on devices 43. 43 Java for Devices Java SE Embedded (Compact Profile) is a subset of full SE (14 MB) Java ME 8 (Embedded) will also be a subset the same APIs &amp; the same development style will apply to any Java environment Desktop, enterprise and embedded 44. 44 Java Card running Java VM 2 mm thick Runs Java ME 8 EA 45. 45 Java for Devices Java SE Embedded (Compact Profile) is a subset of full SE (14 MB) Java ME 8 (Embedded) will also be a subset the same APIs &amp; the same development style will apply to any Java environment Desktop, enterprise and embedded 46. 46 Java Embedded Raspberry Pi - to get started 47. 47 Java State of the Community 48. 48 Java State of the Community How alive is Java today? 49. 49 Java State of the Community How alive is Java today? Developers, vendors, JCP, programming language, enterprise platform Java programming for Kids Mindcraft, Greenfoot/Alice, Lego MindStorms 50. User Experience Oracle Browser Look And Feel (BLAF) wants to lead 51. User Experience Oracle Browser Look And Feel (BLAF) Oracle is catching up User Experience Team Oracle is leading the industry in User Experience User Experience Strategy wants to lead 52. Simplicity 53. Simplicity Mobility 54. Simplicity Extensibility Mobility 55. Simplicity Tablet-first design Streamlined Icon-driven Light-touch Quick access 56. Mobility Specifically targeted smartphone UIs Most common, mobile tasks Power-user UIs where needed 57. Extensibility In the Public Cloud or Private Cloud If You Want to Change Tweak what you have out-of-the-box using composers Build a custom app, a custom integration using UX design patterns &amp; JDeveloper, PaaS 6 58. Simplified UI Extensibility Changing the Visual Style 6 pre-built themes Easily change a logo Easily change a watermark 59. Simplified UI Extensibility Customize icons and tabs Rename Reorder Show or hide 60. How Oracle Builds the Applications User Experience 1Observe We watch users where they actually work -- in field studies around the world. 2Analyze We look for the design patterns across customers and users -- 180 design patterns to date. 3 Design We sketch and then refine the experience with customers; drawn from more than 3,800 design partners. 4 Prototype We build this into prototypes, which we refine with customers in one of our 8 mobile usability labs. 5 Measure After its built, we revisit the design again to measure how well it stacks up to end-user needs in one of our 20 usability labs worldwide. 61. UX Direct UX best-practices Templates / Posters / Checklists Tools www.oracle.com/uxdirect 62. Daily Briefing 63. Daily Briefing 64. Daily Briefing 65. Daily Briefing 66. Daily Briefing 67. Other experiments Board &amp; HCM eBooks Oracle Voice Oracle Capture Oracle Mobilytics Infographics 68. New ADF Components?! 69. ADF 70. 77 (ADF) MO ( BI ) - LE Oracle ADF Data Visualization Tools Oracle ADF on Mobile Oracle ADF Mobile Oracle Mobile Rebranding Oracle Mobile Cloud Services Oracle Business Intelligence (Mobile) Oracle Business Intelligence Roadmap 185 MOBILE 130 BI 45 ADF 71. 78 ADF Data Visualization Tools 72. 79 Thematic Map (1) 73. 80 Thematic Map (2) 74. 81 Zoom &amp; Scroll Data Visualization in Action 75. 82 Other Future Features (available soon) Circular Status Meter Rating Gauge 76. No Mouse No Flash Harder to type Finger bigger than cursor More Unique Challenges The Rise of Touch Devices 77. Touch gesture support HTML5 rendering Flow layout Smart table More Mobile Optimizations Transition to Touch Devices 78. Use Patterns like Tablet First Pattern Responsive Design Support Near Future: Responsive Design moves to the Skin ADF Responsive Templates Mobile Optimizations ADF 12c Already can do it. 79. 86 ADF Mobile 80. 87 ADF Mobile Future Features JDeveloper 12c OEPE Custom Components Cordova Plugins New Android Look and Feel Extensibilty 81. 88 Oracle ADF Mobile Rebranding 82. 89 Oracle Mobile Cloud Services Oracle Mobile Cloud Services Cloud Based integration Simplify Integration for Mobile Developers Automatic RESTful Services Connectivity to Backend Systems Authentication, cache, sync, push, data transformation 83. 90 Oracle Business Intelligence (Mobile) 84. 91 Highlights 2013 85. 92 Whats New ? 86. 93 BI Foundation (TFKA-OBIEE) 87. 94 WHATS NEW : More and Better Mobile Analytics 88. 95 BI Mobile App Designer IDE BI App Designer in Action 89. 96 BI Mobile Future Plans 90. 97 Whats Coming : Oracle BI Cloud Service Multi-tenant Oracle Business Intelligence Answers &amp; Dashboards, thin-client data loader and modeler, BI Mobile HD Simple administration and integrated IdM Ideal for: Departmental and personal data mash-ups Prototypin...</p>