Custom Software Development
Why yet another software company? Well, its evident that many of the softwares that exist, for varied reasons, are going to face or is already facing the stiff challenge of a volatile business and technology environments. Hence there is always space for one or more technology partners per business, who can guide them through. We guarantee the right way of making software. By 'the right way' we mean adoption of the best suited technology and processes that are cost effective and can adapt to the business needs. We dream to convert our team work into an experience, that makes software a habit, rather than a burden to the customer.

With real-time implementation experience,we persist to build up better softwares that makes better work places.

We aim to provide software services and products that excel the way people work. We believe that one of the best ways to make work places interesting is to improve the processes and increase individual achievements. We try to carefully study all the deterrents of maintaining a smart process and advocate the best solutions. Our automatized solution helps to take intelligent business decisions, that are growth-critical. RibLabs offer development, enhancement and migration solutions for business applications. Currently running enterprise applications are prone to face the challenges of transforming business processes, laws and other business or user triggered factors. So tapping and tailoring the existing applications or building new ones that easily handles the test of change or migrating the existing ones on to a new platform, is quintessential.We specialize exactly on the same. The focus is to work closely with the customers to identify.


Technology And Processes
Many software projects fail to succeed due to reasons like - errors in time estimates, lack of communication, failure to identify risks early etc... Many of such issues could be minimized by adopting proper tools and processes in the software development life cycle itself. Following are just some examples

  • Modeling
  • Automated Code analysis
  • Automated Code refactoring
  • Code quality, testing, standardization
  • Project Status tracking
  • Code documentation generation

Modelling
The activities during the initial stages(pre-development) of a project includes requirement engineering, use-case identification, UI, system design etc. All these activities could be easily modeled and documented using tools like Enterprise architect or UMLet, thus saving time and bringing in more clarity in communication with our customers. Another important time saving factor of these tools are that they are capable of generating template codes from the Models, which form the basis for our development process.

Code quality, testing, standardization
During the development face, we are particular about the quality of code that is going to be delivered to our customer. Manual intervention in reviewing the code consumes a lot of time and is never error-free. We practice tools like Junit, FindBug, PMD and checkstyle, that are integrated into our development environments. They automate the testing of code, which means all the test scenarios for a piece of code are defined only once and can be run as many times as desired, based on code changes. Another very important feature is that they highlight all source code related problems, through the IDE itself, so that the developer can address them right away, much before the code is checked in. Early identification of potential problems can sometimes decide the success or failure of an entire project. Following is an example of an issue being highlighted by FindBug in eclipse IDE.

Project Issue Tracking
During the development face, we are particular about the quality of code that is going to be delivered to our customer. Manual intervention in reviewing the code consumes a lot of time and is never error-free. We practice tools like Junit, FindBug, PMD and checkstyle, that are integrated into our development environments. They automate the testing of code, which means all the test scenarios for a piece of code are defined only once and can be run as many times as desired, based on code changes. Another very important feature is that they highlight all source code related problems, through the IDE itself, so that the developer can address them right away, much before the code is checked in. Early identification of potential problems can sometimes decide the success or failure of an entire project. Following is an example of an issue being highlighted by FindBug in eclipse IDEAnother important aspect of a project life cycle is for the customers to be able to consistently and instantly communicate with us on issues related to the application. This can never be achieved smoothly through emails or document sharing. Here we use tools like mantis or jira that are excellent at this. Our customers can anytime access these tools to report against a project and the issues are instantly known to us to be attended to. Customers can also set parameters like priority, deadline, comments etc for issues.

Legacy Migration
The commonest software modernization strategy is to migrate the existing software to a new platform.Example: Migrating an IBM Mainframe COBOL, CICS, VSAM application to – say – Java, Java Server Faces, IBM WebSphere, Oracle. Our automated transformation processes ensures advantages like – Legacy knowledge retention, Cost effectiveness, Time factor, Low risk, More accuracy, Less new bugs etc. Following are the steps that we follow.

Standards have been formed from the Object Management Group (OMG) along with tools conforming to the standards, methods, and technologies that greatly increase the success rate of today’s transformations.


Code Analysis
This is the first step in any migration procedure. This gives us the idea of the volume and nature of the existing legacy application, so as to propose a feasible Migration strategy, to move forward like

  • Decide a new target platform framework
  • Web enabling, if required
  • Database migration, if required
  • Code refactoring and additional functionality
  • Target architecture tuining, if required
  • Code documentation generation
500x500


It is obvious that legacy systems undergo constant change, according to the volatile business environments. Since legacy systems are poorly documented, we develop system documentation and reporting tools that enable team to track the impacting areas of change requests and also maintain updated system documentation. This cost and time efficient procedure is usually the first priority of most customers, even if the real agenda is a complete platform migration. The typical reporting outputs are as follows:T

  • Application inventory – line count, fields, methods, file sizes..
  • Method call and called by tree.
  • Data access point highlighting
  • Dead code analysis
  • Unreference code analysis
  • Unreferenced variable analysis
  • Complexity analysis
  • Sequence diagram
  • Source file dependency analysis
500x500

Code Re-factoring
Legacy systems, having gone through the hands of a large number of developers, over a period time, is often not well organized and documented. In such situations we offer automated processes, to track and report unwanted and dirty legacy code, which then could be removed from the production. This can be termed as Modernization without migration. We assist in code re-factoring , to improve existing code. This is done by tuining the internal code structure, behavior and functionalities. Following are out offerings

  • Improve code readability
  • To simplify code structure
  • To change code to adhere to a given programming paradigm
  • To improve maintainability and extensibility
  • Performance tuining at all layers
  • Code document generation
500x500

UI Migration
This is a type of Partial Migration, where the entire front-end is redesigned, to bring user friendly work flows and better performance. This is one of the safest approach to enhance a legacy system, as the core business logic and data are kept untouched

Web Enabling
Most of the legacy systems are windows or desktop based systems, which forces a user to be logged in to the local network. But as internet is growing, there is an ever growing demand to be able to access these systems on a browse and migrating the traditional UI to web browsers, could be a huge leap.

The process is to wrap the legacy system, with internet technologies. The legacy stability remains intact, at the same time giving a fresh set of features like- flexibility, accessibility etc. Additionally , the system becomes more open, multi-user and qualified to be integrated with other applications.

500x500