MS3 | Cloud Integration Solutions

  • About
    • Why Us
    • Leadership
    • Our Core Values
    • Our Team
    • Clients
  • Services & Expertise
    • API & INTEGRATION
      • Tavros
      • KONG API
      • MuleSoft
      • APIGEE
      • REDHAT FUSE / CAMEL
    • STRATEGY & OPTIMIZATION
      • DEVOPS
      • 24x7x365 Ops Support
    • CLOUD SERVICES
      • AMAZON AWS
      • SALESFORCE
    • ARTIFICIAL INTELLIGENCE
      • RPA
      • BIG DATA
      • IoT
  • Partners
    • MuleSoft
    • AWS
    • UiPath
    • Kong
    • Apigee
    • Red Hat
  • Resources
    • Case Study
    • MUnit Whitepaper
    • MuleSoft Runtime Whitepaper
    • API-Led Architecture Whitepaper
  • Careers
    • Job Opportunities
    • Internal Boot Camp
    • Recruitment Brochure
  • Blog
    • Archive
  • Contact

In early July of 2020, Mulesoft released it’s Mule Migration Assistant (MMA) which automates some aspects of migration from Mule 3.x to 4.x.  Promised well over a year ago, better late than never.  The documentation can be found at https://docs.mulesoft.com/mule-runtime/4.3/migration-intro

I took the time to try out the migration process on a very simple project and see what lessons might be learned.  This article can be viewed as a description of what I did and a review of the tools.

The MMA application can be downloaded in compiled form from https://github.com/mulesoft/mule-migration-assistant/releases

It’s available as a tarball and a zip.  After decompressing it, you are left with an executable JAR called mule-migration-assistant-runner-1.1.0.jar, plus a collection of support libraries.

I created a trivial Mule project using Studio 6 called “mma-hello” using the 3.9.2 runtime.  A simple project demonstrates basic operation of the migration tool without complicating the results.  The mma-hello application logs a hello message and sets the response to hello world. 

The code looks like this:

And the XML source:

That’s about as simple as it gets.

To run the assistant, CD into your installed MMA directory.  Then:

java -jar mule-migration-assistant-runner-*1.1.0.jar [parameters]

Where documented parameters consist of:

For me, this works out to:

java -jar  mule-migration-assistant-runner-1.1.0-SNAPSHOT.jar \

-projectBasePath C:/Users/markj/AnypointStudio/personal-workspace/mma-hello \

-destinationProjectBasePath C:/Users/markj/AnypointStudio/personal-workspace/mma-hello-v4 \

-muleVersion 4.3.0

Note that this command is not fully described on docs.mulesoft.com, nor is it in the README file on GitHub.  Rather, you need to drill down a bit into the /docs of the cloned sources, but you can also use the  -help parameter to provide more help information:

Typically, the documentation is out of date regarding the actual application.  Note the addition of several proxy parameters that allow projects to be migrated in a secured environment.

Running the command above, I get:

Executing migrator 1.1.0-SNAPSHOT…

================================================================

MIGRATION ASSISTANT RUN SUCCESSFULLY

================================================================

Total time: 1.567 s

Migration report: C:\Users\markj\AnypointStudio\personal-workspace\mma-hello-v4\report\summary.html

The report is formatted as HTML:

Warnings include:

To have a look at the results, I imported it into Studio 7.4.  The resulting code looks like this:

There are several references to inbound and outbound properties here.  I think these are standard warnings regarding such properties, though none are set or used in the mma-hello example.  Still, this clutters up the XML code.  

Also notice the use of the DW function, migration::HttpListener::httpListenerResponseHeaders(vars).  This looks like it’s pushing vars into headers, but the original code doesn’t do that.  Perhaps this reflects the default behavior of the  3.9.2 HTTP connector.  In order for that information to continue to be present in the migrated application, it needs to be pushed into headers.

Finally, the original code in my 3.9.2 code comes across without any problem.

While these additional warnings are useful the first few times the migration assistant is used, it just adds clutter to the code.  This would be annoying if you needed to migrate 100 APIs and needlessly increases file sizes.

There are some things that the MMA won’t handle.  For example, it’s not all that surprising that Java classes don’t migrate since custom Java classes used in a Mule project would have a lot of references to the older object model.  Mapping the old model to the new one would be quite difficult.  Also unsupported are:

  • DataMapper (manual migration to DataWeave is recommended)
  • Custom types defined in Studio
  • The <expression-component> element
  • Any unlisted connectors or modules.

I had problems when I tried to include a Mule domain, but didn’t take the time to figure it out.  Caveat emptor!  

