Java is a key-enabler for IoT, and this talk will provide you with concrete examples on how to build end-to-end solutions with the Eclipse IoT Java stack and projects like Paho, Kura, SmartHome, Californium, OM2M, Eclipse SCADA, Concierge…
It is a common scenario to have no access to the production environment and in some cases the application is running in a secluded network. Current cloud-based monitoring and analytic solutions might fall out of the game by not conforming to the systems of clients or by providing less detailed information than required. Producing useful log statements in your application is the best scenario you might have at your disposal.
Ghostwriter provides a remedy for these issues. With only a recompilation, your application will be instrumented with tracking capabilities that provide a way to react to various events, such as method invocations, state changes or even unhandled exceptions. Handling the events may vary from sending statements to logging frameworks to storing the information in a cloud environment. How Ghostwriter solves this is either transparent or under your control.
During the presentation we’ll talk about:
- leveraging compile time annotation processing (JSR-269) to provide automated instrumentation,
- the applied patterns and experiences with reactive programming,
- application of Hadoop ecosystem for storing and analysis of detailed tracking, with the focus on the issues faced.
To present an overview of the usage of Ghostwriter, we’ll show how Ghostwriter is bootstrapped with Ghostwriter. This allows us to track the steps that meta programming produces through the cloud, using a user interface.
Gartner calls the space we operate in “Search-Based Data Discovery” in lack of a better term that big data, and especially unstructured (i.e. textual) Big Data requires entirely novel ways to access, process and visualize the data at hand.
Key to the solution is our Concept Search technology, which intelligently connects seemingly unrelated data points.
Our road – today we serve clients in Switzerland, Germany, the UK, USA and even as far as Columbia – has not been a straight road to success. Rather the opposite.
Everyone agrees that a sea of data amounting today to 5 Zettabytes (Equals five sextillion bytes) is as big an opportunity as a threat.
The talk will share our story from the early beginnings to today an 10 things we learned the hard way building a Big Data business including pitfalls and unexpected successes.
This session introduces the concepts of Open API, its challenges and opportunities. API Management will become important in many areas, no matter if business-to-business (B2B) or business-to-customer (B2C) communication. Several real world use cases will discuss how to gain leverage due to API Management.
The end of the session shows and compares API management products from different vendors.
Jonathan Lipps, Matthias Junker
In this talk we will explore the philosophy that underlies the work behind Appium, including the open-source nature of Appium’s diverse, active and friendly community. Then, after a brief explanation of the technology that powers Appium, we’ll move into the technical portion of the talk, where attendees will see easy it is to write Appium scripts using the WebDriver protocol in their favorite language, and integrate Appium tests into a CI system using Selenium Grid or Sauce Labs.
Finally, we’ll look at some concrete examples of how Appium has been used in a large project with 20 Android Apps at Swiss Post to dramatically improve mobile QA. Ultimately, the talk provides an argument for moving from manual QA to automated testing, an understanding of the mobile automation landscape, and a solid introduction to Appium, which leading projects and companies around the world have chosen as their mobile automation framework of choice.
This talk will help you understand how to convince your team of the benefits of DevOps. Packed with facts and figures this session will work through the common challenges that teams face when moving to a DevOps mode and outline how to address them.
See real examples of the benefits that result from using DevOps and Cloud technologies to create and deliver software solutions and hear about how those who are using DevOps successfully are benefiting.
This talk will show you how to balance evangelism against pragmatism when championing DevOps in your organisation. You’ll learn how others have made the transition to DevOps and understand what mistakes to avoid when doing so.
Whether you need to know how to be a DevOps evangelist or simply want to understand why DevOps is important – this talk is for you
Michael D. Ernst
This talk will explain why this happens and what you can do about it. We will present an approach to reasoning about threading, based on an effect system that estimates side effects (like a type system estimates values).
We will demo a new open-source tool that implements a GUI effect system in an unobtrusive way. This tool runs at compile time and guarantees the absence of these errors. It requires only a small number of annotations that mirror the documentation that programmers already write.
jOOQ is a dual-licensed Open Source product filling this gap. It implements SQL itself as an internal domain-specific language in Java, allowing for the typesafe construction and execution of SQL statements of arbitrary complexity. This includes nested selects, derived tables, joins, semi-joins, anti-joins, self-joins, aliasing, as well as many vendor-specific extensions such as stored procedures, arrays, user-defined types, recursive SQL, grouping sets, pivot tables, window functions and many other OLAP features. jOOQ also includes a source code generator allowing you to compile queries in modern IDEs such as Eclipse very efficiently.
jOOQ is a good choice in a Java application where SQL and the specific relational database are important. It is an alternative when JPA / Hibernate abstract too much, JDBC too little. It shows, how a modern domain-specific language can greatly increase developer productivity, internalising SQL into Java.
Change is finally coming. HTTP 2.0 should be complete by 2015, and with that comes the need for a new version of Servlet. It will embrace HTTP 2.0 and expose its key features to Java EE 8 applications. This session gives a peek into the progress of the Servlet spec and shares some ideas about how developers can take advantage of this exciting update to the world’s most successful application protocol on the world’s most popular programming language.
Max Rydahl Andersen
And all something that can be used together with OpenShift to deploy your business logic to the cloud.
All of this plus more I’ll cover plus outline how we have helped fix these issues in Eclipse and how we plan to continue improving this in the upcoming releases – hopefully with your help.
JetBrains MPS gives you that and more – textual and graphical languages, non-parseable and tabular notations, tight integration with Java and full IDE assistance on top of it – the ability to edit, debug, refactor, test and analyze your DSL code right inside a Java IDE. If you’re thinking of trying something new, this session is for you.
The big sensation in the .NET world these days is Xamarin. This independent firm is allowing developers to use .NET to create fully native apps on iOS and Android. These are not hybrid apps, but are compiled to binaries that are fully indistinguishable from Objective C, respectively Java applications on these platforms. They use native UI elements and create a familiar experience for the user.
With an appropriate architecture, Xamarin allows reusing a large portion of business code and even view code across the platforms, but it does not compromise on the native look and feel. In this session, we will also talk about Xamarin Forms, an extension of the framework allowing to even share UI code for simple apps like line of business or prototypes.
Laurent Bugnion is a very experienced speaker, .NET developer since 2001, working for one of the leading firms in Windows, XAML and C# development. He is also the author of the popular MVVM Light Toolkit, an open source library for Windows and Xamarin. He is very excited about showing how best practices can be used to build cross platform native apps and provide the best possible experience to your users.
How would you feel about an IDE that does exactly that: Recommending you only those proposals that are most likely for your task at hand. Imagine how much time you could save not browsing the API documentation to learn which methods to override or call, because you IDE would just tell you what others have done before? Or how much time did you spent on Google searching for code snippets showcasing how to use a framework’s class – and how much time would you have saved if your IDE could provide you these snippets in an arm’s length?
If that sounds unrealistic to you, then this talk is for you. In this session I’ll introduce you to Eclipse Code Recommenders and Codetrails Connect, a set of software development tools that leverage the wisdom of the software engineering crowd to find common patterns in code and how developers use their IDEs and reintegrate that gained knowledge back into your IDE in form of intelligent code completions, mined API documentation, crowdsourced code snippets and much more.
We will show you how 33 million code completion events, shared by thousands of software developers world-wide, create the probably smartest development environment of the world. Welcome to the Java Wonderland…
Unfortunately most of them only connect to their own proprietary backend, they usually do not interact with each other. But what if you need an action on one device to be triggered by a status change of an other device? Overarching automation logic is hardly possible in those setups – this is not really smart.
The Eclipse SmartHome project seeks to overcome the challenges of interoperability and introduces a highly flexible architecture perfectly tailored to the needs of developers. This talk gives an overview of the things that are relevant in a Smart Home and shows how Eclipse SmartHome allows the creation of a personal Intranet of Things. Be prepared to see geeky hardware in the live demo of this session!
Specifically, this talk will cover support for annotation-driven JMS listeners, JMS 2.0′s shared subscriptions, JCache (JSR-107) annotations, a compiler mode for the Spring Expression Language (SpEL), flexible resolution and transformation of static web resources, and Web MVC support for Groovy markup templates.
The presentation also provides an overview of Spring 4.1′s refinements in other areas, for example: Java 8′s Optional type for injection points, declarative MVC view resolution, Jackson’s JsonView, WebSocket scope, SockJS client support, declarative SQL scripts and programmatic transactions in the TestContext framework, integration testing with Groovy scripts, and more.
In this talk we will examine this particular architecture of a sub-system of Netcetera’s Wemlin portfolio, a conduit responsible for gathering real-time passenger information data from transport authorities enriching it and consequently delivering them to people’s phones as fast as possible. A data hub for real-time passenger information, in short, which we call Wemlin Hub.
The inspection of the broader context in which this sub-system operates in will uncover the key requirements on the basis of which the architectural decisions were being made. The carefully crafted restrictions and constraints eventually lead to greater freedom of change and recomposition in areas where this freedom is traditionally hard to win. We will see how this architecture allows us low cost zero-downtime system updates; graceful recovery from dependent on external system failures; horizontal and vertical scaling and most importantly, non-stop operation at low costs.
In the *live-coding-only* talk (no slides!) we’ll walk through some of the features of DI containers and see if we can replace (and improve!) them with pure, type-safe Scala code. We’ll start with “manual” DI, followed by using MacWire to generate the wiring code for us. This is an approach similar to Dagger; with one simple `wire` macro, we can save a lot of typing and still use only Scala language features for creating the object graph at runtime.
Having solved the basic problem, we’ll proceed other features of DI containers and web frameworks: scopes and interceptors. We’ll see how to implement an interceptor, and that it’s far easier than it may seem.
Finally, we’ll see what is a *“Thin Cake Pattern”*, and how to use traits to create and compose modules (similar to the module concept known from Guice, but better).
The talk starts with a summary of reasons why we ended in the present calamity, being actually ignored by industry for more than 10 years. After a brief description of the hands-on troubleshooting job on IP data, the underlying theory of “Traffic Mining” (TM) will be motivated by practical examples from encrypted IP traffic analysis. The talk concludes with the dangers of transferring necessary thought processes in TM to Artificial Intelligence. 20 minutes are not enough to cover the whole topic, so the talk can be seen as an appetizer for the TM Tranalyzer workshop on the following day.
There are several tools dedicated to automated installation and configuration. In this talk we focus on Ansible to confront the bottleneck in the working process.
We give a short introduction, discuss the goal of unified deployment in the continuous delivery environment and show how Ansible is employed in two different Linux environments.
Experience in software development, deployment processes and continuous delivery concepts are appreciated.
Jonathan Lipps, Matthias Junker
See how easy it is to create a scalable Java application that uses MongoDB, host a Play 2.0 solution or even deploy a php app. We’ll even show how you can create a Node.js application that will send text messages to your phone without writing any code and with just your browser.
Gain some of the practical knowledge you’ll need to help you understand the value of using PaaS based solutions in the future and learn how easy it is to develop and deploy an application to the Cloud!
This session will consist of practical demonstrations followed by a hands-on section for those that want to try out PaaS.
Prereqs for the hands-on section:
1 – a laptop with wifi connectivity
2 – Cloud Foundry command line tools installed see https://github.com/cloudfoundry/cli/releases/latest
3 – An account on a Cloud Foundry based PaaS. (The demonstrations will be using IBM’s BlueMix https://ace.ng.bluemix.net but are applicable to any Cloud Foundry based offering)
You’ll need very basic coding skills for this workshop, and please bring along a laptop (running any operating system) and a mobile phone running an up-to-date version of Android or iOS. Everything else, including Raspberry Pis and iBeacons, will be provided.
Adrian Heydecker, Marcel Kessler, Franco Ehrat, Bastiaan van Rooden
In 3 groups, we will go through the stages of User-Centered Product Development. The stages are:
- Innovation: What is it about?
- Consolidation: What is the core workflow of the idea?
- Testing: Is the idea working?
The focus is on “build the right it before building it right” by “failing fast” and understanding that technical feasibility is not sufficient for a successful product.
The workshop is presented by the SwissICT Expert Group User Experience (http://www.swissict.ch/expertenwissen/fachgruppen/user-experience/)
It is adressed to everybody who is willing to learn a bit more detail about IP traffic and the way of flow based TM. A linux laptop and working knowledge of command line bash is required, rudimentary knowledge of AWK and gnuplot is nice to have.
For the fellows who like to play with the beast before the workshop:
Download the opensource version Tranalyzer2-0.5.8 from http://sourceforge.net/projects/tranalyzer/ and extract it. The doc is under ~/tranalyzer2/trunk/doc.
Have tcpdump or wireshark, less, GAWK and gnuplot installed. graphviz might be useful too: http://www.graphviz.org/
- Short introduction to the most important IP protocols and header features
- Exercise: Tell me everything about THIS packet
- Introduction to Tranalyzer
- Philosophy, configuration and compilation ops
- Most important plugins including config constants
- Flows and global reports
- How to write your own plugin in C
- Handson exercises in groups or alone on several PCAPs
I’ll supply data on a memory stick.
Having setup the development environment on your laptop, we will jump into the features of the platform and learn how to use them for building amazing apps powered by SAP HANA. We will cover the basics of laying out a data-model, touch SAP HANA features such as analyzing unstructured data and learn how to build beautiful UIs using SAPUI5.
Please remember to bring your laptop to this 3.5 hours hands-on enablement session .