InfoQ Homepage Articles
-
Resource-Oriented Architecture: Information, Not Containers
The Web is known primarily as a Web of Documents because that has been our main experience with it, but we should not ignore the idea of documents as a data source. New technologies are emerging to make it easier to encode extractable content on the Web. This article focuses on how producers can increase the machine-processability of the documents they produce.
-
Using DNS for REST Web Service Discovery
Service Discovery is an essential aspect of service orientated architecture because it avoids early binding of clients to particular service instances. In this article, Jan Algermissen explains the need for discovery of RESTful services, and explains how the existing Domain Name Service (DNS) standard can be used as a widely-deployed and scalable solution.
-
Learnings from Five Years as a Skype Architect
Too often in our work as architects and designers we focus on the task at hand, seldom reflecting on the past. We should really know better, how else do we improve? This article by Andres Kutt summarizes six learnings from 55 months as an architecture team lead at Skype. Some of them are technical while some focus upon the softer aspects of an architect's work.
-
JSR 292 and the Multi-lingual JVM
Java 7 is looking to improve support for dynamic languages using the Java Virtual Machine for their runtime environment. John Rose has been leading a project to explore some options, and JSR 292 will standardise some of this work for Java 7. InfoQ takes a look at the problems JSR 292 solves, and talks to JRuby lead Charles Nutter to find out more about InvokeDynamic in practice.
-
NoSQL in the Enterprise
In this article, Sourav Mazumder explores what NoSQL databases are, how they fit into Enterprise IT, the challenges facing enterprise adoption, how to choose the appropriate NoSQL database for a given application, a short list of NoSQL databases which are likely to be good matches for enterprise applications, and advice for how to adopt NoSQL databases within an enterprise.
-
Unit and Integration Testing for GWT Applications
Bertrand Paquet and Gael Lazzari of Octo Technology explore Unit Testing GWT applications and introduce their own open source gwt-test-utils framework to support unit and integration testing of GWT code with standard tools such as JUnit and Easymock.
-
Book Excerpt and Interview: jBPM Developer Guide
A new book by Mauricio "Salaboy" Salatino, the jBPM Developer Guide, provides a detailed jBPM programming guide for Java developers with several real-life examples. InfoQ spoke with Salatino to learn the motivations behind the book and learn from his experience both using and writing about the jBPM Business Process Management suite.
-
Inotify: Efficient, Real-Time Linux File System Event Monitoring
The need to scan a given filesystem for changes is a fairly common one, and there are a variety of common tasks which need this. A framework which offers real-time event notification for Linux file system events is Inotify. In this article we will walk through how to use Inotify to monitor directories and trigger alerts on changes and present tools you might want to add to your personal toolbox.
-
Code Contracts in C#
This article discusses the concepts and ideas of Code Contracts and the way they are handled in C#. Unless you happen to have used a language supporting Design by Contract before, you may sometimes find yourself unsure of how to proceed with Code Contracts. If you're using it in conjunction with Test Driven Development, what should you write first - the contract or the implementation?
-
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.