CUBA: Scheduled Tasks at Design Time

Java Lobby Announcements - Mon, 2017-10-23 22:37

If you have developed at least one project on the CUBA Platform or even spent a few hours discovering it, you have probably noticed a strong intention to move a lot of things to runtime: role and row level security (CRUD permissions over entities and their attributes, screens and their elements, access to the row-level data), dynamic attributes (implementation for the EAV approach), entity log (for auditing all changes over entities), JMX console (for remote application maintenance), scheduled tasks (for managing repetitive tasks, such as cache updates or e-mail queue processing) and so on. Simply put, everything that could be managed at runtime is designed in this way.

Such a runtime-centric approach gives you great flexibility for maintaining an application on the fly. For example, if there is a need to disable some CRUD actions for a certain user or add a few properties to an entity, it will not require a long chain of development, testing, and redeployment procedures.

Categories: Java

PlantUML Pleasantness: Lay Out Elements With Hidden Lines

Java Lobby Announcements - Mon, 2017-10-23 22:01

In a previous post, we learned how to use a together block to keep elements together. We can also layout elements in a different way: using hidden lines. We define our elements and by using the keyword [hidden] in our line definition the elements are laid out as if there was a line, but we don't see it. This gives us great flexibility on how we layout our elements.

In the following sample, we first have a PlantUML definition where we rely on the default layout:

Categories: Java

[session] CICD as a Service | @CloudExpo #CloudNative #Serverless #DevOps

JDJ - Mon, 2017-10-23 22:00
The next XaaS is CICDaaS. Why? Because CICD saves developers a huge amount of time. CD is an especially great option for projects that require multiple and frequent contributions to be integrated. But… securing CICD best practices is an emerging, essential, yet little understood practice for DevOps teams and their Cloud Service Providers. The only way to get CICD to work in a highly secure environment takes collaboration, patience and persistence. Building CICD in the cloud requires rigorous architectural and coordination work to minimize the volatility of the cloud environment and leverage the security features of the cloud to the benefit of the CICD pipeline.

read more

Categories: Java

Java Code Coverage in Eclipse

Java Lobby Announcements - Mon, 2017-10-23 18:01

People often think that Java code coverage tools are only used for testing. I beg to differ. I was recently investigating a JVM crash issue and had been interested in seeing which lines of code among those that were run could have had an influence on the crash.

To help with this, I used a tool that I recently discovered and have been using ever since called the EclEmma Java code coverage plugin. It’s for Eclipse and it’s free.

Categories: Java

Hamming Error Correction With Kotlin (Part 1)

Java Lobby Announcements - Mon, 2017-10-23 12:01

Hamming code is one of the computer science/telecommunication classics.

In this article, we'll revisit the topic and implement a stateless Hamming(7,4) encoder using Kotlin.

Categories: Java

Inside the Java Virtual Machine (Part 2)

Java Lobby Announcements - Mon, 2017-10-23 09:01

In my last article, I explained virtual machines, the Java Virtual Machine, and the JVM's more basic concepts. This video will go a little deeper into the JVM.

Categories: Java

The Monitoring Aspects of Eclipse MicroProfile 1.2

Java Lobby Announcements - Mon, 2017-10-23 06:01

Eclipse MicroProfile (MP) aims at bringing Microservices to Enterprise Java by developing common standards that MP-compliant vendors then implement [1]. This not only applies for developer APIs but also to interfaces for running, configuring, and managing the servers.

The more classical specifications have often left out many details as vendor-specific especially in the area of setting up and running of the applications and servers. For the Java Enterprise Edition, there are standards like JMX and JSR-77, but those were not used most of the time or access from management stations was not specified. This made it harder in practice to monitor the health of an application or to port the application from one application server vendor than needed.

Categories: Java

[session] Tracing Cloud via ebpf | @CloudExpo @SAP #AI #Analytics #DataCenter

JDJ - Mon, 2017-10-23 05:00
The session is centered around the tracing of systems on cloud using technologies like ebpf. The goal is to talk about what this technology is all about and what purpose it serves. In his session at 21st Cloud Expo, Shashank Jain, Development Architect at SAP, will touch upon concepts of observability in the cloud and also some of the challenges we have. Generally most cloud-based monitoring tools capture details at a very granular level. To troubleshoot problems this might not be good enough.

