Projects:ASM

Contents

Edit

Introduction

Application Service Modules (ASMs) are sharable application utilities based on service oriented architecture. They are typically structured around data structures and design patterns and are implemented across multiple languages. This means that they offer similar functionality in a moduler format for different language run times. Based on which language you are using to develop your application, you can choose the right implementation of an ASM, and plug it into you code.

Edit

Motivation

Very often programmers need to implement some piece of common functionality in their code repeatedly. For example, a web developer might have to implement "Remind Password" functionality for every website. The code written once may not be reusable because if was not written in a pluggable fashion. Or for the next website, a different language run time might be used. One approach to solve this problem is to create a language-independent module that can be used across different applications. However, this is not always technically feasible. Moreover, such solutions may not give equivalent results on all language run times. They may suffer in terms of performance or just may not feel natural to the way of programming in one or more of the languages. ASMs try to solve this problem without over-engineering the architecture.

Edit

Samples

The easiest way to understand what ASMs are is to download one of them and try to use it. We have two sample Application Service Modules under this project that you can try.

  • Remind Password: This module provides the password reminder functionality for a web application. It is implemented in Java, PHP, and Python and can be downloaded here. It uses MySQL database in the background by default. But you should be able to tweak it easily to talk to other databases. The implicit database schema can be changed by modifying the configuration file. In fact, most of the behavior of this module can be changed from the configuration files.
  • AJAX Spell Checker: This module provides spellchecking ability for any test box. It uses AJAX in the background to connect to server and get the spelling errors and suggestions. It is based on ajax-spell open-source project. We have Java, PHP, and Python implementations of the backend spellcheker available for this one. On the client side, it runs in a browser and uses Javascript to show the spelling errors and suggestions. Download it from here.


Edit

Project Page

Project information can be found here


Top Level > Projects

MediaWiki

This page has been accessed 3,780 times.

This page was last modified 01:16, 17 September 2005.