Category - General

How to select a good server-side Web framework

In the previous article I mentioned that we’ve decided to use Jetty+Guice+Servlet combination in our Java Web application. What was it motivated for? Why have we refused to use Jersey? Why have we decided to implement a separate Resource class for every Web action and even for every HTTP method?

When everyone of us selects a tool to work with, we all set some requirements to it, and it should meet all requirements to get a green light. Everyone knows them – these are such obvious things as code readability, ease of debugging/testing, following traditional coding practices (OOD, patterns) etc. But today I’ll tell you what requirements I set specifically for a good server-side Web framework. I’ll be happy to work with any technology stack meeting these key requirements, and Jetty+Guice+Servlet is just one of the options.

Briefly, the requirements are:

  1. Extensibility
  2. Common response format
  3. Automatic exception handling
  4. Transactionality of a request

And let me explain you what do I mean by this.

Read More

Tips for successful third-party systems integration

At the moment, there is a great number of various applications already developed. Most of them are connected with providing processed information, taken from different third-party sources.

First of all, let’s review common services that newly developed applications are often integrated with:

  • Social networks, such as: Facebook,Twitter,Google+,LinkedIn;
  • Delivery services: UPS,USPS,FedEx,DHL,Canadian Post,EMS;
  • Online payment systems: Authorize.net, PayPal, Moneybookers, Alertpay, WebMoney, QIWI, video streaming services – YouTube, Vimeo.

We have significant experience with third-party systems integration. And, as long as, this process is rather difficult, sometimes we face various issues. Our successful experience of resolving such issues allows us to develop some recommendations for dealing with third-party systems.Read More

Symfony 2: Doctrine 2 get random entites (MySQL)

Often during the process of developing projects on the Symfony 2 framework and Doctrine 2 ORM many web applications developers face the problem of getting random records from a MySQL database. Most developers know that this issue is not new, and all solutions that already exist have been known for a long time. But you can hardly find an implementation of any of them on the Symfony 2 framework and Doctrine 2 in the Internet. In this post I want to propose you , in my opinion, the most simple way of selecting random records from MySQL by means of the function RAND.Read More

Time tracking systems overview

We’ve already covered various aspects of software development process so far: how to choose a provider, which IP issues to consider, how to motivate your team, what challenges to be aware of when working on international scale… But how to make sure that the whole team is actually working? What if the majority of time is actually spent on non-project related activities (i.e. Facebook, chats with friends, etc.)?

Read More

The right E-learning solutions for your business or organization

Technology has come a long way when it comes to being a productive tool for teaching. In fact, E-learning has made a huge impact on training within organizations all over the world, and this type of teaching continues to evolve. Whether it be for the workplace or school, it is a great way to disseminate information to a particular group. The E-learning market is set to make a large impact with an estimated revenue of approximately $51.5 billion by 2016, which is a projected 7.6% growth.

Read More

A great feature of PHP – Cookbook for context implementation

This article covers technical details of PHP driven configuration described in a previous article. There are a lot of stones under the water that can drive you crazy when you work with PHP templating engine. I will tell you how to work around some of them. We’ll discuss how to:

  1. Implement script inclusion methods
  2. Prevent vision of context’s private members
  3. Implement graceful error handling
  4. Implement state stack for nested scripts inclusion
  5. Include scripts by relative path
  6. Output JSON arrays/objects in for-loops
  7. Prevent security issues

Read More

How to promote your software product

As your software development process is getting closer to finish, your product promotion is going to become your primary focus.

What to consider when starting promotion

Identify your target audience

First and foremost, you need to understand whose needs your product is aimed to satisfy – you need to know your target audience. For example, if your newly developed project is an E-learning system, your potential customers will be students and teachers most likely. If it is a time-tracking system, it will be interesting for startup owners, heads of IT departments and businessman working with remote employees (software development teams, for example).

Read More

How we got into Global Outsourcing 100® 2015 listing

The beginning of this year was marked by a great achievement for our company. We have entered the annual listing of the best outsourcing companies in the world “The 2015 Global Outsourcing 100” by IAOP for the first time.

The Global Outsourcing 100 represents the annual listing of the world’s best outsourcing service providers. The complete details on the 2015 Process and Methodology of scoring can be found here. This is a real success, and we are proud that our continuous efforts to improve the quality of our services have been recognized on a global level.

Sounds impossible? We did think so. But you’ll never know unless you try.
In this article we’ll tell which materials we have prepared and provided together with our application to GO 100 program.

Read More

Propagating Cloud Based Application Development

The attributes of a cloud based application hint on many of the advantages of cloud based application development. The cloud environment saves money through the minimization of information technology infrastructure operating expense, optimization of server use, shortening of the development cycle and providing the resources for scalability without large capital investments.

Cloud computing has greatly affected information technology over the last decade. According to Readwrite references applications are being “reengineered to take advantage of cloud’s instant access, no download and pay-as-you-go attributes.”

Read More