Why streaming analytics is such a big deal

See the original posting on JavaWorld

I see a future with relatively little batch processing, where even long processes will run a bit at a time. As traditional storage gives way to new data architectures and streaming becomes easier, “real time” data analytics will become the new normal.

With a client-server architecture dependent on a relational database management, streaming or event processing is relatively rare. You have traditional messaging products like Tibco, MQ Series, or your favorite messaging implementation. These scale well, but not massively — and when kept in sync with your RDBMS, they scale only as well as your RDBMS.

More often than not, you end up doing your analytics on the back end. You’re in good company: When Google wrote its MapReduce paper, it was analyzing the Web in this conventional way.

To read this article in full or to leave a comment, please click here

9 ways developers can rebuild trust on the Internet

See the original posting on JavaWorld

The Internet is a pit of epistemological chaos. As Peter Steiner posited — and millions of chuckles peer-reviewed — in his famous New Yorker cartoon, there’s no way to know if you’re swapping packets with a dog or the bank that claims to safeguard your money. To make matters worse, Edward Snowden has revealed that the NSA may be squirreling away a copy of some or all of our packets, and given the ease with which it can be done, other countries and a number of rogue hacker groups may very well be following the NSA’s lead.

To read this article in full or to leave a comment, please click here

Java 101: The essential Java language features tour, Part 7

See the original posting on JavaWorld

End your tour of Java’s essential language features with
Jeff’s introduction to Java 8’s method references, interface default and
static methods, and three lesser known language updates that every Java
developer should know about. You’ll also preview some interesting additions
coming up in Java 9.

The Essential Java language features tour has explored the
most popular and commonly used features introduced with every version of
Java since JDK 1.4. With this article we come to the end of the journey —
at least for now. Lambdas and functional interfaces are two of the
best-known features added to Java 8, and I covered them in Part 6. In this
article we’ll get to know Java 8’s contributed method references, interface
default and static methods, as well as type annotations, repeating
annotations, and improvements to generic type inference. We’ll complete our
tour with my choice of a few lesser known features that will make a difference
in your programs after Java 9.

To read this article in full or to leave a comment, please click here

Java 101: The essential Java language features tour, Part 7

See the original posting on JavaWorld

End your tour of Java’s essential language features with
Jeff’s introduction to Java 8’s method references, interface default and
static methods, and three lesser known language updates that every Java
developer should know about. You’ll also preview some interesting additions
coming up in Java 9.

The Essential Java language features tour has explored the
most popular and commonly used features introduced with every version of
Java since JDK 1.4. With this article we come to the end of the journey —
at least for now. Lambdas and functional interfaces are two of the
best-known features added to Java 8, and I covered them in Part 6. In this
article we’ll get to know Java 8’s contributed method references, interface
default and static methods, as well as type annotations, repeating
annotations, and improvements to generic type inference. We’ll complete our
tour with my choice of a few lesser known features that will make a difference
in your programs after Java 9.

To read this article in full or to leave a comment, please click here

Enterprise Java moves back into the spotlight this fall

See the original posting on JavaWorld

Java EE (Enterprise Edition), which is geared to running large-scale network applications, has taken a back seat lately to Java SE (Standard Edition) as far as the buzz each has been creating. While Java SE 8 was released last year to much fanfare, the last major release of Java EE, version 7, was introduced more than two years ago. But Java EE will take center stage at the upcoming JavaOne conference.

Although the San Francisco conference does not begin until October 25, Oracle already has published session descriptions for the event, which reveal topics including Java EE, Docker, and the Internet of things.

To read this article in full or to leave a comment, please click here

Two reasons the Rust language will succeed

See the original posting on JavaWorld

Some open source communities seem to get their inspiration from Danté’s “Inferno”: “Abandon all hope, ye who enter here.”

Despite the critical importance of using and contributing more open source, it’s hard to get excited about joining a “community” that feels like standing before a firing line. Yet this is precisely how many open source projects operate.

Not so the Rust community. Begun as an ambitious side project by a Mozilla employee, the Rust programming language promises to blend the control of a low-level language with the flexibility of a high-level language. Or, as Serdar Yegulalp writes, “Mozilla’s bigger ambitions for Rust ostensibly include not just system-native software like Web browsers, but entire operating systems as well, given the language’s billing as a way to achieve speed without sacrificing safety.”

To read this article in full or to leave a comment, please click here

Roll your own API in Amazon’s cloud

See the original posting on JavaWorld

APIs are meant to be kept simple and lean, but the process of developing them often involves a lot of work. Not just with the underlying programming, but the surrounding infrastructure — dealing with rate limiting, managing security, and so on.

Amazon’s API Gateway service makes it the latest to join the parade of those offering better ways to assemble and manage APIs. The main selling point, apart from integration with its other services, is that it’s a “server-less” way to do APIs.