Overall, the Mule Migration Assistant can do a lot of the heavy lifting involved in migration.  The documentation suggests that you “prepare the code” for migration, like converting MEL expressions into Dataweave, but that kinda misses the point of a migration tool.  If you used DataMapper in your old projects, you are going to have to migrate them by hand to Mule 4 – no getting around that.  MMA will migrate standard connectors, but not third party or custom ones.  The report generated is helpful in pinning down where the problems are.  Warnings are too verbose, in my opinion, and there should be an option to reduce/eliminate them.  Warning comments will seriously clutter up converted XML.

Bear in mind that this review covers a VERY simple example.  More complex applications will be more difficult to migrate.  The support provided by the MMA only covers the mechanical parts of the conversion, which is a small part of a large application or set of interlocking APIs.  This is where assistance from experts like those provided by MS3 can help to make your migration process smooth, timely, reliable, and within budget.  Send an email to contact@ms3-inc.com to contact our migration team.


About the Author: Mark Norton

TEAM LEAD & PROPOSAL MANAGER · SENIOR SOFTWARE ENGINEER & ARCHITECT

Mark Norton is a Senior Contributing Engineer focused on providing business integration solutions using Mulesoft (Certified Developer), AWS (Certified Business Provider), and other technologies. As one of the first team leaders, he has helped MS 3 grow and guide the members of his team on their career path and client work. As a proposal manager, Mark has led and supported several significant proposal efforts at federal and state levels, in addition to commercial opportunities. Before joining MS 3 in 2015, Mark managed his independent consulting firm that developed integration solutions for the Higher Education sector.

Filed Under: APIs, Integration, Mulesoft

For 10 Years, MS3 has been delivering Innovative & Cutting-Edge Solutions to our clients. Watch “The MS3 Story” to hear from MS3 Founder & CEO, Aaron Weikle to see how it all started, what the journey was like, and what is up next for us.

Filed Under: Events, Integration, Mulesoft Tagged With: MS3 Story

Mountain State Software Solutions, LLC. (MS3) recognized for a THIRD time as one of the Fastest Growing Companies in the U.S.!

Once. Twice. NOW 3 times! INC. Magazine has named MS3 to their annual list of fastest-growing private companies in the United States for the 3rd year! The team here at Mountain State Software Solutions, LLC. (MS3), is beyond excited to announce its place on the magazine’s 38th annual list. A list which is comprised of 5000 successful private businesses and which honors these 5000 companies for their continual success in the American Economy.

Previous INC. 5000 honorees have included companies like Microsoft, Dell, Yelp, Zillow and various others who have gone on to be viewed as household names thanks to the early exposure that they received from appearing on the Inc. 5000 list. In our 3rd appearance since 2016, MS3 ranked in the top 5000 at a solid #1516 for fastest-growing private companies in America. Additionally, we also ranked #40th for IT Systems Development companies AND #3rd for WV based companies.  

To be awarded a place on this prestigious list, companies must show exponential growth year over year. The IT field is an ever-changing environment, so it is truly an honor to have made the list for a third year. We are overwhelmed by this privilege which only an average 1 out of every 8 companies are able to accomplish. Our continual appearance on this list highlights the prominent trend, in America, for companies to engage with strategic-focused integration services consulting firms. 

Our continued growth and success are all results of the talented, efficient and dedicated team that we have assembled along with the distinctive partner-client concentration model that we embrace. Ten years later, our client base is continuing to expand and we keep working to increase and extend our engagements, an approach which will no doubtedly solidify our success throughout future years for both our team members and our many partners and clients.

We are truly blessed to be honored as one of the fastest-growing companies by Inc. Magazine for an exciting 3rd year! We are aware that we are among an elite and selective group of companies who have accomplished this,” commented MS3 CEO and Founder, Aaron Weikle. “Our growth over the last decade shows the hard work and dedication for success that we provide to all our clients. Our large FAMILY is built upon a foundation of talented resources along with the various clients and partners that have joined us since we began in 2009. It is these strong bonds that help us provide successful implementations that address any need. It is our ‘secret sauce’ that places us ahead of the competition. We are proud to be a member of the Inc. 5000 list and to be ranked at 1516th, as it continues to show our story of premium delivery and happy customers.”

MS3 is a global IT consulting firm based in the Washington DC metropolitan area that specializes in engineering FUTURE PROOF solutions for both commercial and federal customers. Our focus is on business acceleration and providing API-driven for today’s most complex integration challenges. With knowledge and experience in everything from MuleSoft Integration to AWS Cloud Services to DevOps, IoT and RPA capabilities, and so much more. MS3 can leverage various innovative technologies to create a custom solution that is right for your business.

Visit the INC. Magazine site for MS3’s profile and for the complete results of the Inc. 5000 .

Filed Under: APIs, Mulesoft, News Tagged With: Inc 5000

Check out the Adventures of MS3 Man. See how MS3 can help your business implement Future Proof & Innovative Software Solutions, which will help your enterprise run more efficiently!

Filed Under: APIs, Conference, Integration, IoT, Mulesoft Tagged With: Comic Strips, Presentation

