Level: Intermediate Rajiv Ramachandran (rramachandran@prolifics.com), Solution Architect, Business Development, Prolifics 10 Apr 2008 In the world of enterprise application integration (EAI), it's essential that all participating systems operate under an overarching global transaction so that these systems all return to a consistent state in case of a failure. With the various systems supporting different protocols, the transaction semantics must be propagated across these protocols so they can seamlessly participate in the global transaction. This article walks you through the steps required to make an example of a common integration scenario a transactional integration. Enterprises are increasingly turning to a service-oriented approach towards implementing an EAI. The goal of this article is to demonstrate transaction control and propagation when using IBM WebSphere Process Server as a Service-Oriented Architecture (SOA)-based enterprise integration platform. WebSphere Process Server runs on an underlying IBM WebSphere Application Server platform that provides WebSphere Process Server with core distributed transactional capabilities. The key component types that execute in WebSphere Process Server (for example, Business Process Execution Language [BPEL], human tasks, business rules, and state machines) follow the Service Component Architecture (SCA) specification. Note: This article assumes that you're familiar with WebSphere Process Server, IBM WebSphere MQ, IBM WebSphere Integration Developer, Enterprise JavaBeans (EJB) components, and Web services. This solution has been developed and tested on:
Services-based enterprise integration patterns made easy, Part 2: More on the evolution of basic concepts Level: Intermediate Dr. Waseem Roshen (waroshen@us.ibm.com), IT Architect, IBM 06 Mar 2008 This installment, Part 2 of the series, picks up where you left off in Part 1. Now that you've learned about the two earliest integration patterns—data sharing (socket programming) and remote procedure call (RPC)—you continue developing the basic concepts. Check out two more developed patterns: distributed objects and asynchronous messaging. Explore the concepts of language independence, declaration of service interfaces, rudimentary ideas of publication and discovery of services, and basics of the enterprise service bus (ESB). Part 1 and Part 2 of the series trace the evolution of enterprise integration patterns, introducing several basic concepts and features involved in Service-Oriented Architecture (SOA)-based integration patterns. Part 1 covers two early patterns—data sharing (socket programming and RPC—which segues into an exploration of the service provider and service consumer, platform independence, and connectivity. To improve on RPC functionality, let's take a look at two methods:
|
Level: Intermediate Dr. Waseem Roshen (waroshen@us.ibm.com), IT Architect, IBM 14 Apr 2008 Part 1 and Part 2 of this series covered the basic concepts necessary to develop services-based integration patterns. This article, the third in the series, and the upcoming Part 4 further develop these ideas so the services-based integration patterns become full-blown services-based patterns. This article in particular deals with the components that are together commonly referred to as Web services, which were originally designed for services that can be accessed over the Internet. You'll also see that many of the Web services components can be used with services that don't use the Internet and that only require a network connection. In the first two articles in this series you mastered the basic concepts. Now you jump into Web services, which define standards to deal with the heterogeneity problem. This problem refers to the fact that in the IT infrastructure of a typical large enterprise, there's usually more than one technology used to integrate applications, and it's impossible to impose enterprise-wide standards in this type of environment. There are usually several different kinds of technological heterogeneity in a large enterprise, including: Level: Intermediate Vikram Vaswani, Founder, Melonfire 15 Apr 2008 The YouTube video sharing site allows Web application developers to access public content through its REST-based developer API. The SimpleXML extension in PHP is ideal for processing the XML feeds generated by this API and using them to build customized PHP applications. This article introduces the YouTube Data API, demonstrates how you can use it to browse user-generated video content; access video metadata, comments and responses; and perform keyword searches. When it comes to online video sharing, the most popular site by far is YouTube, with billions of page views and hundreds of thousands of videos added daily. It's not just home videos either: today, YouTube offers music videos, clips from TV shows, trailers of upcoming movies, animation clips, and much more. The service also allows users to tag videos with keywords, and view the most popular videos at any given time. One of YouTube's cooler features is its YouTube Data API, which allows developers to access and search YouTube video data through a REST-based API, and integrate this data into their own XML-aware application. This isn't particularly difficult to do—you write application-level code to send REST requests, parse and decode responses, and integrate the resulting data into the application interface. If you use PHP, you can perform these tasks either through YouTube's PHP Client Library, or manually parse the XML responses to your REST requests. This article discusses the latter method, showing you how to access public content through the YouTube API and integrate this content into your PHP application using SimpleXML. It includes examples that retrieve video listings in specific categories; search for videos by keyword; retrieve video metadata, including thumbnails and statistics; and access user profile information. Level: Intermediate Rajiv Bangalore (rajiv.bangalore@in.ibm.com), Senior Staff Software Engineer, IBM India Private Ltd. 08 Apr 2008 XML serialization has a myriad of uses, including object persistence and data transport. However, some XML-serialization technologies can be complex to implement. XStream is a lightweight and easy-to-use open source Java™ library for serializing Java objects to XML and back again. Learn how to set up XStream, and discover how to use it to serialize and deserialize objects as well as to read configuration properties from an XML configuration file. Using XStream, you can serialize most Java objects without any mapping. Object names become element names in the XML produced, and the strings within classes form the element content of the XML. The classes that you serialize with XStream don't need to implement the Serializable interface. XStream is a serialization tool and not a data binding tool, which means that it doesn't perform class generation from an XML or XML Schema Definition (XSD) file. Three features distinguish XStream from any other serializing tool:
Level: Intermediate Ramakrishnan Kannan (rkrishnan@in.ibm.com), Staff Software Engineer,
IBM
15 Apr 2008 Mashups, a critical component of Web 2.0, aggregate feeds from many applications to generate new content. Because many of today's core enterprise business applications run in mainframes, the content in mainframes must be delivered as feeds before mashups can be successful in the enterprise. This article presents a step-by-step guide to using IBM WebSphere Host Access Transformation Services (HATS) to generate Atom feeds for mainframe content. Nowadays, content distributors deliver all content, including news and site updates, as feeds. Most enterprise applications use feeds for various purposes, including to monitor an application and check the status of a project. Content providers publish a feed link on their site that users register with a feed reader. The feed reader checks for updates to the registered feeds at regular intervals. When it detects an update in the content, the feed reader requests the updated content from the content provider. The feeds contain only a summary of the content, but they provide a link to the detailed content. Atom Syndication Format and RSS are the most common specifications of feeds. We're using Atom feeds in this article, but you can change easily to RSS feeds with a little modification. |
||||||||||