Service Oriented Architecture with Java: Using SOA and web services to build powerful Java applications