Joshua Erney

Mid Software Designer

“Josh could do anything if he’d just shut up in class and applied himself.”
[My 4th grade teacher to my mother]

How long have you been at MS3?

I’ve been working at MS3 for 2.5 years.

What do you enjoy most about working at MS3?

There are two things. First, working at MS3 has put me in the company of some of the best software development talent I’ve ever worked with. They set the bar high and give me all the tools I need to reach and exceed that bar. Second, because the company is relatively small, I can build relationships with everyone, from interns and junior employees, all the way up to our top-most leadership, Aaron and Pete. I find work much more enjoyable when I personally know who I’m working for, and know we align on alot of the same values.

What makes you happy?

I believe my perspective makes me happy. When you begin seeing challenges as opportunities for growth instead of encroachments on the way you’re used to doing things, life turns out to be a lot more fun and rewarding.

What do you like doing on your days off?

Learning new things, reading, writing, and spending time with family and friends.

Which 3 people in the world, if you could choose anyone, would you take to a dream dinner party and why?

Miles Davis, Brian Shaw and Paul Graham.

Miles Davis was a musical pioneer. Before I started studying software development, I had spent most of my childhood focused on music, so I wanted to do something with music for a living. I heard Miles Davis in a jazz band class in high school. The son was “So What” on Davis’ masterpiece album “Kind of Blue”. It’s really hard to overstate how groundbreaking this album was. When this album was created, other jazz musicians were playing these incredibly athletic solos over difficult and fast-changing chord progressions. Davis had the guts to strip that all down, creating songs like “So What” that are made of two simple chords. People thought the album was going to be a flop, but it wound up bieng the best-selling jazz album of all time. To this day, “Kind of Blue” sells 5000 copies per week. It’d be cool to sit down and talk with him about his life and his views on music.

Brian Shaw is a four-time World’s Strongest Man winner. He is 6’8” tall, and weighs in at over 400 lbs. He can lift a 1000+ barbell clean off the floor, and a 440 lb log off the floor and press it over his head. He’d certainly be the biggest guy at the dinner party, and probably rack up the biggest food tab (so hopefully I’m not funding this dream dinner party). Shaw’s dedication to the sport of strongman is obvious; he’s a fierce competitor, and when he’s not competing, he’s actively looking for ways to imporve his performance. We might assume that because of this, Shaw is a closed off guy who keeps his head down and just works all the time, trying only to better himself, but if you ever watch any giving person. Shaw shares a lot of his knowledge and expertise about strength training and the sport of Strongman with the rest of the world, and you don’t typically see this with elite-level performers in any discipline. I really admire Brian Shaw as someone who is incredibly dedicated to his craft, as someone who loves to share the fruits of that dedication with others. I try to bring that same mindset to software development.

The last decision was a tough one. I wanted to pick an entrepreneur, as it’s something I’ve become increasingly interested in since starting to work at MS3. So I picked Paul Graham, but not because of his entrepreneurial success (go figure). There are certainly entrepreneurs out there that are more successful than Graham is, but I think Paul Graham made the biggest impact on me. I don’t know all that much about Graham, but I love his writing style, and his essays about LISP really expanded my view of programming languages and software development as a whole. Graham’s writings are what lead me to start questioning conventional wisdom. They more or less lead to the genesis of my current mindset towards software development. It woud be fun to talk with someone who’s had such an impact on me.

What is your life motto?

You can have anything you want, but you can’t have everything.

Check out these Blog Posts by Josh!

  • Data Weave Language Fundamentals
  • Tips on Debugging DataWeave Code
  • How to Modify All Values of an Object in DataWeave
  • When Should You Use reduce in DataWeave
  • Mule Programming Style Guide: DataWeave Code
  • Mule Made Easy: The Mule 4 Error: Pt.1
  • Mule Made Easy: Error Handling: Pt.2

Filed Under: Integration, Mulesoft, Uncategorized Tagged With: Employee Profile

  • 1
  • 2
  • 3
  • 4
  • Next Page »
FUTURE PROOF SOFTWARE SOLUTIONS
MS³ enables organizations to meet today’s software, integration, cloud, and data-related challenges with confidence and ease.

About

  • Why Us
  • Leadership
  • Team
  • Clients
  • We're hiring

Solutions

  • API & Integration
  • Strategy and Optimization
  • Cloud Services
  • Artificial Intelligence

Partners

  • Apigee
  • AWS
  • Kong
  • MuleSoft
  • Red Hat
  • Salesforce
  • UiPath

Popular Links

  • Contact Us
  • Blog
  • White Papers
  • Case Study
COPYRIGHT © 2020 ⬤ MS³ MOUNTAIN STATE SOFTWARE SOLUTIONS

Copyright © 2021 · MS3 Mountain State Software Solutions · Log in