continuous delivery ready? - jaxenter workflow how to move from ci to cd with jenkins workflow...

32
The digital magazine for enterprise developers Issue April 2016 | presented by www.jaxenter.com #50 Jenkins Workflow How to move from CI to CD with Jenkins Workflow Eclipse Clean Sheet A fresh look for the Eclipse IDE Bitcoin’s road to redemption Interview with Coin Academy co-founder Stephen DeMeulenaere ©istockphoto.com/traffic_analyzer. Continuous Delivery ready? Are you

Upload: doanphuc

Post on 11-Mar-2018

223 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Continuous Delivery ready? - JAXenter Workflow How to move from CI to CD with Jenkins Workflow Eclipse Clean Sheet A fresh look for the Eclipse IDE ... Are you Continuous Delivery

The digital magazine for enterprise developers

Issue April 2016 | presented by www.jaxenter.com #50

Jenkins WorkflowHow to move from CI to CD with Jenkins Workflow

Eclipse Clean SheetA fresh look for the Eclipse IDE

Bitcoin’s road to redemption Interview with Coin Academy co-founder Stephen DeMeulenaere

©istock

pho

to.com/traffic_

analyz

er.

Continuous Delivery

ready?Are you

Page 2: Continuous Delivery ready? - JAXenter Workflow How to move from CI to CD with Jenkins Workflow Eclipse Clean Sheet A fresh look for the Eclipse IDE ... Are you Continuous Delivery

Editorial

www.JAXenter.com | April 2016 2

Make no mistake, it’s been a pretty busy spring. Meteor unleashed its 1.3 version on us, Ethereum skyrocketed and managed to go where no blockchain platform has gone – that is near Bitcoin –, and we have the list with this year’s most important big data trends.

Our conference duo, JAX Finance and JAX DevOps, is almost upon us; during this year’s conference, all eyes will be on the finance industry and its ‘make it or break it’ moment as the FinTech movement continues to overshadow its reign. But that doesn’t mean JAX DevOps is lagging behind – this three-day conference features in-depth knowledge of the latest technologies and methodologies to ensure that software pros are up-to-date with everything they need to make their businesses shine.

This issue takes you on a journey to the land of Jenkins, Clean Sheet, Profiles for Eclipse, and gets you back in time for a lesson about analyzing overlooked test data and the inevitable transformation of computer infrastructure.

Code Affine’s Frank Appel goes into detail about the ergonomics of Eclipse theme Clean Sheet while CloudBees’ Senior Solution Architects Nigel Harniman and Bernhard Cygan teach you how to check whether you are ready to embark on your Continuous Delivery journey or not and how to move from Continuous Integration to Continuous Delivery with Jenkins Workflow. Dreamix fellow Stoyan Mitov shares his experience as a Java course participant and Mush Honda, Vice President of Testing at KMS Technology, offers you some tips to analyze the overlooked test data. You can learn from Yatta’s Frederic Ebelshäuser and Sophie Hollmann how to use Profiles for Eclipse to make your life easier and discover from Stephen DeMeulenaere, co-founder of Coin Academy, exclusive details about the direction of Bitcoin, Ethereum and blockchain.

I invite you to go through the magazine and discover all the gems that were not mentioned here.

Gabriela Motroc, Editor

Spring brings showers of news.

Are you Continuous Delivery ready? 4 How to know if you are ready to embark on your CD journeyNigel Harniman

How to move from CI to CD with 6Jenkins Workflow Continuous Delivery. Everyone says you should be doing it, but how can you go about it?Bernhard Cygan

How to increase business operations 9 efficiency with managed IT servicesHybrid approach to IT makes good business sense David Eichkorn

Bitcoin’s road to redemption: 11The future is now Interview Stephen DeMeulenaere

Column: [Bit]coin flipping 15 Ethereum vs Bitcoin – double the trouble?Gabriela Motroc

From zero to one in Java learning 16Sneak peek at what it’s like to attend online Java courses Stoyan Mitov

The ergonomics of “clean sheet” 18A fresh and eye-friendly look for the Eclipse IDE Frank Appel

Quick-starting new projects 23with EclipseProvisioning and distribution for teams Frederic Ebelshäuser and Sophie Hollmann

Getting to know Meteor 1.3 26a little betterInterview Matt DeBergalis

Five most important big data 28trends in 2016Brace for the biggest change in the enterprise IT landscape John Schroeder

Why computing infrastructure 29must changeThe importance of speed and storage Zigmars Rasscevskis

Tips for analyzing the overlooked 31test dataAnalyzing how effective your testing efforts are, and working to improve processes Mush Honda

Inde

x

Page 3: Continuous Delivery ready? - JAXenter Workflow How to move from CI to CD with Jenkins Workflow Eclipse Clean Sheet A fresh look for the Eclipse IDE ... Are you Continuous Delivery

www.JAXenter.com | April 2016 3

Jenkins tops the chartsJAXenter’s latest survey unearthed a pretty interesting fact: people are gen-uinely interested in working with Jen-kins this year. Yes, you heard it right. It appears that 47 percent of our re-spondents (out of roughly 1,000) are very interested in Jenkins in 2016 and 31 percent are willing to give it a shot. That means we have a winner! Nearly 80 percent of IT pros have vowed to focus on Jenkins. Oh yes – there s CruiseControl, TeamCity and Travis CI, too, but let’s not get off topic here.

JavaFX alive and kickingJavaFX is very much alive – the proof is in the twenty JavaFX real-world applica-tions thoroughly explained by software developer Alexander Casall and Dirk Lem-mermann, Senior Java SE/EE software en-gineer. Did you know that JavaFX is used in hospitals, finance, even TV? Emirates Airline, one of the world’s biggest airlines, has selected JavaFX as the client technol-ogy for their new application “Network Capacity Optimization”, which allows the Network Planning Department to inte-grate a bunch of requests into the existing flight schedule. It’s official: JavaFX does not need our compassion  – it’s in outer space now, deeply involved in projects which may change the course of history (dramatic exaggeration in good faith).

Emojicode. Enough said.Some programmers tend to recycle pro-gramming languages simply because they feel at ease with the languages they master. Caution: The follow-ing programming language may cause dependence! Emojicode is a harmless programming language which allows users to build fast cross-platform ap-plications. It is a static, strongly typed programming language which became an overnight hit after people became obsessed with coding with emojis. Wondering what’s Emojicode’s goal? To become the first high-level pro-gramming language which uses emojis to structure the program and its flow.

npm fiasco and the tale of 11 JavaScript lines of codeMarch was a rough month for npm after one developer unpublished a package that Java-Script projects use to install dependencies, including left-pad, a now-infamous 11-line npm package which has been downloaded 575,000 times. Suffice to say that those 11 lines of code caused a meltdown; thousands of projects were affected, people started screaming at their monitors and throwing shade at all the actors involved in this gigantic fiasco. Yes, there is a moral and yes, a quote from Alice’s Adventures in Wonderland author Lewis Carroll is needed: “Every story has a moral you just need to be clever enough to find it”. What have we learned from the npm drama? That we’ve just become lazy.

April Fools’ Day prank gone wrong: Gmail Mic DropI’m looking at you, Google! April Fools’ Day is supposed to be all about fake, yet harmless news and releases, but Google went a step further and ruined people’s lives as they unwill-ingly attached the gif of a Despicable Me minion dressed as the queen dropping a micro-phone to important emails. The ‘Send + Mic Drop’ button had another twist but nobody complained about the inconvenience of losing contact with their emails’ recipients. This prank calls for a minion mic drop gif.

This is what IT pros want to focus on in 2016 (JAXenter survey)

Page 4: Continuous Delivery ready? - JAXenter Workflow How to move from CI to CD with Jenkins Workflow Eclipse Clean Sheet A fresh look for the Eclipse IDE ... Are you Continuous Delivery

ContinuousDelivery

www.JAXenter.com | April 2016 4

by Nigel Harniman

As a cynic I could say CD is all the rage, and a lot of execs and management have heard of it … But seriously … Are you being asked to do it by upper management so it’s a tick in the box to show you are meeting your objectives, or something you passionately believe in? Ultimately the aim is to achieve a business goal such as improving quality, release frequency, time to market for new features, or saving cost.

If the latter is your aim, note that a greenfield pipeline is likely to reduce costs on the first major release. However, if you are working with a legacy pipeline, you will experience a cost “hump” to retrofit the techniques. Whichever applies to the project you have in mind, if you can do it faster, with less re-work due to defects, you will end up saving costs in

the long run. You’ll also remove waste – building the right features and saving valuable ... hours.

What does success look like?Be realistic. If you are greenfield, then setting a goal which you can deploy to a production-like environment by the end of each sprint is sensible. At a stretch you might choose to deploy on every commit that passes all tests.

If you have a legacy development cycle with nine-month re-lease cycles today, even shortening to monthly releases would be an aggressive target.

Pick an appropriate projectStart by recognising the differences between a project (the funding) and the product (the set of features delivered by

How to know if you are ready to embark on your CD journey

Are you Continuous Delivery ready?

I’m sure by now everyone reading this has heard a great deal about Continuous Delivery, which I’ll refer to as CD from here on. In short, you do it to accelerate the process of software deliv-ery – which means you can see the value of coding more quickly.

©is

tock

phot

o.co

m/V

arija

nta

Page 5: Continuous Delivery ready? - JAXenter Workflow How to move from CI to CD with Jenkins Workflow Eclipse Clean Sheet A fresh look for the Eclipse IDE ... Are you Continuous Delivery

ContinuousDelivery

www.JAXenter.com | April 2016 5

a technology implementation – i. e. an app, system, service etc.). Remember you don’t do CD on funding – you do it on the system so it’s not going to come flooding in!

You may want to achieve CD across the board, but if this is new to you, then choose a suitable system and focus the efforts on implementing the techniques outlined. The ideal system will be:

•A relatively small and self-contained system. Dealing with external interfaces and dependencies from teams that are not practicing CD requires isolation strategies (i. e. service virtualisation).

•Not under demanding time pressures.•Likely to have many iterations of its features – it is not a

“one size fits all”.•Ideally greenfield – it’s easier to start on the right foot. If

the project is legacy, it has existing automated test packs at the unit, integration and functional levels.

Evaluate the current situationIt helps to look through the lens of people, process and finally technology:

•People: Does your team have the skills, or need coach-ing? Do you have the right culture – creating tests appears slower initially, so the temptation is to skip creating them.

•Process: Are you already following an iterative develop-ment model? Agile?

