Working with Certificates

Reading Time: 11 minutes

As you probably know, one of the most common ways to secure communications over a networks is the use of certificates. And although this is a great way to secure things, it can also be a pain.
In this post, I’ll share with you all a list of some of the most commons things encountered while working with certificates. I will also show you how to leverage certificates when working with Mule ESB. Finally, I’ll show you a quick hack that may save you some time when you are in a hurry.

Now what’s a keystore?

Java is shipped with the KeyTool, which is nothing more than a command line tool that allows you to create keystores. A keystore is the “secure” repository that Java uses to store the certificates. It’s basically a file that holds certificates, this file is what you’ll hock to you Java app so it knows how to encrypt and decrypt the messages.Now the “fun part”, let’s see how to create a key store:

Continue reading

APIs, APIs everywhere! – Top Integration & API Articles of the Week

Reading Time: 3 minutes

We’re starting a weekly roundup of the top 5 integration and API articles of the week.  Take a look and let us know if we missed any.  Don’t forget to follow @MuleSoft to stay up-to-date on integration & APIs!

4 Ways to Service-Orient API Deployments

API management is about SOA, taken to the next level. The same practices and philosophies developed as part of SOA can also serve API management well.

 Google, Nest, and the $3.2 Billion API

The pundits are abuzz with Google’s $2.3 billion acquisition of Nest, a move that could take the tech giant further into your home, your habits and the way you live. In reality, we’re watching a great example of the API economy.

Continue reading

Meet a Muley – Emma Guo, Sr Javascript UI Engineer

Reading Time: 10 minutes

This week we chatted with one of our Sr Javascipt UI Engineers, Emma Guo. Read on to learn more about her love for AngularJS, zombie makeup, and Ted. Yes, that angry teddy bear Ted.

First thought this morning?

  • How can I get ready in 10 minutes? (Even though I know it’ll still take 30)

What exactly do you do?

  • I implement user interface and interactions of our integration platform, CloudHub using JavaScript, AngularJS, HTML and CSS. I write code, lots of code. I also work closely with our product manager and UX designer on requirements and designs, as well as with backend engineers on API design.

How did you first get interested in your field?

  • My background is slightly different than for most front-end web developers. I always liked building things since I was a little kid, and later decided to major in electrical engineering as an undergrad. At some point I became very interested in the software development side of things, especially UI related. When I realized that, I decided to get a Master’s Degree in Information Technology from CMU (Carnegie Mellon University). It  was the perfect thing for me.

How did you find MuleSoft?

  • LinkedIn and CrunchBase. I was also very excited about innovative B2B software. I liked MuleSoft’s vision of solving big integration problems  and I wanted to be part of that. Then I checked out a couple of videos on Crunchbase, and it seemed like a very fun place to work. I really liked the video, ‘Core of the Developer,’ and the hackathon they mentioned in that video looked super cool.

How was the interview process?

  • It was pretty cool. I had two rounds of onsite interviews. First round was with the hiring manager and some team members. Very technical. Second round was with our CEO Greg. It was surprising because MuleSoft is not that small of a startup and Greg still interviews everyone. I knew immediately that this was a company that was focused on hiring good people.

Is it difficult working in multiple timezones?

  • No, not at all. It would definitely be nicer if all of us were in the same location, but we don’t have a problem working together like this. Hey, it’s 2014, technology makes it easy to collaborate. Also we visit each other all the time. I’m very excited about my upcoming trip to BA.

What’s a typical day like for you?

  • When I get to the office in the morning, first thing I do it check my email. Then I get coffee and some delicious english muffins with cream cheese (I know, I know, most people eat bagels with cream cheese, but I like english muffins better). Then I start writing code, then some more code, and finally, more code. From time to time I meet with designers and project manager to discuss new requirements and designs.

Best perk of being at MuleSoft?

  • Working with smart people who also care about the company and writing excellent code.

What’s something new you learned while being at MuleSoft?

  • All sorts of best practices in AngularJS. I had lots of experience with jQuery and Backbone.js before I joined MuleSoft. Angular was something new for me, but it was pretty easy to pick it up. However, as a good developer, it is not just about making something work, but about making it work using the best practice. So I started reading about all kinds of best practices people use to write Angular directives, services and factories etc. I love reading about those things and applying them to CloudHub. By the end of the day, I can confidently say I not only complete my tasks, but I write excellent code with 100% unit test coverage.