To read this article in full or to leave a comment, please click here

Which freaking Hadoop engine should I use?

See the original posting on JavaWorld

In 2015, Hadoop no longer means MapReduce on HDFS. Instead, it refers to a whole ecosystem of technologies for working with “unstructured,” semi-structured, and structured data for complex processing at scale.

This also now includes streaming use cases, which can be massively parallelized or happen in “real time” (which today means many different things … other than traditional RTOS-style “real time”). The streaming Spark crowd now likes to contrasts itself from the Hadoop — or more specifically, the YARN — crowd.

To read this article in full or to leave a comment, please click here

Are you over-testing your software?

See the original posting on JavaWorld

Release candidate testing takes too long. 

For many agile teams, this is the single biggest challenge. Legacy applications start with a test window longer than the sprint. This happens over and over again with clients and colleagues working on large, integrated websites and applications. 

But what if you didn’t need a human to look at a specific, numbered build to manage risk before deploy? Instead, what if a bot told the team the build was ready, and all someone had to do was click the deploy button? 

Getting there would take some infrastructure and discipline. It might not be possible for you, but there are organizations that do this every day. 

To read this article in full or to leave a comment, please click here

Sad day for developers: SCOTUS denies Google’s appeal on APIs

See the original posting on JavaWorld

In an unsurprising ruling today, the Supreme Court balanced a little of the good it did last week by denying Google’s appeal against Oracle in the matter of the copyrightability of APIs. The case will now be returned to the lower courts to hear Google’s fair use defenses.

While the decision was foreshadowed by the amicus brief delivered by the Solicitor General a month ago, it’s still bad news for 21st century developers and open communities. Denying the appeal gives corporations with a 20th century mindset the ability to require permission from developers seeking to innovate on top of their platforms. Instead of being able to just assume that use — especially re-implementation — of an API is OK, developers will now need to avoid any API that is not explicitly licensed as open. 

To read this article in full or to leave a comment, please click here

Big data, big challenges: Hadoop in the enterprise

See the original posting on JavaWorld

As I work with larger enterprise clients, a few Hadoop themes have emerged. A common one is that most companies seem to be trying to avoid the pain they experienced in the heyday of JavaEE, SOA, and .Net — as well as that terrible time when every department had to have its own portal.

To this end, they’re trying to centralize Hadoop, in the way that many companies attempt to do with RDBMS or storage. Although you wouldn’t use Hadoop for the same stuff you’d use an RDBMS for, Hadoop has many advantages over the RDBMS in terms of manageability. The row-store RDBMS paradigm (that is, Oracle) has inherent scalability limits, so when you attempt to create one big instance or RAC cluster to serve all, you end up serving none. With Hadoop, you have more ability to pool compute resources and dish them out.

To read this article in full or to leave a comment, please click here

Java 101: Deciding and iterating with Java statements

See the original posting on JavaWorld

Java applications evaluate expressions in the context of
statements, which are standalone islands of code that accomplish
various tasks such as declaring a variable, making a decision, or iterating
over statements. A statement can be expressed as a simple statement or as a
compound statement:

  • A simple statement is a single standalone instruction
    for performing a task; it must be terminated with a semicolon character
    (;).
  • A compound statement is a sequence of simple and other
    compound statements located between open- and close-brace characters
    ({ and }), which delimit the compound statement’s
    boundaries. Compound statements can be empty, will appear wherever simple
    statements appear, and are alternatively known as blocks. A
    compound statement is not terminated with a semicolon.

In this article I introduce you to using statements in your Java
programs. You can use statements to to declare variables and specify
expressions, make decisions, iterate over statements (yes, you can use
statements to iterate over statements), break and continue iteration, and do
nothing. I’ll leave some of the more exotic statements (such as statements
for returning values from called methods and for throwing exceptions) for
a future Java 101 article.

To read this article in full or to leave a comment, please click here

Why R? The pros and cons of the R language

See the original posting on JavaWorld

The R programming language is an important tool for development in the numeric analysis and machine learning spaces. With machines becoming more important as data generators, the popularity of the language can only be expected to grow. But R has both pros and cons that developers should know.

With interest in the language growing, as shown on language popularity indexes such as TIobe, PyPL, and Redmonk, R first appeared in the 1990s and has served as an implementation of the S statistical programming language. Notes Roger Peng, an 18-year R programming veteran who teaches R both at the university and on the Coursera online platform, “R is the most popular language used in the field of statistics.”

To read this article in full or to leave a comment, please click here

How containers change everything

See the original posting on JavaWorld

Modern application development owes much to the growth of the devops movement and the automation tools it has delivered. Instead of just writing code, developers now need to think in terms the tools they’re using — and how they fit together in a flow from initial idea to a live application.