•Technology: Do we have the hardware/software/tools we need?

There are established maturity models to help you make an in-formed judgement about where you are now, and also where you might want to go next. It’s also taking a look around your organisation or conferences (blogs too) – what are other people doing? This will help you recognise your own pain points and bottlenecks.

Create the backlogCD really demands you have adopted agile techniques and using a methodology that delivers iteratively – such as Scrum or Kanban. The latter is more suited to Continuous Deploy-ment – i. e. each successful commit gets deployed into produc-tion automatically.

For each of the areas in the maturity model, identify the gap between where you are now and the minimum level needed to support CD.

To start with CD, what do you need to do to get to Interme-diate level (i. e. you build on every commit)?

You need to get to the advanced stage to deploy. This is where CI really becomes CD, and where dev becomes what you might call “DevOps” because your collective team needs to automate the deployment of the full stack, not just applica-tion code.

This definitely includes data tiers (i. e. schema changes/ref-erence data) and ideally networking elements utilising Soft-ware Defined Networking (SDN). But if not, at least cover the items that have to change on each deployment

If you are in the cloud, then it is often easier to automate everything with templates – such as CloudFormation tem-plates – due to its ephemeral nature. Automating deployment is essential to make the pipeline repeatable, and it’s where you need to spend time creating a robust pipeline.

This is also where tool selection becomes important, be-cause you need to be able to model these pipelines. This is more that just a simple job that runs maven package and pub-lishes the artifact to a repository. The key about the pipeline is that it needs to automate all the technical steps – human effort should be limited to applying judgement – i. e reviewing test results, deploying into production. Only then are you ready to embark on your CD journey.

Continuous Delivery really demands you have adopted agile techniques like Scrum or Kanban.

Nigel Harniman is a Senior Solution Architect at CloudBees. He believes that adopting Continuous Delivery is the best way for application delivery to be successful and that to achieve this the pipeline must be automated. Prior to CloudBees he has held a number of development and architec-ture roles across both software and infrastructure. He has been helping

teams improve their agility through leading the implementation of automated infra-structure and deployment solutions since 2006.

Page 6: Continuous Delivery ready? - JAXenter Workflow How to move from CI to CD with Jenkins Workflow Eclipse Clean Sheet A fresh look for the Eclipse IDE ... Are you Continuous Delivery

ContinuousDelivery

www.JAXenter.com | April 2016 6

by Bernhard Cygan

Continuous Integration (CI) is the practice of merging all de-veloper working copies with a shared mainline several times a day. This helps developers to get faster feedback when their code broke something, and it would look something like this (Figure 1).

Meanwhile, Continuous Delivery (CD) helps all teams in-volved in software delivery keep producing valuable software in short cycles, and makes sure that the software can be reli-ably released at any time.

This gives developers feedback when their code breaks one of the integration tests. What makes it fundamentally differ-ent from CI is that rather than just validating code, it prepares the application for deployment in the real world – and that means addressing the operating environment, and even how user behaviour might affect the application.

There’s some misconceptions out there – so it’s important to stress that the decision whether and when to deploy pro-duction is not automated, although a fully automated process could be triggered manually if desired.

Continuous Deployment (Figure  2) is a DevOps practice where artifacts are deployed automatically to various stages of a build pipeline. When all stages are performing satisfactorily, the software is finally pushed into production. This will be right for some teams and not so right for others. If an automated test on a production-like environment passes, the automated approv-als for generated artifacts would ultimately lead to the software being deployed to production without human intervention. It’s just like Continuous Delivery, but automated all the way.

So what’s the added value of using CD over CI?CI provided a framework for dev teams to divide and con-quer, but you still have “big bang” software releases. This

Continuous Delivery. Everyone says you should be doing it, but how can you go about it?

How to move from CI to CD with Jenkins Workflow

I learned the hard way building PaaS and SaaS frameworks, and perhaps there is no easy way, but here are some tips on how you can move beyond CI to CD by taking advantage of Jenkins Workflow.

©is

tock

phot

o.co

m/j

uris

am

Page 7: Continuous Delivery ready? - JAXenter Workflow How to move from CI to CD with Jenkins Workflow Eclipse Clean Sheet A fresh look for the Eclipse IDE ... Are you Continuous Delivery

ContinuousDelivery

www.JAXenter.com | April 2016 7

means that, as a developer, the features you are working on may not be implemented for some time so they can’t deliver value to the user. Likewise, you don’t get timely user feedback because the cycle time is “drawn out”.

By extending CI into CD, new features can be introduced faster to market. This is achieved by making much smaller in-cremental changes to software, and these incremental changes with measured feedback – it also makes it easy to change or revert when things don’t go as planned!

All tests are repeated every time before something is propa-gated to the next stage, which results in higher overall quality. Those quality gates get inserted at various pipeline stages to ensure that non-functional (and business) requirements are also met. CD applies the same software principles as CI, and provides traceability for artifacts (who did what when?) from source code to the delivery of software.

Try itEnough evangelising about it – how’s it done? Let’s start with a typical CI pipeline for Java using Maven. A typical pipeline would look something like this:

•maven compile – compile the source code•maven test – do unit tests•maven package – package compiled code into a jar file

•maven install – add artifacts to your local repository•maven deploy – add artifacts to a remote repository•(That’s probably all done in one build job)•upload WAR file to test system•execute tests•tests are green – DONE!

Are we really done?At this point, we have an application that can be validated and tested. In essence we do mvn deploy and some kind of upload of a war file to an application container for testing purposes. This usually will be taken care of by two Jenkins jobs (Figure 3).

However, before any software can be released we need to consider what it will take to deploy it, the environment, and how it will be used:

•What about variations of the runtime environment? (Linux/Windows, Tomcat/Jetty/WebSphere, MySQL/DB/2/Microsoft SQL Server)

•What about load tests? “We do them manually before every release”

•What about performance regressions? “We click-test be-fore every release”

•What about scalability? “It was fine for the last release”

Figure 2: Continuous Deployment explained

Figure 1: Continuous In-tegration (CI) explained

Page 8: Continuous Delivery ready? - JAXenter Workflow How to move from CI to CD with Jenkins Workflow Eclipse Clean Sheet A fresh look for the Eclipse IDE ... Are you Continuous Delivery

ContinuousDelivery

www.JAXenter.com | April 2016 8

If I define a CD pipeline, the main thing I’m trying to do is to increase confidence from left to right. Is your deployment tar-get a clean install, an upgraded system, which patch versions etc.? The CD mantra is “automate everything” so we need to build in tests, and also consider strategies such as Docker containerisation for dealing with changes to the target envi-ronment.

Databases can introduce complexity – what if you are de-ploying to several databases, rather than a single database. How do you avoid issues?

You need to build test cases that are relevant to your ap-plication. I won’t delve too deeply into automated testing, but needless to say that considering each of the points above will increase the confidence you have that the software is fit for the operating environment.

How can we improve and start doing CD?The good news is that creating a CD pipeline with Jenkins DSL is not painful! With just a couple of lines you can start to automate the CD process:Convert the two CI jobs into one Workflow job

Figure 4: Your basic CD pipeline

<code> show workflow definition #1 snippet </code>

Move the tests to Docker-Containers, so we can have the ba-sic integration tests in parallel

<code> show workflow definition #2 </code>

When those tests are green, use additional load tests as a qual-ity gate

<code> show workflow definition #3 </code>

Stages in the workflow job

•compile•integration tests•quality gateway load tests with a typical environment•quality gateway load tests with all required environments•when all quality gates are passed, push changes into pro-

duction<code> show workflow definition #4 </code>

What’s next? Why not take a clone of your CI pipeline (Fig-ure 4) and give it a try? If you need to talk to operations, then it’s all the better – the closer you work with the Ops team, the sooner you can start making the mistakes from which you build your CD pipeline!

Figure 3: CI pipeline

Bernhard Cygan is a Senior Solution Architect at CloudBees. Coming from prior experience in Dev as well as Ops he learned to appreciate agile methods and processes. He is working with software technology used by enterprises and is a regular speaker at conferences and workshops about Jenkins as well as agile best practises. For him, going from Continuous

Integration to Continuous Delivery is the next logical step for professionalism in soft-ware development.

Page 9: Continuous Delivery ready? - JAXenter Workflow How to move from CI to CD with Jenkins Workflow Eclipse Clean Sheet A fresh look for the Eclipse IDE ... Are you Continuous Delivery

Business

www.JAXenter.com | April 2016 9

by David Eichkorn

If your business has an in-house IT staff, you may think that working with a managed service provider (MSP) for IT ser-vices is unnecessary. However, the reality is that a hybrid ap-proach to IT – with both in-house and MSP providers – may make good business sense.

Managed service providers let your team focus on strategic tasksIn an effort to free their in-house IT staff to focus on issues that are mission-critical, many businesses turn to MSPs to provide ongoing assistance with a specific aspect of their busi-

ness’s technology function. For example, while the in-house IT team tackles strategic technology planning or an initiative to move your business to the cloud, the MSP may be simulta-neously handling something like network monitoring, or Web and email hosting.

By offloading the responsibility for these types of tasks to an MSP, your IT team can focus its efforts in areas that have the biggest impact on your bottom line – without having to jeopardize performance or uptime.

Managed service providers offer greater expertiseThink for a moment about the security of your business net-work and data. Which team is better equipped to handle

Hybrid approach to IT makes good business sense

How to increase business operations efficiency with managed IT services

Using an MSP to augment your in-house IT staff can be a great way to increase the efficiency of your business’s operations. Yet just how can a managed service provider help your business run more smoothly? Let’s take a closer look.

©is

tock

phot

o.co

m/A

skol

dRom

anov

Page 10: Continuous Delivery ready? - JAXenter Workflow How to move from CI to CD with Jenkins Workflow Eclipse Clean Sheet A fresh look for the Eclipse IDE ... Are you Continuous Delivery

Business

www.JAXenter.com | April 2016 10

that security – your IT team that is already stretched thin with a variety of strategic initiatives and day-to-day tasks, or a team whose sole focus is to gather intel on the latest security flaws and implement solutions? If you’re like most folks, you’d want the highly trained expert who spends his/her day poring over security alerts to oversee your security needs, rather than the IT employee who is fantastic in his/her own right, but due to workload and department pri-orities hasn’t had the time to read a security alert in three months.

Because MSPs typically focus on one particular aspect of technology, one can expect that he/she would be better equipped to identify and resolve issues than his/her in-house counterparts, whose attention is drawn to any number of dis-parate tasks. MSP professionals receive ongoing training in their area of focus, bringing with them a level of expertise much higher than your average IT staffer.

