Skip to main content

Posts

Showing posts from 2011

Why "Polyglot Programming" or "Do It Yourself Programming Languages" or "Language Oriented Programming" sucks?

Last year we saw the launch of a new Web programming language Dart - Structured Web Programming from Google. A very interesting approach to support web application development. Not so long after Go, Groovy, Ruby, Scala, << name your DSL here >>; we see Dart. Is it a good thing to have at least one programming language to solve one problem? The answer is, like we already know, it depends.

Some important backgrounds you should know about the multi programming language paradigm are following:

1. You can read Martin Fowler article about language oriented programming with language workbenches which enables you to write small programming languages easily. In this article I see everyone writing their small languages, everywhere. In this concept we see DSL (Domain Specific Language) as the future of our programming activities. Source:http://martinfowler.com/articles/languageWorkbench.html

2. Neal Ford talked about Polyglot Programming, combining multiple programming languages in appl…

Moving from Ant to Maven: Best Practices with Maven Plugins

I would like to share my experience of moving from "our reinventing wheel" of Ant build scripts to Maven standard.
I reworked some apps which have following characteristics:
(1) Java Version: - The apps should be compiled with Java 6 version.
(2) Basic technologies: - Some of the apps are using Model Driven Architecture/Model Driven Software Development things, it means we have some MDA/MDSD generators inside our Ant scripts, like AndroMDA or oAW. - Almost all the apps use Hibernate, so we need to generate the whole Database scheme to be able to create the whole database automatically. - Some of the apps use older version of ANTLR. So we have some of ANTLR source codes which have to be compiled. - Some of the apps use older version of Groovy. So we have some of Groovy source codes which have to be compiled. - A webapp uses GWTas presentation layer.
(3) Packaging: - Some of the webapps have somekind of information about the version. For example the webapps have version.htmlfile …

Inside-Out and Outside-In Integration of Webapps: Services and Extensions

In terms of integrating your webapp with other webapps and another way around I see two different integration types:

1. Inside-Out Integration This is the standard way and almost every webapps available use this possibility. For other webapps to be able to use some functionalities of your webapp you often offer Web services (mostly in RESTful manner) which can be called from outside or other webapps easily.

In this area you offen need following strategies and standards: Webservice protocol: REST for allowing to define the functionalities you want to export to other webapps.OAuth(two and three legged) for allowing other webapps to calls your webapp services, authorization.Sometimes OpenID for allowing other webapps to use the same login, authentification.
2. Outside-In Integration This is still not commonly used in webapps development. In some desktop apps we know this as a concept of Extensions and/or Plugins (I use these terms exchangeable). This integration lets other webapps run in the…