In computer programming, the interpreter pattern is a design pattern that specifies how to evaluate sentences in a language. The basic idea is to have a class for each symbol (terminal or nonterminal) in a specialized computer language.
I often get asked by up-and-coming technologists, "what things should I be doing to work towards becoming an architect"? Of course, as is often the case when asking an architect a question, the answer is "it depends". However, I've found the following list to be a good starting point.
This post will demonstrate how to secure the ActiveMQ WebConsole with a username and password when deployed in the Apache Tomcat web server.
Using this configuration to set up multiple instances of ActiveMQ broker pairs in a single Jetty instance you can see how it could simplify managing and accessing the web consoles for all brokers as the environment scales to support many instances of ActiveMQ master/slave pairs.
The internal redelivery is essentially the Camel error handler that allows you to retry processing a failed message. This is all handled by Camel itself. However the situation changes when the redelivery is commenced externally...
So when we started the journey of the book we knew we had one shot of getting this right. So Jonathan and I went all in, and worked our butts off to deliver a quality book that does justice to the fantastic project that Apache Camel is.
When talking about API management, the first thing that comes to mind is a public API, one that is open for anybody to consume, provided a certain level of registration. Obviously, the most famous APIs are the public ones, potentially known to anybody.
I recently came across an issue where the ActiveMQ KahaDB journal files were continually rolling despite the fact that only a small number of small persistent messages were occasionally being stored by the broker. I found the actual cause of this behavior and I will describe it here...
This is a quick introduction to Proton, which provides libraries for speaking AMQP. It's part of the Apache Qpid project.
A security architect was unsure whether OAuth would be a good fit for some existing APIs that they have because those APIs happen to be consumed from two very different sources
AMQP is the ideal protocol for passing business critical, real-time data across and between organizations and virtual cloud computing transactions environments in a secure manner.
There are some weird APIs out there. That's what Craig Neslage found out when he looked through APIhub - a giant hub for APIs similar to ProgrammableWeb. Let me give you an idea of the weird level we're talking about here...
In Spring Integration if you have to do https communication when using http:outbound-gateway, you need to use the following trick...
If you are shopping for a new messaging queue and looking at RabbitMQ, or if you're just looking for ways to improve your existing RabbitMQ use case, there are 2 articles you really need to look at.
As the enterprise is increasingly taking notice of WOA (Web Oriented Architecture) these days, the need for security guidelines and standards for RESTful Web services is becoming more pressing.
IT consultant Stuart Charlton had a rich analysis on these two technologies from VMware (RabbitMQ) and LinkedIn (Kafka). It suggest when you should use Kafka, when you should use RabbitMQ, what both are good at, and what neither are good at.
A generally useful question posed by Charming asks how many queues one should use in RabbitMQ for the maximum message passing throughput/performance. I thought I'd distill the answers by Brian Kelly and RobotEyes here for anyone who's worried about...
Continuing with our intro to the newly anointed top-level project, Apache Isis, we now take a look at how to get started with Apache Isis running the Maven quickstart archetype. With it, you'll be able to generate your first Apache Isis application
This screencast demonstrates the use of the Jamod component for Apache Camel for monitoring the status of Modbus devices. It also demonstrates how quick and easy it is to provide loopback functionality to a Modbus device without making wiring changes.
There are lots of server implementations that support STOMP (mostly compliant with the STOMP 1.0 specification). Get a good list of STOMP 1.0 compliant message servers and learn the fundamentals of this protocol.
Computer security is a continuous process dealing with confidentiality, integrity, and availability on multiple layers of a system. These are are 9 principles that every application developer should apply immediately to their design process. Not a bad thing to think about given Java's recent security woes...
In October, Apache Isis became a top-level project after 2 years in the incubator. Isis is an interesting project. It's a Java framework for developing domain-driven and RESTful applications using the Naked Objects pattern.
How do you accommodate RESTful service composition patterns where identities need to be propagated across nested service invocations, or any RESTful Web service client that is not browser based for that matter? How should brokered authentication for such RESTful service calls be handled?
This week marks the release of DZone's 170th Refcard. Author Christian Posta is a Senior Consultant and Architect at Red Hat, the card's sponsor, and he took a few minutes to answer some questions we had about the authorship of the card.
Recently I tweeted as a #linktuesday link the 10 Worst API Practices post from ProgrammableWeb. The responses I got have been organized to form a list of useful API anti-patterns that you should watch out for.