Register | Log in


Subscribe Now>>
ARCHIVE: Vol. 6, No. 4
Home News Tech2Tech Features Viewpoints Facts & Fun Teradata.com
Applied Solutions
Download PDF|Send to Colleague

Composite applications and the Teradata EDW

Extend the capabilities of your enterprise data warehouse with supporting applications.

by Sam Tawfik

Today’s business applications are evolving to support the dynamic business environment and increase the efficiency, accuracy and speed of business processes. This requires IT organizations to be more proactive about working with business-process owners to understand and anticipate changes and to build encapsulated business services that are easier to create, maintain and reuse. The resulting, more modular business applications are called composite applications. These applications are different from traditional single-purpose or monolithic applications and often span multiple functions, systems and organizations to provide end-to-end business-process execution.

This article reviews the differences between monolithic and composite applications and the emerging and proven technologies, standards and tools designed to support the development and deployment of composite applications. It also discusses how transactional applications can use the Teradata enterprise data warehouse (EDW) and the EDW-based analytic applications. It further aims to define terms that serve as a reference guide as application development evolves into the extended use of the EDW.

Figure 1: Monolithic applications
Figure 1
enlarge
Monolithic applications typically serve only one business function such as customer management or order processing.

Figure 2: Composite applications
Figure 2
enlarge
Composite applications are designed to span multiple applications and multiple systems to provide well-integrated business-transaction processing.

Figure 3: Service-oriented architecture roles and operations
Figure 3
enlarge
Service-oriented architecture is a software engineering principle that defines three basic roles: consumer, provider and broker. It also defines three operations: access, publish and find.

Application environment
Most business applications were built to support a single business function such as orders or customer management. They traditionally encapsulated all of the application’s software into a single package, which included the user interface, business logic and data. Figure 1 illustrates a typical monolithic application either deployed as a stand-alone software application or divided into multiple tiers to support distributed computing.

Since they were built for a single function, the monolithic applications were not designed for interoperability. They lacked open interfaces, making it difficult to integrate them with other business applications. This presented a challenge for IT organizations to meet the demands of the dynamic business environment and the need to develop cross-functional solutions that spanned multiple organizations and systems.

IT organizations recognized the strategic needs to design and build applications with open interfaces and to build modular business applications with encapsulated common business functions. This modular design makes it easier for them to access and reuse common business services and reduces the development and maintenance costs. Figure 2 illustrates a composite applications environment.

Enterprise integration standards
Designing and building integrated composite applications requires a new software development approach that promotes building modular applications and leveraging technologies, standards and tools. This approach allows IT organizations to focus on building business-specific application services while relying on robust commercial integration tools to support current and future integration requirements. This section describes key enterprise integration standards, while the following sections highlight key enterprise integration architectures and industry-leading technologies and tools.

The key standards are Web services and runtime platforms. A Web service is a software application that performs a specific business function such as “Update_Address” or “Create_Customer_Order.” Some key Web services standards used in building composite applications include:
Web Services Description Language (WSDL). This describes what a Web service can do and how it can be accessed.
eXtensible Markup Language (XML). Applications communicate with each other by sending and receiving messages; the XML standard is used to describe the content of each message in a structured way by tagging each element in a message.
Simple Object Access Protocol (SOAP). This application describes messages that contain requests and replies.
Universal Description, Discovery and Integration (UDDI). This online directory (registry) describes business services.
Business Process Execution Language (BPEL). Defines specifications of step-by-step business processes and interaction protocols.

A Web service is defined and described using WSDL, discovered using UDDI and interacts with other services using SOAP. BPEL is used to define the steps necessary to complete a business process such as how to handle a customer order from start to finish.

The other key standard, runtime platforms, supports the deployment of monolithic and composite applications and provides facilities to access enterprise resources such as mainframe applications, data sources and directory services. Two types of runtime platforms emerged and are now widely deployed in production environments: the Java 2 Enterprise Edition (J2EE) platform and the Microsoft .NET platform.

The J2EE platform is Java-based and used for developing, deploying and managing distributed enterprise applications. The J2EE applications will typically group and expose their business services as Enterprise JavaBeans (EJB) or as Web services so they can be accessed by other J2EE applications. Microsoft’s runtime platform is .NET and is bundled with the Windows server family.

Enterprise integration architecture
Enterprise integration architecture is used in integrating composite applications. The most accepted and widely used integration architecture is the service-oriented architecture (SOA). Service-oriented architecture is a software engineering principle that defines the approach for building modular reusable application services and how they can be integrated in building composite applications. Following are two characteristics of using SOA design principles:
It promotes identifying reusable business functions and building new ones or wrapping existing functions as small independent services, which are thereby easier to maintain and offer greater reusability.
It promotes the use of industry standards offering greater interoperability with suppliers and partners.

