Modernize Java and .NET Applications

Increase Engineering Velocity. Scale Complex Monoliths. Accelerate Modernization.

modernize java applications
application modernization platform

Accelerate app modernization projects

Monolithic apps are difficult to modernize. These apps are typically based on older technology stacks and originally written by teams no longer with the organization. They are risky to refactor without the proper tools and processes.  vFunction accelerates the application modernization process with intelligent automation that observes actual business domain flows and eliminates months of manual work. Faster than traditional engagements or tedious modernization labs, vFunction applies intelligence, data science, and math to modernize Java applications, faster and smarter.


Automate analysis & refactoring of complex applications

The complexity of monolithic applications requires a multidimensional analytical approach.  Dynamic observations track business domain flows and behaviors within the code, enabling vFunction to optimally identify microservices to split out while minimizing dependencies.  Much like an APM agent, vFunction samples the running threads 100 times a second, tracks call stacks and CPU usage of each function, and tags memory that might make splitting up services difficult including static memory, Spring Beans, sockets, file handles, locks & synchronization objects, database table access, and more.  Static code analysis accounts for compile-time dependencies of the dynamic classes to supplement the dynamic data and to minimize configuration.

vFunction static dependencies

vfunction built for cloud native

Adopt modern application frameworks

Monolithic application frameworks and older release versions can stagnate development and slow forward progress while creating security holes and vulnerabilities in critical application code. Whether it’s older releases of Java EE application server frameworks – like WebSphere, WebLogic, JBoss, aging releases of Spring, or web frameworks such as Struts, vFunction enables application teams to clearly identify dependencies, split up services by business domains, and accelerate the adoption of new frameworks, newer releases, and more flexible licensing models. For example, vFunction can automatically migrate Spring applications to more a modern Spring Boot Java microservice framework.


Create a repeatable process across multiple apps

Organizations with a large backlog of monolithic applications and a major cloud or digital transformation mandate face a major quandary. How to migrate tens, hundreds, or sometimes thousands of applications with an efficient, repeatable pipeline that is fast, reliable and consistent? The problem can seem daunting. vFunction automates application modernization and provides a process that can be applied across multiple teams, applications, and functions. Applications can be analyzed in production or test and assessment reports help prioritize which applications are the best candidates for refactoring and allow architects to stack rank the applications by complexity. Executive dashboards track and progress across all applications and teams.

vFunction application modernization platform dashboard

vFunction optimize microservices

Extract compilable microservices

Reports and analyses are great, but actual microservice creation is better. Don’t just plan, analyze, and whiteboard your modernization efforts. vFunction automates the analysis and then extracts compilable microservices that you can test, integrate, and run. While learning, assessment, and analysis never touches or alters the source code, once you select a microservice for extraction, vFunction utilities identify the source code that is required to compile a new microservice, integrates it with your build system (e.g., Maven, Gradle, etc.), and compiles a new microservice and any related common libraries.