Heat olive oil in a 12-inch skillet over medium heat. When oil is hot, add onion and a pinch of salt, and cook, stirring frequently, until onion begins to soften and brown, about 5 minutes.
Lower heat to medium-low and continue cooking, stirring frequently, until onion is very soft and a light golden brown, about 15 minutes more. If onion begins to look like it's burning, add 2 tablespoons warm water and lower the heat.
Cook pasta until pasta is just shy of al dente, adding beans to the pasta water in the last minute of cooking.
While pasta cooks, add corn and jalapeno to the onions and cook, stirring occasionally, until the corn kernels begin to soften, 3-5 minutes. Remove from heat.
Reserve 1/2 cup of the pasta cooking water and drain the pasta and beans in a colander.
Return the pasta, beans and 2 tablespoons of the reserved water to the pot.
Add the onion mixture and toss over medium heat until the beans are crisp-tender and the pasta is perfectly al dente, 1-2 minutes.
Add tomatoes and toss until tomatoes are just warmed through.
Add more pasta water as necessary to keep the dish moist.
Season to taste with salt and pepper.
Sprinkle with parsley.