Managed service providers create continuityWhat happens if your network crashes on the exact day your in-house “network person” leaves for his/her honeymoon in Bora Bora? If you rely solely on your in-house IT staff to tackle network issues, the person who is the second best at networking tasks may be asked to step in – and your business will certainly suffer from decreased productivity and missed opportunities as a result.

Managed service providers have any number of highly skilled employees working on any one client’s account. If your network crashes and one of your MSP techs is out of the office, one of his/her expertly trained colleagues will step in and solve the problem. Instead of being left in the lurch if your employee takes a sick day or leaves for a more lucrative job, you’ll be able to continue business as usual.

Managed service providers complement existing IT effortsWhen used wisely, managed service providers serve as a complement to your in-house IT team. By taking the onus for tedious (but necessary) tasks like network monitoring off your IT team’s plate, they’ll be able to focus on more strate-gic initiatives. Additionally, MSPs provide more specialized knowledge than is typically available on staff, and their busi-ness model creates continuity in your business operations. If you’re interested in increasing efficiency within your organi-zation, delegating certain IT tasks to an MSP may be your smartest move.

David Eichkorn, Senior Business Analyst and CIO of Gordon Flesch Com-pany, has had the opportunity to work directly with various upper level management teams to implement technology needs to executives all over the world. His focus and key skills lie in representing technology to busi-ness owners and managers in a way that allows technology to be the driv-

ing factor in how an organization accomplishes its business goals.

References

[1] http://www.cio.com/article/2930498/it-strategy/why-businesses-are-turning-to-managed-it-services.html

[2] http://www.sbnonline.com/article/how-to-maximize-the-benefits-of-an-it-managed-services-provider/

When used wisely, managed service providers serve as a complement to your in-house IT team.

Page 11: Continuous Delivery ready? - JAXenter Workflow How to move from CI to CD with Jenkins Workflow Eclipse Clean Sheet A fresh look for the Eclipse IDE ... Are you Continuous Delivery

Interview

www.JAXenter.com | April 2016 11

The discussion about cryptocurrencies is nowhere near over. On the contrary – the changes that have occurred in the last few months have shaped Bitcoin into a strong digital currency which can withstand the test of time and the success of other fellow cryptocurrencies.

Although Bitcoin and blockchain, the database of every Bitcoin transaction in the cryptocurrency’s network, walked hand in hand at first, the roles are shifting. We are talking to Stephen DeMeulenaere, the co-founder of Coin Academy, the first digital currency education platform, about the future of Bitcoin and blockchain and how cryptocurrencies have a role to play in the FinTech movement.

JAX Magazine: Mr DeMeulenaere, you are the co-founder of Coin Academy. What is Coin Academy and how did you come up with this idea?Stephen DeMeulenaere: We noticed that some courses, such as the University of Nicosia’s MOOC, were designed for peo-ple who already had a high level of understanding and cov-ered all the details. We didn’t see a course that focused on what people needed to learn to start using digital currency in a safe way.

Ric Shreves, (the other co-founder) and I both have a back-ground in education, and I have been actively involved the currency movement’s community in the past two decades, so we produced several courses and curated some more.

JAXmag: Do you agree with the following statement: Bitcoin represents the marriage between Wall Street and Silicon Valley?DeMeulenaere: I don’t agree at all! Wall Street promotes a completely different philosophy of economy and money than Bitcoin does. Some people would like Bitcoin to join Wall Street, but others think that is a bad idea. Most people want it to go in a very different direction. Bitcoin started as a re-sponse to the situation that caused the 2008 financial crisis.

Silicon Valley had a big role to play in Bitcoin’s develop-ment, but so have developers in many places around the world.

JAXmag: You say that Bitcoin started as a response to the situation that caused the 2008 financial crisis. In the event of another financial crisis how will Bitcoin help preserve our stability?DeMeulenaere: The normal response would be to say that platforms like Bitcoin can provide a safe place for money to be stored, like gold, until a better solution is found or the economy returns to normal. However, given that the US Fed-eral Reserve has almost no reserves to deal with another cri-sis, even a smaller crisis than 2008 could potentially put the US dollar-based international monetary system in the grave.

In such a case, Bitcoin could be used, along with other stores of value, to reconstruct a monetary system with a new

Portrait

Stephen DeMeulenaere is one of the founders of Coin Academy. He he curates a number of collections and also creates original Coin Academy courses. Stephen has 25 years of experience in complementary currency, sharing economy and local currency systems in North America, Latin America, Europe, Africa and the Asia-Pacific region, and is considered to have one of the broadest experiences in the entire field. In 1995 he founded the Comple-mentary Currency Resource Center as a place for new currency researchers, practitioners and promoters to gather, learn, share concepts and collaborate. He knows that a sustainable future is only possible with a sustainable monetary system, and that ano-ther world is possible. Stephen is a long time Asia expat who cur-rently resides with his wife in Bali, Indonesia. He speaks frequently at currency and economic events around the world.

Bitcoin’s road to redemption: The future is now

Stephen DeMeulenaere, the co-founder of Coin Academy, the first digital currency education platform, signals that the future of cryptocurrencies is bright and that Bitcoin will continue to grow. Plus, this digital currency could turn out to be a safe haven for our money in case of a new financial collapse.

Page 12: Continuous Delivery ready? - JAXenter Workflow How to move from CI to CD with Jenkins Workflow Eclipse Clean Sheet A fresh look for the Eclipse IDE ... Are you Continuous Delivery

Interview

www.JAXenter.com | April 2016 12

medium of exchange and method of issuance. I believe that Mutual Credit, a type of network economy monetary system which allows members to issue their own credit and accept the credit of others as the basis for issuing money into an economy is a sound foundation for a monetary system. There are several thousand examples of this type of monetary sys-tem in use today, and the WIR Bank in Switzerland is one example.

JAXmag: Could Bitcoin be our safety net? In what way?DeMeulenaere: Like gold, we can protect our savings in Bit-coin. If a crisis of any size happens, we can be sure that the price of Bitcoin will rise.

JAXmag: What would regulation mean for digital currencies? How would this impact the FinTech movement?DeMeulenaere: Regulation is happening as fast, or as slow as it takes regulators to understand what it is, and regulations

are being negotiated in a very different way than usual. The case of regulation in New York is a good example – it drove many businesses to leave the state and look elsewhere, like London, Singapore or Amsterdam which have more advanta-geous regulations. ‘Regulatory Arbitrage’ is forcing regulators to take a market-oriented approach to creating regulations, now that they realize the impact it can have on the market.

JAXmag: Since founding Coin Academy you’ve probably come across many reactions regarding cryptocurrencies. Are people willing to give digital money a shot or is it bound to fail?DeMeulenaere: Cryptocurrencies are still in their infancy and still most attractive to people with a technical background or a strong need to convert national currency into something that is more mobile. There is still a long way to go and making acquiring, securing and spending digital currency a seamless experience will not be done overnight.

That being said, Bitcoin has already reached the capacity limits of its first phase, so it’s already an overwhelming suc-cess. The threat of failure is what determines so many people to work hard to prevent that scenario from happening.

JAXmag: You mentioned that the threat of failure is the en-gine that drives people to work hard and prevent digital cur-rencies from going downhill. What are those precautionary

measures? What do people do to prevent cryptocurrencies from drowning?DeMeulenaere: The Bitcoin system, as we have seen, is rather centralized. The system depends on miners’ decisions (more than any other group), and this has caused problems within the group of core programmers. Despite this, efforts are being made to keep the channels of communication open so that the best solution can be found.

In the end, everyone with a stake in Bitcoin wants it to suc-ceed, and that is this cryptocurrency’s strength. The consen-sus model is keeping the platform strong while discussions about how to improve it continue.

JAXmag: More and more traditional banks are embracing blockchain’s potential – but they seem to have excluded Bit-coin from this equation. Will blockchain outgrow Bitcoin?DeMeulenaere: Yes, it certainly will. There will be a place for Bitcoin for many years to come, and it is by far the strongest blockchain. However, it is natural for new blockchain plat-forms to be created, like Ethereum, which have the potential to be orders of magnitude larger, faster, more efficient and handle many more types of data than Bitcoin was designed to handle.

JAXmag: Where do you see Bitcoin in two years? How about other cryptocurrencies?DeMeulenaere: Bitcoin will be in its next phase as a result of continuous technical improvements and improved collective governance. Distributed collective intelligence works, and the challenges the system has been experiencing lately are teach-ing valuable lessons about how we can eventually change how we govern ourselves in many other ways.

Ethereum, the No. 2 cryptocurrency recently passed 1 bil-lion USD in market capitalization. They and other cryptocur-rencies that fulfill important functions will continue to grow.

JAXmag: What is your take on Ethereum? Some people see it as the future Bitcoin in terms of success while others think its fame is short-lived. Which side are you one and why do you think Ethereum got so big, so fast?DeMeulenaere: I like Ethereum, and I like an even bigger pro-ject behind it called Ceptr, which can be found at ceptr.org. I also like Ripple, CryptoNote, Dash, NXT and BitSharesX. Each of these platforms is bringing something unique to the ecosystem.

I would bet against Ethereum’s fame being short-lived, and I’m sure there is a bet on that going on Augur or Bitmoose. Ethereum offers a lot of opportunities that haven’t even be-gun to be explored yet, so it is way too early to be discounting it. It’s also easy to be skeptical, just as about 99 percent of people who heard of Bitcoin in 2009 were. Skepticism is a good thing, we should not follow some trends blindly.

Intercommunicating blockchains are going to become the foundation for a distributed, internet ecosystem which cannot be centralized that will allow us to exchange a wide variety of forms of value that will make debt-issued national currencies obsolete. We’ve got more work to do to get there.

This interview was held by Gabriela Motroc.

“In the end, everyone with a stake in Bitcoin wants it to succeed.”

Page 13: Continuous Delivery ready? - JAXenter Workflow How to move from CI to CD with Jenkins Workflow Eclipse Clean Sheet A fresh look for the Eclipse IDE ... Are you Continuous Delivery

27 – 29 April, 2016 | Park Plaza Victoria LondonExpo: 27 – 28 April, 2016

The Conference for Technology in Finance

finance.jaxlondon.com

HIGH THROUGHPUT

HIGH PERFORMANCE INTEGRATION

CONTINUOUS DELIVERY

CORE JAVA / C++

BIG DATA

LOW LATENCY

