None - Use Upload https://www.avioconsulting.com/taxonomy/term/366 en How Utilizing AI in a Low-Code Environment Can Transform your Business https://www.avioconsulting.com/blog/how-utilizing-ai-low-code-environment-can-transform-your-business <div class="avio-content"> <div class="page-title"> <div class="lead-image"> <div> <div>Blog Lead Image</div> <div> <img src="/sites/default/files/2019-07/franck-v-jIBMSMs4_kA-unsplash.jpg" width="4468" height="3216" alt="white robot hand reaching forward " typeof="foaf:Image" /> </div> </div> <div class="dark-overlay"></div> </div> <div class="text-overlay"> <div class="container"> <div class="row"> <div class="col-sm-12"> <div><h2> <a href="/blog/how-utilizing-ai-low-code-environment-can-transform-your-business" hreflang="en">How Utilizing AI in a Low-Code Environment Can Transform your Business</a> </h2> </div> </div> </div> </div> </div> </div> <div class="main-content"> <div class="container"> <div class="row"> <div class="col-sm-12 node-body"> <div> <div><p dir="ltr">Artificial intelligence is undeniably a part of the future of business. Every year, we see new products, use cases, and industries that are born due to AI-fueled technology. The <a href="https://www.appian.com/blog/with-the-rise-of-intelligent-automation-bpm-matters-now-more-than-ever-before/">intelligent automation market</a> is expected to grow to $230 billion by 2025, and that’s just one capability AI provides.</p> <p dir="ltr">While many business leaders can see that AI will play a key role in shaping what their companies will look like in the years to come, they still struggle with picturing how that change will happen and what it will look like. <a href="https://www.gartner.com/doc/reprints?id=1-69H0RQW&amp;ct=190221&amp;st=sb">54% say the main challenge</a> of using AI is their current workforce lacking the proper skills to implement the new technology. Another 35% say they’re still not even sure what use cases to apply it to. </p> <p dir="ltr"> </p> <h1 dir="ltr">Using Low-Code for AI Implementation</h1> <p dir="ltr">That first challenge may not be the barrier to entry business leaders think it is. With the introduction of low-code solutions, getting started with AI technology has become much easier and faster. Low-code technology products like Appian enable developers to more efficiently re-use elements of code they’ve already written, rather than starting from scratch every time they work on a new technology. </p> <p>Using low-code can produce applications <a href="https://www.forbes.com/sites/forbestechcouncil/2018/06/06/what-the-rise-of-low-code-means-for-cios/#75a5e726c865">anywhere from six to 20 times faster</a> than creating custom code each time. This makes it possible to start building an application right out of the box, without having to put up a lot of boiler-plate code. The simplicity low-code brings to the process also saves you from having to do unnecessary testing, you really just need to test your business logic instead of the technical plumbing. </p> <p dir="ltr"> </p> <h1 dir="ltr">Three Use Cases for Low-Code AI</h1> <p dir="ltr">Low-code can help you get started on implementing AI faster, but that doesn’t solve the problem of identifying use cases for the technology.  There are three main areas many businesses are starting to see the benefit of using low-code AI.  </p> <p dir="ltr"> </p> <h3 dir="ltr"><strong>1. Business Process Management (BPM)</strong></h3> <p>Many business processes grow out of finding a solution to a need that works in the moment, rather than taking a more thoughtful approach to determining the most efficient way to do things. Implementing any BPM platform requires a business to slow down and think through the processes they use currently and how they can be improved. </p> <p dir="ltr">When you use a BPM platform that enables AI, like Appian, it can help identify tasks that can be automated. <a href="https://www.appian.com/blog/massively-scale-your-enterprise-automation-initiative/">Experts predict </a>that up to 50% of all business tasks can be automated, at least partially. You can use the technology to take tedious, repetitive tasks off employees’ plates, so they can focus on the work that requires human insight. </p> <p dir="ltr">The specific types of work AI can be applied to will depend on what your business does. As one example, optical character recognition can help you digitize and summarize documents, using AI to recognize the words on the page and find patterns in meaning. That’s a functionality that could save your human employees countless hours of work and help you establish more efficient processes.</p> <p dir="ltr"> </p> <h3 dir="ltr"><strong>2. Customer Experience (CX)</strong></h3> <p>CX may not be the most obvious use case for using AI, since it’s an area where a human touch can make a big difference. Nonetheless, it’s one of the most popular areas for AI implementation. 55% of respondents in <a href="https://www.gartner.com/doc/reprints?id=1-69H0RQW&amp;ct=190221&amp;st=sb">one Gartner survey</a> said they expect to use machine learning in CX in the coming years.</p> <p>Customer service departments can use AI tools to track the common questions that come in and identify the answers customers find most helpful. The tool automates the process of finding the right answer for customers, simultaneously saving employees' time and improving CX. </p> <p dir="ltr">With the rise in chatbots, you can use low-code AI to build a user interface where customers can get to those answers themselves a significant portion of the time. The smaller percentage of cases where a human is required, services like <a href="https://cloud.google.com/natural-language/#benefits">Google Cloud Natural Language</a> can leverage sentiment analysis to recognize that and send the customer to a human representative. </p> <p> </p> <h3><strong>3. Personalization</strong></h3> <p dir="ltr">AI is also useful for analyzing the data you’ve collected from customers and prospects to better serve up relevant promotions and recommendations. This is another potential use of AI-driven chatbots. An AI tool can follow the actions a prospect takes on your website, along with any answers it provides in the chatbox, and use that information to present visitors with the offers they’re most likely to respond to. </p> <p dir="ltr">Humans play an important role in creating the right messaging and design, but AI can analyze data on a scale we can’t, and use that analysis to get the best message to a consumer at the moment it’s most likely to make an impact.</p> <p dir="ltr"> </p> <h1 dir="ltr">Is Your Company Ready for Low-Code AI?</h1> <p dir="ltr">Before you incorporate AI into your business, it’s important to take a thoughtful approach to identify where the technology can benefit your team and your customers. Look into the different low-code AI tools available today. Think through the best applications for the technology at your company. Then craft a plan for how to roll out the new technology with minimal disruption.</p> <p dir="ltr">It’s a delicate process and one that can have consequences if you don’t get it right, but it’s also a change that can improve efficiency at your company at the same time that it improves your sales and CX. You don’t have to figure it all out alone. You can reduce the risks and increase the chances of a successful implementation if you work with <a href="https://www.avioconsulting.com/">experienced consultants</a> to create your plan and execute on it. </p> <p> </p> </div> </div> </div> </div> </div><div class="container comment-container"> <div class="text-align-center"><h2>Join the Conversation</h2> </div> <div class="row"> <div class="col-sm-12"> <drupal-render-placeholder callback="comment.lazy_builders:renderForm" arguments="0=node&amp;1=752&amp;2=comment_node_blog&amp;3=comment_node_blog" token="1mXEIrl1ReGF_cVXXnptLTg0vOrCl53qXnj3Pc9tEE8"></drupal-render-placeholder> </div> </div> </div> <div class="container"> <div class="row"> <div class="col-sm-12 blog-tags"> <div> <div><a href="/blog/categories/digital-transformation" hreflang="en">Digital Transformation</a></div> </div> </div> </div> </div> <div><drupal-render-placeholder callback="Drupal\block\BlockViewBuilder::lazyBuilder" arguments="0=views_block__blogs_block_4&amp;1=default&amp;2=en" token="jBjf0n8iki9sjPwElNYA4B92vVETYVFMv7O9pm9FdHQ"></drupal-render-placeholder></div> <div> <div>About the Author</div> <div></div> </div> </div> </div> Tue, 30 Jul 2019 13:56:59 +0000 Lucas Crostarosa 752 at https://www.avioconsulting.com https://www.avioconsulting.com/blog/how-utilizing-ai-low-code-environment-can-transform-your-business#comments How IT Modernization Can Help Break Down Silos https://www.avioconsulting.com/blog/how-it-modernization-can-help-break-down-silos <div class="avio-content"> <div class="page-title"> <div class="lead-image"> <div> <div>Blog Lead Image</div> <div> <img src="/sites/default/files/2019-07/adult-black-and-white-collaboration-935870.jpg" width="2500" height="2024" alt="7 hands overlapping " typeof="foaf:Image" /> </div> </div> <div class="dark-overlay"></div> </div> <div class="text-overlay"> <div class="container"> <div class="row"> <div class="col-sm-12"> <div><h2> <a href="/blog/how-it-modernization-can-help-break-down-silos" hreflang="en">How IT Modernization Can Help Break Down Silos</a> </h2> </div> </div> </div> </div> </div> </div> <div class="main-content"> <div class="container"> <div class="row"> <div class="col-sm-12 node-body"> <div> <div><p dir="ltr">Every day you spend waiting to update your IT systems is another day you face the consequences of having an outdated IT system, and they’re notable. You lack the flexibility needed to deliver speedy results. You start losing your edge in the competitive marketplace. You risk losing functionality you depend on as your products update to versions your company isn’t ready to support. </p> <p dir="ltr">On top of all that, your company deals with silos that keep departments from being able to work together and see the big picture of how your customers interact with the company. That last point alone comes with a sizeable price tag. Departmental silos cost organizations between <a href="https://blogs.mulesoft.com/biz/integration-best-practices-community/">$450 and $550 billion annually</a>.</p> <p dir="ltr">Clearly, the costs of not making the move to leveraging modern systems are too high. With the right preparation, an IT modernization initiative will not only enable better tech integration, but it will also help you improve departmental collaboration across the organization. </p> <p dir="ltr"> </p> <h1 dir="ltr">How to Prepare Your Organization for the Change</h1> <p dir="ltr">A project as big as IT systems modernization requires a well-thought-out approach. By taking a few key steps in the lead up to the project, you increase the chances of a successful implementation. </p> <p> </p> <h3 dir="ltr">1. Identify everyone affected</h3> <p dir="ltr">While a project of this size generally starts with the C-suite, it’s imperative that you involve everyone in the organization that will be affected by the change. Think through who all is in that category. There’s a good chance that includes database administrators, system administrators, security teams, network administrators, infrastructure teams, and the application teams for every app that runs on the current infrastructure. </p> <p>You want everyone on the list to be alerted to the upcoming project so they have a chance to weigh in with any concerns they have, and time to prepare for the change. </p> <p> </p> <h3 dir="ltr">2. Create a realistic project plan</h3> <p dir="ltr">While optimism is often a virtue, when you’re preparing for an IT modernization update, too much optimism can hurt you. Talk with the technical people at your company, any consultants you bring in, and the representatives of the vendor you’ll be working with to get a realistic picture of the timeline and issues you’re likely to encounter.</p> <p dir="ltr">If your plan is too ambitious and your team feels rushed, you risk dealing with sloppy errors. Let the knowledge of those experienced in this kind of project guide you in creating a plan based on reasonable goals. </p> <p> </p> <h3 dir="ltr">3. Prepare a backup plan</h3> <p dir="ltr">Creating a thoughtful plan for execution will help you avoid many of the possible pitfalls of a complex project, but you can never plan for everything. There’s always the chance that something will go wrong once you make the update, and there’s too much at risk for you to not to be ready for that eventuality.</p> <p dir="ltr">In addition to your primary plan for implementation, think through what steps you’ll take if something goes wrong. Make sure your team knows how to switch back to the old system quickly if needed, while you work through what needs to be fixed with the new one. </p> <p> </p> <h3 dir="ltr">4. Practice open communication throughout the process</h3> <p dir="ltr">One of the biggest mistakes companies make during a large modernization project is failing to communicate openly. The last thing you want is for employees that depend on the IT system to learn suddenly, after the fact, that their job processes must undergo a complete transformation they weren’t prepared for.</p> <p dir="ltr">Consider all the different systems that touch the IT architecture you’re updating—not just the obvious ones. Make sure you notify everyone that will be affected and keep them in the loop throughout the project so there are no unhappy surprises. Meet up with representatives from the departments involved at least once a week and use collaboration tools like Slack to keep the lines of communication open.   </p> <p> </p> <h3 dir="ltr">5. Test before you launch </h3> <p dir="ltr">Before you implement a new system, go through the process of testing it out so you have the chance to see how it works and spot potential issues before it goes live. Don’t just use automated performance testing, also do regression tests that give end-users the chance to try out the new system and see how key features work.</p> <p dir="ltr">You may not catch every possible issue your team should know about with testing, but you’re much more likely to notice serious problems that need to be fixed before the launch date. This will help you eliminate downtime during the transition, both for your customers and for employees.</p> <p dir="ltr"> </p> <h1 dir="ltr">Achieve Internal Collaboration and Technology Integration</h1> <p dir="ltr">A system modernization change is a big deal, and it’s not something you want to get wrong. Finding someone with the right knowledge to guide you through the process can be the difference between a smooth transition that achieves your internal collaboration goals, or a messy transition that causes more problems than it solves. </p> <p dir="ltr">AVIO has extensive experience helping businesses execute IT modernization plans that enable them to meet their primary business goals. We’ve lead companies through the process of moving to a cloud-based IT architecture that enables more flexibility, breaks down data silos, and empowers collaboration by bringing everyone into one system. </p> <p dir="ltr">If you’re putting off a desperately needed IT modernization update due to fears that it will disrupt your business, let’s talk. We can help start you down the path of the change you need while alleviating those fears. </p> </div> </div> </div> </div> </div><div class="container comment-container"> <div class="text-align-center"><h2>Join the Conversation</h2> </div> <div class="row"> <div class="col-sm-12"> <drupal-render-placeholder callback="comment.lazy_builders:renderForm" arguments="0=node&amp;1=750&amp;2=comment_node_blog&amp;3=comment_node_blog" token="XE7AlAmZxqKXVgI82QrEL1Q0_zirIMx7F7E4NGYt98U"></drupal-render-placeholder> </div> </div> </div> <div class="container"> <div class="row"> <div class="col-sm-12 blog-tags"> <div> <div><a href="/blog/categories/digital-transformation" hreflang="en">Digital Transformation</a></div> </div> </div> </div> </div> <div><drupal-render-placeholder callback="Drupal\block\BlockViewBuilder::lazyBuilder" arguments="0=views_block__blogs_block_4&amp;1=default&amp;2=en" token="jBjf0n8iki9sjPwElNYA4B92vVETYVFMv7O9pm9FdHQ"></drupal-render-placeholder></div> <div> <div>About the Author</div> <div></div> </div> </div> </div> Tue, 16 Jul 2019 13:54:50 +0000 Aaron Dolan 750 at https://www.avioconsulting.com https://www.avioconsulting.com/blog/how-it-modernization-can-help-break-down-silos#comments 5 Steps to a Successful Implementation Strategy for Tech Infrastructure Change https://www.avioconsulting.com/blog/5-steps-successful-implementation-strategy-tech-infrastructure-change <div class="avio-content"> <div class="page-title"> <div class="lead-image"> <div> <div>Blog Lead Image</div> <div> <img src="/sites/default/files/2019-07/iStock-991181546_1.jpg" width="2309" height="1299" alt="blue gears " typeof="foaf:Image" /> </div> </div> <div class="dark-overlay"></div> </div> <div class="text-overlay"> <div class="container"> <div class="row"> <div class="col-sm-12"> <div><h2> <a href="/blog/5-steps-successful-implementation-strategy-tech-infrastructure-change" hreflang="en">5 Steps to a Successful Implementation Strategy for Tech Infrastructure Change</a> </h2> </div> </div> </div> </div> </div> </div> <div class="main-content"> <div class="container"> <div class="row"> <div class="col-sm-12 node-body"> <div> <div><p dir="ltr">Every year, the technology needs of modern businesses get more complicated. Most companies have <a href="https://www.mulesoft.com/press-center/technology-trends-2019-connectivity-benchmark">hundreds, if not thousands,</a> of different tech products they depend on and seemingly add more every day. If those products don’t work well together, it can cause problems across the entire business.</p> <p dir="ltr">Reducing the number of technology systems you use isn’t always an option. What you need is a technology infrastructure that <a href="https://www.avioconsulting.com/blog/solve-your-integration-headaches-mulesoft">enables integration</a> between all your different tools. Too many businesses lack a plan for connecting tech across the organization. <a href="https://www.appian.com/wp-content/uploads/2018/09/challenge-of-strategy-implementation.pdf">Less than one-third</a> of IT leaders have a digital strategy that takes into account the full enterprise. That’s understandable. With the pace business moves at, taking a step back to make a big infrastructure change can be daunting. </p> <p dir="ltr">Having a disconnect between products and departments creates silos that cost you in time, money, and missed opportunities. To correct the disconnect issue, you need to embrace a digital transformation that allows for IT architecture flexibility. The first step to getting there is creating a thoughtful strategy.  </p> <p dir="ltr"> </p> <h1 dir="ltr">Why Having an Implementation Strategy Matters</h1> <p dir="ltr">A digital transformation project can help you get more out of the data and tools you have, and enable more collaboration between internal departments. You can’t rush into it though. Before you tackle any big integration project, you need to think carefully about how the process will play out.</p> <p dir="ltr">If you’re going to commit time and money to change your IT architecture, you want to make sure your project addresses the main challenges your company faces. To keep business running smoothly, you have to minimize or eliminate downtime for your employees and customers as much as possible by creating a well-crafted implementation strategy.  </p> <p dir="ltr"> </p> <h1 dir="ltr">5 Steps to Creating an Implementation Strategy </h1> <p dir="ltr">In our experience helping companies implement a tech infrastructure change, we’ve found that creating a successful implementation strategy should include five main steps. </p> <p dir="ltr"> </p> <h3 dir="ltr">1. Identify the problem</h3> <p dir="ltr">“Digital transformation” may be a business buzzword at the moment, but being told you should make a change to your IT infrastructure isn’t a good enough reason to do it. You need to work out why it makes sense for your company.  </p> <p dir="ltr">This should start with the C-level, as they understand the larger ecosystem and scope of the problem. Once they’ve determined the primary business challenge to solve, they need to then work hand in hand with other departments that can help provide more details on the challenges a tech implementation project should address. By bringing everyone in the organization with a stake in the change into the process, you can identify and prioritize the needs the project must meet. </p> <p> </p> <h3 dir="ltr">2. Choose the right technology</h3> <p dir="ltr">To make connections between all the technology products you have now, you’ll need the right integration technology. A product like <a href="https://www.avioconsulting.com/managed-services/mulesoft">MuleSoft</a> or <a href="https://www.avioconsulting.com/managed-services/oracle">Oracle</a> will help you achieve the level of integration you need to solve your current problems and realize greater IT architecture flexibility moving forward.    </p> <p> </p> <h3 dir="ltr">3. Build a foundation </h3> <p dir="ltr">A functional IT architecture requires a solid foundation. Once you’ve outlined your challenges and selected your integration technology, it’s time to build that foundation. This step includes <a href="https://www.avioconsulting.com/blog/connecting-data-and-applications-through-apis">developing APIs for connectivity</a>, establishing your security procedures, clarifying DevOps, and creating proper documentation. </p> <p> </p> <h3 dir="ltr">4. Determine the KPIs to measure performance </h3> <p dir="ltr">As your technology implementation project is meant to solve specific problems, it’s important to make sure you measure its success in doing so. Figure out the best key performance indicators (KPIs) to track your main goals. Make sure you measure your performance before the project, so you have a comparison to see how much progress you make after it’s complete.</p> <p dir="ltr">When determining the right KPIs, think both about your internal needs as a company, and about what matters to your customer. You want any infrastructure change you make to improve your customers’ experience, or at least not make it worse in any way. </p> <p> </p> <h3 dir="ltr">5. Test</h3> <p dir="ltr">You don’t want any last-minute surprises—especially if they put customer experience or employee productivity at risk. Before you implement your changes, test them out. By running tests—both regression tests and performance tests—you can make sure that you know exactly what you’re doing in advance and everyone involved has clear steps to follow. Testing both scenarios decreases the likelihood that you’ll face big problems when you launch and helps you work out a plan for what to do if you do run into issues.</p> <p dir="ltr"> </p> <h1 dir="ltr">How Better IT Architecture Flexibility Leads to Less Work</h1> <p dir="ltr">A successful IT architecture project that improves integration will help you achieve strategic IT-business alignment. It will remove silos that keep departments from seeing the big picture and working together, and it will cut down on the amount of work your IT department has to do to maintain the tech systems you depend on.</p> <p dir="ltr">One AVIO client had four legacy tech systems, all disconnected from each other. Their data was in silos, they were paying for more functionality than they needed, and their IT had to attend to all four systems at once. </p> <p dir="ltr">We helped this client move to a cloud-based system where all their departments could work on one platform. They were able to save money by retiring costly legacy systems and improve collaboration across the organization at the same time. </p> <p dir="ltr">Getting digital transformation right requires developing the right implementation plan from the start. An experienced IT partner can help you craft a strategy tailored to your needs and priorities, so you can execute an infrastructure change with minimal disruption to your business.</p> <p> </p> </div> </div> </div> </div> </div><div class="container comment-container"> <div class="text-align-center"><h2>Join the Conversation</h2> </div> <div class="row"> <div class="col-sm-12"> <drupal-render-placeholder callback="comment.lazy_builders:renderForm" arguments="0=node&amp;1=749&amp;2=comment_node_blog&amp;3=comment_node_blog" token="AKYaX5KMADBFMUz-uH-ps9wh2uPCz0TqcYF97y1J3ZM"></drupal-render-placeholder> </div> </div> </div> <div><drupal-render-placeholder callback="Drupal\block\BlockViewBuilder::lazyBuilder" arguments="0=views_block__blogs_block_4&amp;1=default&amp;2=en" token="jBjf0n8iki9sjPwElNYA4B92vVETYVFMv7O9pm9FdHQ"></drupal-render-placeholder></div> <div> <div>About the Author</div> <div></div> </div> </div> </div> Tue, 02 Jul 2019 13:08:07 +0000 Karthik Dega 749 at https://www.avioconsulting.com https://www.avioconsulting.com/blog/5-steps-successful-implementation-strategy-tech-infrastructure-change#comments Connecting Data and Applications Through API’s https://www.avioconsulting.com/blog/connecting-data-and-applications-through-apis <div class="avio-content"> <div class="page-title"> <div class="lead-image"> <div> <div>Blog Lead Image</div> <div> <img src="/sites/default/files/2019-06/iStock-1017193718.jpg" width="1254" height="836" alt="abstract background of spheres and wire-frame landscape" typeof="foaf:Image" /> </div> </div> <div class="dark-overlay"></div> </div> <div class="text-overlay"> <div class="container"> <div class="row"> <div class="col-sm-12"> <div><h2> <a href="/blog/connecting-data-and-applications-through-apis" hreflang="en">Connecting Data and Applications Through API’s</a> </h2> </div> </div> </div> </div> </div> </div> <div class="main-content"> <div class="container"> <div class="row"> <div class="col-sm-12 node-body"> <div> <div><p dir="ltr">Every new technology your company buys is meant to solve a problem—and it may well do so—but often new technology also creates new problems. For your company to work as efficiently and effectively as possible, your new tech needs to connect seamlessly with other tech products you already have. That’s hard enough, but you also need to keep those connections working through all future updates each of the products have. It’s an overwhelming, ongoing issue that many businesses face.</p> <p> </p> <p dir="ltr">Finding the right solution can save your team countless hours of work and headaches. A good solution to consider is using an API-led connectivity strategy.</p> <p dir="ltr"> </p> <h1 dir="ltr">What is API-led connectivity?</h1> <p dir="ltr">When your business decides it’s time to embark on a digital transformation project, one of the first steps is figuring out the right method to use. API-led connectivity is an approach centered on developing functional, reusable APIs to make the connections between your different tech products and the data contained within them. Choosing this method provides distinct advantages.</p> <p dir="ltr"> </p> <h1 dir="ltr">Common mistakes in connectivity initiatives</h1> <p dir="ltr">Too often, businesses respond to the need for tech connections in an ad-hoc manner as they come up. While you can solve each current problem as it arises with this reactive approach, it ultimately creates more work down the line.</p> <p> </p> <p dir="ltr">We see a few errors commonly come into play in how businesses handle integrations:</p> <ul><li dir="ltr"> <p dir="ltr">Creating point-to-point integrations, instead of treating digital transformation as one large project.</p> </li> <li dir="ltr"> <p dir="ltr">Not thinking about the future when solving the connectivity problems of the present.</p> </li> <li dir="ltr"> <p dir="ltr">Doing the work without creating documentation to let others in the company know what was done and how.  </p> </li> <li dir="ltr"> <p dir="ltr">Not creating a security plan to make sure the connections you make don’t put the company at risk.</p> </li> <li dir="ltr"> <p dir="ltr">Not considering analytics and measurement, so you can track how any APIs you create are used and learn from past efforts.  </p> </li> </ul><p> </p> <p dir="ltr">All of these mistakes boil down to one main error: not taking a strategic approach to digital transformation.</p> <p dir="ltr"> </p> <h1 dir="ltr">How API-led connectivity works</h1> <p>When you approach the bigger problem with a long-term view in mind, you can develop a process that makes things easier on your whole company for years to come. A good API-led digital transformation project includes a few main components.</p> <p> </p> <h3 dir="ltr">1. A clear process of documentation</h3> <p dir="ltr">One of the main benefits of API-led connectivity is that it can save your business a lot of time and manpower down the line, but only if you get the <a href="https://www.avioconsulting.com/blog/documentation-youll-thank-yourself-later">documentation process </a>right. Using an integration product like MuleSoft can make this part easier. The product enables you to create a private library where you can record all the documentation for every API you develop, control who has access to it, and make sure it’s easy for the right people in your company to find whenever they need it.</p> <p> </p> <h3 dir="ltr">2. Consistent security policies</h3> <p dir="ltr">If not done well, creating connections between different tech products can also create security vulnerabilities. To avoid that, security should be top of mind from day one when you create your API strategy.</p> <p> </p> <h3 dir="ltr">3. Good analytics</h3> <p dir="ltr">Part of thinking long term is building opportunities for improvement into your process. By measuring how your APIs are used and the results they help deliver, you can improve upon the APIs and processes you have over time.</p> <p dir="ltr"> </p> <h1 dir="ltr">The main benefits of API-Led connectivity</h1> <p dir="ltr">A better digital transformation process delivers real results.</p> <p> </p> <h3 dir="ltr">1. It saves IT time</h3> <p dir="ltr">The increase in tech products and connectivity issues has IT teams swamped. According to MuleSoft’s<a href="https://www.mulesoft.com/lp/reports/2017-connectivity-benchmark"> Connectivity Benchmark Report</a>, the demands on IT are expected to increase by 32%, with budgets increasing 10% or less by the end of this year. That’s a recipe for an overextended IT department.</p> <p> </p> <p dir="ltr">API-led connectivity reduces the amount of work IT has to do to maintain a company’s growing list of products. Clear documentation that’s easily accessible saves people from having to repeat work that someone else has already done. <a href="https://blogs.mulesoft.com/dev/api-dev/what-is-api-led-connectivity/">MuleSoft customers</a> that use API-led connectivity found they were able to complete projects 3-5 times faster, and saw productivity go up by 300% as a result of this approach.</p> <p> </p> <h3 dir="ltr">2. It helps the work you do go further</h3> <p dir="ltr">API-led connectivity makes applications more composable, and thus reusable. By doing the work to create a solid system and develop the APIs you need once, your team can repurpose the work you’ve already done over and over again for as long as needed.</p> <p> </p> <h3 dir="ltr">3. It creates a system more adaptable to changing tech</h3> <p dir="ltr">The growth in SaaS, mobile, and IoT technologies means companies now have both more connections they need to make between different products, and more tech that goes through frequent updates. That makes keeping everything consistently connected much harder. API-led connectivity makes it easier to respond to changes as they arise, without ever having to start from scratch.</p> <p> </p> <h1 dir="ltr">How to implement API-Led connectivity</h1> <p dir="ltr">Choosing to use API-led connectivity in your digital transformation project is a good start, but getting all the details right can be a challenge. Finding an integration partner that’s done it before will help you avoid potential pitfalls and get a process into place that pays off for years to come.</p> <p> </p> <p dir="ltr">AVIO has extensive experience using MuleSoft to create and implement an API-led connectivity strategy. You can benefit from our experience, and start saving your company time, money, and all the headaches that come with tech compatibility issues.</p> <p><br />  </p> </div> </div> </div> </div> </div><div class="container comment-container"> <div class="text-align-center"><h2>Join the Conversation</h2> </div> <div class="row"> <div class="col-sm-12"> <drupal-render-placeholder callback="comment.lazy_builders:renderForm" arguments="0=node&amp;1=748&amp;2=comment_node_blog&amp;3=comment_node_blog" token="9jL35u7sgtukZKLiMyYzxPGGBQ3GDTGhKeP3m0wdKoc"></drupal-render-placeholder> </div> </div> </div> <div class="container"> <div class="row"> <div class="col-sm-12 blog-tags"> <div> <div><a href="/blog/categories/digital-transformation" hreflang="en">Digital Transformation</a></div> </div> </div> </div> </div> <div><drupal-render-placeholder callback="Drupal\block\BlockViewBuilder::lazyBuilder" arguments="0=views_block__blogs_block_4&amp;1=default&amp;2=en" token="jBjf0n8iki9sjPwElNYA4B92vVETYVFMv7O9pm9FdHQ"></drupal-render-placeholder></div> <div> <div>About the Author</div> <div></div> </div> </div> </div> Tue, 11 Jun 2019 17:29:15 +0000 Jordan Nichols 748 at https://www.avioconsulting.com https://www.avioconsulting.com/blog/connecting-data-and-applications-through-apis#comments Appian World 2019 - 5 Session Breakdowns https://www.avioconsulting.com/blog/appian-world-2019-5-session-breakdowns <div class="avio-content"> <div class="page-title"> <div class="lead-image"> <div> <div>Blog Lead Image</div> <div> <img src="/sites/default/files/2019-05/20190513_124718_2.jpg" width="3024" height="2190" alt="Appian World 2019" typeof="foaf:Image" /> </div> </div> <div class="dark-overlay"></div> </div> <div class="text-overlay"> <div class="container"> <div class="row"> <div class="col-sm-12"> <div><h2> <a href="/blog/appian-world-2019-5-session-breakdowns" hreflang="en">Appian World 2019 - 5 Session Breakdowns</a> </h2> </div> </div> </div> </div> </div> </div> <div class="main-content"> <div class="container"> <div class="row"> <div class="col-sm-12 node-body"> <div> <div><p dir="ltr">Out in beautiful San Diego at the Hilton San Diego Bayfront, <a href="https://www.appian.com/blog/appian-world-2019-day-three-recap-and-thats-a-wrap/">Appian World 2019</a> had already set the stage for a great conference. I had just finished my Appian Level 1 certification and was very excited for the sessions offered as well as the interview with Andre Agassi and the dinner party on the USS Midway. I set my sights on a few of the more technical sessions that were being offered during the three-day conference as I was there to learn. Here is a breakdown of the 5 sessions that I attended.<br />  </p> <p dir="ltr"><img alt="Appian World" data-entity-type="file" data-entity-uuid="998000b4-d58f-410d-9d85-e0863c66bc22" src="/sites/default/files/inline-images/20190514_085852.jpeg" /></p> <h2>Delivering business results in the age of intelligent automation</h2> <p dir="ltr">One of the key topics that I felt <a href="https://www.appian.com/">Appian</a> was pushing during the conference, was using Intelligent Automation (RPA and A.I.) in their Low-Code environment. Due to this, I felt it was necessary to seek out one of these sessions that Appian was offering on Intelligent Automation. The session started off talking about <a href="https://www.cio.com/article/2952121/intelligent-automation-what-it-is-why-it-matters.html">Intelligent Automation in today's IT world</a>. On one slide there was a graph showing that currently, the pace of tech development is growing exponentially, and the pace of business is only growing linear leaving a big gap for innovation using Intelligent Automation. This topic continued, talking about how many news agencies are currently using RPA and A.I. to assist in writing quick articles to free up their award-winning reporters to work on more deep and passionate pieces.<br />  </p> <p dir="ltr">Following this discussion was an announcement that Blue Prism now offering a new Appian skill to further the integration with the two products. There was a short demo showing how you could upload an image in Appian, and then Blue Prism RPA would determine if the picture contained rust. Then Blue Prism would either email the initiator in Appian with the results or it would create a task in Appian for someone to assist in reviewing the image.<br />  </p> <p dir="ltr">I felt like this was a great introduction into the Intelligent Automation that the <a href="https://www.appian.com/platform/robotic-process-automation-rpa/">partnership Appian and Blue Prism</a> have to offer. I wish there would have been a few more real-life examples that they could have shown solutions for just to give the audience a deeper dive into the capabilities of the two programs. Prittam Bagani, Mathew Shutt, and Jonathan Walden did a great job demonstrating the future of Intelligent Automation. I did get a chuckle when Jonathan was speaking about what RPA is and where it could benefit. Jonathan said to look for employees doing mundane jobs around the office, or better yet “Human Middleware.”<br />  </p> <h2>Intuitive, efficient, and beautiful: user experience makeovers with Appian SAIL</h2> <p dir="ltr">I was excited for this session as I have been learning more and more about the Appian SAIL language, and I can see the potential that it has to offer in complex UX (User Experience) designs. The speakers Grace Barkhuff, and Harles Tsui started the session out talking about Appian best practices when it comes to UX design. All UX design needs to be Functional, Efficient, Intuitive, and Beautiful. The UX can't just be one of these features, but all four at once. The speakers went on to show their Intelligent Contact Center UX, and explain that a UX can be very heavily data forward, as long as it was being used for power users and all the data was well organized.<br />  </p> <p dir="ltr">The conversation then moved to mobile UX design. If developing for a mobile-first UX, then all text should be center aligned and the flow should represent a wizard application that everyone is accustomed to. The presentation ended with the speakers showing the audience a few before and after images of UX’s that had been re-designed, as well as the location for the <a href="https://docs.appian.com/suite/help/19.1/ux_getting_started.html">Appian UX best practices</a>.<br />  </p> <p dir="ltr">I was a little disappointed at the end of this session as the title had me thinking they were going to show some of the tricks of SAIL to help create great UX’s. In the end, it was more of just a powerpoint showing pictures of different UX layouts, and talking about UX best practices.<br />  </p> <h2>Using integration SDK to extend Appian</h2> <p dir="ltr">I went into this session as a novice when it came to Appian’s software development kit (SDK), and custom components currently on the <a href="https://community.appian.com/b/appmarket">Appian App Market</a>. I really learned the most out of this session thanks to Jacob Rank, and Abdul Sowayan doing a great job explaining Appian’s SDK.<br />  </p> <p dir="ltr">The session started with the speakers showing us the two ways to extend Appian. The Connected Systems and Interface Design Objects allow you to bring in external components throughout Appian. The Connected Systems components give you access to APIs that are currently available to send and receive external information in Appian. The Interface Design Objects allow you to connect to services that you would want to use to build out User Interface’s (Google Maps, Audio Player, Twilio Chat).<br />  </p> <p dir="ltr">The speakers then proceeded to show us a Demo of some of these components in action, and how easy it was to download and install them from the Appian App Market. Jason and Abdul then told us that Appian SDK allows programmers access to build their own custom components that allow you to further extend the reach of Appian. These custom components can also be added to the Appian App Market if desired to assist the Appian Community. Overall, this was a great session to attend.<br />  </p> <h2>Quickly connect your enterprise with no-code integration</h2> <p dir="ltr">I wanted to extend my knowledge on connecting multiple systems in Appian since this is likely to be a real-world scenario. This session seemed to build on the previous session about Integration SDK’s. Speakers Medhat Galal and Colton Walker spent most of the session in a live demo showing how easy it was to connect to multiple systems using the Appian Connected System wizard and how to add new interface components through the Appian Plug-In feature. Both were very quick and easy if you were using pre-programmed connections already in Appian, or plug-ins off of the Appian App Market.<br />  </p> <p dir="ltr">They ended this session with a few announcements to assist the connection of multiple systems within Appian. Appian now makes it easy to add trusted server certificates in the Admin Panel. Appian added a new wizard to assist with document exchange between multiple systems as well. The big news was that Appian now allows you to set Integration Timeouts, so you don’t have stuck integrations bring down your whole application.<br />  </p> <h2>Everything new in 19.2</h2> <p dir="ltr">The last session was the one I was most excited for, as the next release of Appian 19.2 is just around the corner. I really wanted to see what was new in this release, and to get a feel of what Appian believed to be the best features. This session turned out to be an overload of a ton of new small features to fix and assess issues that are currently more complicated. I will go into a few of the ones that I think are going to give me the most benefit.<br />  </p> <ul dir="ltr"><li>The Query Editor has been updated to work with nested CDT’s, and allow for aggregated queries.</li> <li>The Rich Text design experience on interfaces now acts as a common text editor eliminating the continuous drill down on the configuration screen.</li> <li>The Expression Mode has been updated to ignore trailing commas, and now we will not be hassled with those Syntax Errors.</li> <li>The Email Node now allows for more in-depth branding allowing for the customization to customers in house branding.</li> <li>Interfaces can now be set to Auto Refresh to a refreshing time that best suites that application, eliminating the need for users to refresh a page.</li> </ul><p dir="ltr"> </p> <p dir="ltr">There were a ton more improvements that are coming, so keep an eye out for the Appian 19.2 documentation or you can join one of the <a href="https://community.appian.com/b/product-announcement-webinars/posts/appian-19-2-product-announcement-webinar">Appian 19.2 Product Announcement Webinars</a>.<br />  </p> <p dir="ltr">Overall, Appian delivered a great conference packed full of great conversation, insightful knowledge, and a beautiful event. For my first technical conference, I left feeling satisfied that I got out everything that I was expecting from Appian World and more! I look forward to next year's <a href="https://appianworld.com/">Appian World 2020</a> in Ft. Lauderdale, Flordia March 8-11th.<br />  </p> </div> </div> </div> </div> </div><div class="container comment-container"> <div class="text-align-center"><h2>Join the Conversation</h2> </div> <div class="row"> <div class="col-sm-12"> <drupal-render-placeholder callback="comment.lazy_builders:renderForm" arguments="0=node&amp;1=747&amp;2=comment_node_blog&amp;3=comment_node_blog" token="tVC3221tb7IL90MtA7tcTmExUnv1waduG4tAxLZ7dzM"></drupal-render-placeholder> </div> </div> </div> <div class="container"> <div class="row"> <div class="col-sm-12 blog-tags"> <div> <div><a href="/blog/categories/other" hreflang="en">Other</a></div> </div> </div> </div> </div> <div><drupal-render-placeholder callback="Drupal\block\BlockViewBuilder::lazyBuilder" arguments="0=views_block__blogs_block_4&amp;1=default&amp;2=en" token="jBjf0n8iki9sjPwElNYA4B92vVETYVFMv7O9pm9FdHQ"></drupal-render-placeholder></div> <div> <div>About the Author</div> <div></div> </div> </div> </div> Tue, 04 Jun 2019 17:07:45 +0000 Ben Bassett 747 at https://www.avioconsulting.com https://www.avioconsulting.com/blog/appian-world-2019-5-session-breakdowns#comments 3 Takeaways from MuleSoft CONNECT 2019 https://www.avioconsulting.com/blog/3-takeaways-mulesoft-connect-2019 <div class="avio-content"> <div class="page-title"> <div class="lead-image"> <div> <div>Blog Lead Image</div> <div> <img src="/sites/default/files/2019-05/IMG_6677.jpg" width="4032" height="3024" alt="MuleSoft" typeof="foaf:Image" /> </div> </div> <div class="dark-overlay"></div> </div> <div class="text-overlay"> <div class="container"> <div class="row"> <div class="col-sm-12"> <div><h2> <a href="/blog/3-takeaways-mulesoft-connect-2019" hreflang="en">3 Takeaways from MuleSoft CONNECT 2019</a> </h2> </div> </div> </div> </div> </div> </div> <div class="main-content"> <div class="container"> <div class="row"> <div class="col-sm-12 node-body"> <div> <div><p dir="ltr">This was my third year attending <a href="https://connect.mulesoft.com/events/connect/atlanta">MuleSoft CONNECT</a> since I joined AVIO, and every year it has gotten better and better. I always look forward to attending the event and learning about new things MuleSoft has planned for the future and hearing how organizations are using MuleSoft to solve their business challenges.<br />  </p> <p dir="ltr">This year was no different, so I’d like to share my 3 big takeaways from this year's conference in Atlanta.<br />  </p> <h2>1. The Keynote: tips to become a more modern organization</h2> <p dir="ltr">For this year's keynote, MuleSoft Founder, <a href="https://www.linkedin.com/in/ross-mason/">Ross Mason</a>, spoke about architecting for innovation and agility. He highlighted MuleSoft’s vision for a connected future and the importance of API’s and the application network to today's enterprises.<br />  </p> <p dir="ltr">Ross, then brought Former McDonald’s Global CIO, <a href="https://www.linkedin.com/in/frank-liberio-b9b4304/">Frank Liberio</a>, to the stage to talk about <a href="https://www.mulesoft.com/webinars/api/global-supply-chain-mcdonalds">how they used APIs and MuleSoft to overcome real problems</a>. He shared some best practices on how enterprises could accelerate digital transformation and become a more modern organization.<br />  </p> <h2>2. The vision and roadmap for the Anypoint Platform</h2> <p dir="ltr">Every year that I attend CONNECT, I look forward to hearing what new and exciting things MuleSoft has planned for the coming year. This year during the Vision and Roadmap session, <a href="https://www.linkedin.com/in/markdao/">Mark Dao</a>, Chief Product Officer, shared what we could expect to see in the IT space in the coming year, which included:<br />  </p> <ul><li>New templates to be released for Flow Designer.</li> <li>API Community Manager: an extension to Anypoint Exchange to support community members with developer forums, chat, and case management.</li> <li>The addition of Government Cloud, which is a FedRAMP compliant environment.</li> <li>Enhancements to connectors and the release of new connectors.</li> </ul><p dir="ltr"> </p> <h2>3. Technical breakout sessions</h2> <p dir="ltr">When I was looking at the agenda before the conference, I marked 3 technical breakout sessions that I knew I was going to attend.<br />  </p> <p dir="ltr">This year, I was really looking forward to the “Salesforce Integration Best Practices” breakout session because I had written a previous blog post on the same subject, <a href="https://www.avioconsulting.com/blog/how-integrate-salesforce-mulesoft">How to Integrate Salesforce with MuleSoft</a>.<br />  </p> <p dir="ltr">The other 2 breakout sessions that had caught my attention included “<em>Accelerating Digital Transformation with MuleSoft</em>” and “<em>How Leading Enterprises are Monitoring and Troubleshooting in Hybrid World</em>”. These are 2 key areas that I am always focusing on for AVIO customers.<br />  </p> <p dir="ltr">Here are some key insights I took away from each of the 3 breakout sessions:<br />  </p> <h3>Salesforce Integration Best Practices</h3> <ul><li>The MuleSoft approach integrating with Salesforce</li> <li>Demo of how to use APIs and MuleSoft can be effective in initiatives like Customer 360</li> <li>Using Heroku to deploy, run and manage applications</li> </ul><p dir="ltr"> </p> <h3>Accelerating Digital Transformation with MuleSoft</h3> <ul><li>Effective application networking in a complex ecosystem</li> <li>How different domains carry different definitions for an API layered architecture</li> <li>Integrations to legacy systems and patterns</li> </ul><p dir="ltr"> </p> <h3>How Leading Enterprises are Monitoring and Troubleshooting in Hybrid World</h3> <ul><li>How to leverage custom dashboards</li> <li>The best usage of Anypoint Monitoring</li> <li>Demo of how easy debugging is with Anypoint Monitoring</li> <li>Logging best practices</li> </ul><p dir="ltr"> </p> <p dir="ltr">MuleSoft CONNECT is something that I always look forward to every year when the dates are announced. Though the event was much smaller this year since they have broken the larger conference into multiple events, MuleSoft still delivered. From meeting all the great people at the networking events and AVIO’s booth, to holding insightful conversations about the current IT landscape, MuleSoft CONNECT 2019 was a highlight for the year and I am already looking forward to MuleSoft CONNECT 2020.<br />  </p> </div> </div> </div> </div> </div><div class="container comment-container"> <div class="text-align-center"><h2>Join the Conversation</h2> </div> <div class="row"> <div class="col-sm-12"> <drupal-render-placeholder callback="comment.lazy_builders:renderForm" arguments="0=node&amp;1=746&amp;2=comment_node_blog&amp;3=comment_node_blog" token="oShllJ2yE5as5E6a9kEGuaWtVMIZT4-h4JZPOclIY9w"></drupal-render-placeholder> </div> </div> </div> <div class="container"> <div class="row"> <div class="col-sm-12 blog-tags"> <div> <div><a href="/blog%3Fbid%3D332" hreflang="en">MuleSoft</a></div> </div> </div> </div> </div> <div><drupal-render-placeholder callback="Drupal\block\BlockViewBuilder::lazyBuilder" arguments="0=views_block__blogs_block_4&amp;1=default&amp;2=en" token="jBjf0n8iki9sjPwElNYA4B92vVETYVFMv7O9pm9FdHQ"></drupal-render-placeholder></div> <div> <div>About the Author</div> <div></div> </div> </div> </div> Thu, 23 May 2019 15:44:50 +0000 Karthik Dega 746 at https://www.avioconsulting.com https://www.avioconsulting.com/blog/3-takeaways-mulesoft-connect-2019#comments Solve Your Integration Headaches with MuleSoft https://www.avioconsulting.com/blog/solve-your-integration-headaches-mulesoft <div class="avio-content"> <div class="page-title"> <div class="lead-image"> <div> <div>Blog Lead Image</div> <div> <img src="/sites/default/files/2019-05/iStock-1081869346.jpg" width="2121" height="1414" alt="3 people looking at a computer screen " typeof="foaf:Image" /> </div> </div> <div class="dark-overlay"></div> </div> <div class="text-overlay"> <div class="container"> <div class="row"> <div class="col-sm-12"> <div><h2> <a href="/blog/solve-your-integration-headaches-mulesoft" hreflang="en">Solve Your Integration Headaches with MuleSoft </a> </h2> </div> </div> </div> </div> </div> </div> <div class="main-content"> <div class="container"> <div class="row"> <div class="col-sm-12 node-body"> <div> <div><p dir="ltr">Part of being in business today is using an array of technological tools. While tech can be used to make businesses more efficient and profitable, as more and more products are added to a company’s tech arsenal, the more you’ll face integration issues.</p> <p dir="ltr"> </p> <p dir="ltr">In a <a href="https://www.mulesoft.com/press-center/technology-trends-2019-connectivity-benchmark">2019 MuleSoft survey</a>, nearly half of companies said they use more than 1,000 different applications across their business, but only 29% of them are integrated together. That leaves important data trapped in silos, causing serious opportunity costs. And it creates an unsustainable workload for the IT department, who has a growing list of products they have to provide troubleshooting and fixes for—both on their own, and in their connections to each other.</p> <h1 dir="ltr"> </h1> <h1 dir="ltr">Why Modern Integration is Necessary</h1> <p dir="ltr">Having various products and systems disconnected is costing your business in ways you can’t necessarily see.</p> <p dir="ltr"> </p> <p dir="ltr">For example, an e-commerce business that lacks real-time access to inventory data risks disappointing customers and losing business by taking orders they can’t fill. When you can’t see the big picture with the data you have, you can’t make the smartest decisions in choosing products and services for your market. And when your IT department is bogged down with more service requests than they can handle, it slows your whole operation down and hurts the company’s overall productivity.</p> <p dir="ltr"> </p> <p dir="ltr">Your company may be hesitant to embark on an integration project because you know it can be a big undertaking, but the sooner you embrace the investment in integration, the more time, energy, and money you’ll save.</p> <h1 dir="ltr"> </h1> <h1 dir="ltr">4 Integration Challenges to Be Aware Of</h1> <p dir="ltr">To make sure your integration project goes smoothly, you should be aware of some of the common challenges that arise, so you can address them head-on.</p> <h3 dir="ltr"> </h3> <h3 dir="ltr">Internal Resistance</h3> <p dir="ltr">Any project that requires change will inevitably meet resistance. People get used to doing things a certain way and having to learn a whole new process is a hard sell. Integration technology projects often include an internal political battle to get important stakeholders on board. Convincing people that the benefits will outweigh their fears and that their concerns will be addressed is an important part of getting any digital integration project off the ground.</p> <h3 dir="ltr"> </h3> <h3 dir="ltr">Cost</h3> <p dir="ltr">Integration can help you both save and make more money, but before you can get to that point, you have to spend money. <a href="https://sdtimes.com/developers/solving-internet-things-integration-problem/">Gartner has predicted</a> that half the cost of implementing Internet of Things (IoT) technology in businesses will go towards integration efforts. And it’s not just an issue for IoT,  Gartner has also predicted that through 2020, half of the time and cost involved in building a digital platform for businesses will be for integration. Any integration efforts your company takes on will require having an adequate budget, but the cost shouldn’t stop you from taking the plunge.</p> <h3 dir="ltr"> </h3> <h3 dir="ltr">Complexity</h3> <p dir="ltr">The more disconnected apps your company depends on, the bigger a challenge it will be to get them all working together seamlessly in the future. Most businesses are moving towards having more tech products they rely on, rather than less. Without the right integration solution, compatibility issues will only get more complicated and unsustainable. But if you approach integration with an eye toward the long term, you can ensure you build a system that makes adding future apps to your company’s processes easier.</p> <h3 dir="ltr"> </h3> <h3 dir="ltr">Security</h3> <p dir="ltr">Security is too important to treat as an afterthought. Choosing the wrong integration tool can potentially increase your risk to security threats. <a href="https://www.cmswire.com/information-management/7-considerations-for-its-never-ending-integration-challenges/">70% of organizations</a> said that their integration tool increased data security and compliance risks. With the right approach, you can achieve integration without creating new security risks.</p> <h1 dir="ltr"> </h1> <h1 dir="ltr">How to Overcome Common Integration Challenges</h1> <p dir="ltr">When you know what difficulties to be aware of in advance, you can start your integration project more prepared to address them head-on. With extensive experience working on tech integration projects, AVIO has adopted some best practices for making sure integration solves a company’s primary tech problems, without adding new ones to deal with.</p> <h3 dir="ltr"> </h3> <h3 dir="ltr">Start with the business problem.</h3> <p dir="ltr">Every business is different, there’s no one-size-fits-all integration solution. Before you can develop the right integration strategy, you need to clarify the specific problems you want it to solve.</p> <h3 dir="ltr"> </h3> <h3 dir="ltr">Pick the right integration technology.</h3> <p dir="ltr">As with any problem, you need the right tool to solve it. We have experience guiding clients through MuleSoft integration projects, so you know the product offers powerful features that help solve many common integration challenges.</p> <h3 dir="ltr"> </h3> <h3 dir="ltr">Develop a long-term strategy.</h3> <p dir="ltr">You don’t just need a solution for right now, you need one that will continue to make tech compatibility issues manageable well into the future. Getting it right requires thinking long term in your plan.</p> <h3> </h3> <h3>Make a security plan part of your strategy.</h3> <p>Security needs to be a top priority in the strategy you develop. Before you start the integration process, you should establish the foundation for all integrations, which includes defining the different levels of security and access involved in each product and connection.</p> <h3 dir="ltr"> </h3> <h3 dir="ltr">Use skilled consultants to reduce your risk.</h3> <p dir="ltr">Your employees are busy and don’t want their other work disrupted by the project. By bringing in outside consultants who know how to start your MuleSoft integration off on the right foot and get the momentum going, you can reduce the impact it has on other internal projects and deadlines.</p> <h1 dir="ltr"> </h1> <h1 dir="ltr">Finding the Right Partner For Your MuleSoft Strategy</h1> <p dir="ltr">Hiring skilled consultants can help, but what’s even better is finding a partner in the process. You want a company that understands MuleSoft, is familiar with the elements of a successful integration process, and just as importantly, knows how to center your particular needs and circumstances.</p> <p> </p> <p>AVIO has proven experience with MuleSoft integration. We’ve helped clients integrate their tech and improve their processes through our unique approach. For one client, our guidance leads to <a href="https://www.mulesoft.com/sites/default/files/AVIO-Outdoor%20Cap%20Case%20Study.pdf">98% faster order processing times </a>and complete elimination of order errors. Whatever your integration problems are, we can help you solve them.</p> </div> </div> </div> </div> </div><div class="container comment-container"> <div class="text-align-center"><h2>Join the Conversation</h2> </div> <div class="row"> <div class="col-sm-12"> <drupal-render-placeholder callback="comment.lazy_builders:renderForm" arguments="0=node&amp;1=745&amp;2=comment_node_blog&amp;3=comment_node_blog" token="U66VxjKEAAIfzMXOu4KS4UoYFVQuDD6dVozyLxRyJHs"></drupal-render-placeholder> </div> </div> </div> <div class="container"> <div class="row"> <div class="col-sm-12 blog-tags"> <div> <div><a href="/blog/categories/digital-transformation" hreflang="en">Digital Transformation</a></div> <div><a href="/blog%3Fbid%3D332" hreflang="en">MuleSoft</a></div> </div> </div> </div> </div> <div><drupal-render-placeholder callback="Drupal\block\BlockViewBuilder::lazyBuilder" arguments="0=views_block__blogs_block_4&amp;1=default&amp;2=en" token="jBjf0n8iki9sjPwElNYA4B92vVETYVFMv7O9pm9FdHQ"></drupal-render-placeholder></div> <div> <div>About the Author</div> <div></div> </div> </div> </div> Wed, 22 May 2019 14:57:52 +0000 Jordan Nichols 745 at https://www.avioconsulting.com https://www.avioconsulting.com/blog/solve-your-integration-headaches-mulesoft#comments How to Update Oracle SOA 11g Timeouts https://www.avioconsulting.com/blog/how-update-oracle-soa-11g-timeouts <div class="avio-content"> <div class="page-title"> <div class="lead-image"> <div> <div>Blog Lead Image</div> <div> <img src="/sites/default/files/2019-05/pexels-photo-1661004.jpeg" width="1880" height="1030" alt="Team" typeof="foaf:Image" /> </div> </div> <div class="dark-overlay"></div> </div> <div class="text-overlay"> <div class="container"> <div class="row"> <div class="col-sm-12"> <div><h2> <a href="/blog/how-update-oracle-soa-11g-timeouts" hreflang="en">How to Update Oracle SOA 11g Timeouts</a> </h2> </div> </div> </div> </div> </div> </div> <div class="main-content"> <div class="container"> <div class="row"> <div class="col-sm-12 node-body"> <div> <div><p dir="ltr">Imagine your SOA/BPM application is consuming a service (internal or third party) that takes more than 5 minutes to reply, which is more than the default JTA timeout. What would happen in this situation? The result is a faulted instance.<br />  </p> <p dir="ltr">Last month at a <a href="http://www.oracle.com/us/technologies/bpm/suite/overview/index.html">Oracle BPM</a> project, we faced a similar situation. After doing some research, we realized that not only do you have to update the EJBs or JTA timeouts, but there are also several other timeouts to tweak. In fact, six different timeouts need to be updated. Five of them related to the <a href="https://www.oracle.com/middleware/technologies/soasuite.html">Oracle SOA Suite</a>, plus the DB timeout. Here’s an overview of the 6 timeouts that we had to update and how to do so!<br />  </p> <h2>Web Service binding timeout</h2> <p dir="ltr">First, you need to identify all composites involved with the long-running service. This will include the composites where the service is called, and the composites calling these composites. Then, in each composite go to the source view and add the following properties to the web service binding (tag &lt;binding.ws/&gt;):<br />  </p> <ul><li>oracle.webservices.httpConnTimeout (milliseconds)</li> <li>oracle.webservices.httpReadTimeout (milliseconds)</li> <li>oracle.webservices.local.optimization (false)</li> </ul><p dir="ltr"> </p> <p class="text-align-center"><b id="docs-internal-guid-d822e284-7fff-586f-e223-99d2693b8acd"><img height="203" src="https://lh3.googleusercontent.com/-sLb4LCfehuS86Im8xOfQlI39MnxOA2TDXCB3hqNOCekZlYjXO5SBaj42OMDq0BN12wooR4ug93ki_CzWlo6P7ys76b_58Wm8Vb0j78Tu4EjhK4MBQVg89zMbIHj-4FpJNUpWeK3" width="876" /></b></p> <p dir="ltr">Local optimization is enabled by default in SOA Suite to optimize synchronous calls between BPEL processes deployed on the same container. We need to disable the local optimization, otherwise, the HTTP timeouts won't be considered.<br />  </p> <h2 class="text-align-justify">BPEL timeout </h2> <p dir="ltr">Set the property "SyncMaxWaitTime" (value is in seconds). Go to the Enterprise Manager, then in the navigation menu on the left, expand the "SOA" folder and click on the "soa-infra (&lt;SOA server name&gt;)" item.<br />  </p> <p class="text-align-center"><b id="docs-internal-guid-9a9e4fea-7fff-ebd9-0623-203615ac896b"><img height="202" src="https://lh4.googleusercontent.com/vWI6pew8GrYvA2Dfq10tCmIANi72_Sl8aiQu9fCXx7TQct8pAnZul7mFA4MF8ywJvxZcReVIlr2lgdibuDPx8jzgilIY_pnBxpD0fIkwApO1I0fpXZnS8F4-sw1L_RBqdPGHn4ZF" width="295" /></b></p> <p dir="ltr"> </p> <p dir="ltr">In the details page, expand the "SOA Infrastructure" dropdown. Then go to "SOA Administration" and finally, click on "BPEL Properties" option.</p> <p dir="ltr"> </p> <p class="text-align-center"><b id="docs-internal-guid-e26fafac-7fff-e138-b9a3-738cb2a3572b"><img height="435" src="https://lh4.googleusercontent.com/tiHNvixUgG9imov5ENzv10LvO8dFveZnDRs0k-k5YOx1_bIdxq4yDnrSbHoAU7062cI209U7lWumQta1vilvi5v41gGSesd1UFJiS7Vwyyod4zpGPIe-27Og5P_XOTM0eRVVjpG9" width="349" /></b></p> <p dir="ltr"> </p> <p dir="ltr">The "BPEL Service Engine Properties" page is shown. From there, click on the link "More BPEL Configuration Properties..."</p> <p dir="ltr"> </p> <p class="text-align-center"><b id="docs-internal-guid-8ee2c1e6-7fff-509d-975b-90a749b20219"><img height="289" src="https://lh4.googleusercontent.com/rnXbo7bVmUrwPBpJghIcQ_HW7doPgDEd4n2n-bP0bA5QCSS13I5tDxhmK42sH3iwYb4gXBoyOmO0yH4NepNSI_By6OzC7sgoxQedRUiqSiNxcbD7SiWPTXwRr0NdueBGOcIJOfhW" width="378" /></b></p> <p dir="ltr"> </p> <p dir="ltr">In the "Application Defined MBeans" page, you can update the value of "SyncMaxWaitTime" property<b id="docs-internal-guid-430238a2-7fff-d535-0243-ddc95f5b345d">– </b>keep in mind this value is in seconds.</p> <p dir="ltr"> </p> <p class="text-align-center"><b id="docs-internal-guid-92593fe7-7fff-4b4e-1745-8a3972017a1b"><img height="233" src="https://lh4.googleusercontent.com/WvaTqupGfHOsfI-uTOCnN7d_36RXS9hZS-VFZqaNuRZsXvAey789btmyVVbZlMftKZ2rTvDD1c-VHwBGzCZWB5CPKB20xh7tTr5JNstRANLgzpkvWH7yP0Qh69tP9z0vpy2-AW8P" width="802" /></b></p> <p dir="ltr"> </p> <h2>EJB's timeouts</h2> <p dir="ltr">Open the WebLogic console, then go to Deployments, find "soa-infra" and expand it by clicking on the plus sign. <br />  </p> <p dir="ltr">You have to update the timeout of the following EJB's:</p> <ul><li class="text-align-justify">BPELEngineBean</li> <li class="text-align-justify">BPELDeliveryBean</li> <li class="text-align-justify">BPELActivityManagerBean</li> <li class="text-align-justify">BPELServerManagerBean</li> <li class="text-align-justify">BPELProcessManagerBean</li> <li class="text-align-justify">BPELInstanceManagerBean</li> <li class="text-align-justify">BPELFinderBean</li> </ul><p class="text-align-justify"> </p> <p dir="ltr">Typically, the way to update the timeout of these EJB's would be clicking on the name, then in the Configuration tab, increasing the value of "Transaction Timeout" and finally, activating the changes. But first, make sure to stop all SOA Servers before doing that. According to <a href="https://support.oracle.com/epmos/faces/DocumentDisplay?_afrLoop=420555745794054&amp;parent=EXTERNAL_SEARCH&amp;sourceId=PROBLEM&amp;id=1271369.1&amp;_afrWindowMode=0&amp;_adf.ctrl-state=gux9xo6w_4">Oracle Support Doc ID 1271369.1</a>, if you update these BPEL EJB's while the SOA servers are running, your SOA Infra won't start up anymore and you'll experience the pain.</p> <p dir="ltr">If you did update the transaction timeouts with the SOA Servers running and now your SOA environment is broken, don’t fret. Try the following steps to resolve the issue:</p> <ul><li>Shutdown the entire domain.</li> <li>In a console, go to the &lt;your domain folder&gt;/servers/AminServer and rename the "tmp" folder to "tmp_OLD".</li> <li>Start the Admin Server and then the SOA Servers.</li> </ul><p dir="ltr">This should bring your SOA environment back to life. <br />  </p> <h2>JTA Timeout</h2> <p dir="ltr">In the WebLogic console, go to the Domain Structure panel and click on the domain name. Then in the domain settings page, go to "Configuration" and then "JTA" tab. From there, you can update the value of "Timeout Seconds" property.<br />  </p> <p class="text-align-center"><b id="docs-internal-guid-04cef1cf-7fff-209d-0b18-f4933c5b83a7"><img height="259" src="https://lh6.googleusercontent.com/IeMzCCplRJunrh4f3oCc9j7t9E9yWDw73T7MEnF-jCljMgIP0Q1NBrwr7WjkUP_jzTRdBAgl1KH5gb4DJk4pGiVAjyuWvXKY9rzK89pY1ykbfdaEEq7jI9Ful4Fjnunig0LDtSbz" width="624" /></b></p> <p class="text-align-center"> </p> <h2 class="text-align-justify">SOADataSource XA Transaction Timeout</h2> <p class="text-align-justify">In the WebLogic console, go to the Domain Structure panel, then "Services" and then "Data Sources". Find "SOADataSource" on the list and click it. Select the "Configuration" tab and then "Transaction" tab. From there, make sure that "Use XA Data Source Interface" is checked and "XA Transaction Timeout" is set to zero (which means the WebLogic Server Transaction Manager passes the global WebLogic Server transaction timeout in seconds).</p> <p dir="ltr"> </p> <p class="text-align-center"><b id="docs-internal-guid-a871cb7a-7fff-d747-2330-f92945db2a28"><img height="319" src="https://lh5.googleusercontent.com/qCMR1jrhLjXX_RC6iGbznnjBQ2r46oWZz3cGpFrNeXXafSx0-vrkDXj8ojBaugE7LUEn809goKxuTv5JXS2O3bcit7ACrEdGT7Ns31n-c460vBaoB_jvDF2nfLJzjVi5T-Gyklya" width="504" /></b></p> <p dir="ltr"> </p> <h2 class="text-align-justify">Database distributed transaction timeout</h2> <p class="text-align-justify">Last but not least, update the DB transaction timeout. For that, ask the DBA to help you to update the DISTRIBUTED_LOCK_TIMEOUT value of your Oracle Database.</p> <p dir="ltr"> </p> <p dir="ltr">Having faulted instances can be extremely frustrating and time-consuming if you don't know how to update them efficiently. So, next time when your <a href="http://www.oracle.com/us/technologies/bpm/suite/overview/index.html">Oracle BPM</a> project faces the same situation, I hope that this how-to guide will help you identify what is causing the issue and you'll be able to quickly update the timeouts and resolve the issue!</p> </div> </div> </div> </div> </div><div class="container comment-container"> <div class="text-align-center"><h2>Join the Conversation</h2> </div> <div class="row"> <div class="col-sm-12"> <drupal-render-placeholder callback="comment.lazy_builders:renderForm" arguments="0=node&amp;1=744&amp;2=comment_node_blog&amp;3=comment_node_blog" token="Zrpzy5EK5SRj9Kk1dGdUmyiZS3Q8mJjgOMFmAXfSVo0"></drupal-render-placeholder> </div> </div> </div> <div class="container"> <div class="row"> <div class="col-sm-12 blog-tags"> <div> <div><a href="/taxonomy/term/365" hreflang="en">Oracle</a></div> <div><a href="/blog/categories/bpm" hreflang="en">BPM</a></div> <div><a href="/blog/categories/soa" hreflang="en">SOA</a></div> </div> </div> </div> </div> <div><drupal-render-placeholder callback="Drupal\block\BlockViewBuilder::lazyBuilder" arguments="0=views_block__blogs_block_4&amp;1=default&amp;2=en" token="jBjf0n8iki9sjPwElNYA4B92vVETYVFMv7O9pm9FdHQ"></drupal-render-placeholder></div> <div> <div>About the Author</div> <div></div> </div> </div> </div> Wed, 01 May 2019 22:47:50 +0000 Sebastian Marucci 744 at https://www.avioconsulting.com https://www.avioconsulting.com/blog/how-update-oracle-soa-11g-timeouts#comments HashiCorp Vault Connector for Mule 4 https://www.avioconsulting.com/blog/hashicorp-vault-connector-mule-4 <div class="avio-content"> <div class="page-title"> <div class="lead-image"> <div> <div>Blog Lead Image</div> <div> <img src="/sites/default/files/2019-05/Mule%20%26%20Vault.png" width="1920" height="1080" alt="MuleSoft &amp; HashiCorp Vault" typeof="foaf:Image" /> </div> </div> <div class="dark-overlay"></div> </div> <div class="text-overlay"> <div class="container"> <div class="row"> <div class="col-sm-12"> <div><h2> <a href="/blog/hashicorp-vault-connector-mule-4" hreflang="en">HashiCorp Vault Connector for Mule 4</a> </h2> </div> </div> </div> </div> </div> </div> <div class="main-content"> <div class="container"> <div class="row"> <div class="col-sm-12 node-body"> <div> <div><p>HashiCorp Vault is a great place to store your secrets, but how does one quickly and easily integrate from Mule 4? Thankfully, AVIO has a Vault Connector and Vault Properties Provider. And lucky for you, both are open-source and easy to add to your project.</p> <h2>Which one should you use?</h2> <p>If you only need to retrieve values from Vault and they aren't expected to change frequently, use the properties provider. It is best to use the properties provider for database connection details as well as other connectors that require secret information at startup time.</p> <p>If you need to write secrets, handle data encryption, or retrieve secrets that change often, or are used mid-flow, use the Vault Connector. Secrets can be accessed in real-time via the connector.</p> <h2>Vault Properties Provider</h2> <p>Use the Vault Properties Provider to retrieve values from Vault. Reference values from Vault using this format:</p> <pre> ${vault::&lt;secret_engine_path&gt;/&lt;secret_path&gt;.&lt;field_name&gt;}</pre> <p>Properties are loaded from Vault when the application is started, so the application must be restarted to retrieve new values after they are updated in Vault.</p> <p>For example, one could use properties from Vault to set values in a database connection.</p> <p><img alt="Database Connection Screenshot" data-entity-type="file" data-entity-uuid="0a7dea5a-0d84-4bb1-ba4b-03f0968e8183" src="/sites/default/files/inline-images/dbConnectionScreen_0.png" /></p> <h2>Vault Connector</h2> <p>Use the Vault Connector to read or write secrets at runtime. The connector also has the ability to use the transit secrets engine to encrypt, decrypt, and re-encrypt data. </p> <p>Set up a Vault connection, then drop a Get Secret component into a flow, specify the secret path, and it's ready to go.</p> <p><img alt="Get Secret configuration" data-entity-type="file" data-entity-uuid="75eb816e-983e-4d60-883f-9c4322626ab8" src="/sites/default/files/inline-images/IMG_2345.PNG" /></p> <h2>Authenticating with Vault</h2> <p>Both of the connectors currently enable five types of authentication with Vault.</p> <ul><li>Basic Token Authentication</li> <li>TLS Authentication</li> <li>AWS IAM Authentication</li> <li>AWS EC2 Instance Metadata Authentication</li> <li>AWS EC2 Identity Document Authentication</li> </ul><h2>Where to get it</h2> <p>Find the code and installation instructions on GitHub:</p> <ul><li>Vault Connector: <a href="https://github.com/avioconsulting/mule-vault-connector">https://github.com/avioconsulting/mule-vault-connector</a></li> <li>Vault Properties Provider: <a href="https://github.com/avioconsulting/mule-vault-properties-provider">https://github.com/avioconsulting/mule-vault-properties-provider</a></li> </ul><h2>Installing the Connectors</h2> <h3>Publishing to a private exchange</h3> <p>To publish to a private exchange, some updates are necessary to the projects' <code>pom.xml</code> files and your Maven <code>settings.xml</code> file.</p> <p>In the <code>pom.xml</code> files, update the <code>groupId</code> to the Organization ID used by your organization on the Anypoint platform.</p> <p>In addition, update the <code>url</code> in the <code>distributionManagement</code> section of the pom to the following, replacing <code>${orgId}</code> with your Organization ID:</p> <pre> https://maven.anypoint.mulesoft.com/api/v1/organizations/${orgID}/maven</pre> <p>Add a <code>server</code> for the exchange repository in your Maven <code>settings.xml</code> file with <code>exchange-repository</code> as the <code>id</code> element and specify the username and password used for Anypoint Exchange.</p> <h3>Installing into local Maven repository</h3> <p>If you would like to install the connectors locally for testing before publishing to exchange, execute <code>mvn install</code>, then manually add the dependency to your project's <code>pom.xml</code>.</p> <p>For the Vault Connector, it would look like this:</p> <pre> &lt;dependency&gt; &lt;groupId&gt;${orgId}&lt;/groupId&gt; &lt;artifactId&gt;vault-connector&lt;/artifactId&gt; &lt;version&gt;0.1.1&lt;/version&gt; &lt;classifier&gt;mule-plugin&lt;/classifier&gt; &lt;/dependency&gt;</pre> <p>For the Vault Properties Provider, it would look like this:</p> <pre> &lt;dependency&gt; &lt;groupId&gt;${orgId}&lt;/groupId&gt; &lt;artifactId&gt;mule-vault-properties-providers-module&lt;/artifactId&gt; &lt;version&gt;0.1.1&lt;/version&gt; &lt;classifier&gt;mule-plugin&lt;/classifier&gt; &lt;/dependency&gt;</pre> <p> </p> <p>Now you have a great place to store your secrets and with the help of AVIO's Vault Connector and Vault Properties Provider, you are all set to quickly integrate HasiCorp Vault from Mule 4!</p> </div> </div> </div> </div> </div><div class="container comment-container"> <div class="text-align-center"><h2>Join the Conversation</h2> </div> <div class="row"> <div class="col-sm-12"> <drupal-render-placeholder callback="comment.lazy_builders:renderForm" arguments="0=node&amp;1=743&amp;2=comment_node_blog&amp;3=comment_node_blog" token="U_hRSc9DXhEsllrJMREwHo3ng_5mDOzrXvEry9V2RWY"></drupal-render-placeholder> </div> </div> </div> <div class="container"> <div class="row"> <div class="col-sm-12 blog-tags"> <div> <div><a href="/blog%3Fbid%3D332" hreflang="en">MuleSoft</a></div> <div><a href="/blog/categories/other" hreflang="en">Other</a></div> </div> </div> </div> </div> <div><drupal-render-placeholder callback="Drupal\block\BlockViewBuilder::lazyBuilder" arguments="0=views_block__blogs_block_4&amp;1=default&amp;2=en" token="jBjf0n8iki9sjPwElNYA4B92vVETYVFMv7O9pm9FdHQ"></drupal-render-placeholder></div> <div> <div>About the Author</div> <div></div> </div> </div> </div> Fri, 26 Apr 2019 15:24:39 +0000 Adam Mead 743 at https://www.avioconsulting.com https://www.avioconsulting.com/blog/hashicorp-vault-connector-mule-4#comments Mule CloudHub Logging with Custom Logger and ELK https://www.avioconsulting.com/blog/mule-cloudhub-logging-custom-logger-and-elk <div class="avio-content"> <div class="page-title"> <div class="lead-image"> <div> <div>Blog Lead Image</div> <div> <img src="/sites/default/files/2018-11/Screen%20Shot%202018-11-28%20at%2012.13.01%20AM.png" width="2542" height="1868" alt="Mule-ELK" typeof="foaf:Image" /> </div> </div> <div class="dark-overlay"></div> </div> <div class="text-overlay"> <div class="container"> <div class="row"> <div class="col-sm-12"> <div><h2> <a href="/blog/mule-cloudhub-logging-custom-logger-and-elk" hreflang="en">Mule CloudHub Logging with Custom Logger and ELK</a> </h2> </div> </div> </div> </div> </div> </div> <div class="main-content"> <div class="container"> <div class="row"> <div class="col-sm-12 node-body"> <div> <div><h2 dir="ltr"><strong>Objective:</strong></h2> <p>The objective here is to share a Robust, Consistent logging solution for Mule Cloudhub apps that are easy to maintain, visualize and track down software bugs or production issues quickly.</p> <p>Logging is a powerful aid for understanding and debugging programs run-time behavior. Logs capture and persist important data and make it available for analysis at any point in time.</p> <p>This article deals with creating a logging framework for MuleSoft apps that will suit any enterprise which is concerned about consistent and structured logging, zero log message loss and log analyzing.</p> <h2>Logging in CloudHub:</h2> <p>We don’t need to be concerned with the logging configuration inside Mule apps when we choose to deploy them to CloudHub. CloudHub writes all the logs to the console, provides a way to search by keyword and by the level and gives us an ability to change applications root log level on the fly, and to switch to debug mode and such.</p> <h3>So, why not use CloudHub’s default logging then?</h3> <p dir="ltr">Whenever Mule apps are deployed to CloudHub, logging capabilities can quickly become very limited in terms of visibility, persistence etc. especially when you have large amounts of logs that are generated by applications. Here are some things that you have to keep in mind before considering default CloudHub logging as your long-term thing.</p> <ul dir="ltr"><li>Persists logs only up to 100 MB or 30 days whichever comes first.</li> <li>After you delete applications, you lose all logs of that application.</li> <li>The only way to see logs is by logging into Anypoint platform and see CloudHub console per application.</li> <li>Cannot ship logs to your desired system easily, they can only be accessed via the REST API.</li> <li>No single place to analyze all your applications logs especially if you have API-led architecture. This can help to take some preventive measures.</li> </ul><h3><strong>So...</strong></h3> <ul dir="ltr"><li>We need a logging framework that can generate logs in a consistent and structured manner.</li> <li>Use any external log analyzer like ELK and feed all the logs to it to analyze your data in the most efficient way.</li> </ul><h3>First things first.</h3> <ul><li>Raise a support ticket with MuleSoft to disable CloudHub logging.  This is the setting that MuleSoft team has to do to in order for you to override the default CloudHub log4j2 configuration with your own custom application configuration.</li> <li>Setup Elastic stack(E.L.K) to analyze log data. Two things to consider here. <ul><li>As those three products are open source, you can use this <a href="https://elk-docker.readthedocs.io/">docker image</a> to set up your own environment and maintain all the configurations, deployments, disaster recovery, security, backup, etc.</li> <li>There is a company called <a href="https://www.elastic.co/">elastic.co</a> which takes care of all the pain in managing instances, disaster recovery, backup, etc. and they provide a way to set up stack on-premise or on their managed cloud.</li> </ul></li> </ul><pre dir="ltr"> <strong>Note: </strong>When you enable custom logging in CloudHub, You can change the application's loggers log level on the fly via CloudHub API. But you cannot see a place in UI to do so. Hope it get fixed soon.</pre> <h2>Design a Custom logger for your Mule applications:</h2> <p>The default Mule logger is simple to use for logging but can be too simple because it doesn’t enforce any standards or best practices.  It also doesn’t provide a way to generate structured or consistent log messages. Designing a custom logger is the best solution here to generate structured logs and to enforce standards on the log data to be generated and of course, for seamless developer usage. The idea of this module should be to generate consistently structured logs in JSON format.</p> <p>It would be very good to provide a mule custom module for a developer to use for logging, requires specific information, and also be extended with additional information as key-value pairs, to log at a certain point, in a neat GUI. Then it’s the custom module’s job to take all the information, convert that data to JSON and log.</p> <p dir="ltr">Here is the look of Mule Custom Logger developed by AVIO to use for any log purposes.</p> <p dir="ltr"><img alt="custom-logger" data-entity-type="file" data-entity-uuid="7f901a09-e7fb-4cc8-a95b-3f62d76ad899" src="/sites/default/files/inline-images/custom-logger.png" /></p> <p dir="ltr"> </p> <p dir="ltr"> </p> <p dir="ltr">And this module will produce a JSON like this</p> <table><colgroup></colgroup><tbody><tr><td> <pre> { "app_name": "sample", "app_version": "1.0.0", "env": "dev", "ext": { "additionalKey1": "additionalValue1", "additionalKey2": "additionalValue2" }, "location": { "component": "avio-core:custom-logger", "file_name": "sample.xml", "line_in_file": "16", "location": "sampleFlow/processors/1", "root_container": "sampleFlow" }, "log": { "category": "com.avio", "correlation_id": "33af6200-018b-42af-8ec1-ebdbf29c0505", "level": "INFO", "message": "This is nothing but a sample log message", "tracePoint": "START" }, "thread": "[MuleRuntime].cpuLight.23: [sample].sampleFlow.CPU_LITE @27346628", "timestamp": "2019-05-17T15:06:34.592Z" }</pre> </td> </tr></tbody></table><p>This logger has been open-sourced under BSD 2-Clause "Simplified" License in GitHub. You can find it <a href="https://github.com/avioconsulting/mule-custom-logger">here</a>.</p> <p>We now have to feed this JSON to the ELK stack where Logstash will read this JSON message, parse it and ships to elasticsearch. Here is the high-level overview of ELK Stack. Now we have a great UI and a mechanism to generate logs in a consistent structured manner.  Also if we ever need to change the implementation of how and where we are logging to, the custom module can be updated and each project simply needs to update to the latest version of the module.</p> <p dir="ltr"><img src="https://lh6.googleusercontent.com/PhuGjzxicTZkcrrmYDvoJLIBlIEsjvdKaBoUeec1gYiQU6Xg7pimtNMFR_RSzua9WvxS6ExuMVRZh181MxEvbns1XuyxHLPBCxh57vrohQRteKDEN-Ee6d67lXGNusPhZPHsGEPn" /></p> <p>When you disabled CloudHub logging for an application, There are multiple ways to ship logs from CloudHub to any external system(Logstash in our case). Here are some.</p> <ul dir="ltr"><li>Use Log4j2 appenders like socket appender to post all logs to a specified destination.</li> <li>Use MuleSoft provided <a href="https://anypoint.mulesoft.com/exchange/portals/anypoint-platform/f1e97bc6-315a-4490-82a7-23abe036327a.anypoint-platform/cloudhub-api/1.0.5/pages/home/">CloudHub API</a> to retrieve logs periodically and send to your destination.</li> <li> <div>[Recommended]: Use a log4j2 appender to push all your CloudHub logs to Amazon SQS queue and have Logstash read messages from it. This way, we can scale SQS queue for high availability when there is huge log flow and we can ensure zero log message loss from CloudHub to Logstash as there is a highly scalable queue in between. <a href="https://github.com/avioconsulting/log4j2-sqs-appender">Here is the code</a> for the custom log4j2 appender to push all application logs to AWS SQS queue.</div> </li> </ul><h3>Logstash Pipeline:</h3> <p>Considering that you have <a href="https://www.elastic.co/guide/en/logstash/current/setup-logstash.html">Logstash setup</a>, you can write pipelines in Logstash to read messages from the queue, parse them and send to elasticsearch.</p> <p dir="ltr">Here is an example of Logstash pipeline that reads a message from AWS SQS queue, parses each message and send to elastic to store.</p> <table><colgroup></colgroup><tbody><tr><td> <p dir="ltr">input {<br />  sqs {<br />    id =&gt; "mule-sqs"<br />    access_key_id =&gt; "&lt;&lt;aws-access-key&gt;&gt;"<br />    secret_access_key =&gt; "&lt;&lt;aws-secret&gt;&gt;"<br />    id_field =&gt; "sqs.id"<br />    md5_field =&gt; "sqs.md5"<br />    sent_timestamp_field =&gt; "sqs.sent_time"<br />    polling_frequency =&gt; 5<br />    queue =&gt; "&lt;&lt;sqs-queue-name&gt;&gt;"<br />    region =&gt; "&lt;&lt;aws-region&gt;&gt;"<br />    codec =&gt; "plain"<br />  }<br /> }<br /><br /> filter {<br />  grok {<br />    match =&gt; {<br />      message =&gt; "%{WORD}%{SPACE}%{TIMESTAMP_ISO8601:logdate}\s\[%{GREEDYDATA:thread}]%{SPACE}%{GREEDYDATA}: %{GREEDYDATA:message}"<br />    }<br />    overwrite =&gt; ["message"]<br />  }<br />  date {<br />    match =&gt; ["logdate", "yyyy-MM-dd HH:mm:ss,SSS", "ISO8601"]<br />  }<br />  json {<br />    source =&gt; "message"<br />  }<br /> }</p> <p dir="ltr"><br /> output {<br />  elasticsearch {<br />    hosts =&gt; "&lt;&lt;elastic-host&gt;&gt;"<br />    ssl =&gt; true<br />    manage_template =&gt; false<br />    index =&gt; "mulesoft-%{+YYYY.MM.dd}"<br />    user =&gt; "&lt;&lt;elastic-username&gt;&gt;"<br />    password =&gt; "&lt;&lt;elastic-password&gt;&gt;"<br />    codec =&gt; "plain"<br />  }<br /> }</p> </td> </tr></tbody></table><p>Here is AVIO Consulting's log4j2 custom log appender to ship all the application logs to a specified Amazon SQS queue. You can find this custom appender <a href="https://github.com/avioconsulting/log4j2-sqs-appender">here</a>. It is open-sourced as well under BSD 2-Clause "Simplified" License.</p> <p>This Logstash pipeline has 3 parts.</p> <ul dir="ltr"><li><strong>Input{}:</strong> This has some configuration to read a message from the specified AWS SQS queue.</li> <li><strong>Filter{}:</strong> This takes each log message from SQS queue, reads and parses it as JSON, creates appropriate fields based on the incoming JSON.</li> <li><strong>Output{}:</strong> This has the configuration to send all parsed messages to a specified destination. It should be the elastic endpoint in this</li> </ul><p>case.</p> <ul dir="ltr"></ul><p>As Logstash reads and parses the log data, elastic on the other hand stores all the data with the appropriate fields as we see below in Kibana.</p> <p dir="ltr"><img src="https://lh6.googleusercontent.com/K3H6Y1x53rENtsbo78zQOq8h7r7FMyjYH1PYkEeBs2ohY0TzJQDZVBYga3FM7uW0T8IuxO1p9uODjwgQXYA1cVcow9mCJFr47j-tiu0op8c4ktYxS8ZBAGmO-7-Em9uNefexnEMt" /></p> <p>In the above picture, you are seeing details about one log message in Kibana dashboard that is generated by our custom logger. You can also see all the JSON fields from the log message on the left pane.</p> <p>Note that the Logstash pipeline is reading the entire JSON log message from SQS queue and creates corresponding fields to each of the key-value pairs out of that incoming JSON.  When you have a dedicated field in elastic for each of the data points you send from your mule app, it is incredibly easy to create stunning dashboards and charts in Kibana.</p> <p>Now you can use Kibana to create charts and dashboards out of the data point fields in elastic for much better visualization of log messages. You can also configure your elastic instance to persist logs for an extended period of time as well as provide rollups and archiving options, things that aren’t possible in standard Cloudhub logging.</p> <p>We have now streamlined the generation of consistently structured log data from the Mule application and transported it to a highly available AWS SQS queue, where it was read and parsed by Logstash, and then sent to elasticsearch with all the fields for you to play with inside Kibana.</p> </div> </div> </div> </div> </div><div class="container comment-container"> <div class="text-align-center"><h2>Join the Conversation</h2> </div> <div class="row"> <div class="col-sm-12"> <div class="container blog-comments"> <div class="row"> <div class="col-sm-12"> <div class="pull-left author"> <div>Kalyan Kankanala</div> </div> <div class="comment-date"> <div>December 12, 2018</div> </div> </div> </div> <div class="row"> <div class="col-sm-12 comment-body"> <div><p>Hi Team,</p> <p>Could you please let me know what is the configuration used in log4j2.xml file . I have all the things needed from logzio and Mulesoft , however Mulesoft is throwing error LogzioAppender is not valid. Can you throw some sample .xml and pom file if any.</p> <p>Appreciate your help.</p> <p>Regards,<br /> KK</p></div> </div> </div> </div> <div class="container blog-comments"> <div class="row"> <div class="col-sm-12"> <div class="pull-left author"> <div>Chakri Bonthala</div> </div> <div class="comment-date"> <div>December 12, 2018</div> </div> </div> </div> <div class="row"> <div class="col-sm-12 comment-body"> <div><p>Hello Kalyan,</p> <p>We have a custom appender developed by AVIO to push all the mule application logs to a highly available Amazon SQS queue and we have Logstash pipelines read messages from SQS queue and send to Kibana. So, In our log4j2.xml, we have a custom appender config for AWS SQS queue.</p></div> </div> </div> </div> <drupal-render-placeholder callback="comment.lazy_builders:renderForm" arguments="0=node&amp;1=737&amp;2=comment_node_blog&amp;3=comment_node_blog" token="2giSD4QVq97-bVfXya9CeHDIFdH1NitylDlDDM8jgXY"></drupal-render-placeholder> </div> </div> </div> <div class="container"> <div class="row"> <div class="col-sm-12 blog-tags"> <div> <div><a href="/blog%3Fbid%3D332" hreflang="en">MuleSoft</a></div> </div> </div> </div> </div> <div><drupal-render-placeholder callback="Drupal\block\BlockViewBuilder::lazyBuilder" arguments="0=views_block__blogs_block_4&amp;1=default&amp;2=en" token="jBjf0n8iki9sjPwElNYA4B92vVETYVFMv7O9pm9FdHQ"></drupal-render-placeholder></div> <div> <div>About the Author</div> <div></div> </div> </div> </div> Tue, 04 Dec 2018 17:16:18 +0000 Chakri Bonthala 737 at https://www.avioconsulting.com https://www.avioconsulting.com/blog/mule-cloudhub-logging-custom-logger-and-elk#comments