• development of web applications on J2EE platform
  • development of stand alone JAVA swing applications
  • development of mobile android aplications

Working on projects for companies

Android technologies:

Android SDK - A software development kit that enables developers to create applications for the Android platform. The Android SDK includes sample projects with source code, development tools, an emulator, and required libraries to build Android applications. Applications are written using the Java programming language and run on Dalvik, a custom virtual machine designed for embedded use which runs on top of a Linux kernel.

Android Cloud to Device Messaging (C2DM) - a service that helps developers send data from servers to their applications on Android devices. The service provides a simple, lightweight mechanism that servers can use to tell mobile applications to contact the server directly, to fetch updated application or user data. The C2DM service handles all aspects of queueing of messages and delivery to the target application running on the target device.

Java technologies:

J2EE - Java 2 Enterprise Edition - a widely used platform for server programming in the Java programming language. The Java platform (Enterprise Edition) differs from the Java Standard Edition Platform (Java SE) in that it adds libraries which provide functionality to deploy fault-tolerant, distributed, multi-tier Java software, based largely on modular components running on an application server.

JSF - Java-based Web application framework intended to simplify development of user interfaces for Java EE applications. Unlike request-driven MVC web frameworks, JSF uses a component-based approach. The state of UI components is saved when the client requests a new page and restored when the response is returned. Out of the box, JSF uses JavaServer Pages (JSP) for its display technology, but can also accommodate other technologies (such as XUL and Facelets).

GWT - Google Web Toolkit (GWT) is a development toolkit for building and optimizing complex browser-based applications. GWT is used by many products at Google, including Google AdWords and Orkut. It's open source, completely free, and used by thousands of developers around the world.

IceFaces - an open source Ajax framework that enables Java EE application developers to create and deploy server-based rich Internet application (RIA) using the Java language. ICEfaces leverages the entire standards-based Java EE ecosystem of tools and execution environments. Rich enterprise application features are developed in pure Java, and in a pure thin-client model.

RichFaces - a rich component library for JavaServer Faces built on the open-source Ajax4jsf framework. It allows easy integration of Ajax capabilities into enterprise application development. In addition to expanding the number of visual ready-to-use components of the Ajax4jsf framework, RichFaces also implements the "skinnability" feature, including a large number of predefined skins to manage the look-and-feel of an application.

JPA - Java Persistence API - a Java specification for accessing, persisting and managing data between Java objects / classes and the relational database. JPA was defined as part of the EJB 3.0 specification as a replacement to the EJB 2 CMP Entity Beans specification. It is now considered the standard industry approach for Object to Relational Mapping (ORM) in the Java Industry.

JMS - a messaging standard that allows application components based on the Java 2 Platform, Enterprise Edition (J2EE) to create, send, receive, and read messages. It enables distributed communication that is loosely coupled, reliable, and asynchronous.

EJB - Enterprise JavaBeans - a managed, server-side component architecture for modular construction of enterprise applications. The EJB specification intends to provide a standard way to implement the back-end 'business' code typically found in enterprise applications (as opposed to 'front-end' interface code). Such code was frequently found to address the same types of problems, and it was found that solutions to these problems are often repeatedly re-implemented by programmers. Enterprise JavaBeans were intended to handle such common concerns as persistence, transactional integrity, and security in a standard way, leaving programmers free to concentrate on the particular problem at hand.

AJAX - a group of interrelated web development techniques used on the client-side to create interactive web applications. With AJAX, web applications can retrieve data from the server asynchronously in the background without interfering with the display and behavior of the existing page. The use of AJAX techniques has led to an increase in interactive or dynamic interfaces on web pages[2][3] and better quality of Web services due to the asynchronous mode.

JAAS -Java Authentication and Authorization Service - a Java security framework for user-centric security to augment the Java code-based security.

