Safari Books Online is a digital library providing on-demand subscription access to thousands of learning resources.
A Packt Compendium is a book formed by drawing existing content from several related Packt titles. In other words, it is a mash-up of published Packt content Professional Expertise Distilled in the true sense. Such a compendium of Packt's content allows you to learn from each of the chapters' unique styles and Packt does its best to compile the chapters without breaking the narrative flow for the reader.
Please note that the chapters in this compendium were originally written and intended as a part of various separate Packt titles, so you might find that the information included in this instance is more akin to that of a stand-alone chapter, rather than creating step-by-step, continuous flowing prose. We are sure that you will find this medley a useful and valuable resource with which you can benefit from a range of Packt books - and their authors' expertise!
Do more with SOA Integration: Best of Packt is a medley of eight separate titles from Packt's existing collection of excellent SOA books:
BPEL cookbook
SOA Approach to Integration
Service Oriented Architecture: An Integration Blueprint
Building SOA-Based Composite Applications Using NetBeans IDE 6
Oracle SOA Suite Developer's Guide
WS-BPEL 2.0 for SOA Composite Applications with Oracle SOA Suite 11g
Oracle Modernization Solutions
SOA Governance
Service-Oriented Architecture (SOA) has long since attracted a lot of buzz from every realm of the IT industry, and it remains a rapidly emerging technology. However, there is still some level of fear and anxiety among the IT community about SOA. Is SOA real? Do I need SOA? How is it done? You will be happy to know that SOA is a reality; it exists and you can do it as well.
New technology, after being adopted by"technology enthusiasts" and"visionaries" is adopted by"pragmatists". Technology Acceptance Model is one of the most influential models to explain the process of technology adoption. According to TAM, SOA has to prove itself on two terms—perceived usefulness and perceived ease of use—for SOA to successfully cross the chasm and be adopted more widely. We think SOA has proven its effectiveness on both these fronts. Not only can SOA deliver on its promises of reusability and agility (usefulness) but it can also reduce the overall cost of ownership through the standards-based approach (ease of use). That is precisely the reason why SOA enables organizations to cut the cost of IT dramatically and use the resulting savings in building other innovations.
As organizations increase their SOA footprint, IT Managers, Architects, and developers are starting to realize that the impact of SOA on IT and business operations can be immense. After having gained confidence with web services, they want to take it to the next level. However, adopters are challenged with some basic questions: How do I SOA-enable my existing integration investment? Can I build flexible and agile business processes? How can I administer my SOA environment without spending a fortune? There have been various best practices defined around SOA. However, missing from the map is the real-world flavor. People want to learn from people. The IT community is looking for real-world examples; examples to gain an understanding of how other companies are embarking on an SOA initiative and apply industry learning to their projects.
The book begins with a refresher of SOA and the various types of integration available, and then delves deeper into integration best practices with XML, binding components and web services from Packt titles like "Oracle SOA Suite Developer's Guide " and "BPEL Cookbook". Along the way you'll also learn from a number of real world scenarios. By the end of "Do more with SOA Integration: Best of Packt" you will be equipped with knowledge from a wide variety of Packt books and will have learnt from a range of practical approaches to really get to grips with SOA integration.
Chapter 1: Basic Principles, covers the fundamental integration concepts. This chapter is intended as an introduction for specialists who have not yet dealt with the subject of integration.
Chapter 2: Integration Architecture, Principles, and Patterns, is an overview of the challenges in integration and why integration is one of the most difficult problems in application development. We will identify the best strategies for SOA-based integration and discuss top-down, bottom-up, and inside-out approaches. You will learn about different types of integration, such as data-level integration, application integration, business process integration, presentation integration and also, B2B integrations.
Chapter 3: Base Technologies, describes a selection of base technologies. By far the most important of these are transaction strategies and their implementation, as well as process modeling. In addition, Java EE Connector Architecture (JCA), Java Business Integration (JBI), Service Component Architecture (SCA), and Service Data Objects (SDO) are explained. Many other base technologies are used in real-life integration projects, but these go beyond the scope of this book.
Chapter 4: Best Practices for Using XML for Integration, discusses various design anomalies that may arise while designing XML schemas. Some of the broad categories covered in this chapter are design recommendations for architecting domain-specifi c XML schemas, tips for designing XML schemas with examples, using XSL effectively for translating Infosets from one form to another, securing XML documents with encryption and digital signature, and XML serialization and the differences between SAX, DOM, and StAX.
Chapter 5: Extending Enterprise Application Integration, This chapter focuses on very common business problem i.e. siloed applications and segregated data glued together using proprietary integration solution. How can we best leverage SOA to add value on top of existing integration infrastructure? By service-enabling existing data-integration processes, business processes could be easily automated by orchestrating underlying services. Infosys, a leading systems integrator, has helped many of its customers leverage their existing EAI investment, and explains you how to do exactly this. This chapter takes an example of broken customer data synchronization between Siebel and SAP, and outlines a strategy to automate this process by integrating with proprietary integration solutions like TIBCO and webMethods.
Chapter 6: Service-Oriented ERP Integration: Driven by the business requirements of different departments, countries, and subsidiaries, many organizations end up with multiple ERP systems. The result is data fragmentation and manual processes. This, in turn, leads to poor customer service and loss of revenue. The problem is how to address this problem without re-architecting the entire solution. Sierra Atlantic, a leading consulting firm specializing in integration technologies, encountered a similar issue with its client. In this chapter, Lawrence Pravin, Architect at Sierra Atlantic, takes an example of a broken sales order creation process. He walks you through a step-by-step approach to automate it across PeopleSoft HR and Oracle E-Business Suite using BPEL in a service-oriented approach.
Chapter 7: Service Engines, provides an overview of Java Business Integration (JBI) and the Enterprise Service Bus (ESB). You will learn about JBI Service Engines and how they are supported within the NetBeans IDE.
Chapter 8: Binding Components, introduces JBI Binding Components and how they provide protocol independent communication between JBI components. You will also learn about the support that the NetBeans IDE provides for Binding Components.
Chapter 9: SOA and Web Services Approach for Integration, discusses the architecture of web services and their benefits. This chapter provides an in-depth coverage of the various patterns that can be applied while creating SOA using web services. You will learn the essential differences between EAI and B2B and how to apply SOA integration techniques in this space. The chapter also discusses several guidelines for creating interoperable web services. Finally, a complete, albeit trivial, example of creating web services on the .NET and Java EE platforms is discussed.
Chapter 10: Service- and Process-Oriented Approach to Integration Using Web Services, takes a look at how ESB provides a concrete infrastructure for SOA, extending the simple services model to include a robust services bus with extensive mediation functionality.
Chapter 11: Loosely-coupling Services, describes how we can use the Oracle Service Bus to build services that are implementation agnostic. Doing so allows us to change the service location, communication protocol, or even replace a service implementation with another, with no impact on the client.
Chapter 12: Integrating BPEL with BPMN using BPM Suite, presents an interesting new feature provided by Oracle Business Process Management Suite 11g (Oracle BPM Suite 11g) - the BPMN 2.0 service engine. It allows direct execution of BPMN 2.0 processes, without the need to transform them to BPEL. The chapter discusses Oracle BPM Suite architecture and features, and demonstrates how both, BPMN and BPEL processes can be used inside a single SOA composite application.
Chapter 13: SOA Integration—Functional View, Implementation, and Architecture, focusses to place SOA in the context of Modernization. SOA Legacy Modernizaton will bring you legacy IT infrastructure into the world of World Wide Web, Web 2.0, and all the other latest Internet-based IT architectures. Within days, a legacy system can be accessed via a web browser. Your time-to-market using the Legacy SOA Integration approach is weeks, instead of months or years for some other modernization options.
Chapter 14: SOA Integration—Scenario in Detail, is an SOA Integration hands-on example using web enablement of mainframe COBOL/VSAM. We will use Java Server Pages (JSP), Java Database Connectivity (JDBC), the Oracle Legacy Adapter, Oracle Application Server, Java EE Connector API, and XA transaction processing to show a two-phase commit across an Oracle database and VSAM on the mainframe.
Appendix A: Establishing SOA Governance at Your Organization, provides a detailed overview of both the techniques explored in the Advasco story, as well as other options available to you and your organization.
In this book, you will find a number of styles of text that distinguish between different kinds of information. Here are some examples of these styles, and an explanation of their meaning.
There are three styles for code. Code words in text are shown as follows:"We can include other contexts through the use of the include directive."
A block of code will be set as follows:
WhereCondition where = WhereConditionHelper.whereInstancesStale();
IInstanceHandle[] instances = getLocator(domainId, domainPassword).listInstances(where);
for(int i=0; i<instances.length; i++){
instances[i].delete();
}
When we wish to draw your attention to a particular part of a code block, the relevant lines or items will be made bold:
WhereCondition where = WhereConditionHelper.whereInstancesStale();
IInstanceHandle[] instances = getLocator(domainId, domainPassword).listInstances(where);
for(int i=0; i<instances.length; i++){
instances[i].delete();
}
New terms and important words are introduced in a bold-type font. Words that you see on the screen, in menus or dialog boxes for example, appear in our text like this:"clicking the Next button moves you to the next screen".
Warnings or important notes appear in a box like this.
Tips and tricks appear like this.
Feedback from our readers is always welcome. Let us know what you think about this book, what you liked or may have disliked. Reader feedback is important for us to develop titles that you really get the most out of.
To send us general feedback, simply drop an email to feedback@packtpub.com, making sure to mention the book title in the subject of your message.
If there is a book that you need and would like to see us publish, please send us a note in the SUGGEST A TITLE form on www.packtpub.com or email suggest@packtpub.com.
If there is a topic that you have expertise in and you are interested in either writing or contributing to a book, see our author guide on www.packtpub.com/authors.
Now that you are the proud owner of a Packt book, we have a number of things to help you to get the most from your purchase.
Visit http://www.packtpub.com/support, and select this book from the list of titles to download any example code or extra resources for this book. The files available for download will then be displayed.
The downloadable files contain instructions on how to use them.
Although we have taken every care to ensure the accuracy of our contents, mistakes do happen. If you find a mistake in one of our books—maybe a mistake in text or code—we would be grateful if you would report this to us. By doing this you can save other readers from frustration, and help to improve subsequent versions of this book. If you find any errata, report them by visiting http://www.packtpub.com/support, selecting your book, clicking on the Submit Errata link, and entering the details of your errata. Once your errata have been verified, your submission will be accepted and the errata added to the list of existing errata. The existing errata can be viewed by selecting your title from http://www.packtpub.com/support.
You can contact us at questions@packtpub.com if you are having a problem with some aspect of the book, and we will do our best to address it.