今かかわっている案件、画面数は少ないのですが、業務的には画面間を行き来することが多いような画面となっています(なら画面分けるのやめてSPAに、というのは置いておいて…)
開発はJava EE 7でJSFを使うのですが、ViewScopeだとちょっと微妙で、候補としてはSessionScope、ConversationScope、そしてJSF 2.2で入ったFlowScopeのいずれかかなと。
Conversationはあまり良い思い出がないので、FlowScopeことFaces Flowを初めて実戦投入してみようかな…と思っています。
Faces Flowについては2年前のJava EE Advent Calendar 2013で書いてました。
で、今回のシステムは、他のベンダさんが提供してるWebシステムから呼びされるもので、呼び出された瞬間にフローを開始したいです(下図)。

スタブのページ用意して、URLリンクで普通にフローを呼び出してみたのですが、フローの開始にはなりませんでした。
色々なサンプルをみたのですが、ほとんどがindex.xhtmlのようなページがあって、そこからoutcome属性でフローに入って…という流れのものばかり…。
悩みで近いのは次の2つでした。
jsf 2.2 - How to enter a JSF 2.2 flow with faces-redirect - Stack Overflow
jsf 2 - Starting faces flow - Stack Overflow
2つ目のコードをみると、ConfigurableNavigationHandlerのperformNavigation()にてoutcomeと同じハンドリングができるようなので、1枚ダミーのページをはさんでリダイレクトする形に……(下図)。

これでフロー開始ができました。が、なんかダサい…。良いやり方ないのかな。