Page 14: Continuous Delivery ready? - JAXenter Workflow How to move from CI to CD with Jenkins Workflow Eclipse Clean Sheet A fresh look for the Eclipse IDE ... Are you Continuous Delivery

Blockchain – Disruptive service or just another buzzword?

John Davies

27 – 29 April, 2016 I LondonExpo: 27 – 28 April, 2016

Workshop on Low Latency logging and replay

Peter Lawrey

Real-time APIs in FinTech: UX, Transparency, Dev

and DevOpsEric Horesnyi

Using Java Reflection to debug Performance

IssuesDr. Heinz Kabutz

Low Latency: When the OS gets in the way

Mark Price

Super fast workflows with Next Generation

EnginesDaniel Meyer

Building security into modern, high performance

API architecturesFederico Schwindt

Fast Data & Analytics – SQL, NoSQL, IMDGs, Hadoop,

Spark – What next?John Davies

finance.jaxlondon.com

CONFERENCE HIGHLIGHTS30% off

for groups

of 4 or

more

Keynote

Sessions

Workshop

Page 15: Continuous Delivery ready? - JAXenter Workflow How to move from CI to CD with Jenkins Workflow Eclipse Clean Sheet A fresh look for the Eclipse IDE ... Are you Continuous Delivery

Bitcoin

www.JAXenter.com | April 2016 15

Bitcoin remains the safest cryptocurrency out there, but Ethe-reum is coming from behind and has already managed to de-throne other digital currencies such as Litecoin and Ripple. Ethereum’s value has climbed 1,000 percent since the begin-ning of 2016.

The digital token of the Ethereum platform is gaining mo-mentum after its price increased to $12 from $1 within a short period of time, taking the value of all ether currency (the token unit of the Ethereum platform) to more than $1 billion. Although Bitcoin retains supremacy after it claimed over $6 billion in value this month, ether is now playing in the big leagues. As Joseph Bonneau, a computer science re-searcher at Stanford, told The New York Times recently, “Bitcoin is still probably the safest bet, but Ethereum is cer-tainly No.2”.

Ethereum has been a constant presence since the launch of the project in July 2015, but something triggered its colossal growth. Some people believe that the value of ether will con-tinue to increase, but cryptocurrency enthusiasts fear that the growth may not be sustainable yet. After every spike, ether went down again proving that it is still unstable.

What is Ethereum?Ethereum is a decentralized platform created by Vitalik Buterin, a 21-year-old Russian-Canadian programmer. What makes the platform the runs smart contracts – apps which run on a custom built blockchain – different from Bitcoin is the former’s promise to offer a way to develop online mar-kets and smart contracts (programmable transactions). For example, one application which is currently in development would allow farmers to put their products up for sale directly to consumers – they would also take payment straight from consumers. Some of the functioning applications that have already been built on Ethereum allow new ways to pay for sports bets, electricity and even Ponzi schemes.

According to the Ethereum project, ether is “the incentive ensuring that developers write quality applications (waste-ful code costs more), and that the network remains healthy (people are compensated for their contributed resources)”.

Developers who intend to build apps that will use the Ethere-um blockchain need this digital token, as well as users who wish to have access and interact with smart contracts on the Ethereum blockchain.

Pros and consThe New York Times cited Bitcoin advocates as saying that this cryptocurrency’s No.1 rival is likely to face more security problems than Bitcoin due to the bigger software complexity. Plus, the fact that Ponzi schemes can be written directly into the Ethereum system could also draw authori-ties’ attention.

Although Ethereum could face some of the same legal and technical problems that have affected Bitcoin, the silver lining is that some executives in corporate U.S. find it fascinating. In 2015, IBM announced that it was experimenting with this platform as a way to control real world objects in Internet of Things.

Microsoft is also trying to make it easier to use Ethereum on Azure. Marley Gray, a director of business development and strategy at Microsoft, told the American publication that the platform developed by Buterin allows users to “solve problems in many industries using a fairly elegant solution”. The downside is that several companies have already devel-oped their own Ethereum networks, which means that the value of an ether could decrease.

Forced success or determination?One thing that Ethereum and Bitcoin have in common is that they both became widely known after attracting a loyal and dedicated network of followers who support the soft-ware. In mid-March, 5,800 computers were helping support the Ethereum network worldwide, The New York Times revealed. Although the Bitcoin network had roughly 7,400 computers, these numbers could mean that the Ethereum net-work’s goal may be to increase the pool of followers and ulti-mately boost the price of this digital token.

Ethereum has nearly 30,000 followers on Twitter and more than 11,000 subscribers on its Reddit page.

Column: [Bit]coin flipping

Ethereum vs Bitcoin – double the trouble?

by Gabriela Motroc

Page 16: Continuous Delivery ready? - JAXenter Workflow How to move from CI to CD with Jenkins Workflow Eclipse Clean Sheet A fresh look for the Eclipse IDE ... Are you Continuous Delivery

Java

www.JAXenter.com | April 2016 16

by Stoyan Mitov

Being the person responsible for the business development department of Dreamix Ltd., an outsourcing software devel-opment, consultancy and support company, I decided to dive into the software development and resist the urge to ask my colleagues for help. First, I enrolled into a Java course (for beginners) at a Software University. It was really hard to at-tend classes as I had to spend four hours per lesson, two times a week in a physical location. I decided to continue but as a novice I didn’t understand most of what they were speaking about because the course was fast-paced and the content was not well explained. So after this experience I decided to try the online courses. After three months, I became convinced that this is the way to learn Java (the introductory part at least). These courses are either free of charge or cost a lot less than the normal ones. Plus, one can attend these online classes while working a full-time job and concentrate and progress at their own pace.

Anyone can google ‘Java for beginners’ and dozens of on-line courses will appear. The question is how to choose the right one once you know your budget. I went to four Java courses for beginners that were either free or did not cost that much. Here is what matters when you enroll in a Java (for beginners) course:

1. Content:•Whether the course includes everything related to Java

or just some part of it.• Is the content up-to-date?• Is the content interactive or boring? Are there also vid-

eos or plain text?•Are there exercises that help you remember what you’ve

learned?2. Support – If (all) your questions receive an answer. 3. IDE – Maybe you think it’s strange to mention this but

you will soon understand how annoying it is for a novice

to constantly change the IDE especially when the chosen IDE is not a popular one like Eclipse or IntelliJ IDEA.

After sharing my expectations, here is what happened during the courses I attended:

1. Intro into Java at txtLearn.com – one of the best free courses. Unfortunately, the site is no longer available but you can still see the videos.

Pros:•Content was up-to-date• It teaches you about Java but also about how a com-

puter works, which is fundamental of you wish to un-derstand software engineering

• Interactive content – included videos and text•Great exercises that challenge you to really think and

help you remember what you learned• IDE used is Eclipse•Good support – My questions always received an an-

swer in maximum 24 hours •Free of charge

Cons:•HashMaps were missing from the content•No certificate at the end of the course

2. Introduction to Programming with Java – Part 1: Starting to Code with Java by Universidad Carlos III de Madrid through edX (Figure 1).

Pros:•Very interactive content with videos explaining every-

thing well•Many exercises•Nice support – the students and the authors replied in

maximum 24 hours

Sneak peek at what it’s like to attend online Java courses

From zero to one in Java learning Attending Java courses (for beginners) is a good idea if you want to know more about it. However, be-fore you enroll into such a course, you should see the pros and cons of three online Java courses for beginners.

Page 17: Continuous Delivery ready? - JAXenter Workflow How to move from CI to CD with Jenkins Workflow Eclipse Clean Sheet A fresh look for the Eclipse IDE ... Are you Continuous Delivery

Java

www.JAXenter.com | April 2016 17

•Certificate at the end of the course•Free option to enroll

Cons:• IDE used is one that you will never use anywhere else•Content is segmented in parts. I am currently waiting

for the second course

3. Java Programming: Arrays, Lists, and Structured Data by Duke University in Coursera.

Figure 1: Certificate from Universidad Carlos III de Madrid

Pros:• It helps you understand how Arrays, Lists and Hash-

Maps work•The content was interactive and well explained•Many exercises•Puts pressure on you to keep up with the schedule•Free of charge

Cons:• IDEA used was BlueJ•The biggest MINUS was the support. I didn’t get a

response from the content creators about one of the exercises so I decided to drop out (could be because I chose the unpaid option)

•Discussion forums were not as active as they should have been

•The final exercises were not evaluated because I chose the unpaid option

•No certificate for those who did not pay for the course•Expensive – 70 euros if you wanted to attend the ver-

sion that offered a diploma at the end of it

Workshop on Low Latency log-ging and replay(finance.jaxlondon.com/session/workshop-on-low-latency-log-ging-and-replay/)

Join this workshop for begin-ners to advanced developers on how to write and read data efficiently in Java! You will have

the chance to find out how the JVM really uses memory, how to set up a simple Maven project, use modules from Maven central and assemble a Maven build, how memory mapped files work on both Windows and Linux and how to write and read data to a Chronicle Queue. Additionally, you will hear about Unsafe and how it works and you will learn how to design a system with low latency persisted IPC.

Do you want to learn to write and read data efficiently in Java? Let Peter Lawrey be your guide at JAX Finance! 27 – 29 April, 2016 I London

Expo: 27 – 28 April, 2016

finance.jaxlondon.com

