Technologies

Technology development:

  • Program language JAVA and Bash (Linux Scripts)
  • Maven2 : Is a software tool for Java project management and build automation. It is similar to the Apache Ant tool, but is based on different concepts.Maven uses a construct known as a Project Object Model (POM.XML) to describe the software project being built, its dependencies on other external modules and components, and the build order. It comes with pre-defined targets for performing certain well defined tasks such as compilation of code and its packaging.Maven dynamically downloads Java libraries, Maven plug-ins, is network-ready and others.
  • WSIT : Web Services Interoperability Technology (WSIT) next-generation of web service technologies is an implementation of a number of open web services specifications to support enterprise features. In addition to message optimization, reliable messaging, and security, WSIT includes a bootstrapping and configuration technology.Ref: http://java.sun.com/webservices/reference/tutorials/wsit/doc/index.html
  • RESTful Web Service: WebRepresentational State Transfer  (REST) attempts to describe architectures which use HTTP or similar protocols by constraining the interface to a set of well-known, standard operations (like GET, POST, PUT, DELETE for HTTP). Here, the focus is on interacting with stateful resources, rather than messages or operations.
  • JSDL : Job Submission Description Language is an extensible XML specification for describing requirements of computational jobs for submission to resources, particularly in Grid environments, though not restricted to the latter.JSDL describes: Job name, description, Resource requirements (RAM, swap, CPU, number of CPUs, Operating System, etc.), execution limits, file staging, Command to execute…Ref: https://forge.gridforum.org/sf/projects/jsdl-wg
  • Data Management : Hadoop and SFTP.

Virtualization technologies:

This project uses Xen with Libvirt or Xen Server, KVM with Libvirt and in a future will use Amazon EC2 and others virtualization.

  • XEN : Xen is a virtual-machine monitor for x86, x86-64, Itanium and PowerPC. It allows several guest operating systems to execute on the same computer hardware concurrently. Xen is GNU.
  • KVM : Kernel-based Virtual Machine (KVM) is a Linux kernel virtualization infrastructure. KVM currently supports native virtualization using Intel VT or AMD-V. Limited support for paravirtualization is also available for Linux guests and Windows in the form of a paravirtual network driver, a balloon driver to affect operation of the guest virtual memory manager, and CPU optimization for Linux guests.
  • Amazon EC2 : Amazon Elastic Compute Cloud (Amazon EC2) is a web service that provides resizable compute capacity in the cloud. It is designed to make web-scale computing easier for developers.
  • Libvirt : Libvirt is a C and Java API to interact with the virtualitzation capabilities and supports Xen, QEMU, KVM, LXC, OpenVZ, VirtualBox, User Mode Linux.