How Loosely Coupled is Your SOA?
SOA is the all about loosely coupled services, right? The Web service behind WSDL is an opaque black box, i.e., it might be implemented by an EJB today and by some COTS package tomorrow. XML must to be used for passing data between layers; we can nott assume that service provider and service consumer understand the same binary protocol.
What does it mean to a typical J2EE application? For the sake of the discussion, let's assume that our application has rich domain object model (say, POJOs with Hibernate persistence), EJB session facade classes and Struts/JSP on the front-end. Domain classes are directly used in the UI tier; there are no DTOs.