Heat the oven to 450ºF and set a rack in the middle.
Add the zucchini and shallots to a 9x13-inch glass or ceramic baking dish. Toss with the olive oil until evenly coated and season with salt and pepper. Roast until zucchini begins to soften and brown slightly, about 10 to 15 minutes. Add the tomatoes, garlic, olives and wine and toss to mix everything together. Lay the lemon slices on top. Return to the oven and roast until tomatoes soften and release some liquid, about 10 to 12 minutes. While the vegetables roast, dry the fish very well with paper towels and season generously with salt and pepper.
Lower the heat to 350ºF. Toss the vegetables once more and place the fish fillets on top of the vegetables. Drizzle the fish with a little more olive oil and roast until the fish is cooked through and flakes easily with a fork, 10 to 12 minutes.
Sprinkle the herbs over the fish and serve hot, with the vegetables, and sauce spooned over the top and lemon for squeezing.