InfoQ Homepage Java Content on InfoQ
-
Implementing Google's "Did you mean" Feature In Java
Leandro Moreira shows how to implement a domain specific version of Google’s “Did you mean” feature based on the SpellChecker project in the Apache Lucene sandbox using thee alternative algorithms (Levenshtein, Jaro-Winkler and N-gram).
-
Key Takeaway Points and Lessons Learned from QCon London 2010
This article presents the main takeway points as seen by the many attendees who blogged about QCon. Comments are organized by tracks and sessions: Keynotes, Tutorials, 2015 Software Development, Agile Evolution, AlphaGeeks on .NET, Architectures You've Always Wondered About, Pragmatic Cloud Computing, Cool Stuff with Java, Dev and Ops: A single team, Software Craftsmanship, NoSQL and many more!
-
Scaling Clojure Web Apps with Google AppEngine
InfoQ takes a look at how a combo of Clojure and Google AppEngine (GAE) powers a new online project management tool, how Clojure integrates with GAE's key/value store, and the power of LISP.
-
A Discussion with Allard Buijze on CQRS with the Axon framework
The Axon framework is a Java implementation of the Command and Query Responsibility Segregation. InfoQ talked with its creator, Allard Buijze, to find out more.
-
Authorizing Process Access and Execution with JBoss jBPM
Centralized BPM deployments can greatly benefit from the ability to control access to process definitions and instances ensuring that users can use and monitor only a set of processes that they are authorized for. In this article Boris Lublinsky shows how to extend JBoss jBPM to define and support process access authorization.
-
Memory Barriers and JVM Concurrency
Memory barriers, or fences, are a set of processor instructions used to apply ordering limitations on memory operations. This article explains the impact memory barriers have on the determinism of multi-threaded programs. We'll look at how memory barriers relate to JVM concurrency constructs such as volatile, synchronized and atomic conditionals.
-
BlazeDS and JMS for PHP Developers, Part 2
In the second and final of our articles on BlazeDS and JMS, InfoQ looks at two additional methods for sending messages to JMS topics or queues from PHP - the PHP/Java Bridge which provides a framework for calling Java classes from PHP scripts using a simple Java façade, and the STOMP protocol.
-
A Comparison of Spring MVC and JAX-RS
SpringSource's Rossen Stoyanchev introduces the Spring MVC REST features available in Spring 3 and relates them to JAX-RS, highlighting the similarities and differences between the two programming models.
-
What's New in Two: Adobe AIR 2.0 is Coming Soon!
Adobe AIR 2.0 is coming, and it contains many highly requested features that application developers have wanted since AIR 1.0 was released nearly two years ago. When Adobe releases the new runtime, it will be automatically downloaded and installed by all of your users. It's important to test now to make sure you're not caught off guard. And, you can get a head start using some of the new features.
-
BlazeDS and JMS for PHP Developers, Part 1
BlazeDS is an open source project from Adobe that allows you to connect your Adobe Flex applications with data services. The Java Messaging Service (JMS) is a method of communicating with services written in Java. In the first of two articles, InfoQ looks at the advantages of JMS and how you can use BlazeDS to communicate with your Java services via JMS from your Flex applications.
-
Book Excerpt and Interview: Dynamic SOA and BPM: Best Practices for Business Process Management and SOA Agility
Boris Lublinsky interviews Marc Fiammante as part of a review of Marc' new book, Dynamic SOA and BPM: Best Practices for Business Process Management and SOA Agility. The book is based on many years of practical experience obtained during dozens of enterprise SOA implementations and covers major steps of such implementations
-
Modular Java: Declarative Modularity
The fourth of the Modular Java series covers declarative modularity. It describes how components can be declaratively defined and wired together, without having a code dependency on OSGi APIs. Declarative services will be used to write POJOs together dynamically, such that code no longer needs to explicitly register or consume OSGi services, and without any start ordering dependencies.