Best advice?

  • “Don’t stop believin’.” Just kidding… It’s “Don’t eat yellow snow”.

Funny story?

  • When I had just gotten my driver’s license, I told my friends something was wrong with my Garmin GPS. It kept saying ‘recalculating’… I was just always getting lost.

Typical weekend?

  • Food + lots of sleep + coding/reading + movie +  mani/pedi + hiking + more food

Favorite food you could eat everyday if you had to?

  • Shabu Shabu and Shanghai soup dumplings. But eating them everyday might be a little too much…

If you weren’t doing what you’re doing, what would you be doing?

  • I would probably be a neurosurgeon, or a chef, or a fashion designer, or a special makeup artist for stuff like the Walking Dead. I’m very much a creative person and I’ve got a passion for all kinds of different things.

If you could have any pet in the world, what would you want?

  • John Bennett’s teddy bear from the movie Ted, if that counts…

Favorite karaoke song?

  • The Show by Lenka. I like to sing it when I’m driving by myself. Probably the culprit of my constantly getting lost.

If you could have any superpower, what would it be and why?

  • I would love to be able to travel to any place in the world in the blink of an eye so that I could visit my family and friends whenever I want. Plus I could commute to work with no traffic! And enjoy 100% of my vacation at the destination instead of on an airplane.

Anything else you’d like to share?

  • These depict exactly what happens in my real work environment.
    When we agree to drop support for an archaic browser:

    and Fixing a huge bug with a single line of code:

     

     

    We hope you enjoyed this week’s Muley post! As always, let us know in the comments below if you’d like to heard from a particular team or if you have any questions you’d like to ask our Muleys. Check back next week for another exciting post!

Interested in working alongside great talent and think you have what it takes? Check out our careers page for openings! Follow us on Twitter to get all the latest updates!

Minding the API Hierarchy of Needs

Reading Time: 2 minutes

The rising popularity of APIs as an architectural and development pattern has driven a massive shift in how we think about application and systems design; but how are we thinking about APIs themselves? As API adoption increases, we need to learn how to mitigate risk, maximize utility, and ensure we are building the right APIs for the right people.

Reza Shafii, Director of Product Management, introduces the API Hierarchy of Needs in his InfoQ article, “Minding the API Hierarchy of Needs with RAML and APIkit“, and discusses the advantage of a holistic, broadly inclusive approach to API initiatives.

He argues that it is a tempting, and common, shortcut to jump right to API Management as a primary concern, without first investing in the ‘meat’ of your API – design and implementation. In the article, Reza shows how RAML and APIkit can easily be used to fulfill the two foundational levels of the API Hierarchy of Needs by helping you first design, and then implement your APIs in a way that can drive API consistency, quality, and usability.

Continue reading

Introducing the Mule Knowledge Center

Reading Time: 4 minutes

Mule ESB is a big solution with tons of features. There is information about Mule ESB all around – we have info for our community users as well as our enterprise users – and this info is spread in multiple sources. We know that finding the right information on all of these sources might be a challenge, so we came up with a solution, our new knowledge search engine that we call “Knowledge Center”.

With this search tool you’ll be able to find important information, documentation and how-to guides in one central location. Whether the information is on our enterprise knowledge base, our documentation or within a blog post, you’ll be able to find it in just one place with just one search.

But we didn’t stop with search, we know that articles are sometimes part of a bigger concept or topic, as such, this search tool provides the ability to build what we like to call “research”. This feature allows you to save links to your browser’s local storage, this way you don’t have to unnecessarily bookmark things or have multiple tabs open that could be easily lost.

Sometimes, a group of links is useful for your coworkers or people involved in a given project so they have the appropriate information for ramping up or  you might like to share information with the community. Knowledge Center allows you to share and socialize the research you’ve done.

You also have the ability to browse through existing research and benefit from the knowledge of a community of users.

