此内容没有您所选择的语言版本。

Chapter 1. Introduction


This guide is for engineers, consultants, and others who plan to use Windup to migrate Java applications or other components.

1.1. What is Windup?

Windup Logo

Overview

Windup is an extensible and customizable rule-based tool that helps simplify migration of Java applications.

Windup examines application artifacts, including project source directories and applications archives, then produces an HTML report that highlights areas needing changes. Windup can be used to migrate Java applications from previous versions of Red Hat JBoss Enterprise Application Platform or from other containers, such as Oracle® WebLogic Server or IBM® WebSphere® Application Server.

How Does Windup Simplify Migration?

Windup looks for common resources and highlights technologies and known trouble spots when migrating applications. The goal is to provide a high-level view into the technologies used by the application and provide a detailed report organizations can use to estimate, document, and migrate enterprise applications to Java EE and JBoss EAP.

1.2. Features of Windup

Shared Data Model

Windup creates a shared data model graph that provides the following benefits.

  • It enables complex rule interaction, allowing rules to pass findings to other rules.
  • It enables third-party plugins to interact with other plugins, rules, and reports.
  • The findings in the data graph model can be searched and queried during rule execution and used for reporting purposes.
Enhanced Rule Capabilities

Windup provides the ability to create powerful and complex rules.

  • XML-based rules are simple to write and and easy to implement.
  • Java-based rule add-ons provide greater flexibility and power when creating rules.
  • Rules can be nested to handle more complex situations. This means you can nest simple statements rather than use complex XPATH or REGEX expressions.
  • Rules can be linked using and/or statements.
Extensibility

Windup can be extended by developers, users, and third-party software.

  • It provides a plug-in API to inject other applications into Windup.
  • It enables third-parties to create simple plugins that can interact with the data graph.
  • It allows users with domain knowledge to implement their own rules.
Targeted Reporting

Windup reports are targeted for specific audiences.

  • Project Management: Reports detail the type of work and estimation of effort to complete the tasks.
  • Developers: Reports provide hints and suggested code changes by class or file.
Work Estimation
Estimates for the level of effort are based on the skills required and the classification of migration work needed. Level of effort is represented as story points in the Windup reports.

1.3. About Windup Rules

Windup is a rule-based migration tool that analyzes the APIs, technologies, and architectures used by the applications you plan to migrate. In fact, the Windup tool executes its own core set of rules through all phases of the migration process. It uses rules to extract files from archives, decompile files, scan and classify file types, analyze XML and other file content, analyze the application code, and build the reports.

Windup builds a data model based on the rule execution results and stores component data and relationships in a graph database, which can then be queried and updated as needed by the migration rules and for reporting purposes.

Windup rules use the following rule pattern:

when(condition)
  perform(action)
otherwise(action)
Copy to Clipboard Toggle word wrap

Windup provides a comprehensive set of standard migration rules out-of-the-box. Because applications may contain custom libraries or components, Windup allows you to write your own rules to identify use of components or software that may not be covered by the existing ruleset. If you plan to write your own custom rules, see the Windup Rules Development Guide for detailed instructions.

1.4. System Requirements

1.4.1. Software

  • Java Platform, JRE version 7+
  • Windup is tested on Linux, Mac OS X, and Windows. Other operating systems with Java 7+ support should work equally well.

1.4.2. Hardware

The following memory and disk space requirements are the minimum needed to run Windup. If your application is very large or you need to evaluate multiple applications, you may want to increase these values to improve performance. For tips on how to optimize performance, see Optimize Windup Performance.

  • A minimum of 4 GB RAM. For better performance, a 4-core processor with 8 GB RAM is recommended. This allows 3 - 4 GB RAM for use by the JVM.
  • A minimum of 4 GB of free disk space. A fast disk, especially a Solid State Drive (SSD), will improve performance.

1.5. About the WINDUP_HOME Variable

This documentation uses the WINDUP_HOME replaceable value to denote the path to the Windup distribution. When you encounter this value in the documentation, be sure to replace it with the actual path to your Windup installation.

  • If you download and install the latest distribution of Windup, WINDUP_HOME refers to the windup-distribution-2.6.0.Final folder extracted from the downloaded ZIP file.
  • If you build Windup from GitHub source, WINDUP_HOME refers to the windup-distribution-2.6.0.Final folder extracted from the windup-distribution/target/windup-distribution-2.6.0-SNAPSHOT-offline.zip file.
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat