Maven Tutorial for Beginners: Quick Introduction

This is the first article of the Maven tutorial series for beginners. For those interested in building their Java projects on top of Maven structure, the articles in the series may help.

Preface

For Java developers, Maven is not an alien word. It is much known as a very powerful tool used to build and manage Java projects with varying size and complexities. Aside from being powerful, it is also pervasive, which is exhibited by substantial presence across projects and entities. It is used by individual developers whose projects are being shared in the public repositories to big enterprises with a walled garden protecting the codebase.

This article is targeted to Maven first-timers who are fiddling with Maven on Windows and are in need of guide to installing, configuring, and using Maven for their next Java project. Even though Maven can work across different versions of Windows, the articles and reference images were created in the environment as specified below:

Operating System: Windows 7
Maven version: 3.x.x
Java version: 1.7+

Continue reading

Why Events Are a Bad Idea

With the always increasing needs for more responsive and better performing application, modern applications these mostly adopt concurrent computing model. In this model, a task is divided or split into multiple parts and then passed to a number of processing workers that will work on each part and then coordinate to help build the whole solution to the problem. Another case is when a stack of tasks or problems is forwarded to a number of processing workers having identical processing routine so that stack can be emptied faster. The application which applies the concurrent computing model is called concurrent application.

Two popular approaches have been widely used to address computation in a concurrent application: thread-based approach and event-based approach. Nowadays, event-based approach is a more likely to be found in the implementation of a concurrent application. Nonetheless, this does not mean that thread-based model never gains traction.

This article summarizes the paper with the same title, which offers thought-provoking argumentations on the merit of thread-based approach over event-based approach in developing a highly concurrent application. What’s interesting from the paper is not only does it provide conceptual and theoretical argumentation, it also shows some empirical results in the defense of the provoking statements.

You can download the presentation from the link below:

Why Events Are a Bad Idea (403)

The Enterprise Service Bus: Making Service-Oriented Architecture Real

Enterprise solutions are often complex and heterogeneous. It is a perfect analogy of a system of systems. In this article, I provide a presentation delivered about Enterprise Service Bus (ESB). The presentation is based on a paper of the identical title, authored by M. T. Schmidt et al.

The presentation summarizes the key points in the paper. It highlights the definition and concept of the ESB and the common cases where it can be applied to a certain problem domain. Later it discusses several common mediation and usage patterns that can be chosen as the most proper strategy in resolving the system integration problem.

By nature, this presentation is targeted to computer science researchers. However, software or system engineers who want to get a better grasp of the ESB concept may also find the presentation and the original paper useful.

You can download the presentation from the link below:

The Enterprise Service Bus: Making Service-Oriented Architecture Real (948)

Survey of Publish Subscribe Event Systems

This presentation contains the summary of the paper of the same title. The paper primarily discusses about existing publish subscribe systems and how each of them differs from the rest.

A computer science researcher in search of a comprehensive summary of publish-subscribe system may find the paper (and this summary) useful. Additionally, the paper can provide some conceptual information and knowledge for software engineers implementing or about to implement a event-based pubsub system.

You can download the presentation from the link below:

Survey of Publish Subsribe Event Systems (337)

What We Can Do in The Cloud (Part 2)

This presentation was made back in 2010. Some parts of the content may have been irrelevant or obsolete as the technology progresses. However, this presentation can still be helpful especially for those who want to look closer into cloud computing concept and its implementation.

This is the last presentation from the series about cloud computing introduction. This part contains information about Google App Engine (GAE) and Hadoop quick-starts. Those who are interested in building their applications on top of GAE PaaS may find this presentation helpful. Obviously GAE has undergone some changes since 2010. So, please reflect to their changes accordingly. Similarly, those who are Hadoop first-timers may be curious about the its concept and how to use it in the big data realm.

You can download the presentation from the link below:

What We Can Do in the Cloud (Part 2) (229)