A bit different, and I would claim more modular java architecture here. We have:
- Spring WS/Rest/JSP front end
- Spring MVC for business service logic, containing presentation layer logic as well as Spring transactions
- Component service communication interface, looked up through EJB by business services. EJBs set their own transaction boundaries that are able to join Spring transactions.
- Component service implementations, again Spring components
- Integration layer, MyBatis for database integrations, Spring WS for web service integrations, other integration techonologies for other services
- Mainframes, databases, other services at other servers...
In addition to the above, we have the shared library modules which is common functionality provider for all srevices.
Use of different layers allows us full decoupling and the modularity we need. We are also able to fully utilize the power of Java EE as well as Spring. Nothing prevents us from using JSF, for example, for the front end if needed.
Compared to example architecture by OP, I think this can be described as having four main layers instead of three, albeit with a twist.