Jfokus 2013
Modern Software Development Anti-Patterns
Martijn Verburg, jClarityThe Diabolical Developer and Ben Evans (the voice of reason!) present a host of modern software development anti-patterns. This session provides a wealth of tips and tricks to free you from the chains of so call ?modern software development best practices?.
We're not delivering software any more successfully than our forebears! So what?s really going on? Well things like Agile and Software craftsmanship certainly take you down some dangerous paths, and don?t even get us started on Java 7! You?ll learn about topics such as how to unleash the awesome power of:
* Mortgage Driven Development
* Pokemon Patterns
* Conference Driven Delivery
* The AbstractFactoryFactoryManagerBuilder class
* Can Haz Cloud
Javascript beyond jQuery
John Wilander, Svenska HandelsbankenJavascript is the language people love to hate, but it's also a reality if you are doing web development. The aim of this presentation is to give the audience some inspiration and Javascript some love.
Large-Scale Automation with Jenkins
Kohsuke Kawaguchi, CloudbeesJenkins is the most adopted open source continuous integration server today, and beyond the automated build and test, it is a platform for launching all kinds of automation tasks. As the use of Jenkins grows inside an organization, people are automating complex activities that need to be choreographed, such as deploying an application, running a load test, cleaning up the environment, and then handing over the build to the operation team. Such orchestration of activities is a very useful building block for continuous delivery, a practice promoted in recent years. This session looks at various patterns and plug-ins that deal with this kind of choreography.
WebSocket and Java EE: A State of the Union
Justin Lee, Squarespace.comJava EE is beginning its climb into the cloud. In addition to updates to existing technologies such as JPA and EJB, Java EE 7 is introducing new technologies such as WebSocket that aim to provide bidirectional, asynchronous communication between a client and a server. This session introduces the protocol itself, discussing the various ways it differs from HTTP. It also touches briefly on how it differs from existing asynchronous approaches. From there the presentation moves to examples of existing APIs that provide support for the protocol and then discusses the current state of the JSR and what remains to be done before final delivery of Java EE 7 in the first half of 2013.
BeagleBoard, RasberryPi, HTML5 and Java
Gerrit Grunwald, Canoo Engineering AGUsually Java developers do not create code for embedded devices because there was no good Java support on these devices. Oracle figured out that there is a huge market for embedded devices and decided to support Java and JavaFX on hardware like the very popular Raspberry Pi and the BeagleBoard xM. With Java technology available on these platforms it's very interesting to see what you can do with this. This session will give you a short overview on the available technologies and will explain the interaction between different technologies and where they make sense. The uses case will be a temperature monitoring application where a Raspberry Pi running on Java7 embedded is measuring the temperature and sends the measured data to other devices. One of these devices is a BeagleBoard xM running Java7 incl. JavaFX for ARM which is visualizing the measured data from the Raspberry Pi on a touch screen. Also involved in the use case will be a desktop application running JavaFX to visualize the data and at least a mobile device visualizing the measured data using HTML5 Canvas.
The web performance testing toolbox
Tobias Järlund, AftonbladetSo, your web application is slow. You read all the books, follow all advices, but users are still complaining. What now? It turns out that there are really good tools out there to help you, whether your problem is slow loading third party widgets, badly performing javascript or heavy paint times for DOM elements. But which one is right for you?
This hands on session will give guide help you assemble your own toolbox with the the different (mostly free) tools available for analyzing and troubleshooting web performance. You'll learn what you can expect from high level tools that measure page load time through synthetic or real user monitoring, down to low level javascript profiling and graphic rendering. We'll dive straight into the advanced parts of WebPagetest, Chrome Dev Tools, Dynatrace Ajax Edition and others, and you'll also get to know how to do most of this on actual mobile devices.
Continuous Delivery: from Dinosaur to Spaceship in 2 years
Darren Hague, SAPThe SAP ID Service is SAP's identity management system for its websites and cloud operations. The team that built it came from a background of writing web applications in Java 1.4 for an ageing and proprietary platform where it took up to a week just to deploy a new release after it had passed mostly manual QA. With the SAP ID Service project starting in 2010 the team rebooted itself: we adopted Scrum and started building the SAP ID Service using a lean, modern and standards-based application server built from open source components and using Continuous Delivery for build, test and deployment. We are now at the stage where each commit leads to a build with automated test coverage via Cucumber followed by a blue/green deployment to a production-like QA landscape which is provisioned from a cloud and configured automatically using Chef. A similar deployment to production is just a couple of clicks away, and the cloud-based technology used for this also enables developers to provision their own landscapes using a simple web-based tool. This talk will describe our journey, not only sharing our experiences but also welcoming questions and stories from others in the room.
Secure NFC services with Java Card and a new approach to physical access control
Carlo Pompili, TelcredAfter several false starts, NFC (Near Field Communications) is finally starting to appear in mobile phones. But having an NFC phone does not by itself mean that it can be used for secure services, such as payments or access control. In this presentation, the difference between NFC and secure NFC will be explained and also how the latter relates to Java Card. An alternative use of Java Card as an embedded cryptographic co-processor will also be introduced through the example of Telcred?s innovative model for offline physical access control.
Why you should use a Java Cloud platform? Because it's Easy!
Are you still struggling with your own server set-ups? We will show some of the benefits with deploying your application on a Java Paas Cloud instead. Choose your software stack, set the limits for autoscaling and in just a few seconds your environment will be up and running! Without installing and configuring your own. These days you don't need to code against third-party APIs - you just upload your application and start. Simply upload your application package and
choose the right environment. If your environment has multiple computing instances, all of them will automatically be updated with Maven and Ant plugins, deployment as simple as mvn:deploy. As your traffic grows, CPU and RAM automatically scale your application needs to handle the load. If your traffic decreases,it will immediately reduce the resources again.
Come and see the next generation of Java hosting platforms which can run and scale ANY Java application with no code changes required! We will use Jelastic, The Duke Choice Award winning cloud platform to exemplify what a modern Java PaaS will provide for you!
Java Mission Control - Coming soon to a JDK near you
Klara Ward, OracleOne of the most popular features from the JRockit will become part of the standard Java SE JDK. JRockit Mission Control will be transformed to Java Mission Control. It's still the same great profiling and diagnostics tool but focusing on the HotSpot JVM. Still usable in production with very low overhead. Still free for development. Come and learn how to it can be used to solve various types of problems, what features will be in the first public version, and what we're working on for future versions.
Keynote: Making The Future Java...Together
Georges Saab, OracleThe future course for modern day living, in both the enterprise business world and consumer arena is being positively influenced by the ongoing innovation and value of Java. In this keynote you will hear about the most important new directions and how you can directly take part in making the future Java.
Robots and Oceans with Liquid Robotics
James Gosling, Liquid RoboticsLiquid Robotics have a growing fleet of autonomous vehicles that rove the ocean collecting data from a variety of on board sensors and uploading it to the cloud. The robots have a pile of satellite uplink/GSM/WiMax communication gear and redundant GPS units. These craft harvest energy from the waves for propulsion and can stay at sea for a very long time. They can cross oceans.... Slowly.
Scaling Agile with Tribes, Squads, Chapters & Guilds
Henrik Kniberg, Crisp & Anders Ivarsson, SpotifyDealing with multiple teams in a product development organization is always a challenge! One of the most impressive examples we've seen is Spotify, a fascinating company that is transforming the music industry. Spotify has kept an agile mindset despite having scaled to over 30 teams across 4 cities. How do we synchronize multiple teams? How do share knowledge across the organization? How do we get stuff into production? And what the heck are tribes, squads, chapters, and guilds anyway?
Are Your GC Logs Speaking to You
Kirk Pepperdine, Kodewerk LtdGetting GC logs is cheap and easy. Just set a couple of switches on the command line and you'll be given the insight into what this performance critical piece of the JVM is up to. In this session we will look some interesting GC logs as well as tools that can be helpful in identifying anti-performance conditions.
Phaser and StampedLock Concurrency Synchronizers
Heinz Kabutz, JavaSpecialists.EUIn Java 7, the Phaser was introduced to give us a more flexible form of CountDownLatch and CyclicBarrier. In this presentation, we will show examples of how Phaser can be used to communicate between threads and how it simplifies your code. A new construct that is being worked on is the StampedLock. In this presentation, we will show how to use it and what some of the common coding patterns are that we can use.
What Every Hipster Should Know About Functional Programming
Bodil Stokke, ArktekkTreat yourself to a crash course in the vocabulary of functional programming: lambdas, higher order functions, purity and immutability, the infinite opportunities to throw the word "monad" in the face of anyone who thinks an ironic moustache is enough to justify all that self-assured smugness these days. You'll never have to lose a programming argument again once you've learned where to casually toss terms like "applicative functor" and "Kleisli triple" into the conversation.
Internet of Sports (or How to win GOLD medals in the next Olympics)
Christer Norström, SICSWinter sports science is growing with the ever-increasing focus on achieving the best results possible. To maximize performance and stay at the top in cross country skiing, research in bio mechanics, physiology, and skiing techniques is required, as well as in equipment such as skis, poles and waxes. In this talk we will present a concept for using sensor technology in the field for improving technique, training methodology and tactical skills in cross country skiing. The concept is built on sampling of inertia sensors, advanced data analysis and visualization.
Technologies for the Internet of Things
John Fornehed, EricssonNetworked Society Our findings and experiences, 4 top areas in m2m SDK findings Business Lab Future
What's new in Android Jelly Bean
Cyril Mottier, Google Developer ExpertA tour of what has happened with the Android platform and ecosystem in the last past year. This presentation focuses on what's new from both a user and developer point of view.
Creating a Configuration Standard for Java EE
Mike Keith, OracleA recurring problem that developers and devops face is when they deploy an existing Java EE application in a different environment and want to configure it for the new environment without having to crack open the archive. We will introduce a potential JSR proposal that will go about solving this problem by defining a new Java EE configuration service. Such a service would provide the ability to create one or more configurations independent of the applications that use them.
What is expected of a PaaS in 2013?
Matt Stephenson, GoogleThe PaaS landscape is only getting better with time. With configuration becoming simpler, the best possible availability expectations, polyglot runtimes, datacenter distribution choices, choice of persistence layers, a richer set of APIs and features (Full Text Search, Map Reduce, PageSpeed,...) all the time. Come and taste the 2013 Grand Cru! There will also be a good deal of discussion on some features and tools that are in the works right now, but will be out by the time you hear us talk.
Jfokus 2013
Details
When: 4-6 February 2013
Language: English and Swedish
Where: Stockholm Waterfront Congress Centre, Sweden
4/2 : University sessions Sold out
5-6/2 : Conference days Sold out




























