Abstract— This paper focuses on large-scale distributed systems that can be modeled as workflows of activities sharing resources, knowledge, know-how and services. We propose a programming environment for such global activity-based applications the execution of which relies on the agent-technology. Methods and emerging technologies will be discussed from the user level applications to the run-time support. The programming environment we propose is the result of our experience in designing and implementing applications within specific application domains such as controlling industrial platforms and bioinformatics.