In a large saucepan, heat 2 tablespoons of olive oil over medium heat.
Add onions and saute for 5 minutes.
Add wine, beef broth, thyme and 1bay leaf. Boil until liquid is reduced by 1 cup, about 35 minutes. Strain sauce into a small saucepan.
Preheat oven to 350 degrees F.
Place orzo on a rimmed baking sheet.
Bake until golden brown, for about 20 minutes.
Heat 2 tablespoons of oil in another heavy large saucepan over medium-high heat.
Add shallots.
Saute for 4 minutes.
Add mushrooms.
Saute until golden, about 10 minutes.
Add orzo, chicken broth, and 1 bay leaf. Bring to a boil. Reduce heat to medium-low. Cook uncovered until orzo is tender and broth is absorbed, while stirring often, about 20 minutes.
Add cream and tarragon. Simmer for 5 minutes, stirring occasionally. Season with salt and pepper.
Heat 3 tablespoons oil in a heavy large nonstick skillet over medium-high heat.
Sprinkle salmon with salt and pepper.
Add to skillet and saute just until cooked through, about 3 minutes per side.
Bring sauce to simmer.
Add butter, whisk just until melted. Season with pepper. Spoon orzo onto 6 plates.