Client Server Modernization


Client/server applications boomed in the 90s and many companies have a considerable amount of data hosted in now obsolete technologies.

Using CASEs (Computer Aided Software Environments) was then enhanced by speedy and particularly rich human–computer interfaces, a novelty compared to screens that only displayed text.

As they helped create easy screen layouts, IDEs have often been used as specification tools on external applications made at the consumers’ request. To meet changing requirements, these applications grew incrementally until they became critical. But most of the time, these changes did not affect the application base.

Client/server applications use event-driven, often permissive programming languages, with an increasing number of cases where processes are triggered. The late event-driven programming standards explain why duplicating processes, instead of making them efficient to improve and secure upgrades and maintenance, is quite common.

Access to data is also usually managed in a scattered way with queries all over the code, which makes it a tricky thing to change the data model.

Nowadays, client/server systems are a concern to IT executives because they are limited in many ways ,due to technical constraints and limitations of a client/server architecture:

  • Client/server 4GLs are or will soon no longer be maintained
  • Compilers do not fully support 64-bits applications
  • Client/server architectures use procedure-oriented programming languages or, at best, object-oriented languages
  • The native architecture is process-oriented whereas enterprise architecture implementation requires a service-oriented architecture (SOA)
  • Native features do not include web-enabling capacities,
  • Poor connection with applications on mobile terminals
  • No interoperability with the new architectures, which makes it difficult for customers and partners to access the applications
  • Remote access to the applications and implementation issues
  • Reliability and maintenance costs are difficult to control
  • Lack of skills, especially due to new architectures leading to loss of technical and functional skills
  • The increased amount of managed data can have an impact on performance

Our Offer:

There are three major methods to transform client/server applications into three-tier architectures such as Java/J2EE or .net:


Type of Migration Project Features Cost
Software rewriting
  • Duration of the project: long
  • Quality of the code: high
  • Risk: high because of the duration of the project
  • Project cost: high
  • Maintenance costs: standard J2EE or .net maintenance costs
  • Upgradability: high
Application modernization

(both automatic and customized)

  • Duration of the project: medium
  • Quality of the code: medium/high
  • Risk: under control
  • Project cost: medium
  • Maintenance costs: close to standard J2EE maintenance costs
  • Upgradability: high
Automatic code conversion
  • Duration of the project: short
  • Quality of the code: low, the code remains structured like C/S but in J2EE or .net category
  • Often used for small applications
  • Project cost: medium/low
  • Maintenance costs: high
  • Upgradability: low


Our approach on your project:

Find the main stages of our project approach summarized below. It begins with a studying and modeling phase, then switches to an industrial stage once key points have been dealt with.

Example of Client / Serveur application modernization : From a PowerBuilder application to a J2EE architecture

Exemple de modernisation d’applications Client-Serveur - Application Power Builder vers J2EE

Our Tools:

We put our suite at your disposal. It allows significant benefits in terms of quality and productivity.


Our MOVE RECODE software suite:








Baseline Management (BM)

Analysis and Diagnosis

Data Migration

Source code transformation

Quality Control

Documentation generation

Project Monitoring


Migration from PowerBuilder to Java

Migration from Power Builder to .net

Migration from NSDK to Java

Migration from NSDK to .net


We work in all kinds of IT environments:

Operating systems (OS): MVS, DOS VSE, VM, GCOS 7, GCOS 8, VMS, UNIX, AS400, WINDOWS, HP3000 to Unix, linux, AS400…


Languages: Cobol, CICS, Fortran, C, Assembly language, CSP, Telon, Pacbase, natural, Ideal, NSDK, Powerbuilder… to Java, .net, RPG, Cobol

Business Cases