JAVA WEB START - a Java-based application that allows full-featured Java 2 client applications to be launched, deployed, and updated from a standard Web server. Unlike Java applets, Web Start applications do not run inside the browser, and the sandbox in which they run need not have as many restrictions. Web Start has an advantage over applets in that it overcomes many compatibility problems with browsers' Java plugins and different JVM versions.

J2SE - Java 2 Standard Edition - a widely used platform for programming in the Java language. It is the Java Platform used to deploy portable applications for general use. In practical terms, Java SE consists of a virtual machine, which must be used to run Java programs, together with a set of libraries (or "packages") needed to allow the use of file systems, networks, graphical interfaces, and so on, from within those programs.

Spring - the most popular application development framework for enterprise Java™. Millions of developers use Spring to create high performing, easily testable, reusable code without any lock-in.

Hibernate - an object-relational mapping (ORM) library for the Java language, providing a framework for mapping an object-oriented domain model to a traditional relational database. Hibernate solves object-relational impedance mismatch problems by replacing direct persistence-related database accesses with high-level object handling functions.

iBATIS - persistence framework which automates the mapping between SQL databases and POJO objects in Java. The mappings are decoupled from the application logic by packaging the SQL statements in XML configuration files.

SWING - a widget toolkit for Java. It is part of Sun Microsystems' Java Foundation Classes (JFC) — an API for providing a graphical user interface (GUI) for Java programs. Swing was developed to provide a more sophisticated set of GUI components than the earlier Abstract Window Toolkit. Swing provides a native look and feel that emulates the look and feel of several platforms, and also supports a pluggable look and feel that allows applications to have a look and feel unrelated to the underlying platform.

Development frameworks:

Oracle ADF - Oracle Application Development Framework - provides a commercial Java framework for building enterprise applications. It provides visual and declarative approaches to J2EE development. It supports rapid application development based on ready-to-use design patterns, metadata-driven and visual tools. It is based on MVC architecture.

JBoss Seam - a framework that brings together existing Java Platform, Enterprise Edition (Java EE) standards to enable them to work as an integrated solution. At its core, the Seam framework ties the Enterprise JavaBeans 3 (EJB3) and JavaServer Faces (JSF) specifications. However, Seam does not just stop there—it will also join together other component models that you may be used to, such as jBPM, Drools and more.

AXIS - an open source, XML based Web service framework. It consists of a Java and a C++ implementation of the SOAP server, and various utilities and APIs for generating and deploying Web service applications. Using Apache Axis, developers can create interoperable, distributed computing applications. Axis is developed under the auspices of the Apache Software Foundation.

Application servers:

GlassFish - an open source application server project led by Sun Microsystems for the Java EE platform. GlassFish is based on source code donated by Sun and Oracle Corporation's TopLink persistence system. It uses a derivative of Apache Tomcat as the servlet container for serving Web content, with an added component called Grizzly which uses Java NIO for scalability and speed.

Oracle AS - Oracle Application Server - The heart of Oracle AS consists of Oracle HTTP Server (based on Apache HTTP Server) and OC4J (OracleAS Containers for J2EE) which deploys J2EE-based applications. Oracle AS became the first platform designed for grid computing as well as with full life-cycle support for service-oriented architecture (SOA).

JBoss - JBoss Application Server - a free software/open-source Java EE-based application server. Because it is Java-based, the JBoss application server operates cross-platform: usable on any operating system that Java supports. JBoss AS was developed by JBoss, now a division of Red Hat.

Tomcat - a servlet container developed by the Apache Software Foundation (ASF). Tomcat implements the Java Servlet and the JavaServer Pages (JSP) specifications from Sun Microsystems, and provides a "pure Java" HTTP web server environment for Java code to run.

Databases :

Oracle DB - consists of a relational database management system (RDBMS) produced and marketed by Oracle Corporation. As of 2009[update], Oracle remains a major presence in database computing.

MySQL - a relational database management system (RDBMS) which has more than 6 million installations. MySQL stands for "My Structured Query Language". The program runs as a server providing multi-user access to a number of databases.