ESB requirements analysis project design architecture design