If you have any comments or questions, send us an e-mail .
Conversion process
What percentage of the original programs can be converted to Java?
Caravel converts 100% of the source code. The conversion process also includes the control language (CLs and OCLs), Operating System functionality (WRKSBMJOB, WRKSPLF, etc.), data access and user interface. BASE100 delivers a 100% pure Java application that runs with exactly the same functionality as the original one. The converted system can be deployed on the same AS/400 or optionally on different platforms, (HW, OS and RDBMS), with a modern and versatile user interface.
Which versions of RPG & COBOL on OS/400 do Caravel supports? For an IBM Mainframe environment, which COBOL versions can be converted?
RPG/COBOL on OS/400
- RPG language: All versions RPG II, RPG III, RPG/400 and RPG ILE.
- COBOL language: COBOL/400.
- Embedded SQL is supported in both RPG and COBOL.
IBM Mainframes
- COBOL Language: ANSI COBOL 85, COBOL and COBOL II.
- COBOL CICS and embedded SQL are supported.
Can Caravel translate cycle RPG programs?
Caravel implements all cycle programs functionality by means of classes and methods in Java that allow keeping their behavior in a very effective way.
Is the translation of the programs done individually? That is, each original RPG/COBOL instruction translated into a Java instruction?
Caravel translates each RPG/COBOL instruction into a method that keeps the same functionality of the original. The translation is done instruction by instruction, not in groups.
The aim of the conversion is to produce a system easily readable by the original technical team.
On the other side, the Java programmers found a 100% pure Java system, and they can work on in it as an ordinary Java system. The functionality of the converted system can also be invoked via a Rest services mechanism.
Once the programs are converted, what types of development environments are they compatible with?
The converted programs are 100% pure Java code, so can be used on every standard environment available. Our customers have successfully worked with WebSphere, Eclipse, Net Beans, IntelliJ, JBuilder, among others.
Are the operating system commands implemented (the CL’s)?
A huge number of commands that are used in legacy AS/400 systems are implemented: CPYF, CRTPFM, ADDLIBLE, MONMSG, OVRDBF, OVRPRT, OVRDSPF, etc.
Caravel is a conversion service that guarantees 100% of the original functionality; therefore, all commands needed to achieve this goal are implemented.
In the exceptional cases that any functionality nonexistent in Caravel is required, BASE100 will proceed to develop and include it in the framework.
Converted system architecture
It is possible to keep the AS/400(*) as a database server? Or as an application server? If yes, would it be necessary to expand it?
It is possible to keep the AS/400 as both, data server and application server. Under Client-Server architecture, we can maintain the AS/400 as the database server, while the converted system runs on an open platform. Same under i5/OS, Linux or AIX, the AS/400, the application server can be deployed on it.
The conversion doesn’t require an expansion of the existing hardware. The performance varies depending on the hardware configuration and the communications infrastructure, as well on the characteristics of each system.
The change in the hardware would be necessary only in case of evolution from a one-layer architecture into a two-layer (Client-Server).
(*) AS/400 means also: S/36, S/38, iSeries, System i.
When I convert a program to Java, is the performance of my application faster or slower?
It is well know that AS/400 is a very reliable and extremely high performance platform. Every component of AS/400 has been designed to work together, focusing reliability and performance over standardization or compatibility. So to maintain same performance level in the new converted system, it is necessary an intensive use of technology and know-how.
For over 10 years, the BASE100 technical team has analyzed the characteristics of many applications from the reliability and performance point of view. Modern open systems offer levels of reliability alike to the legacy systems, but performance is always an issue that must be considered.
The fast evolution of open systems has increased performance, especially when considered related to costs. This fact and the sharp evolution of Caravel technology have eliminated the prior performance gap we found several years ago. Now, in many cases, the converted systems are faster than the original one, just after an automatic modernization process and configuration tuning. Minor reengineering interventions can also be introduced at any time to improve performance. Only in few cases mayor reengineering or platform modifications are required.
When necessary, Caravel technology has developed many strategies to greatly improve performance.
(For more information please refer to the document: Performance analysis in modernization projects.)
How are the data areas implemented?
The data areas are implemented converting them to SQL structures in a relational database.
How are the advanced print functionalities implemented?
Caravel implements a number of Java-compatible extensions for the Printer Files (PRTF) providing most of the functionalities of the AFP/400 module, such as: Image Printing, text, templates, bar codes, etc.
It is possible to print lines and bar codes using Advanced Printing Utility (APW)?
Caravel includes mechanisms that generate the same functionality to print bar codes. A table of correspondence is defined between the original codes (APW) and their equivalent fonts to obtain exactly the same barcode.
What is the application behavior when printing a large quantity of paper? And for large data volume batch processes?
The largest batch application migrated with Caravel was a 25.000 employees payroll. The new migrated process required a short time to print all paper documents (lists, receipts, checks, duplicates, etc.). The database on which these processes are executed has a volume of approximately 24 GB.
In any cases the migrated applications run in the same time window or faster than the original AS/400 ones.
Additionally, the new system includes all the facilities to use electronic documents in very different formats.
Does the converted application require a specific application server for its execution?
Caravel has no dependence of any specific application server. Currently, all translated applications are compatible with the latest versions of most common application servers, for example:
- Tomcat.
- WebSphere.
- WebLogic.
- JBoss.
Which is the version of JVM that Caravel supports?Which is the version of JVM that Caravel supports?
Caravel supports JVM up to version Java 8 update 121.
Which is are the Servlet and JSP versions that Caravel supports?
Caravel implements the following specifications: Servlet 2.3 and JSP 1.1, 1.2 and 2.0.
Is it possible to deploy the converted system on an application server, particularly WebSphere?
Caravel converts to Java following the guidelines of the standard J2EE architecture. Therefore, you may deploy the converted system on any application server compliant with this standard.
Which HW and SW modifications are needed to use Swing applications?
In order to use the applications in Java with a Swing interface you need a client PC with a Java Virtual Machine (JVM). The application must be accessible from the client PC . Data may reside on this server, on the OS/400 or on any other server.
Which modifications are required to use Web applications?
It is necessary a server with access to the Internet/Intranet containing a Java Application Server. The server may be WebSphere or any other server that fulfills J2EE standard. The workstations will need a browser (Firefox, Chrome and Internet Explorer, are supported).
After migrating with Caravel, what should be done to obtain a 3-layer application?
After Caravel system migration, the resulting Java application can be deployed in a Java Application Server. This mode fulfills the requirements of “3-layer architecture” according to J2EE rules. The new Client Layer will consist of a set of client java components (Java JSPs, CSS files, Javascript client components provided by the Caravel conversion process), the converted Java classes will be part of the Business Logic Layer, finally the Data Layer corresponds database server and data, as well as the possible stored procedures. The original AS400 can be maintained as the database server, or a new external SQL database server can be selected as well. In this case, the original data will be migrated from the original data structure and format to the new SQL database).
Is it possible to obtain a 3-tier architecture application when converting with Caravel?
Yes, a Caravel converted application separates User Interface components from application behavior. It also separates the application data access to the final data storage. As a result of this:
- The resulting application can be customized very easily by creating or modifying User interface Screens.
- Some program logic can be quickly converted into a Java Web Service (SOAP o REST).
- The target database server (original AS400 PF/LF files, Oracle, DB2, SqlServer, etc) can be changed without modifying anything in the application.
After migration of the applications with Caravel, how complex is the integration with WebSphere?
The integration is very simple due to the conversion process that includes an application structure with an architecture fully adapted towards its integration with an application server.
BASE100 has the experience after many projects using this application server.
Can Caravel migrate the existing data to any RDBMS or are there specific restrictions on the support for target RDBMS?
Caravel migrates towards the most commonly used RDBMs on the market. Some examples are: DB400, DB2, Oracle, Postgress, MultiBase, SQL Server… In all cases a JDBC driver is required.
Caravel migrates the system’s security and the user identification of the original platform?
The security aspects are is not part of a migration. Once the application has been migrated to the new environment, is necessary to execute a Security Management Application for that platform (Operating system, Data base management system, etc.).
Maintenance and life cycle
Is a specific training required, regarding the methods and classes developed by BASE100?
The classes used by BASE100 are 100% pure Java, clearly structured, and do not require any different knowledge that Java. Such classes are easily legible by an RPG or a COBOL experienced programmer.
In every conversion project is included a training section oriented to both RPG/COBOL and Java technicians.
Besides the personalization provided with the Caravel migration, which other tools are required to further personalize the application?
To personalize a Swing interface can be used any standard Java platform such as WebSphere, Eclipse, JBuilder, Forte, etc.
To personalize an HTML interface, it is possible to use any HTML editor available on the market.
Is the user interface of an application translated automatically by Caravel or does it have to be set up manually?
The personalization of the interface works as follows: When translating an application, you can choose between having the user interface automatically generated or personalizing single screens according to the preferences of the customer.
In the first case, the way the screens will look is based on certain transformation rules that Caravel provides and that allow to generate the equivalent HTML code for each field of the screen. The result will be an HTML code that generates the same fields, sizes and positions as the original. The color attributes, sources, background color, etc. that doesn’t affect the functionality can be personalized, being applied automatically to all the generated screens.
In the second case, the customer can create a JSP template for each screen that he wishes to personalize. This template can have any aspect and does not have to be similar to the original. With the purpose of making the preparation of the screens easier, Caravel provides the standard JSP mechanisms and uses the “JSP TagLibs”, which easily help with the use of the information from the application: records, subfiles, fields, attributes.
Caravel also supplies the JavaScript functions in order to manage those fields and send the information back to the application (for example function keys). This solution provides all the flexibility for the designer to get the desired aspect.
These two solutions are not incompatible; it is possible to personalize only some screens of the application. This process can be progressive or according to the customer’s needs. The application will search for the personalized screen first and then, if it cannot find it, dynamically will create a screen in accordance with the parameters of the selected user interface.
The personalization process can be carried out completely by the customer or could be part of the project. In this last case, the customer can define the rules, standards and styles that he would desire. Since the aspect of the application is defined by a group of JSP templates, the customer can change any graphical element at any time.
How can we avoid surprises? At what point in time exactly will we know the work that has to be realized and the costs that it implies? Is that information available prior to the beginning of the project? Does there have to be some kind of analysis before signing the migration contract?
In the Caravel Standard Questionnaire are reflected all the variables that can determine the complexity of a conversion project. Before start the project, BASE 100 will evaluate the complexity and therefore, the resources, time and costs of each project.
This estimation is based in a big number of migration projects already completed successfully. These projects cover a great diversity of sizes, architectures and specific legacy technologies.
When the Java application translated by Caravel is deployed on an AS/400, does it works without using interactive card resources?
Yes, by default, your migrated applications will look like batch applications to the iSeries, using ZERO interactive resources.
How do you handle multi-language applications? What additional benefits do I get from the migration?
If the original application is multi-language, Caravel will migrate it with same functionalities. If the original is not multi-language, during the translation process, Caravel can be configured to extract the literals inherent to language and exports those to an external file. By editing and translating that file, you easily convert your application to a multi-language one.
Can BASE 100 provide a complete list of errors (like missing source, source-object mis-match, etc.) once the Import is run on an application?
Yes, a complete and detailed analysis report is generated in the first conversion phase. Caravel includes a specific tool Caravel Insight which does a complete inventory of all the legacy system components and analyses completeness, relationships, dependences, errors, etc.
The Caravel Insight report is a key piece in the conversion process.
What browsers do you support?
Firefox, Chrome, Internet Explorer.
How does Caravel resolve the connections to external systems? (SAP, etc.)
The converted Java application has no limitations concerning future programming or connectivity. We have vast experience in this field. Typically it is necessary to connect the new Java applications with previous developments made by that customer. Usually every conversion project includes a part of integration with other existing or future systems.
What is Caravel’s added value for those companies that currently use or consider using solutions such as WebFacing, Host Publisher, HATS for iSeries and web access?
Caravel is not merely a screen transformation or a middleware. Our service is a project to go to Java at once. The features of WebFacing or HATS cannot be compared at all with a complete conversion to Java and to open platform. Our service migrates the whole application to Java, then analyses it, structures it into components and improves the application with our technical reengineering technology. Our approach is much wider than an interface make-up with some Internet connectivity provided by the mentioned products. Must be underlined, that the duration time can be similar or ever reduced with Caravel.
What does BASE100 require to execute a conversion project of RPG or COBOL system to Java?
BASE100 requires a system that works correctly in the legacy platform. It is necessary to have all the objects to be converted (RPG and COBOL programs, CL, PF, LF with both compiled and source code), and a set of data and a functionality description of the original application to be tested.
BASE100 provides software tools (Caravel Test Maker) to help the customer in this functionality description process.
What does the customer get after the Caravel migration?
BASE100 delivers the Java application ready to be run on the new platform and environment, with exactly the same functionality as the original system, that includes:
- The resulting Java source and object classes,
- The Xml files resulting from the conversion of the DDs file structures.
- A set of User interface components (JSP, css, images, etc.).
- A set of standard Java libraries (jar files) used by the application.
- A database migrated copy backup (in case of data migration).
- Together with the above, the customer gets all the relevant documentation about the project and the BASE100 technology used, as well as specific training in the Java programming environment using Caravel techniques.
Is it possible to migrate only a part of an information system? Can programs developed in RPG/COBOL and Java coexists on the same AS/400?
Yes, it is possible to migrate only a part of the system, this case is considered in the Caravel technology. The original programs developed in RPG/COBOL no converted, can coexist with programs in Java.
They can share data and platform. In these cases data normally remains in the AS400 as PF/LF data files that are access by both, the original RPG/COBOL programs at the new converted to Java programs.
We will need to maintain the DDS/DDL database. Can you give examples of the process for doing this post-conversion (for different object types)? E.g. adding new fields to files.
As a general rule, an AS400 physical file is migrated to SQL database table and a logical File is converted to a Database Index. Each field is converted to a table column and the column type will be the most appropriated according to the original data type (this process can vary depending on the specific database Server).
Additionally, an AS400 data file can define other attributes like (packed/zoned/binary numeric format, decimals positions, format, default value, editing masks, etc). Logical files can define for example SELECT/OMIT conditions. Most of this information has no correspondence to standard SQL attributes. For that reason, Caravel generates also a XML file containing all the original DDS source information (for PFs/LFs, DSPFs and PRTFs).
At runtime the converted program uses this information to generate the specific SQL statement or is used to convert the SQL data into the expected format.
For that reason if we change a converted database table, we have to do the following tasks:
- Modify the Database table structure by executing the corresponding ALTER TABLE instruction.
- Add this modification in the XML file that represents the data FILE for the program.
- Change the program that has to use these new fields accordingly. (For example declaring and using the new record variables).
Licenses and costs
Is there a downloadable trial version?
Caravel is commercialized on a service base, therefore is not commercialized as a tool.
In case of a test is desired, the advisable way is to do a Proof of Concept with a part of your system. In the document Migration proposal and free PoC, there is all the information about how to prepare a sample of the system. The general lines for a PoC are:
- Extract a complete working subset of the system, with programs and data.
- Send to BASE100.
- Check the converted system through web.
It is advisable to choose those parts of the system that the customer estimates as more critical.
Can Caravel be purchased under license as a translation tool?
Caravel is a migration service, with the commitment to deliver the Java application with exactly the same functionality.
Consequently our business model does not include selling our translation tools to a third party. Several other tools included in the Caravel technology family such Caravel Insight can be purchased as a tool.
Please validate this understanding: that the use of your product does not impose any additional license requirements on the migrated product, or once the application has been translated to Java, there would be no need to use the tool in the migrated environment?
After the conversion process it is not necessary the use of any tool. The migrated programs are 100% Java. Our migration service provides total independence to our customers. Our business model does not include payments after the conversion itself.
We provide detailed information in our commercial proposals about the cost of every item.
Optionally is possible to subscribe maintenance updates and maintenance services for the Caravel Framework. Both are included in the conversion fees, during the first year after the conversion project.
How much does a Caravel migration cost, approximately?
Our pricing policy depends on the project size and complexity. We can give a precise estimate after the evaluation questionnaire has been completed and sent back to us.
In case your company does not know the exact volumes, we can provide an estimate based on a representative model.
Our pricing policy allows for ROI in a maximum of 12 months. The cost advantage of Caravel translates into 1/7 of the cost and 1/5 of the time needed for a re-programming process.
Java technology
What is a class in Java?
In an object-oriented language; a class is a program that implements the functionality relative to a specific type of object. Such functionality consists of methods and properties.
What is a method in Java?
A method in an object-oriented language is a type of functionality of an object class.
What is the J2EE standard?
J2EE (Java 2 Platform Enterprise Edition) defines the standard for developing component-based multitier enterprise applications. There are tools that create a perfect setting for the development and deployment of scalable applications for the Web. These tools have the following features:
- Portable. Just by writing the application in Windows or Linux, it will be available on any platform that has a Java Virtual Machine (JVM).
- Scalable. When the company’s volume grows, the addition of new J2EE components to the Web application will suffice to support the growth. There is no need to rewrite the code.
- Highly Supported. Any large software company has a Web component container (or application server) compatible with J2EE, such as IBM (WebSphere), BEA (WebLogic), Apache (Tomcat), Sun (iPlanet), Macromedia (Jrun), etc.
- Secure. While other business application models require specific security measures in each application, the security environment of the J2EE platform allows the definition of security restrictions at the time of deployment of the application. Thereby, the complexity of the security implementations is isolated. J2EE makes complex security implementations portable.
Is it possible to integrate other Java applications once the migration has been done?
Yes it is, the converted system adheres 100% to the standards of Java applications.
Questions about Caravel screens personalization
Question 1. Is it possible to change to HTML form like Radio Buttom or Pull-Down? If Yes, how do you describe in Screen Definition File(XML)? We would like to change some functionality which are used very frequent.
The converted application by means of Caravel tools has separated the logic from the interface structure.
So it is possible to personalize the interfaces without affect the converted program. It is consequently possible to include graphic standard components like: Buttons, Radio Buttons, Pull Downs, etc.
The converted program, manages the interchange of data with the user by means of a JSP. This JSP is in charge of representing the information to the user.
Personalization of screens can be made by groups or one by one. Using a shared JSP which will be used by a group of screens or using an individualized JSP for every screen.
During the conversion a CSS is generated by default for every JSP. It can be also modified any time.
Furthermore, the Caravel architecture allows the converted application to be used on REST services architec-ture. In this case it is possible to use a HTML+Css+Javascript+AngularJs thin client acceding by means of REST services to the converted application.
Question 2. This question is related to No.1, is there any functionality which is not available to use? We would like to know about a restriction, when we develop a new screen with the same architecture as yours.
There is not any restriction in the personalization of screens. The only limitations come from the way programs use the screen data.
As an example: a converted program may take in consideration cursor position or the function key that has been already pressed, so the personalization must take account of this behavior and respect it.
In Caravel conversion there is a default implementation to manage these situations.
Additionally it is necessary to consider the navigation logic from screen to screen. According this behavior, the personalization of the screen can be more or less flexible.
Question 3. In terms of Screen Definition File (XML), you are assigning column position with lin attribute and pos attribute. Is it possible to display on screen more than 24 X 80? Is there any restriction about Line and Digit? We are now dividing a screen into multiple screens because of a huge number of columns. However, we would like to integrate them to one screen in future.
As mentioned in point 1, there are different levels of personalization of screens. From low impact personaliza-tion (as example, only modify the CSS) to high impact ones that could require some modifications in the logic.
We include some images to illustrate these differences.
It is always possible to unify several screens in one single screen and modify the size of the screen. In both cases the logic of the application must be revised to assure the functionality keeps unchanged.
Question 4. Is JavaScript available? If Yes, how do you define it in Screen Definition File(XML)? We would like to add new functionallity - for example, check a value when TAB shifted. In addition, we would like to develop a new screen with the same architecture as yours by using screen component which used Java Script such as jQuery.
Yes, JavaScript is available.
It is possible to use JavaScript and frameworks like jQuery. This can be done in both cases when using JSP or when the application uses HTML+JavaScript.
In the standard implementation of Caravel are used JavaScript and jQuery by default.
Question 5. Is CSS available? If yes, how do you define it? - How to define CSS file, and class attribute of each Tag as well. When we develop new screen in future, we would like to integrate CSS design. Images
Yes. CCS can be used in a 100% standard way. Every JSP or HTML can include the desired CSS.
In the standard implementation of Caravel screens are included CSS by default.
Images
Original screen A.
Low impact modification of screen A.
Original screen B.
High impact modification of screen B.
Original screen C.
High impact modification of screen C.
Original screen D.
High impact modification of screen D.