We know that using a new website also is challenging. For example, I’m accustomed to searching everything using Chrome’s omnibox and I didn’t want to change this. Fortunately, Knowledge Center is compliant with OpenSearch, meaning you can use Chrome’s omnibox or Firefox site search, or any other browser compatible with this standard to search in a very agile way.

There is also a large community of tools that interact with Mule ESB and benefit from accessing the documentation. Knowledge Center also presents a REST API that you can consume and search for Mule ESB resources within your apps.

I’ve covered some of the main features this tool provides but there is still more to come. Please feel free to provide your feedback below.

We hope you enjoy this new learning experience!

Meet a Muley – Marina Bottacchi, Web Developer

Reading Time: 7 minutes

Happy Friday!

This week we’re back with another exciting Meet a Muley post. We chatted with Marina Bottacchi, our Front End Web Developer in Buenos Aires about her geek merchandise days and her adorable pets. As a part of the web and marketing teams, Marina not only ensures our site is always looking good, she does a lot of project management for our more technical web projects.

Keep reading to learn about Marina!

Continue reading

Simplify authentication and user management with Mule and Stormpath

Reading Time: 9 minutes

The dreaded user table. Think about it: whenever you start working on a new end-user application, you’ll have to create a table to store emails, user information and passwords. And then you’ll need to add support for the password reset workflow. And so on and so forth. The wheel gets re-invented time and again. Of course, you may go sophisticated and decide to manage users in LDAP or even – gasp – ActiveDirectory. Now you would have a whole different range of problems to deal with, starting with interacting with this external directory in a graceful manner.

Enter Stormpath, the SaaS API whose sole mission is to make authentication and user management awesome and developer friendly! And thanks a new connector for Mule (available here), you can now benefit from Stormpath’s extensive features, which include all of the aforementioned ones, and many more.

In this post, we will look at a Mule application that integrates with the Stormpath API via this new connector. This application exposes a web user interface that uses AJAX to interact with the Mule application. This application allows a user to create an account, log-in and trigger the password forgotten procedure. Enough ado, let’s start digging!

Continue reading

Introducing the Mule Requester Module

Reading Time: 6 minutes

Today I am going to introduce a recently created module: Mule Requester.

As its name may hint, its goal is to allow the request of a resource at any point in a flow. This resource can be a file, a message (from VM, JMS, AMQP, etc.), an e-mail, etc. It’s intended for resources that originally could only be requested by message sources.

Let’s try to explain it better with an example. Say we want to consume messages from a queue on demand, i.e. not consuming the message as soon as it’s put on the queue but at a later stage, when a user calls an HTTP inbound endpoint, for example. We cannot achieve this by using a JMS inbound endpoint, since it will consume the message as soon as it’s put on the queue. Thinking about a way of doing this, we could have a stopped flow and activate it on demand but this would cause the consumption of more than one message or a clumsy implementation that would pick a message and stop the flow again. Another option would be to use a component but this would have to deal with the specifics of the transport, leading to either one implementation per transport type or a big component handling all the transports.

The above mentioned case can be easily achieved using the Mule Requester module, simply by placing the starting point of the flow (the HTTP inbound endpoint in our example) followed by the requester:

Some of its more common use cases are:

Continue reading

Batch processing performance in the cloud

Reading Time: 9 minutes

Today I will introduce our performance test of the Batch Module introduced on the Mule’s December 2013 release. I will guide you through the test scenario and explain all the data collected.

But first, if you don’t know what batch is, please read the great Batch Blog from our star developer Mariano Gonzalez, and for any other concerns you also have the documentation.

Excited? Great! Now we can start with the details, this performance test was run on a CloudHub’s Double worker, using the default threading profile of 16 threads. We will compare the on-premise vs cloud performance. Henceforth we will talk about HD vs CQS performance. Why? On-Premise and CloudHub users will be using by default the HardDisk for temporal storage and resilience but, this is not very useful on CloudHub as if for any reason the the worker is restarted, the current job will loose all its messages, then if  Persistent Queues are enabled the Batch module will automatically store all the data with CQS (Cloud Queue Storage) to achieve the expected resilience.

The app used for the test  have a constant processing time for each “step” and “commit” phase, allowing us to decouple, the time variations of using different services or record sizes. It was run modifying with two different parameters:

Continue reading