Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
IBM at JavaOne 2016: The Sessions Monday, September 19th CDI Best Practices with Real-Life Examples [TUT3287] Ahmad Gohar, Technical Team Lead, IBM @ansgohar As the adoption of Contexts and Dependency Injection (CDI) for Java EE API grows, it is important to understand how to use CDI effectively to maximize the benefits of using a loosely coupled, type-safe, annotation-driven dependency injection solution. This session outlines the best practices for using CDI, such as annotations versus XML, @Named as a qualifier, qualifier type safety versus verbosity, effective use of producers/disposers, using scopes properly, best practices for using conversations, defining effective stereotypes, interceptors versus decorators, static versus dynamic injection/lookup, CDI versus Java EE resource injection, using CDI with EJB 3.1, CDI/JSF 2 integration patterns, and CDI/JPA 2 usage patterns. 8:30 a.m. – 10:30 a.m. PST Parc 55 – Market Street Be Whisked Away with a Raspberry PI, Java, and OpenWhisk [CON2758] Luc Desrosiers, IT Architect, IBM UK Come to this session to learn how you can quickly build a Java-based microservice architecture based on OpenWhisk. What is OpenWhisk, you ask? It is a cloud-first distributed-event-based programming service based on the concept of serverless deployment. What is serverless? Well, you have to come to find out! As a bonus, you will see what IoT devices, Raspberry Pi, and the cloud can do with this new technology. 11:00 a.m. – 12:00 p.m. PST Parc 55 – Mission Building Cognitive Applications with Watson APIs [CON3054] Sandhya Kapoor, Senior Software Engineer, IBM @sandhyakapoor9 Frank Greco, Chairman, NYJavaSIG @frankgreco The more we interact with “smart apps,” the more we hear the word cognitive being thrown around. But what does it actually imply? What is a cognitive application? Can you make your app cognitive? This session covers what these buzzwords mean and how to enhance your application with Watson APIs. The presenters build an application from scratch, using the Watson Java SDK, and discuss how to integrate Watson into your existing application. 2:30 p.m. – 3:30 p.m. PST Parc 55 – Magnin I Cybercrime and the Developer: How to Start Defending Against the Darker Side [CON3328] Steve Poole, Lead Engineer, IBM @spoole167 In the world of DevOps and the cloud, most developers have to learn new technologies and methodologies. The focus tends to be on adding capabilities such as resilience and scaling to an application. One critical aspect consistently overlooked is security. In this session, learn about a few of the simple actions you can take (and some behaviors you must change) to create a more secure Java application for the cloud. The world of the cybercriminal is closer than you realize. Hear how at risk your application may be, see practical examples of how you can inadvertently leave the doors open, and understand what you can do to make your Java solution more secure. 2:30 p.m. – 3:30 p.m. PST Parc 55 – Market Street Programming Languages: For the Common Man or the Machine? [CON3999] Gireesh Punathil, Staff Software Engineer, IBM India Pvt. Ltd. @gireeshpunam Programming languages are a bridge between man and machine. The more sophisticated the language, the easier it is to program, but the compiler and runtime level become harder as more-complex program directives need to be transformed into discrete, simple hardware calls. Languages take extreme steps to be humanlike and bring in disruptive constructs, but difficulties arise when it comes to enterprise-grade scaling. This session discusses a few modern languages and compares their programming interfaces with that of Java, with performance as the main consideration. The intent of the session is to showcase the implications of language constructs for the compiler and interpreter and to help you select the right language for your workload. 2:30 p.m. – 3:30 p.m. PST Hilton – Plaza Room B Getting Started with Apache Spark: Use Scala, Java, Python, or All of Them? [CON8124] David Taieb, STSM Cloud Data Services, IBM @DTAIEB55 Apache Spark is the next-generation distributed computing framework, rapidly becoming the de facto standard for big data analytics. It provides rich, expressive APIs in multiple languages, including Scala, Java, Python, and R. However, depending on the use case—a data scientist working in an Jupyter Notebook or a data engineer implementing long-running Spark submit jobs—choosing the right language can be a dilemma. This session uses a Spark application that performs “sentiment analysis of Twitter data” to compare and contrast the feature differences between the languages, API coverages, and overall productivity. With concrete examples, it provides insight to help you decide when to use Scala, Java, Python, or perhaps a mix of these. 4:00 p.m. – 5:00 p.m. PST Hilton – Plaza Room B Under the Hood of the Testarossa Just-in-Time Compiler [CON5644] Mark Stoodley, Senior Software Developer, IBM @mstoodle The IBM J9 virtual machine, which will soon be open source, includes the Testarossa just-in-time (JIT) compiler. Come to this session to learn more about this modularized, high-performance, multiplatform compiler infrastructure based on the Eclipse OMR open source JIT compiler. Find out what it can do, how it all works, why you should care, and how you can get involved. 5:30 p.m. – 6:30 p.m. PST Hilton – Continental Ballroom 5 Tuesday, September 20th Java and the Commoditization of Machine Intelligence [CON2291] Sandhya Kapoor, Senior Software Engineer, IBM @sandhyakapoor9 Josh Gordon, Google @random_forests John Pelak, Microsoft @jmpdatasci Machine learning is the next step for big data. This panel session goes deep into how Java plays a role in the construction of machine learning algorithms and details how Java developers incorporate this type of adaptive and predictive intelligence in their applications. 11:00 a.m. – 12:00 p.m. PST Parc 55 – Cyril Magnin I J9: Under the Hood of the Next Open Source JVM [CON3014] Dan Heidinga, J9VM Interpreter Lead, IBM @DanHeidinga This session dives into the design of the J9, IBM’s production JVM. Why might you care about this? IBM is open-sourcing its JVM! If you want an early peek at how the J9 operates, its data structures, GC policies, and the best way to understand its execution, this is the session for you. 2:30 p.m. – 3:30 p.m. PST Hilton – Continental Ballroom 4 Emerging Web App Architectures with Node.js and Java [CON1576] Steve Wallin, Program Director, IBM @stevewallin Java is the leader for enterprise web application development, but Node.js has been gaining popularity for developing mobile apps, APIs, and web applications. Although the two languages may appear to be in competition, they are actually very complementary. This session discusses the characteristics of the two languages and introduces emerging architectures that bring together the web scale and integrated browser experience characteristics of Node.js with the highly optimized and resilient transactional characteristics of Java to deliver reliable, highly performant, and engaging web applications. Come to this session to learn more about how Node.js and Java are being used together to build the next generation of web applications. 4:00 p.m. – 5:00 p.m. PST Hilton – Plaza Room A Portlet Specification 3.0 Is Here! [CON3860] Martin Nicklous, Software Architect, IBM Deutschland Research & Development GmbH Neil Griffin, Software Architect, Liferay Inc Portlet Specification 3.0 (JSR 362) is now feature-complete. This session discusses the new features and how easy it is for Java EE developers to write portlet applications. Demos include configuring portlets via annotations, integrating with microservices, integrating with client-side frameworks such as Angular/React/jQuery, client-side IPC via the portlet hub, CDI features, server-side async for long-running requests, and support for JSF 2.2 via the portlet bridge. 5:30 p.m. – 6:30 p.m. PST Parc 55 – Cyril Magnin I Fighting a Fixed Mindset to Thrive in an Agile Project [BOF4985] Holly Cummins, Software Engineer/Developer, IBM @holly_cummins Erin Schnabel, Senior Software Engineer, IBM @ebullientworks Doing development in a project following agile development methodologies looks straightforward, right? You and your team have adopted several practices and start to benefit from them. Yet some activities, no matter how hard you try, seem to never get easier. And now your team is walking the path toward continuous delivery. It simply cannot be done…can it? This session’s speaker walks you through some changes of mindset she needed to go through as she modified her way from waterfall to agile—transforming herself from a full-time developer to a developer with a tester’s mentality—and learned to see development differently. 8:00 p.m. – 8:45 p.m. PST Parc 55 – Market Street Wednesday, September 21st Performance Tuning and How to Upscale to Analyze in a Cluster Deployment [CON2128] Toby Corbin, Software Engineer, IBM @TobesCorbin Performance analysis of single applications is relatively straightforward, with a variety of techniques and tooling options available to developers. This presentation follows the journey of how to take the techniques used in desktop performance analysis to monitoring clustered deployments in the cloud. It covers how to use a combination of freely available performance tooling and open source solutions such as Elasticsearch and Kibana to provide monitoring and analysis of a clustered deployment. 8:30 a.m. – 9:30 p.m. PST Hilton – Golden Gate 4/5 JVM-Assisted Clearing of Sensitive Data [CON4973] Charlie Gracie, Advisory Software Engineer, IBM @crgracie Does your application store any sensitive data on the Java heap? Do you rely on finalization to clean up this data? Cleaning up the single copy of the data you created may not be cleaning up all the copies. Garbage collectors may copy or move objects, causing multiple copies of your sensitive data on the heap. This session discusses the current best practices for dealing with sensitive data in the JVM and provides a demo of how the speaker would like to see the JVM modified to help. 10:00 a.m. – 11:00 a.m. PST Hilton – Golden Gate 2/3 Euphoria Despite the Despair [CON6113] Holly Cummins, Software Engineer/Developer, IBM @holly_cummins Martijn Verburg, CEO, JClarity @karianna In this session, the Mad Scientist (Dr. Holly Cummins) and the Diabolical Developer (Martijn Verburg) take an in-depth look at why the highs of zero compiler warnings are quickly canceled out by the pain of long hours, bad requirements, endless configuration, and a litany of other issues that makes death by a thousand cuts seem like a good idea. They answer questions such as “Why is programming an art?” “How can I rediscover the delight I felt when I first started coding?” and “Am I addicted to TDD?” Combining psychology, philosophy, and computer science, they present a series of practical tips to help you rediscover the euphoria you felt the very first time a metal box in front of you came to life and cried out “Hello World.” 10:00 a.m. – 11:00 a.m. PST Parc 55 – Embarcadero Liberty: The Right Fit for Micro Profile? [CON8119] Kevin Sutter, Senior Technical Staff Member, IBM @kwsutter Alasdair Nottingham, WebSphere Runtime Architect, IBM @notatibm The move to microservices is well under way, but has enterprise Java adapted to these new realities? Although some argue that enterprise Java is irrelevant, many of its tried-and-proven APIs are highly applicable to microservice architectures. And the need for new APIs to address challenges inherent in highly distributed microservices is clear. The recent announcement of the Micro Profile initiative (microprofile.io) to define new application server portable APIs means that these needs will be addressed. This session explores what Micro Profile is, how it can help with microservices, and how WebSphere Liberty’s à la carte approach to Java EE can help enable microservices by using the new Micro Profile and ldemo Liberty plus the microProfile-1.0 feature. 11:30 a.m. – 12:30 p.m. PST Parc 55 – Cyril Magnin I Life After Modularity: An Experience Report [CON3015] Dan Heidinga, J9VM Interpreter Lead, IBM @DanHeidinga “Modularity will break your code!” If you’re concerned that this might be true, come to this session, presented by a JVM engineer, to hear the truth. Find out how to prepare for Java 9, and see examples of the kinds of changes and workarounds required to bring up real applications. 1:00 p.m. – 2:00 p.m. PST Hilton – Continental Ballroom 4 Mind Control to Major Tom: Is It Time to Put Your EEG Headset On? [CON2338] Steve Poole, Lead Engineer, IBM @spoole167 Luc Desrosiers, IT Architect, IBM UK Using your mind to interact with computers is a long-standing desire. Advances in technology have made it more practical, but is it ready for prime time? This session presents practical examples and a walkthough of how to build a Java-based endto-end system to drive a remote-controlled droid with nothing but the power of thought. Combining off-the-shelf EEG headsets with cloud technology and IoT, the presenters showcase what capabilities exist today. Beyond mind control (if there is such a concept), the session shows other ways to communicate with your computer besides the keyboard. It will help you understand the art of the possible and decide if it’s time to leave the capsule to communicate with your computer. 3:00 p.m. – 4:00 p.m. PST Hilton – Golden Gate 4/5 Java, the Cloud, Containers: Migrating Without the Tiers (or Tears) [CON3601] Steve Poole, Lead Engineer, IBM @spoole167 Daniel Bryant, Chief Scientist, OpenCredo @danielbryantuk Everyone is talking about building “cloud native” Java applications—and taking advantage of microservice architecture, containers, and orchestration/PaaS platforms—but there is surprisingly little discussion of migrating existing legacy (moneymaking) applications. This session aims to address this, and, using lessons learned from several real-world examples, it covers topics such when to rewrite applications (if at all), modeling/extracting business domains, applying the “application strangler” pattern, common misconceptions with “12-factor” application design, and the benefits/drawbacks of container technology. 4:30 p.m. – 5:30 p.m. PST Parc 55 – Cyril Magnin I Java EE Microservices by Example, from Raspberry Pi’s to the Cloud [CON6245] Holly Cummins, Software Engineer/Developer, IBM @holly_cummins Making the move to a microservice architecture can be pretty daunting. Microservices can solve many architectural and organizational problems, but they come with their own challenges. Getting from monolith to microservices can be even harder. What’s the cleanest way to refactor? How should things be tested? What if things go wrong? Using a pile of tiny computers, cables, and code, this session demonstrates carving a monolith into microservices and deploying—and managing—a microservices application. Because there are limits on how much traffic the data-center-in-a-handbag server topology can handle, the presentation also demonstrates scaling up, out, and away to the cloud. 4:30 p.m. – 5:30 p.m. PST Parc 55 – Embarcadero Thursday, September 22nd Emerging Languages Bowl 2016: The Quest for Supremacy Continues [CON2282] Raghavan “Rags” Srinivas, Architect, IBM @ragss Dierk Koenig, IT Manager, Canoo Engineering AG @mittie Hadi Hariri, Developer, JetBrains @hhariri Charles Nutter, Principal Software Engineer, Red Hat @headius Nick Howard, Senior Software Engineer, Twitter The Emerging Languages Bowl has replaced the former Script Bowl. The panelists in this session continue the quest to be the winner of the bowl, which includes the following JVM-based languages: Frege, Golo, Kotlin, Mirah, and Red Line. They will compete in two rounds: • A common task round • A community round The audience will pick the winner and will leave the fun-filled and unique panel session with an idea of which language might be the most relevant to their needs. 11:30 a.m. – 12:30 p.m. PST Hilton – Plaza Room A Game On! Exploring Microservices with a Text-Based Adventure Game [CON1559] Erin Schnabel, Senior Software Engineer, IBM @ebullientworks Creating a single microservice is easy, as walkthroughs everywhere show. See? Add a few annotations, invoke this command to build it, and you have a running microservice! Ta-da! But what happens next? Game On! is an interactive text adventure written as a collection of microservices to help people answer that very question. This session covers how the speaker and her colleagues used service composition and discovery, API definition and versioning, security (authentication, authorization, and identity propagation), the 12 factors, and a combination of lightweight protocols to build the game. The presentation also discusses what they learned from building it and from others extending it. 2:30 a.m. – 3:30 p.m. PST Parc 55 – Embarcadero