The container is one of the most important new tools in this new workflow. Technologies like Docker let us capture key services and abstract them away from underlying infrastructure. It’s an approach that lets us rethink how we deploy applications and how we can take advantage of cloud infrastructures.

The whole enchilada

At a recent Amazon event in London, an AWS user described how his team handled application updates not by pushing a single change, but by making the output of a build process a “complete infrastructure.”

To read this article in full or to leave a comment, please click here

Java 101: Evaluate Java expressions with operators

See the original posting on JavaWorld

Java applications process data by evaluating expressions, which are combinations of literals, method calls, variable names, and operators. Expression evaluation typically produces a new value, which can be stored in a variable, used to make a decision, and so on. In this second article in the Java 101: Foundations mini-series, I’ll show you how to create expressions for your programs. Many expressions involve operators, including additive, array-index, bitwise, conditional, and equality types. I’ll introduce each operator and its operands, and also discuss important concepts such as operator overloading and operator precedence. We’ll conclude with a primer on operator type conversion, including a small program that you can use to practice type conversions on your own. Note that examples in this article are based on Java 8.

To read this article in full or to leave a comment, please click here

JSF 2.3 aims to be the default MVC framework for Java EE

See the original posting on JavaWorld

Due in the third quarter of 2016, JSF 2.3 is being positioned as the default MVC framework for Java EE. Four categories of improvement are listed in the JSR:

  1. Small scale new features
  2. Community driven improvements
  3. Platform integration
  4. Action oriented MVC support

When the JSR was released last July, JSF contributor Arjan Timm noted some of the trade-offs required to better integrate JSF with Java EE 8:

One thing that JSF has been working towards is pushing away functionality that became available in the larger Java EE platform […] ditching its own managed bean model, its own DI system, and its own expression language.

Utilizing the existing functionality in Java EE enables JSF’s development team to fous JSF’s unique features and community driven improvements, including updates to JSF components and component iteration, state model, and AJAX features.

To read this article in full or to leave a comment, please click here

Eclipse’s latest release train carries Docker, Java technologies

See the original posting on JavaWorld

Along with the arrival of summer, late June marks the arrival of the Eclipse Foundation’s annual release train, with the open source tooling organization simultaneously releasing a multitude of technologies. This year’s release train, dubbed Mars, is the 10th in the series. It improves the organization’s stalwart Java IDE and adds Docker accomodations.

Downloadable at the Eclipse website, Mars represents the work of 79 open source projects and 65 million lines of code. “There are a number of new features in the Java IDE to make it easier for Java developers, like hierarchical view of nest projects, the ability to customize perspectives, new Java quick fixes and speed improvements for text search,” Ian Skerrett, Eclipse vice president of marketing, said in an email.

To read this article in full or to leave a comment, please click here

How containers change everything

See the original posting on JavaWorld

Modern application development owes much to the growth of the devops movement and the automation tools it has delivered. Instead of just writing code, developers now need to think in terms the tools they’re using — and how they fit together in a flow from initial idea to a live application.

The container is one of the most important new tools in this new workflow. Technologies like Docker let us capture key services and abstract them away from underlying infrastructure. It’s an approach that lets us rethink how we deploy applications and how we can take advantage of cloud infrastructures.

The whole enchilada

At a recent Amazon event in London, an AWS user described how his team handled application updates not by pushing a single change, but by making the output of a build process a “complete infrastructure.”

To read this article in full or to leave a comment, please click here

Atom at 1.0: GitHub’s Node-based editor is just getting started

See the original posting on JavaWorld

A little over a year after its first public release, GitHub’s cross-platform Atom editor has hit its full 1.0 revision and is already living up to its promise as a basis for other projects.

Atom was originally conceived at GitHub as a way to combine the visual appeal of editors like Sublime Text with the extensibility and programmability of Emacs or Eclipse. It’s capable of being programmed to work with most any language or file syntax, and Atom’s MIT licensing means it can serve as the basis for any number of other projects.

To read this article in full or to leave a comment, please click here

MEAN vs. LAMP for the future of programming

See the original posting on JavaWorld

The transition from cutting-edge curiosity to practical workhorse is not one that many technologies make. Yesterday’s precocious upstarts often fail to live up to their Version 0.1 promise — not so for the technologies that make up the fiercely acronymized MEAN stack.

It was only a few years ago that MongoDB, Express.js, AngularJS, and Node.js were raising eyebrows on their own. Now they’ve grown up and ganged up, and together they’re doing serious work, poaching no small number of developers from the vast LAMP camp. But how exactly does this newfangled MEAN thing stack up against LAMP? When is it better to choose the well-tested, mature LAMP over this upstart collection of JavaScript-centric technologies?

To read this article in full or to leave a comment, please click here

1 39 40 41 42 43 51