read more

Categories: Java

[session] Microservices | @CloudExpo @IBMcloud #AI #CloudNative #DevOps #Microservices

JDJ - Mon, 2017-10-23 01:45
We all know that end users experience the Internet primarily with mobile devices. From an app development perspective, we know that successfully responding to the needs of mobile customers depends on rapid DevOps – failing fast, in short, until the right solution evolves in your customers' relationship to your business. Whether you’re decomposing an SOA monolith, or developing a new application cloud natively, it’s not a question of using microservices – not doing so will be a path to eventual business failure.

read more

Categories: Java Java EE Microservices Done Right

Java Lobby Announcements - Sun, 2017-10-22 07:01

The sample application built as a part of this article can be found on GitHub.

It's the year 2017 and we’re all building microservices, where shared a runtime environment represented by a single application server hosting many applications is passé. As a result, rightsizing application environments makes sense! The functionality is still required, but not all at once by a single application, if ever.

Categories: Java

A Deep Dive Into JMX

Java Lobby Announcements - Sat, 2017-10-21 07:01

<!-- Google Tag Manager (noscript) --> <iframe src="" height="0" width="0" style="display:none;visibility:hidden"></iframe>

In this article, we’ll have a look at a core Java technology – Java Management Extension (JMX).

Categories: Java

Groovy Goodness: Making Sure Closeable Objects Are Closed [Snippet]

Java Lobby Announcements - Fri, 2017-10-20 22:01

If a class implements the Closeable interface, Groovy adds the withCloseable method to the class. The withCloseable method has a closure as an argument. The code in the closure is executed and then the implementation of the close method of the Closeable interface is invoked. The Closeable object is passed as an argument to the closure so we can refer to it inside the closure.

In the following example, we have two objects that implement the Closeable interface. By using withCloseable, we know for sure the close method is invoked after all the code in the closure is executed:

Categories: Java

This Week in Spring: Spring Boot, Microservices, and OSS

Java Lobby Announcements - Fri, 2017-10-20 18:01

Hi, Spring fans! Welcome to another installment of This Week in Spring! This week I’ve been in Dallas and Austin, Texas, first for customer meetings and then to attend and speak at the epic Reactive Summit. If you’re around, don’t hesitate to say hi on Twitter! We’ve got a lot to cover so let’s get to it!

Also, I’ll be doing a webinar with our friends at OCI on November 9th, 2017, on Grails for the Spring Developer, with my friend and Grails co-founder Jeff Scott Brown. I hope you’ll join us!

Categories: Java

[session] Conquering the Wild West of Gemini Test Automation | @CloudExpo @YahooGemini #Cloud #Automation

JDJ - Fri, 2017-10-20 18:00
Gemini is Yahoo’s native and search advertising platform. To ensure the quality of a complex distributed system that spans multiple products and components and across various desktop websites and mobile app and web experiences – both Yahoo owned and operated and third-party syndication (supply), with complex interaction with more than a billion users and numerous advertisers globally (demand) – it becomes imperative to automate a set of end-to-end tests 24x7 to detect bugs and regression. In their session at 21st Cloud Expo, Jenny Hung, E2E Engineer Manager at Yahoo Gemini, Haoran Zhao, Software Engineer at Oath Gemini, and Lin Zhang, Software Engineer at Oath (Yahoo), will describe the technical challenges and the principles we followed to build a reliable and scalable test automation infrastructure across desktops, mobile apps, and mobile web platforms on the cloud. We also share some best practices for advanced automated testing of web and mobile applications.

read more

Categories: Java

[session] The Hospital Concierge System of the Future | @CloudExpo @REANCloud #AI #ML #Cloud

JDJ - Fri, 2017-10-20 17:00
Recently, REAN Cloud built a digital concierge for a North Carolina hospital that had observed that most patient call button questions were repetitive. In addition, the paper-based process used to measure patient health metrics was laborious, not in real-time and sometimes error-prone. In their session at 21st Cloud Expo, Sean Finnerty, Executive Director, Practice Lead, Health Care & Life Science at REAN Cloud, and Dr. S.P.T. Krishnan, Principal Architect at REAN Cloud, will discuss how they built an Alexa-powered voice application for both patients and nurses. Patients got answers for common questions, it provided service feedback and registered complaints. Nurses can register patient health metrics. They were only able to do this because of cloud-based technologies. The cloud enabled them to complete this complex project while ensuring compliance with HIPAA and other privacy regulations.

