Category Archives: Computer Science

All about computer science

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 (3321 downloads )

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 (5667 downloads )

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 (2831 downloads )

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) (1225 downloads )

What We Can Do in The Cloud (Part 1)

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 first part of two presentations about cloud computing introduction I prepared back then. The primary intention was to give students some basic ideas about cloud computing project they could work on by providing pointers and resources they might use in their projects. This presentation highlights cloud services, virtualization concept and provides some information on how to use some cloud service offerings like those provided by Amazon through Amazon Web Services (AWS), Eucalyptus through Eucalyptus Community Cloud and Github through its Git repository service.

You can download the presentation from the link below:

What We Can Do in the Cloud (Part 1) (1303 downloads )