In the API driven integration ecosystem, Mulesoft™ is an industry leader. MuleSoft’s Anypoint Studio and Anypoint Platform offer rapid development speed, resulting in easy, fast, and scalable API development. It is indeed enterprising and more and more clients are leveraging MuleSoft for their iPass solutioning.
With the speed of API development that MuleSoft offers, the quality of code at times is compromised. MuleSoft does define a set of best practices however like popular practice, it leaves code quality assessment to the reverence of organizational IT structure and philosophy.
Code quality standards
It is in the interest of every enterprise to standardize its code base to certain agreed standards such as how events are logged, what protocol outbound calls are made, what mime types are exchanged, naming conventions, unit testing standards etc. Quite simply, code quality is the DNA of software solutioning in terms of reliability, maintainability, security and other aspects.
Code quality checks and MuleSoft
MuleSoft’s Anypoint Studio is a fascinating IDE offering rapid speed of development. It is rich in its offerings and lets you connect your APIs with a variety of platforms, systems, databases. It provides a lot of guidelines, documentation, and good practices, but it does not enforce any. As a result, code quality checks are left to the discretion of the developer and organization.
Lets take an example of an API connecting MuleSoft with a database. Below is a snapshot. Although its is recommended to put database configuration in property files, its is not mandatory or a pre-requisite for deployment. Similarly, using HTTPS protocol can be organizational standards, however a distracted developer might limit to HTTP and commit.
Likewise, MuleSoft provides a range of connectors and processors. It provides OOTB logger, supports min logger, JSON logger etc. Configuration of all of these are advised to certain standards, but not enforced. It is up to the implementing partner or client or organizations. 9 out of 10 times the enforcement or assurance is a manual process which roughly goes like below..
- In project discovery phase code base standards are decided for configuring, logging, reusability, maintainability etc.
- These standards are documented and distributed across stake holders to read and comply, dev is initiated.
- All new on-boarders are also shared these docs as part of on-boarding activity.
- Development is initiated and completed, check-ins made.
- Before pre-prod, the code is sanitized by senior architect or leads, mostly by dry runs.
- If the code quality standards meets the leads or reviewers expectation, the code is pushed to prod.
This is a manual process which is also reactive in nature, rather than preventive. Modern code quality assurance tools like SonarQube don’t change everything. For MuleSoft projects, their offerings are even more limited.
The Battlecard: Where IZ Analyzer stands out?
SonarQube™ one of the code quality assurance tool does not recognize MuleSoft as a language or platform in its core engine! Though it supports XML the underlying language of Mule flows, it does not guarantee those variables beyond XMLs, which forms the basic building block of MuleSoft.
Another open-source, publicly contributed project is Mule-Lint. It is developed to assure the quality of MuleSoft code. Nonetheless, Mule Lint does not fulfill its role as an enforcement tool and is more of an informative tool that generates reports.
There are many shortcomings with both these tools. There is a lack of dynamicity in both of them when it comes to supporting code quality in an environment where development is rapid. One has to run the rules against mule codebase, generate a report of violation and then take appropriate action.
IZ Analyzer does code quality checks early in dev life cycle
Designed in a way to support modern day API ecosystem, IZ Analyzer is packed with rich features.
- It can analyze all popular modern day API artefacts. It also has native support for Mule Anypoint Studio, which helps identify and correct code quality violations in real time as the code is written.
- It can also plug into DevOps cycle for static violation reports. Click to know more.
Why IZ Analyzer?
Throughout the development life cycle, code quality is of paramount significance. It is also essential to reduce the operational iterations the traditional tools bring to the process. Quicker, automated and reliable code quality check enhances the rapid development practices of modern IT world. With special attention to MuleSoft code quality checks, IZ Analyzer has a significant edge over other similar products in market.
Let us deep dive into some of its features. It is exciting to see how IZ Analyzer offers better code quality analysis of Mule projects compared to similar products available in market.
– Purpose built for Mule, Supports RAML, YAML OAS
IZ Analyzer is specifically designed and developed for MuleSoft automated code quality checks. While Sonar doesn’t acknowledge Mule as a language or platform, Mule lint too in a way is an extension of other linting programs and offers very limited set of features. IZ Analyzer is a more comprehensive tool with the following unique offerings:
- Mule Analyzer – Web View
- Studio Analyzer – Anypoint Studio Plugin
- API Analyzer – Capability to quality check non Mule API specs as well
As the organizational IT landscape expands, it is quite possible to have a variety of OAS formats. IZ Analyzer’s core competency lies in its capability of checking the quality of the OAS formats. Consider the following scenario, if 80% of your integration is dependent on MuleSoft and 20% on open API specs such as APIARY, APIGEE etc, IZ Analyzer checks these OAS standards as well. This results in 100% coverage of code quality.
– Validation rules : Predefined Rules, Custom Rule Creation
Neither Sonar nor MuleLint comes with predefined set of rules for MuleSoft code quality analysis. IZ Analyzer comes with 400+ pre defined rules to validate the MuleSoft API projects. These are capable of quality checking all the building blocks of Mule project such as config yamls, properties files, Munit test cases, Dataweave mapping files etc.
These pre-defined rules were identified from interactions with hundreds of Mule customers as well as from MuleSoft’s recommended development best practices. In addition, IZ Analyzer allows organizations to customize existing rules or create completely new rules to suit their requirements. The pre-defined set of rules are supported for multiple Mule versions and are regularly updated.
– Anypoint Studio Plug-In, On The Fly Feedback, Button Click Fixes
IZ Analyzer is the only code quality check product that gets plugged into Mulesoft’s Anypoint studio and provides real-time, intuitive GUI. Both Sonar and MuleLint lack this functionality. This is a major advantage over the other two as it simply empowers developer with preventive measures to ensure code quality.
IZ Analyzer’s Anypoint Studio plugin offers on the fly feedback, rule description, exact rule violation with line number and to top it all, provides an Auto-fix button. This latest feature is currently in beta stages. It helps the developer to fix the code quality violation just with the click of a button. Think about how much time you can dedicate to productive use?
– Fine Grained Access, Central Rule Management, Central Insights
IZ Analyzer web view allows fine grained access control of quality artefacts. One can quality check multiple projects, get the insights on all of them. The rules and quality gates access is also managed from same portal for all the projects with the Organization.
Neither Lint nor Sonar provides such comprehensive, detailed and dedicated analysis. Managing rules is also made quite simple in IZ Analyzer.
– Enterprise Grade Support, Well Documented, Periodic Updates
Support is the most essential part of any product. IZ Analyzer comes with comprehensive enterprise support from Integral Zone including setting up, implementation and post purchase support.
IZ Analyzer is a well documented product with up a dedicated documentation portal, training videos and a support portal. It has a brilliant R&D team dedicated to bring transformational changes in the Code quality review space.
Despite the industry’s recognition of the importance of code quality, it is often overlooked by various stakeholders due to a variety of reasons. MuleSoft is a product with a pedigree in the iPass market, so it deserves a dedicated code quality check engine.
With more and more customers using MuleSoft, manual code quality checks should no longer be the norm. A reliable, secure and robust quality assured code is the real tailwind of modern day API’s and IZ Analyzer is your secret sauce!
Start using IZ Analyzer for Free
Interested in trying out the most powerful MuleSoft code review tool in the Mule Ecosystem? Try now our free Online scanner and get your scan results instantly.
There’s more to it. If you would like to see the product in action, book an online demo.
Feel free to leave a reply or query.
Mulesoft™ is a unified, single solution for iPaaS and full lifecycle API management. For further information, please visit www.mulesoft.com.
SonarQube™ is a trademark belonging to SonarSource SA.
For further information, please visit www.sonarqube.org