Grâce à l'outil Ispirer Migration and Modernization Toolkit il est désormais possible de convertir des applications depuis PowerBuilder vers Java!
Aperçu général
La démo ci-dessous montre comment fonctionne l'outil Ispirer MnMTK pour la migration de PowerBuilder vers Java GWT.
La démo ci-dessous montre comment fonctionne l'outil Ispirer MnMTK pour la migration de PowerBuilder vers Java JSF.
Pourquoi Ispirer MnMTK?
Effectuez votre migration avec Ispirer Systems et profitez donc des avantages suivants que vous offre notre outil:
-
Cohérence et Intégration: automatisationjusqu'à 100%
-
Personnalisation rapide: individualisation et optimisation de la converson (1-3 jours ouvrables en moyenne)
-
Engagement pré-vente: nous démontrons une conversion complète au cours de l'évaluation avant que vous preniez une décision
- Prix Raisonnable: nous offrons une tarification souple
- Conversion Optimisée: en tant que résultat vous obtenez un code intelligent et maintenable, sans aucun middleware à utiliser après la conversion
Evaluation et Achat
L'évaluation de votre projet de migration permettra de mesurer les ressources nécessaires aussi bien que le coût de votre migration. Afin de faciliter ce processus, n'hésitez pas à télécharger notre:
Sinon, vous pouvez également remplir et nous envoyer en retour le questionnaire ci-dessous:
Ispirer Migration Solution
PowerBuilder vers Java Commander
Caractéristiques de Conversion
Voici les modifications principales lors de la migration de PowerBuilder vers Java (Java Server Faces).

Le résultat de la migration est une application Java avec un pattern MVC et un framework JSF pour représentant une partie visuelle.
- Chaque fichier SRD file migre vers un fichier Java, un fichier xhtml, un fichier jrxml.
Chaque option qui a été coordonnée avec controls à datawindow va être transposé vers le fichier Java et lue par la classe datawindow dans l’application Java.
PowerBuilder:
visible="1~tif(isnull(nh_wo),0,1)"
color="0~tif (status = 'CLOSED',8388608,0)"
protect="0~tif( status = 'Pre/Auth' , 1 , 0)"
font.italic="0~tif(df_get_wo_link_flight(wo_category),1,0)"
text="TAT Date:~tIf (date(df_get_sysdate_dw()) >
date(tat_date),'TAT Over Due','TAT Date')"
Java:
try
{
row.get("defect_item").setForeColor(choose(status
== "CLOSED",8388608,0));
} catch(Exception e)
{
}
try
{
row.get("flight").setVisible(choose(module == "PRODUCTION",1,0));
} catch(Exception e)
{
}
try
{
row.get("nh_wo").setVisible(choose(isNull(nh_wo),0,1));
} catch(Exception e)
{
}
try
{
row.get("status").setProtect(choose(status == "Pre/Auth",1,0));
} catch(Exception e)
{
}
Il n’est pas important quelle unité de mesure vous utilisez dans votre fichier datawindow file. Notre outil peut facilement régler cela.
Pour chaque Datawindow nous créons un fichier Jasper report qui peut être utilisé si vous imprimez des reports dans votre application.
PowerBuilder:
text(band=detail alignment="0" text=">" border="0" color="33554432"
x="1330" y="68" height="64" width="50" html.valueishtml="0"
name=t_1 pointer="HyperLink!" visible="1" font.face="Arial"
font.height="-10" font.weight="400" font.family="2" font.pitch="2"
font.charset="0" background.mode="1" background.color="536870912"
background.transparency="0" background.gradient.color="8421504"
background.gradient.transparency="0" background.gradient.angle="0"
background.brushmode="0" background.gradient.repetition.mode="0"
background.gradient.repetition.count="0"
background.gradient.repetition.length="100"
background.gradient.focus="0" background.gradient.scale="100"
background.gradient.spread="100" tooltip.backcolor="134217752"
tooltip.delay.initial="0" tooltip.delay.visible="32000"
tooltip.enabled="0" tooltip.hasclosebutton="0" tooltip.icon="0"
tooltip.isbubble="0" tooltip.maxwidth="0"
tooltip.textcolor="134217751" tooltip.transparency="0"
transparency="0" )
Java:
<staticText>
<reportElement x="1330" y="68" width="50" height="64"
uuid="989e450a-4ffe-430c-a3d3-dd16f060bc16">
<property name="local_mesure_unitx" value="pixel"/>
<property name="com.jaspersoft.studio.unit.x" value="px"/>
<property name="local_mesure_unity" value="pixel"/>
<property name="com.jaspersoft.studio.unit.y" value="px"/>
<property name="local_mesure_unitwidth" value="pixel"/>
<property name="com.jaspersoft.studio.unit.width" value="px"/>
<property name="local_mesure_unitheight" value="pixel"/>
<property name="com.jaspersoft.studio.unit.height" value="px"/>
</reportElement>
<textElement>
<font fontName="Arial" size="12" isBold="true"
pdfFontName="Helvetica-Bold"/>
</textElement>
<text><![CDATA[>]]></text>
</staticText>
Chaque fichier SRU est migré en fonction du contenu du fichier.
Si le fichier SRU contient quelques controls visuels Ispirer MnMTK crée un fichier xhtml séparé qui contient tous les controls. Le reste de business logic est gardé dans le fichier Java.
Chaque fichier SRF migre vers une classe Java avec les champs appropriés dans la classe.
PowerBuilder:
$PBExportHeader$gf_get_web_path.srf
//PBSourceExtractor 1.0 - Database and Application Migration Software.
//Copyright (c) 1999-2011 Ispirer Systems, LLC. All Rights Reserved.
//Timestamp - 02.10.2013 17:22:34
global type gf_get_web_path from function_object
end type
forward prototypes
global function string gf_get_web_path (string s_path)
end prototypes
global function string gf_get_web_path (string s_path);
string s_web_path
s_web_path = "\Attachments\"
Return s_web_path
end function
Java:
//PBSourceExtractor 1.0 - Database and Application Migration Software.
//Copyright (c) 1999-2011 Ispirer Systems, LLC. All Rights Reserved.
//Timestamp - 02.10.2013 17:22:34
package Global_function;
import util.Utility;
import main.Main;
public class gf_get_web_path extends Utility
{
private static final long serialVersionUID = 1L;
private gf_get_web_path() { }
public static String execute(String s_path)
{
String s_web_path = "";
s_web_path = "\\Attachments\\";
return s_web_path;
}
public static gf_get_web_path newInstance(Main main) {
gf_get_web_path instance = new gf_get_web_path();
instance.main = main;
return instance;
}
}
Le reste du fichier à migrer dépend des objectifs du projet.
Contactez-nous pour en savoir plus.
|