Stoyan Mitov is a co-founder of Grajdanite.bg (#1 App at the Apple Store Bulgaria) and a fellow at Dreamix Ltd. He is an entrepreneur with exper-tise in product development and community building who is working closely with startups from the Silicon Valley and Europe. Graduated from Draper University and the American University in Bulgaria.

Page 18: Continuous Delivery ready? - JAXenter Workflow How to move from CI to CD with Jenkins Workflow Eclipse Clean Sheet A fresh look for the Eclipse IDE ... Are you Continuous Delivery

Eclipse

www.JAXenter.com | April 2016 18

by Frank Appel

Before immersing into Clean Sheet specific design features let’s approach the topic by means of some basic considera-tions about the purpose of ergonomics. It is common knowl-edge that poor workplace design causes fatigue, frustration, postural defects and worse. The impact of inadequate work-ing conditions can result in short-term distress or even long-term injuries. Hence, ergonomic principles explain how to design user interaction with equipment and workplaces to fit the user.

“Ergonomics is the scientific discipline concerned with the understanding of interactions among humans and other el-ements of a system, and the profession that applies theory,

principles, data and methods to design in order to optimize human well-being and overall system performance” [1].

The importance of legibilityHowever, ergonomic design is not restricted to physical con-ditions such as the sitting position. Soft Ergonomics, a sub-discipline, is “the study of designing virtual interfaces that cater towards the wellness of the human body, its emotional and cognitive abilities” [2].

Cognitive ergonomics focuses on mental processes like per-ception, for instance. In their book An Introduction to Hu-man Factors Engineering, Christopher Wickens et al. define thirteen principles of display design. The first (perceptual) principle demands to make displays legible. This is because

A fresh and eye-friendly look for the Eclipse IDE

The ergonomics of “clean sheet” With the latest version of Clean Sheet, the ergonomic design for the Eclipse Java IDE is now also available for Mac OS X users. It strives to lessen visual fatigue and eyestrain, focuses on readability, and is based on a clean and low glare look and feel. But what exactly distinguishes the UI Theme with respect to ergonomics from conventional alternatives?

©istockphoto.com/mattjeacock

©istockphoto.com/Spectral-Design

Page 19: Continuous Delivery ready? - JAXenter Workflow How to move from CI to CD with Jenkins Workflow Eclipse Clean Sheet A fresh look for the Eclipse IDE ... Are you Continuous Delivery

Eclipse

www.JAXenter.com | April 2016 19

“legibility is critical and necessary for designing a usable dis-play. If the characters being displayed cannot be discernible, then the operator cannot effectively make use of them” [3].

Furthermore, soft ergonomics claims that a “system should preferably have a minimalistic and aesthetically pleasing de-sign. While this has no direct relation to the product or task in hand, minimalistic design help users easily consume the data [...] and aesthetically pleasing design increases the ‘feel good’ factor of the user” [2].

This is where Clean Sheet positions the lever because an Eclipse UI theme is basically a set of image, font, and color configurations which have a huge influence on the percep-tion – both emotionally and cognitively. Although an IDE theme has only little to no effect on the requested minimalistic UI approach, we will see how the look and feel aspires an aesthetically pleasing design. But first, let’s dwell on the leg-ibility aspects.

The impact of colors on legibilityThe color design of screen surfaces is an extremely impor-tant but also difficult task. This is because color has different meanings, associations, and effects for different people. Thus,

the use of color in the right amount and of the right type is crucial in software design with respect to soft ergonomics and legibility, in particular [4].

It is safe to say that because of the strong attention steer-ing effects of colors they should be used sparingly. Too many different shades can cause an uneasy overall picture and lead to ineffective eye fixation [5]. Consequently, Shneiderman [6] recommends developing a monochrome graphic design of screens first to carve out the logical or other relevant relation-ship representations between units.

With respect to text depiction, a popular and enduring point of dispute is the question of which contrast type to use. This boils down to whether dark characters on a light background are better to read than light characters on a dark background or vice versa. The prevailing piece of advice regarding a well-illuminated workplace which has been properly adjusted in accordance with ergonomic recommendations has been for a long time to choose the first option [7].

Nowadays, this has been slightly refined. It seems to be as-certained that the best readability while sparing the eyes as much as possible is achieved with “achromatic” contrasts. These are combinations of light gray backgrounds with black or very dark font colors. Light gray backgrounds, although they seem almost white, avoid strong outshining  [4]. Holl mentions test series, which has shown that pure black, dark gray or, for example, dark green colors are suited best for text, symbols, lines and similar foreground subjects.

Given these considerations, Clean Sheet is based on a light gray as workbench window and part background combined with a black font. Using gray instead of pure white reduces ‘text-outshining’ tendencies and background glare effects (Figure 1). Accentuations of structuring elements like parts, part stacks, toolbar, trim bars, and so on are also based on decent shades of gray.

Colors as mood elevatorWhile black on more or less light gray is perfectly suited for reading plain text, as default settings of readers like Amazon’s Kindle or Evernote’s Clearly suggest, working with code is a bit different. Code has a strict formal structure and a devel-oper wants to recognize this structure at a glance.

To ease the perception process, text editors support high-lighting of special text elements like keywords, field declara-tions, string constants, and more. Because of what has been stated so far, it would stand to reason to use even more shades of gray to produce such highlighting effects. Unfortunately, corresponding experiments at an early Clean Sheet develop-ment stage did not turn out satisfying.

There are several reasons for this. First, an oversupply of nuances of gray does not actually lead to well-recognizable structures. It is more like a dense fog, making patterns even harder to grasp (Figure 2). Second, and almost worse, the IDE’s overall impression gets boring and sleep-inducing. Overall, pure gray in gray would, in the end, counteract the perceptional and emotional goals of soft ergonomics.

Luckily, this problem was solved with some dashes of color (Figure 2). As a result, Clean Sheet still depicts basic text el-ements in black. But a thorough quest on the color wheel Figure 2: Oversupply of nuances of gray fixed with dashes of color

Figure 1: Advantage of using gray instead of pure white

Page 20: Continuous Delivery ready? - JAXenter Workflow How to move from CI to CD with Jenkins Workflow Eclipse Clean Sheet A fresh look for the Eclipse IDE ... Are you Continuous Delivery

Eclipse

www.JAXenter.com | April 2016 20

brought up a syntax highlighting palette which serves as a structuring foundation and a mood elevator at the same time. Referring to terms of color psychology, the theme uses stimu-lating color on keywords, a factual one on fields, literals etc., and a soothing one on java doc sections, for example.

Certainly, beauty is to a great extent in the eye of the be-holder. But with respect to the goals of soft ergonomics as explained above, Clean Sheet comes with an aesthetically pleasing color scheme that blends in nicely with the IDE’s presets of iconographic elements and suchlike, and likewise avoids distracting effects as much as possible.

The impact of fonts on legibilityThere are a lot of passionate debates around the question which font types are the best fit for computer screens. Serif fonts are usually regarded as the best choice for printed mate-rial. It is argued that the small lines attached to the end of a stroke in a letter or symbol increase the legibility of letters. Yet, scientific research on this topic has been inconclusive [8].

On the other side, “hinting information, spatial anti-alias-ing, and subpixel rendering technologies have partially miti-gated the perception of serif fonts on screen. Due to the basic constraint of screen resolution – typically 100 pixels per inch or less – the serifs in some fonts can be difficult to discern on screen” [8].

This statement seems to explain the current consensus that the fewer details a font needs to convey a character clearly, the more legible it will appear on a broader range of screens. Hence, sans-serif fonts are often considered superior when it comes down to on-screen-readability of texts. But the higher the average screen resolution will get in future the weaker this argument will probably appear.

Clean Sheet incorporates Source Code Pro [9], one of the most popular sans-serif open source fonts for coders as preset. This affects the preferences for Text Editor Block Selection, Text Font, Console Font, and Java Editor Text Font (Win-dow | Preferences | Colors and Fonts):

public FormDatas toLeft( int margin ) { formData.left = new FormAttachment( 0, margin ); return this;}

Refinements on Windows 10When it comes down to aesthetic aspects, the native scroll-bars on Windows 10 are often perceived somewhat disruptive and clumsy on more subtle view layouts. Due to restrictions of the underlying native widget library, there is no way to

Figure 3: Cleen Sheet’s custom scrollbar component

customize the scrollbar look and feel in a standard Eclipse IDE directly.

Clean Sheet incorporates a custom scrollbar component and an overlay mechanism that allows to furnish certain UI controls with a more contemporary scrollbar design with simple stylesheet configuration (Figure 3). So far, Trees, Ta-bles, and StyledText widgets which make up the predominant scrollable UI elements in the Eclipse IDE are supported.

SummaryIn this article, we have unveiled the ergonomic design consid-erations that preceded the development of the Eclipse theme Clean Sheet. Although only a tessella in the world of ergo-nomics, it was shown how thoroughly thought through tun-ing of color and font configurations can have a substantial influence on such important topics as the emotional and cog-nitive perception of an IDE.

The valuable impression of the theme’s unobtrusive look and feel might be described best by reactions of OS X pre-view testers that can be comprised to the saying ‘You don’t realize what you have until it’s gone’ – which coincidentally is also one of the more important challenges of well-made design [10].

So, if you are curious and want to check out Clean Sheet by yourself, have a look at http://fappel.github.io/xiliary/clean-sheet.html for details on requirements and installation descriptions.

Frank Appel is is a stalwart of agile methods and TDD in particular. He understands software development as a craftsmanship and is part of Code Affine, a group of independent software developers with focus on Eclipse Platform, Runtime and Java technologies in general.

References

[1] https://en.wikipedia.org/wiki/Human_factors_and_ergonomics

[2] https://en.wikipedia.org/wiki/Soft_ergonomics

[3] https://en.wikipedia.org/wiki/Human%E2%80%93computer_interaction

[4] http://www.ergo-online.de/html/software/ergonomische_masken_und_dialo/07_08_Farbe.pdf

[5] https://books.google.de/books?id=16Uxgmvacm0C&printsec=frontcover&hl=de#v=onepage&q&f=false

[6] Shneiderman, Ben; Plaisant, Catherine: “Designing the User Interface. Strategies for Effective Human-Computer Interaction”, Addison-Wesley, 2004

[7] Bauer, D.; Cavonius, C., R. (1980): “Improving the legibility of visual display units through contrast reversal”, in: Grandjean, E.; Vigliani, E. (Eds.): “Ergonomic Aspects of Visual Display Terminals”, Taylor & Francis Group, London, pp. 137–142

[8] https://en.wikipedia.org/wiki/Serif#Readability_and_legibility

[9] https://github.com/adobe-fonts/source-code-pro

[10] http://www.designprinciplesftw.com/collections/ten-principles-for-good-design#5

Page 21: Continuous Delivery ready? - JAXenter Workflow How to move from CI to CD with Jenkins Workflow Eclipse Clean Sheet A fresh look for the Eclipse IDE ... Are you Continuous Delivery

27 – 29 April, 2016 | Park Plaza Victoria LondonExpo: 27 – 28 April, 2016

The Conference for Continuous Delivery, Microservices, Docker & Clouds

devops.jaxlondon.com

The conference package for

software delivery heroes

2 in 1 Low Latency

High Througput

Core Java | C++Big Data

Container Technology

Continuous Delivery

Cloud Platforms

Microservices

Attand parrallel

conference

JAX Finance

for free!

Page 22: Continuous Delivery ready? - JAXenter Workflow How to move from CI to CD with Jenkins Workflow Eclipse Clean Sheet A fresh look for the Eclipse IDE ... Are you Continuous Delivery

Blockchain – Disruptive service or just another buzzword?

John Davies

27 – 29 April, 2016 I LondonExpo: 27 – 28 April, 2016

Pragmatic Continuous Delivery

Eduards Sizovs

8 things that make Continuous Delivery

go nutsEduards Sizovs

Kernel load-balancing for Docker containers

using IPVSAndrey Sibiryov

Container Orchestration with Kubernetes

Peter Rossbach

Everything is an orchestration problem

Liam Bennett

Java-based microservices, containers, Kubernetes –

how toRay Tsang

The surprising truth about DevOps in banking

Benjamin Wootton

devops.jaxlondon.com

COnFErEnCE HIgHLIgHTS30% off

for groups

of 4 or

more

Keynote

Sessions

Workshop

Page 23: Continuous Delivery ready? - JAXenter Workflow How to move from CI to CD with Jenkins Workflow Eclipse Clean Sheet A fresh look for the Eclipse IDE ... Are you Continuous Delivery

Eclipse

www.JAXenter.com | April 2016 23

by Frederic Ebelshäuser and Sophie Hollmann

Setting up Eclipse is usually a time-consuming business, a se-rious downside for many software developers working with it. Distributing a tediously assembled setup to a development team requires an additional long-winded process. Approaches for standardization do exist, for example in the form of the well-known Eclipse packages. But the packages do not save you from installing and updating plugins by hand and they most certainly do not help with configuring preferences. The workspace can also be restive.

Before you start coding, you have to import projects, check out source code, and synchronize tasks from task repositories. And although development teams often work with a common basic Eclipse installation and certain shared configurations, everyone on the team has to run through the whole setup process all over again. But how can you prevent a scenario like that from happening and actually take advantage of a common basic setup?

To avoid the most repetitive tasks, ZIP-files are often the solution most developers choose – sometimes combined with wikis and manuals for installation and configuration. Unfor-

Provisioning and distribution for teams

Quick-starting new projects with Eclipse

Maximilian Kögel and Jonas Helming have recently written an exciting article about setting up an ideal Eclipse distribution. To realize that, they used the Oomph framework. In this article we will talk about some methods we can use to organize distribution of that same setup.

©is

tock

phot

o.co

m/k

tsim

age

Page 24: Continuous Delivery ready? - JAXenter Workflow How to move from CI to CD with Jenkins Workflow Eclipse Clean Sheet A fresh look for the Eclipse IDE ... Are you Continuous Delivery

Eclipse

www.JAXenter.com | April 2016 24

tunately, this solution became outdated far too quickly. And they do not save you from all the manual adjustments. More importantly, all team members still have to repeat the setup process whenever the project setup changes – be it due to a new plugin, changed settings or a new Eclipse release.

To solve the issues regarding distribution, you can now use an easy and quick solution in addition to Oomph: Profiles for Eclipse (Figure 1).

What’s behind a profile?Profiles is based on Oomph. Like Oomph, Profiles takes care of provisioning of SDKs for individual projects – but the pro-cess is even more simple than that. So, what exactly is a pro-file?

A profile contains links to update sites of installed plugins and a functional workspace, including important team set-tings such as project metadata and project preferences, build server configuration (Mylyn), working sets, task repositories and source code repositories (as links) (Figure 2). The source code itself is of course not part of the profile. Neither are user credentials or passwords.

Using Profiles offers some crucial advantages compared to other ways of provisioning. You can, for example, share a profile at the push of a button with your own team or, if you prefer, with the whole community. This simplifies the idea of maintaining setups and breaks down barriers for new devel-opers on the team at the same time.

Create and share a profile – at the flick of a switchTo share an existing profile, all you need to do is install the Profiles client into the respective Eclipse.

1. Find the “Yatta Launcher for Eclipse” on the Eclipse Marketplace and install it into your running Eclipse.

2. In the toolbar, open the client’s context menu and choose your channel for sharing.

That’s it. Your profile gets uploaded into the cloud. You can share the link to the profile’s website right away, for example via email or a social network such as Twitter or Facebook. Installing the shared profile requires just a few clicks as well. To demonstrate how easy this is, we have installed and re-up-loaded the EclipseSource Oomph profile ourselves it. You can download it here: https://marketplace.yatta.de/profiles/CT1u.

For comparison, look up the steps you have to perform if you want to install the same profile via GitHub and the Oomph installer: http://eclipsesource.com/blogs/2015/08/17/introducing-the-eclipsesource-oomph-profile/.

Chains of Updates – always up to dateIn addition to easy provisioning, keeping a profile up-to-date is just as easy as sharing it. If you adjust the profile or change settings locally, click “Publish changes” in the client’s context menu. Pushing an update automatically informs everyone who has downloaded and installed the profile (the profile’s followers). They can apply the update at any time (Figure 3).

This is what you should keep in mind: The Profiles update mechanism is based on chains of profiles. Every time someone installs you profile, he creates a local copy following your original. Followers can edit their local copy at any time with-out affecting the original. At the same time, they still receive your updates.

If followers share the profile again, they distribute a child of your original. A third user who installs the child profile creates another copy, a grandchild of your original. This way, it’s possible to create whole chains of profiles – which can be essential, especially for corporate teams with one basic and several more specialized setups. The update mechanism makes updates more manageable and reduces the time re-quired for maintenance.

Give a little Oomph to your ProfileOomph is a framework that allows you to create or “author” profiles manually. To that end, you have to assign different tasks to different scopes. You can tweak your configuration down to the last detail. That being said, Oomph requires in-depth knowledge about the Eclipse IDE. In return, it is a high-ly powerful tool to configure your development environment in every detail. Together with Profiles, Oomph allows for au-thoring, provisioning, and distributing the Eclipse IDE. You can actually use the Oomph framework to edit the details of an Eclipse profile. A feature allowing you to import the edited profile with the Launcher is already a work in progress.

What else can you do with Eclipse Profiles?Profiles speeds up and simplifies installation and maintenance of Eclipse setups. But it also comes with some other useful features:

The Launcher, a lightweight desktop app, offers an over-view of your Eclipse setups, whether they are locally installed

Figure 2: An Eclipse profile contains links to update sites of installed plug-ins and a functional workspace, including all important team settings

Figure 1: Easy and quick distribution of Eclipse in the form of profiles

Page 25: Continuous Delivery ready? - JAXenter Workflow How to move from CI to CD with Jenkins Workflow Eclipse Clean Sheet A fresh look for the Eclipse IDE ... Are you Continuous Delivery

Eclipse

www.JAXenter.com | April 2016 25

or online. Eclipse setups that are already installed will be add-ed to the Launcher’s profile list automatically. You can also add additional profiles or uninstall local Eclipse installations. Moreover, you can start all your profiles from the Launcher. To make managing your profiles easier, you can assign mean-ingful names and descriptions. This will help you deal with different Eclipse installations on a daily basis and drastically reduce the amount of necessary documentation.

With the eHub, Profiles also offers a community. Sharing a profile means uploading it to the eHub. For the moment, all profiles are publicly available, but a feature for private sharing between designated users is already in the making. The eHub is not limited to provisioning. The site also gives you an overview of popular configurations beyond the Eclipse packages. Project leads of Eclipse open source projects and their committers can profit from these insights, but they are not the only ones. The companies supporting the project can also benefit from these insights because they help align de-velopment and maintenance with the most popular use cases of their Eclipse projects. In the future, the eHub will receive upgrades with features allowing for direct feedback, for ex-ample in the form of comments on individual profiles. You can now draw conclusions about your online profiles if, for example, installation numbers start declining. Moreover, the Yatta Profiles developer team is already working on an open data API for profiles.

For users, one aspectshould be particularly interesting: Eclipse is improving – and fast(er). Profiles is the first profes-sional and free service based on Eclipse Oomph. Installing, launching and managing Eclipse setups gets much easier with Profiles.

Figure 3: Share, down-load and update: A profile can save many working steps

Hosting is already bound to German servers to meet the strict requirements of German data protection law. As soon as current problems (code word: Safe Harbor) are resolved, hosting on eclipse.org may become a possible alternative. The eHub will get more community features in the months to come.

It’s safe to say that Profiles and Oomph have a great poten-tial as far as Eclipse’s advanced ergonomics and usability are concerned. The Yatta developer team is also open for sugges-tions from the user community.

When you try out Profiles, you can send your requests and your feedback to Yatta directly. The team promises to incor-porate every feedback and to implement every feature the community needs to keep Eclipse successful and innovative in the future. Yatta wants to actively participate in this process. This is why Profiles is free – and will always stay like this.

Frederic Ebelshäuser is a project lead and software engineer at Yatta. Starting out as a consultant, he has developed ecommerce solution in different areas. At Yatta, Frederic is responsible for Eclipse integration, including the development of Profiles for Eclipse. Additionally, he is an active member of the Eclipse community – for example acting as a speak-

er. Frederic is enthusiastic about adventure trips and loves having breakfast in Bar-celona.

Sophie Hollmann works as a technical writer at Yatta and is responsible for comprehensive documentation of Yatta Profiles for Eclipse. As a spe-cialist for structured writing and editing, she makes complex information comprehensible to anyone. To keep the abundance of technical data in her head under control, she plays the cello and takes long bike trips into

the countryside.

Page 26: Continuous Delivery ready? - JAXenter Workflow How to move from CI to CD with Jenkins Workflow Eclipse Clean Sheet A fresh look for the Eclipse IDE ... Are you Continuous Delivery

Interview

www.JAXenter.com | April 2016 26

Getting to know Meteor 1.3 a little better

All eyes were on Meteor in late March as the latest release was announced. For the first time, a Meteor Guide was pub-lished alongside the release, but this was not the most impres-sive detail. With 16 betas and 13 release candidates, tested by a global community of developers, 1.3 could be Meteor’s most polished release.

We are talking to Matt DeBergalis, the co-founder of the Meteor project, about what’s under the hood of the 1.3 re-lease and what are its signature features.

JAX Magazine: Meteor 1.3 went live on March 28. What is so special about it? How is 1.3 different from previous ver-sions?Matt DeBergalis: Meteor 1.3 brings the best of JavaScript to Meteor developers, including npm support, robust testing options, improved Cordova mobile support, and substantial build tool improvements. Over the past six months, Meteor has become more aligned with the larger JavaScript ecosys-tem and is delivering the advanced features that professional developers have come to expect.

JAXmag: This is the first time you are publishing the Meteor Guide alongside the release. Why is that and how did you come up with the idea of offering end-to-end vendor sup-port?DeBergalis: The Meteor Guide was a project we unveiled late last year and 1.3 is our first release since. The Meteor Guide represents best practice recommendations from MDG to build production Meteor apps in a central place. Like Me-teor, the Guide itself is open source and includes input from the Meteor community, top customers, and the broader Java-Script ecosystem. As the vendor behind Meteor, we feel the Guide is a great starting point for companies building Meteor apps and a perfect complement to our commercial developer support and hosting solutions.

JAXmag: Meteor 1.3 is considered by many a game changer because it brings support for some things that have been

on developers’ wish lists for awhile. Is testing one of those things? Why? What are the immediate benefits?DeBergalis: Unit and integration testing is definitely a must-have for developers building production Meteor apps and we’ve made this available out-of-the-box in the 1.3 release. It is now far more convenient and robust, made possible by our support of the ES2015 standard and also popular 3rd-party testing frameworks like Mocha.

JAXmag: According to the official announcement of Meteor 1.3, the “new npm integration enables developers to npm in-stall both client and server packages directly into their appli-cations, including the wide array of React and Angular com-ponents available in npm”. What exactly does this mean? DeBergalis: This is about leveraging npm as a mechanism for accessing third-party application packages. Ecosystems supporting JavaScript have grown up alongside its popular-ity among app developers. By integrating with npm, Me-teor expands the inventory of 3rd-party packages available to developers from growing communities like Angular and React.

JAXmag: In the blog post you also mention that it will be “dif-ficult to image going back to monolithic, infrequent release.” What does this mean for future releases?

Portrait

Matt DeBergalis co-founded the Meteor project and is now the Vice-President of Product. Before Meteor, he founded and ran Act-Blue, the largest political fundraising platform in the world. Some of his technical credits include the NeXT port of NetBSD and work on the NFSv4 and DAFS specifications while at Network Appliance. As an undergraduate at MIT, Matt built a phone system for his fraternity, fabricating the circuit boards and writing the operating system from scratch.

Matt DeBergalis, Vice-President of Product and co-founder of the Meteor project, speaks about the latest release of the Meteor JavaScript application platform, Meteor 1.3. The focus of this major release is based on listening to production clients, but does 1.3 meet users’ expectations?

Page 27: Continuous Delivery ready? - JAXenter Workflow How to move from CI to CD with Jenkins Workflow Eclipse Clean Sheet A fresh look for the Eclipse IDE ... Are you Continuous Delivery

Interview

www.JAXenter.com | April 2016 27

DeBergalis: As Meteor 1.3 aligns the framework more closely with npm, it will allow us to decouple core packages into sep-arate projects and reduce the level of release engineering that has traditionally gone into Meteor. This means the frequency of framework updates from MDG and community contribu-tors will happen faster over time.

JAXmag: What is the most important highlight in this 1.3 release?DeBergalis: We’ve brought the best of the JavaScript eco-system to Meteor in our latest 1.3 release. This includes full support for the latest ES2015 language features as well as out-of-the-box npm integration.

JAXmag: A full transition to npm and decoupling of core pack-ages are elements of the 1.3 release. What do you mean by that?DeBergalis: A full transition to npm would mean the end of the Meteor package server in favor of npm. Decoupling of core packages means making it easier for the community to contribute to core packages by moving them into separate git repositories. This changes the concept of a traditional ‘Me-

teor Release’ so that it’s possible to mix and match core pack-ages from different authors.

JAXmag: Meteor development is being simplified with each new release. Are you seeing the light at the end of the tunnel as far as simplification is concerned? DeBergalis: For us here at Meteor, the path to improving developer productivity never ends. As the JavaScript ecosys-tem has become increasingly complicated, Meteor’s goal has been to strike a balance between an opinionated, integrated JavaScript stack and allowing developers to also use popular frameworks/tools.

JAXmag: Will 1.3 be enough to propel Meteor into the main-stream?DeBergalis: Meteor already has a great deal of mainstream adoption by large companies like Mazda, IKEA, Qualcomm, Honeywell, etc. as well as top VC-funded startups. Meteor 1.3 specifically addresses a number of areas like testing, npm support, and mobile that unlock more production-class capa-bilities for professional developers.

This interview was held by Gabriela Motroc.

IntErEstED In MIcrosErvIcEs?Learn more about it from Google’s rAY tsAnG at JAX DevOps:

Java-based microservices, con-tainers, Kubernetes – how to (devops.jaxlondon.com/sessi-on/java-based-microservices-

contain ers-kubernetes-how-to/)Join this session to learn how to

create a Java-based microservice using Spring Boot, containerize it, and subsequently deploy a fleet of microservices and dependent compo-nents such as Redis using Kubernetes.First, we’ll go over how to get started with Spring Boot and use Docker and/or Maven plugins to generate and create Docker images during the build process. Next, we’ll push the

container into a container repository. Finally, we’ll deploy the microservice into Kubernetes:

• Definingpodsandservices• LinkingmicroservicestoRedisusingKuber-

netes• Performrollingupgradesoftheapplication• Canarynewversionsofthemicroservices

into the fleet

Do you want to know what’s the best part about this session? We can visualize all these activities happening in Kubernetes.

devops.jaxlondon.com

27 – 29 April, 2016 Park Plaza victoria London

Expo: 27 – 28 April, 2016

Page 28: Continuous Delivery ready? - JAXenter Workflow How to move from CI to CD with Jenkins Workflow Eclipse Clean Sheet A fresh look for the Eclipse IDE ... Are you Continuous Delivery

BigData

www.JAXenter.com | April 2016 28

by John Schroeder

The usage and, even more importantly, added value of big data are on the rise, regardless of whether it’s insurance com-panies now aligning their premiums to match individual be-havior, telecommunications providers who offer new mobile services, or advertisers who make more personalized offers. John Schroeder therefore expects to see an acceleration in the implementation of big data solutions in 2016.

Here are the most important big data trends we should ex-pect to see this year.

Converged approaches are becoming mainstream Keeping operational and analytic systems separate has always been considered the best approach in recent decades. Analytic workloads could thus be prevented from disrupting operational processing. At the beginning of 2014, however, Gartner coined a new generation of data platforms that emerged from HTAP (Hybrid Transaction / Analytical Processing), which allows for online transaction processing (OLTP) and online analytical processing (OLAP) to be performed simultaneously without requiring data duplication. 2016 will be the year in which con-verged approaches become mainstream. Leading companies will reap benefits from combining production workloads with data analysis in order to be able to adjust quickly to changing customer needs, business conditions and competitive pressures. This convergence will shorten the time lag between analytics and being able to use the results to optimize business processes.

The pendulum is swinging from “centralized” to “distributed”Technology cycles have swung back and forth between cen-tralized and distributed workloads. Big data solutions initially focused on centralized data lakes that reduced data duplica-tion, simplified operations and supported a variety of applica-tions, including 360-degree customer analysis. However, in 2016, large companies will be increasingly moving over to distributed processing for big data to address the challenges of managing multiple devices, multiple data centers, multiple user scenarios and changing data security rules (safe harbor). The continued growth of the Internet of Things (IoT) and the

availability of cheaper IoT sensors, faster networks and edge processing will further drive deployment of distributed data processing frameworks.

Storage (especially Flash) will become an abundant resourceThe next generation of software-based storage technology will deliver fast solutions with high power density. Flash memory is a key technology that will enable products for con-sumers and business to be designed in new ways.

Consumer demand for flash will continue to drive down its cost and ensure that flash memory is increasingly deployed in big data solutions. The ideal solution will combine flash and disk drives because it supports both fast and dense configu-rations. In 2016, companies will no longer need to choose between fast and dense because they will be able to get both thanks to the new generation of software-based storage.

Established software will get more attention than new solu-tions In 2016, the market will focus less on the latest software avail-able, but rather on proven technologies that offer significant added value. New community innovations will continue to draw attention, but this year companies will increasingly fo-cus on the attraction of software that results is a real business impact, rather than focusing on raw big data technologies.

Market experience a decisive quality feature With respect to big data technology companies, investors and organizations will turn away from volatile companies that fre-quently change their business models. Instead, they will focus more on companies with a proven business model and techno-logical innovations that help them to improve their business outcomes and design their processes to be more efficient.

Brace for the biggest change in the enterprise IT landscape

Five most important big data trends in 2016 We are in the midst of the biggest change in the IT landscape of companies for decades: the convergence of data and analysis. New companies are emerging and existing companies are ex-periencing significant changes due to this development in all industries.

John Schroeder has served as MapR’s Chief Executive Officer and Chair-man of the Board since founding the company in 2009.Prior to founding MapR, John held executive positions in a number of enterprise software companies with a focus on data, storage and business intelligence at both private and public companies including: CEO of Calista Technologies

(now Microsoft), CEO of Rainfinity (now EMC), SVP of Products and Marketing at Brio Technologies (BRYO) and General Manager at Compuware (CPWR).

Page 29: Continuous Delivery ready? - JAXenter Workflow How to move from CI to CD with Jenkins Workflow Eclipse Clean Sheet A fresh look for the Eclipse IDE ... Are you Continuous Delivery

Big Data

www.JAXenter.com | April 2016 29

by Zigmars Rasscevskis

The importance of speed and storage when managing data has never been greater because data that was previously static is now unstructured and dynamic. If enterprises want to gain back control, their sense of security and their ability to garner valuable business critical insights from their data, it’s time to reevaluate current computing infrastructure.

Today’s datasets are much bigger than what can be stored in the memory of static servers. The amount of servers re-quired to handle today’s influx of data is not manageable and causes many clusters of commodity hardware to fail. An instantly scalable solution is necessary to garner the most in-sights from unstructured data, and sort, analyze and manage increasing volumes of this data in real time. Relational data-bases can not do this effectively today.

Relational databases, however, have been an ideal place to store data so it stays persistent and durable; But enterprise users and developers today want to manipulate the infor-mation within the database to gain valuable insights about their business or applications quickly and effectively. Today’s computing infrastructure lacks the ability to handle the ve-locity, variety and volume of data that continues to grow. If organizations want to gain business insights from this data, they need to combine the power of scalability and compu-tational processing. Because today’s hardware, such as serv-ers and storage, are becoming more and more commoditized, enterprise users and developers have greater access to more computational power that enables real-time processing across vast amounts of data in the cloud.

Below are three major benefits for enterprise users and de-velopers who are considering the adoption of cloud-based database solutions:

The need for speedMany common database operations can process queries only as fast as the computing power at hand allows. Hosting in the cloud allows providers to bring as much computing power as you need and when you need it – which is extremely attractive for enterprises and developers. Furthermore, database opera-tions frequently have long periods of inactivity when little to now computing power is required. These periods are subject to sudden moments of intense computational needs, such as when generating massive reports for business users. Enter-prise users and developers researching cloud-based options should also plan to pay only for what you consume, whether you’re simply accepting incoming data or crunching “big” numbers for a report.

FlexibilityFlexibility is the major benefit of any cloud solution. Over the life cycle of a business, data needs change enormously, especially in recent year as datasets continue to grow larger and larger through a combination of structured and unstruc-tured data. Enterprises that are starting with a cloud solution ensures the business is properly supported by the appropriate infrastructure to account for uncertain growth levels. This is also true for developers who may not know exactly how much infrastructure they need before embarking on a new project or building a new application. Generally speaking, flexibility

The importance of speed and storage

Why computing infra-structure must change Many databases today are based on the traditional relational database models which are unable to compete with the increasing influx of unstructured data that companies are dealing with. And, as society becomes more and more digital, technology is granting workers access to information across several platforms anytime, anywhere: in the cloud, on premise, via mobile channels, by people and even by machines.

Page 30: Continuous Delivery ready? - JAXenter Workflow How to move from CI to CD with Jenkins Workflow Eclipse Clean Sheet A fresh look for the Eclipse IDE ... Are you Continuous Delivery

Big Data

www.JAXenter.com | April 2016 30

makes future infrastructure road-mapping a lot simpler – one must simply familiarize oneself with the scaling options for the cloud provider.

Cloud database solutions allow you to deploy and scale your use up or down without committing to long term invest-ments in infrastructure. By offering predictable billing, easy scaling, and on-demand compute power, the cloud lets you adapt your database painlessly.

ExpertiseA final benefit of cloud services is that they allow a third-party provider to handle the difficult parts of hardware main-tenance. Provisioning hardware, responding to pages when systems fail, and dealing with the nuts and bolts of physical machines are no longer the enterprise’s or developer’s con-cern. Common database problems typically affect storage devices and backups. Users should seek database cloud solu-tions that build in three levels of redundancy, meaning you don’t have to worry about hardware reliability or implement-ing your own fallback procedures.

While some CTOs and IT professional prefer hosting and managing locally to keep control of their systems, the trend in the industry is a move towards greater use of cloud services. Many enterprises are learning that it’s easiest to outsource the worries that come with managing and main-taining infrastructure, and letting your business focus on its core competencies. Experience and trusted cloud service providers can allow businesses to grow at their own pace by adding infrastructure as needed and it can help keep the costs lower since you only pay for what you need. From a developer’s perspective, reduced technological headaches and more predictable cloud database usage costs also makes perfect sense.

Database considerationsWhile cloud is becoming the obvious choice for enterprise and developers, users should also consider a two technological ca-pabilities when selecting their cloud-based database:

•Document-oriented database: Document stores provide more functionality because they recognize the structure of the data stored. The system is able to group similar objects together and partition data over many machines. Document-oriented databases can also persist data while building efficient numeric, full-text search and geospatial indices that maintains ACID properties for updating multi-ple documents.

•Support for JavaScript: New databases are emerging that support and enable execution of arbitrary JavaScript code directly in the database, next to the data. The code seam-lessly accesses indices that are optimized for fast retrieval from SSD devices and RAM. Basically, these databases can can not only store data, but process data and run arbitrary computations.

•Real-time analytics: A common reason for cloud resis-tance among IT departments is the inability to control the network experience. Users expect real-time responsiveness, especially in the case of big data analytics. Users should look for a cloud database provider that can deliver these requirements and scale their network’s performance ac-cordingly as user demands spike.

•Minimal learning curve: As enterprises move to a mix-and-match technology approach, it’s important that they leverage the same core skill sets across applications and environments. Not all cloud database platforms are easy to use, nor do they all support the same standards. En-terprises should look for a platform that aligns with the existing skill sets of their database analysts and application developers, such as XML, SQL, and JSON.

ConclusionAs datasets get bigger, more businesses will rely on large-scale data analysis to navigate the world and the real-time oppor-tunities around them. Cloud computing will become the de facto standard for business applications, communications, and data as IT leaders re-envision their role from managing information to managing innovation and driving business value through data. The database will continue to evolve for the better as it is being tasked with supporting more non-traditional data types.

Cloud Computing will become the de facto standard for business applications, communications and data.

Zigmars Rasscevskis left a senior engineering position at Google to join Clusterpoint as the company’s CEO, foreseeing that document-oriented databases would take the market by storm. Prior to joining Clusterpoint, Zigmars worked for eight years at Google, where among other projects he managed the web search backend sofFtware engineering team in Zurich.

Before his Google career, Zigmars worked for Exigen, the leading regional IT compa-ny, and Lursoft, a leading regional information subscription service company.

Page 31: Continuous Delivery ready? - JAXenter Workflow How to move from CI to CD with Jenkins Workflow Eclipse Clean Sheet A fresh look for the Eclipse IDE ... Are you Continuous Delivery

Big Data

31www.JAXenter.com | April 2016

by Mush Honda

While the traditional context of test data analysis mostly deals with the data used during testing, it is important for testers to also focus on the analysis of data generated as part of the testing performed by the team. That’s the kind of ‘test data’ that’s often overlooked.

If we want to improve the way we test, we need to start looking at this data. There are some important aspects that cannot be ignored when we start to ask questions, like how much effort did the test team put into completing specific tasks, how many hours were spent on each cycle or project, and how close to the estimated timeline did we come?

By analyzing this kind of data we can calculate the ROI (return on investment) of the tools we’re using, figure out how to estimate more accurately in the future, and streamline our processes.

Focusing in the right placeA test plan should not be set in stone. If you want to make sure you are focusing your limited resources in the right place, you need to continually reassess your plan. Which functional modules have the highest number of defects? Is it possible that something you marked as low priority should actually come first? Can something else be moved onto the back burner? Flexibility is essential if you want to get maximum value from your testing efforts.

You also need to think carefully about where problems might hide. Should you really be focusing your regression on an area where you found a lot of issues, or will you get more value if you look at interdependent areas? If developers have pinpointed a specific issue in that area, then that function probably works well. It might make more sense to look at re-

lated features that haven’t been tested as much. If you gather data on this, you can build a set of rules for your regression testing, so that you can focus on the places where you’re likely to find more problems.

Report on usabilityTesters should always give usability feedback, even if it’s be-yond the scope of the functional test they’re conducting. This kind of feedback represents vital information from expert software testers emulating the end users and can give develop-ers and product owners a new perspective that can help them improve the final product.

Gathering usability data from testers and collating it gives you an idea of where the software needs further attention. It often reveals low-hanging fruit in terms of easy improve-ments that can have a big impact on the final quality of the software.

Calculating return on investment (ROI)How do you know that automation scripts are saving you time? Why is it better for testers to write manual tests in the ALM rather than Word? If you don’t measure the effective-

Analyzing how effective your testing efforts are, and working to improve processes

Tips for analyzing the overlooked test data As testers, we think about delivered software quality and the quality of our work all the time. It’s very important to have a set of quantifiable measurements in place so that you can gauge the effectiveness of your efforts to ensure that the software under test meets the intended business objectives.

There are times when so-phisticated tools might be too complex.

Page 32: Continuous Delivery ready? - JAXenter Workflow How to move from CI to CD with Jenkins Workflow Eclipse Clean Sheet A fresh look for the Eclipse IDE ... Are you Continuous Delivery

Big Data

32www.JAXenter.com | April 2016

ness of the techniques and tools that you use, you can’t say for sure that they provide any advantages.

There are times when sophisticated tools might be too com-plex for the job at hand. You may also discover that testers are wasting a lot of time working on complex tasks with tools that aren’t really fit for that particular purpose. You should examine how testers interact with their tools and what level of manual effort is involved in the process.

You might discover ways to improve interactions, identify alternative strategies, and score major efficiency gains. Some-thing as trivial as analyzing your tools and processes would often generate solid ideas on how to save time and improve aspects.

Common senseWe accept that we can only really improve software quality by measuring the right things, but we fail to apply the same logic to the practices, processes and tools we employ to com-plete our testing efforts. By assessing our approach and taking

PublisherSoftware & Support Media GmbH

Editorial Office AddressSoftware & Support MediaDarmstädter Landstraße 10860598 Frankfurt, Germanywww.jaxenter.com

Editor in Chief: Sebastian Meyen

Editors: Gabriela Motroc, Hartmut Schlosser

Authors: Frank Appel, Bernhard Cygan, Matt DeBergalis, Frederic Ebelshäuser,

David Eichkorn, Nigel Harniman, Sophie Hollmann, Mush Honda,

Stephen DeMeulenaere, Stoyan Mitov, John Schroeder,

Zigmars Rasscevskis

Copy Editor: Jennifer Diener

Creative Director: Jens Mainz

Layout: Flora Feher, Dominique Kalbassi

Sales Clerk:Anika Stock+49 (0) 69 [email protected]

Entire contents copyright © 2016 Software & Support Media GmbH. All rights reserved. No part of this publication may be reproduced, redistributed, posted online, or reused by any means in any form, including print, electronic, photocopy, internal network, Web or any other method, without prior written permission of Software & Support Media GmbH.

The views expressed are solely those of the authors and do not reflect the views or po-sition of their firm, any of their clients, or Publisher. Regarding the information, Publisher disclaims all warranties as to the accuracy, completeness, or adequacy of any informa-tion, and is not responsible for any errors, omissions, in adequacies, misuse, or the con-sequences of using any information provided by Pub lisher. Rights of disposal of rewarded articles belong to Publisher. All mentioned trademarks and service marks are copyrighted by their respective owners.

Imprint

action to focus in the right places, we can realize concrete im-provements in terms of efficiency and widen our overall test coverage significantly.

To think of test data analysis too narrowly and just focus directly on software quality will inevitably lead to a missed opportunity to improve the way we test. It just requires a slight change of perspective. Analyze the way you test, make changes and measure their impact, then rinse and repeat. Ul-timately, improvements in the way we test will also have a positive impact on final software quality.

Mush Honda is Vice President of Testing for KMS Technology, a provider of IT services across the software development lifecycle with offices in Atlanta, GA and Ho Chi Minh City, Vietnam. He was previously a tester at Ernst & Young, Nexidia, Colibrium Partners and Connecture. KMS servic-es include application management, testing, support, professional ser-

vices and staff augmentation.