Have you already asked yourself at the beginning of a SOA or Integration project about the technology you want to use? How and by which protocols do the systems to be integrated communicate? Is it a proprietary protocol or should a standard such as SOAP or RESTful web services be used? What are the disadvantages of one or the other? Is it feasible to implement the integration layer completely in Java or do modern integration platforms such as Oracle Service Bus or Oracle SOA Suite provide the important benefits to get closer to the often proposed IT flexibility and agility? Apart from answering other important questions we will also discuss service categorization and virtualization and present the advantages/disadvantages of a pure and programmatic Java-based approach compared to more declarative approach using languages such as BPEL and/or BPMN.