Development Stack

Developer must have some unique way he used all the time once he faced by development cycle. And sometimes it would be related to some tools. Maybe the definition i gave here is not quite right but it is what i feel. I called them (related tools to development cycle) as development stack.

And here it is, for your information, my current development stack:

Presentation Layer:

Presentation layer is layer of application which the closest layer to users. Term user here is person, party, or even another machine which asks for and uses service served by application.

Currently, I often faced to different type of developments which is usually only web presentation layer.


Ajax implementation used to leverage user experience to web application as desktop application as well.

Currently, light weight implementation of ajax used on my development stack, using simple javascript as:

Business Layer:

Business Layer is layer to process business logic of the application.

  • Php – CakePhp (its model)
  • Java – Spring
  • Java – EJB 3

Data Persistence Layer:

Data Persistence Layer is layer to persist data to data source as database.

Project Management Tools:

Project Management Tools consist of wiki, issue-tracking system, and revision control system integrated.

  • maven, mainly as build tool
  • redmine, rubyonrails-based issue tracker
  • trac, python-based issue tracker very easy to use but hard to install

Revision Control System:

Revision Control System is the management of multiple revisions of the same unit of information.

  • svn (Subversion)
  • cvs, obsolete by svn i think

Unit Test:

Unit test is testing applied to each unit of application

  • Java – JUnit


Integrated Development Environment mainly as editor, build, and run project.

Continuous Integration:

CI enable automated build in integration term, so any fallacies in each update can be immediate known.


About this entry