The SOA roles are designed around application services. The SOA defines three core roles and their associated operations to support building composite applications (see figure 3).

A key technology enabler for implementing SOA-based composite applications is Web services. The Web-services standards contributed significantly to acceptance and widespread adoption of SOA in building composite applications.

Enterprise-integration tools and technologies
A variety of tools and technologies emerged over the years to support the integration of enterprise business applications, including five key enterprise-integration technologies:
1. Data integration via data sharing and data acquisition. Data integration tools and technologies support enterprise integration at the data level, including its two key data-integration technologies:
Data sharing. Data is shared among applications using a common database, and typically, a common logical data model (LDM). Teradata customers benefit from using the Teradata EDW as the common database, and the Teradata industry-specific LDMs will speed the design of the common databases and provide consistency across all applications.
Data acquisition. Data is moved between databases at regular intervals, varying from near real time to once a month. Data is typically transformed to match the target application’s data format. The Teradata Parallel Transporter is used for high throughput data loading into Teradata. The Teradata TPump tool is used for trickle-feeding changed data into Teradata. Teradata customers can use extract, transform and load (ETL) tools to move source data to the EDW and can leverage replication services to duplicate data in a Teradata dual-active environment to support high availability.
Enterprise information integration (EII). Query results are assembled from a variety of heterogeneous data sources where the final result consists of “federated” (combined) information.

The Teradata EDW with all the detailed business data provides significant value in supporting this environment. The scalable Teradata Database engine also offers valuable analytic services in aggregating the business data.
2. Enterprise Application Integration (EAI). These tools are designed to support enterprise-level integrations with many business applications and data sources. They rely on two key capabilities: data access and application adapters.
Data access. Supports industry-standard database interfaces and makes it easier for applications to access external data sources. Following are the major database connectivity interfaces, all of which are supported by Teradata:
Java Database Connectivity (JDBC). Java applications
Open Database Connectivity (ODBC). C, C++, COBOL and Visual Basic applications
OLE DB. Windows applications
.NET data access. Allows Visual Studio users to drag and drop code into their .NET applications.
Application adapters. Enable applications to communicate with each other via application programming interfaces (APIs) to send and receive messages to and from other applications. XML is replacing some adapters because it is an open standard and reduces the complexity and the need for proprietary application adapters. The Teradata Application Platform provides Teradata-specific runtime services to support building analytic applications and components. Teradata Application Platform is built natively on top of the J2EE platform, taking advantage of its framework components.
3. Application servers. These software platforms provide services and application infrastructure required to develop and deploy enterprise applications. GUI-based integrated development tools within the application servers make it easier to design and build enterprise applications. Application servers also provide runtime services, including messaging, queuing, high availability, application load balancing, security, transaction processing and performance-monitoring services.

IBM WebSphere and BEA Weblogic are the leading J2EE applications servers with additional offerings from SAP (NetWeaver), Oracle (Fusion) and JBoss.

Microsoft offers its version of the application server .NET, which offers many of the same application server tools and services and supports all programming languages.

4. Enterprise service bus (ESB). This service broker is responsible for managing service component access and lifecycle. It is a software infrastructure that uses messaging and a standard interface to integrate applications and often applies SOA principals. An ESB combines message queuing and protocols such as SOAP, Web services standards and Web services routing, and provides for extensions. Typically, the EAI components attach to the ESB, as do many middleware components such as event monitors and integration brokers. Teradata Application Platform–based application components can also leverage the ESB for application-to-application communications.
5. Business Process Automation (BPA). This enables integrating enterprise applications, reduces human intervention (using event-driven triggers) and assembles software services into process flows. With BPA, developers leverage business-process management tools to “orchestrate” automation using a workflow system that strings together a series of business services needed to complete a business function. The workflow system is also used to design and store the business-process workflow. It also supports long-running processes, guarantees execution and monitors activities.

Injection of intelligence
Teradata Application Platform–based application components can be used to inject intelligence into the business process by providing timely and critical analytical calculations such as customer profitability in marketing promotions or customer risk in a credit loan application.

Composite applications provide the business environment increased efficiency, accuracy and speed in executing the business processes. Composite applications provide IT organizations with open applications that can easily be extended and integrated with other enterprise applications. The Teradata EDW contains valuable business assets in the detailed data, and Teradata provides the necessary tools for integrating the EDW with composite applications. T

Sam Tawfik, a product marketing manager with Teradata, has extensive experience with integration, including application development, middleware and enterprise integration architecture and methodology-based enterprise solution implementation.

Teradata Magazine-December 2006

More Applied Solutions

Related Links

Reference Library

Get complete access to Teradata articles and white papers specific to your area of interest by selecting a category below. Reference Library
Search our library:

Teradata.com | About Us | Contact Us | Media Kit | Subscribe | Privacy/Legal | RSS
Copyright © 2008 Teradata Corporation. All rights reserved.