Application modernization : from a client/server model to an open architecture

Background

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

Using CASEs was enhanced by particularly agile and rich human-computer interfaces ―a novelty then 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 request of users. The applications grew considerably with evolving needs until they became uncontrollable. Most of the time, the changes were made without questioning the application platform.

Client/server applications use event-driven, often permissive programming languages, with a gigantic number of triggers. The late event-driven programming standards explain why duplicating processes, instead of dividing them into function blocks to enhance upgrades and maintenance and manage risk, is quite common.

Access to data is also usually not managed from the same place, with queries all over the code, which makes it a tricky thing to change anything in the data model.

Nowadays, client/server models are a concern to IT executives because they are limited in many ways.

 

Technical constraints and shortcomings of a client/server model

  • Client/server 4GLs are or will not be maintained anymore soon
  • Compilers do not fully support 64-bits applications
  • Client/server models use procedure-oriented programming languages or, in the best case, object-oriented programming languages
  • The native model is process-oriented whereas IS process modelling requires to implement a service-oriented architecture
  • No native web-enabling
  • Poor connection with applications on mobile terminals
  • No interoperability with the new designs, which makes it difficult for customers and partners to access your information system
  • Remote access and deployment issues
  • Reliability and maintenance costs are difficult to control
  • Scarce skills, partly due to the arrival of new designs, which leads to a loss of technical and functional skills
  • The sharp increase in the amount of data can have an impact on performance

 

From a client/server model to a J2EE or .net environment

Type of migrationMain featuresCost
Code rewriting (hand-coded)
  • Duration of the project : long
  • Quality of the code : high
  • Risk : high because of duration of project
  • Global cost : high
  • Maintenance costs : standard J2EE or .net maintenance costs
  • Upgradability : high
fleche-roi-tabApplication modernization
(both automatic and customized)
  • Duration of the project : medium
  • Quality of the code : medium/high
  • Risk : controlled
  • Global 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
  • Global cost : medium/low
  • Maintenance costs : high
  • Upgradability : low

 

Return on investment

Return on investment is a key factor when you plan to overhaul your information system.

Read the article : About ROI when planning an IS overhaul

 

How we do it

We start with a design and prototyping phase then enter the industrial stage once key points have been dealt with (see synopsis below).

Conversion Approach

Overhauling a client/server application

From a PowerBuilder application to a J2EE environment

 

power-builder

 

Use cases

Migration from PowerBuilder to Java
Migration from PowerBuilder to .net
Migration from NSDK to Java
Migration from NSDK to .net

 

Move Solutions’ conversion tools

Get significant benefits in productivity and quality with our CASE workbench.

We put our MOVE-RECODE software engineering workbench at your disposal:

RECODE-BaseUpdating the business object repository
RECODE-ImpactAnalysing and Diagnosing
RECODE-DataMigrating data
RECODE-TrackingConverting the source code
RECODE-TestControlling quality
RECODE-DocGenerating documentation
RECODE-PilotProject Monitoring

See our references

 

Environments

We can work in all IT environments with our technology:

Operating systems: MVS, DOS VSE, VM, GCOS 7, GCOS 8, VMS, ICL, UNIX, AS400, WINDOWS, HP3000 to UNIX, Linux, AS400, etc.

Database Management Systems: DB2, ORACLE, SYBASE, SQLserver, SQL, INFORMIX, DL1, IDMS, IDS2, TOTAL, ADABAS, DATACOM, IMAGE, etc.

Languages: COBOL, CICS, FORTRAN, C, Assembly language, CSP, Telon, Pacbase, natural, Ideal, NSDK, Powerbuilder, etc. to Java, .net, RPG, COBOL, etc.

Download our leaflet on system conversion