read more

Categories: Java

Announcing @AvereSystems to Exhibit at @CloudExpo | #Serverless #DataCenter #Storage

JDJ - Fri, 2017-10-20 14:45
SYS-CON Events announced today that Avere Systems, a leading provider of hybrid cloud enablement solutions, will exhibit at SYS-CON's 21st International Cloud Expo®, which will take place on Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA. Avere Systems was created by file systems experts determined to reinvent storage by changing the way enterprises thought about and bought storage resources. With decades of experience behind the company’s founders, Avere got its start in 2008 with a mission to use fast, flash-based storage in the most efficient, effective manner possible. What the team had discovered was a technology that optimized storage resources and reduced dependencies on sprawling storage installations. Launched as the Avere OS, this advanced file system not only boosted performance within standard, on-premises, network-attached storage systems but also within diverse, hybrid architectures that include cloud provider services and other types of object storage.

read more

Categories: Java

How IBM Uses Reactive for Insights and Data Science

Java Lobby Announcements - Fri, 2017-10-20 12:01

Sebastian Hassinger, Developer Partners and Ecosystems at IBM shared his thoughts on the current and future state of the reactive platform in advance of the Reactive Summit this week in Austin, Texas.

From IBM's point of view, why is Reactive such an important movement around the design characteristics for enterprise applications and systems?

Categories: Java

Java Command-Line Interfaces (Part 22): argparser

Java Lobby Announcements - Fri, 2017-10-20 09:01

John Lloyd's argparser is the library covered in this twenty-second post of the series on Java-based command line argument parsing. The main page for the library provides links to Javadoc-based API documentation, a JAR file, a ZIP file, and a TAR file in addition to a single source code example. The example used in this post is similar to the examples used in the first twenty-one posts in this series and processes file path/name and verbosity options. The full code listing is available on GitHub.

The "definition" stage is accomplished in argparser with instances of "Holder" classes representing the expected options that are passed to the addOption(String,Object) method of an ArgParser instance. This is demonstrated in the next code listing.

Categories: Java

Passing by Value vs. Passing by Reference in Java

Java Lobby Announcements - Fri, 2017-10-20 06:01

Understanding the technique used to pass information between variables and into methods can be a difficult task for a Java developer, especially those accustomed to a much more verbose programming language, such as C or C++. In these expressive languages, the developer is solely responsible for determining the technique used to pass information between different parts of the system. For example, C++ allows a developer to explicitly pass a piece of data either by value, by reference, or by pointer. The compiler simply ensures that the selected technique is properly implemented and that no invalid operation is performed.

In the case of Java, these low-level details are abstracted, which both reduces the onus on the developer to select a proper means of passing data and increases the security of the language (by inhibiting the manipulation of pointers and directly addressing memory). In addition, though, this level of abstraction hides the details of the technique performed, which can obfuscate a developer's understanding of how data is passed in a program. In this article, we will examine the various techniques used to pass data and deep-dive into the technique that the Java Virtual Machine (JVM) and the Java Programming Language use to pass data, as well as explore some examples that demonstrate in practical terms what these techniques mean for a developer.

Categories: Java

jQuery UI and Address Auto-Completion

Java Lobby Announcements - Thu, 2017-10-19 22:01

jQuery UI has a little-known feature that makes interactive auto-completion very easy. In this hands-on tutorial, we put it together with the cloud-based Global Express Entry address auto-complete service from Melissa to smooth over one of the biggest problems in getting users to sign up.

There are many things that users hate having to do on a website, but they all come down to the same thing — they hate having to do work. Of all of the things you can ask a user to do, typing in their name and address probably qualifies as one that involves the most work. How many potential customers give up on a purchase because they find typing in a full address too irksome. Even if they do go through with it, how can you be sure they have done it correctly. Most users aren't expert typists and easily make a mess of their data entry. The cost of trying to ship something to an invalid address is obvious.

Categories: Java


Subscribe to EGJUG aggregator - Java