Home | News | Reports | Articles | Softwares | Websites | Books | Archives  | Sitemap
 Linux Daily 

  LinuxDaily.net  
Linux Daily
Email 1: linuxdaily.net AT 163.com
Email 2: linuxdaily.net AT gmail.com
Apr 21, 2008
Mon

Articles
No. 61

Beijing: Rainy
9℃~16℃
Totally 2 pages, this is page 2, others: 1  
Make SOA transactional

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.

Introduction

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:

  • WebSphere Process Server and WebSphere Integration Developer V6.0.2.x
  • WebSphere MQ V6.0.2
  • IBM DB2 Universal Database V8.1.14.292
  • Oracle Database 10g Express Edition Release 10.2.0.1.0
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).

Introduction

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:

  • Distributed objects, also known as the Object Request Broker (ORB): This approach focuses on code reuse and language independence.
  • Asynchronous messaging: This approach addresses the problem of tight coupling between applications.
Services-based enterprise integration patterns made easy, Part 3: Web services and registry

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.

Introduction

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:

Use the YouTube API with PHP

Level: Intermediate

Vikram Vaswani, Founder, Melonfire

15 Apr 2008
Updated 18 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.

Introduction

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.

Use XStream to serialize Java objects into XML

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:

  1. XStream doesn't care about the visibility of the fields of the class being serialized/deserialized.
  2. No getter and setter methods are required for the fields of the class to be serialized/deserialized.
  3. The class being serialized/deserialized is not required to have a default constructor.
You can directly serialize and deserialize any third-party class using XStream without making any changes to the class.

Use HATS to generate Atom feeds for mainframe applications

Level: Intermediate

Ramakrishnan Kannan (rkrishnan@in.ibm.com), Staff Software Engineer, IBM
Prasad K. Nagaraj (prasad.kn@in.ibm.com), Software Engineer, IBM
Saikrishna Vaidyanathan (savaidya@in.ibm.com), 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.