InfoQ Homepage Languages Content on InfoQ
-
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.
-
Scout - Extensible Server and Application Monitoring
Scout is an extensible server and application monitoring service which focuses upon ease of installation and configuration. Scout offers default alerts to help administrators understand how the application is behaving under various loads as well as allowing developers to create plugins to extend Scout.
-
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.
-
Google Go: A Primer
Google recently announced their new programming language, Go. It is designed to bring some of the advances of modern programming languages back down to the systems arena where C still dominates today. However, the language is still experimental and evolving. This primer will help explain the intricacies and structure of the Go language for those who are interested in learning more about it.
-
DSL Evolution
In this article, author Peter Bell discusses the best practices on how to evolve the DSLs using techniques like backwards compatibility through versioning, to automated transformation of statements.
-
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.
-
Key Takeaway Points and Lessons Learned from QCon San Francisco 2009
This article presents the main takeway points as seen by the many attendees who blogged about QCon. Comments are organized by tracks and sessions: Turotials, Keynotes, Agility as a Craft, Architecture for the Architect, Architectures You've Always Wondered About, Cool Stuff with Java, DSL in Practice, Emerging Languages, The Cloud: Platform or Utility, The Many Facets of Ruby, and many more!
-
Decoupling REST URLs from Code using NetKernel Grammars
In this article, Randolph Kahle explores the challenge of combining the potentially fluid world of URLs with the more static world of deployed code. Examples of how incoming URLS are parsed and outgoing URLs are generated using NetKernel grammars are given, and the NetKernel grammar system is explored in detail.