Training - An Introduction to Enterprise Integration
What is EI?
Enterprise Integration (EI) is a business computing term for the plans, methods, and tools aimed at modernizing, consolidating, and co-coordinating the computer applications in an enterprise.
EI Levels
Data Level
Integrates and synchronizes data stores to help them support the sharing of information among applications in a more efficient manner. Typically, this approach entails extracting information from one database and updating other database(s), while simultaneously processing information between them.
Application / interface level
This links applications at their individual interface levels. This often requires implementation of an adapter between the application interfaces and the message broker. message brokers are typically delivered with ‘out-of-the-box’ adapters for popular packaged applications such as SAP. Application-level integration is a form of EI that integrates different applications on the functional level. A function (which can be viewed as a business logic) in one application causes the execution of another function in a different application.
Process level
Process level integration takes application level integration a step further, allowing a business model, which defines the flow of business activities, to control inter-application processing links. This often leads to modeling and implementation of business process flow (or business process management), beyond the logic embedded within the existing applications. Conceptually, this is a layer above the application integration layer that deals with business processes rather than data and interfaces.
Middleware Types
Data Middleware
Data Middleware includes data gateways, data replication, as well as extract, transformation, and load (ETL) tools. They integrate applications by giving direct access to their databases, or through file transfers.
Message oriented Middleware (MOM)
Message oriented Middleware (MOM) facilitates the exchange of messages between applications allowing them to operate independent of each other, and yet remain loosely coupled. MOM provides an API that abstracts the application developer from having to deal with the intricacies of lower-level communication chores including guaranteed message delivery, automatic error detection, and retry amongst others.
Application servers
Application servers include Web-application servers for monitoring purposes. Object-request brokers offer a centralized, object-oriented integration framework or platform that provides built-in support for environment management and transaction services. This type of Middleware either partially or completely insulates the application program from the operating system. Application servers are used in a more synchronous environment where the primary focus is development of new applications rather than integration of existing applications.
Message brokers
Message brokers are high-level Middleware that provide a set of functions that is specifically related to connecting application programs or Middleware products that differ from each other. The message broker provides additional functionality including a variety of adapters, publish or subscribe communication techniques, intelligent message transformation including syntactic conversion and semantic transformation, content-based routing, process flow automation, and business process modeling.
Data Integration Features
- Data movement: This focuses on the transfer of data (directly) from one database to another.
- Data transformation: This processes and transforms data to fit or match the target database's format.
- Data services: This has the ability to transfer data through service.
- Data synchronization: This has the capability of enabling the same data to be made shareable amongst different systems.
- Changed data capture: This has the capability of loading differential change.
- Data quality: This has the ability of performing data standardization, constraint-checking, data validation, and rule-based cleansing.
Data Integration Advantages
- It is relatively inexpensive.
- It represents a proven approach that has been used successfully multiple times.
- The technology to implement this approach has been available for quite some time.
- Appropriate expertise is more readily available than other types of Data Integration.
- Since Data Integration does not involve any traditional kind of programming like Cobol or C++, it can produce results faster than them.
- In some scenarios, the only practical integration option is the DBMS interface.
- Data Integration is useful in situations where there is a need to wrap existing data sources to allow integration through encapsulated interfaces, like a data abstraction layer for example.
- It does not require any knowledge of the application code of Legacy Applications.
Data Integration Disadvantages
- Data Integration does not solve the problem of integration of business events, since a business event in one application does not trigger an execution of business logic in another. In that sense, it can be viewed as more of a stopgap arrangement.
- Data Integration does not scale well for OLTP type of application integration.
- Data Integration can mask important issues with the enterprise information systems since it accesses data without invoking the business logic in the application that ‘owns’ the data.
- In many cases, Data Integration may require a detailed knowledge of data semantics as well.
- Data Integration has been known to result in lower levels of integrity when business rules and data-owning (and validated) applications are bypassed.
Key Points to Real time Data Integration
- Business processes generally requires real time data processing.
- A data replication mechanism should be in place to copy information in more than one application.
- In real time Data Integration, business logic is applied to the data.
- The push mode of Data Integration is used during real time Data Integration.
- Data throughput is relatively small in the case of real time Data Integration.
- A two phase commit can be supported by real time Data Integration.
- Real time Data Integration is a costly option when compared to batch mode Data Integration (to be covered in the next section).
Key Points to Batch mode Data Integration
- Business models commonly include bulk processing of activities.
- Data transfer can be scheduled in a predefined time for it.
- Generally, business logic is not applied to the data in the case of a batch mode of Data Integration.
- This is a pull mode of Data Integration.
- Data throughput is comparatively higher in the case of a batch mode of Data Integration.
- Legacy applications can be supported very easily on it.
- This is a cheaper option when compared to real time Data Integration (covered in the previous section).
Data Integration approach
- Data consolidation: This is a technique that integrates data from multiple source systems and integrates them into a single persistent data store. This approach is generally adopted in data warehousing.
- Data federation: This provides a single virtual view of one or more source databases. Enterprise Information Integration (EII) is an example of a technology that supports a federated approach to Data Integration.
- Data propagation: This copies data from one location to another. This event-driven approach is usually operated online.
Data Integration Styles
Extract, Transform and Load (ETL)
- It works by extracting data in bulk from a source system, then bulk transforming it, and then finally bulk loading it into the target system.
- When it is used, the collection of data level records is medium at the most.
Enterprise Information Integration (EII)
- Providing real time 'read and write' access
- Transforming data for business analysis and data interchange
- Managing data placement for performance, currency, and availability
Enterprise Data Replication (EDR)
- Same instance of data is replicated across multiple data repositories
- Employs effective methods for disaster recovery and data mirroring
- Ensures an exceptional availability of data as there are multiple repositories of similar data repository
- Uses an extremely effective technique for load balancing
Master Data Management (MDM)
- Central repository of master data
- Single source of core business entities
- Reference data to transactional applications
- Useful for cross selling and up selling of products
- Core business entities can be modified at a single place
- Can be used to implement better CRM
WebSphere MQ Features
- Provides cross platform support
- Has the same messaging API on all platforms
- Guarantees a one-time delivery
- Employs a two-phase commit
- Enjoys a wide EI industry support
- Has the capability of triggering an application to process a message
- Capable of grouping messages
- Capable of performing load balancing
Message Broker Features
- Facilitates interaction among applications
- Acts as a shareable component that sits between information sources, or message publishers
- Sometimes, it also includes basic message-oriented Middleware and database Middleware
- Supports functionality of a variety of adapters
- Facilitates intelligent message transformation, and content-based routing
- Supports process flow automation and business process modeling
Message Oriented Middleware Features
- Can combine many input messages into a single message (many to one)
- Can split one input message into multiple messages (one to many)
- Employs a complex conditional logic, especially across repeating records
- Can hold or maintain state and variables, both within as well as across messages
- Processes communications synchronously
- Can perform data related activities beyond transformation and substitutions such as data de-duplication and data cleansing
WebSphere Message Broker Features
- Distributes information irrespective of its type
- Provides a mechanism for connecting, routing, and transforming business data from a variety of transports without a need to change the underlying applications generating the data
- Is built upon the WebSphere MQ
- Reduces the number of point-to-point interconnections
- Routes information in real time based on topic and content
- Validates and transforms in-flight messages
- Routes messages based on business rules which can be reevaluated
- Improves business agility by dynamically reconfiguring the distribution of information
- Provided access control in order to securely deliver personalized information
What is Service Oriented Integration (SOI)?
- SOI is an architectural style which requires a service provider, a service requestor, and a service description.
- SOI consists of a set of architectural principles, patterns, and criteria which address characteristics such as modularity, encapsulation, loose coupling, separation of concerns, reuse, and composability.
- SOI is in many ways a programming model, complete with standards, tools, and technologies such as Web Services.
The relationship between SOI and SOA
- SOI integrates both SOA and non-SOA applications: It exposes existing business functions as services using the service adaptor pattern.
- SOI integrates non-SOA applications as if they were services: It allows coexistence of architectures during transition using the service proxy pattern.
- SOI does not require an enterprise-wide initiative: Individual projects, regions, or LOBs can adopt SOI and show business benefits. The wider the adoption in the enterprise, the greater the business benefit. 4.Incrementally adopt SOA after SOI adoption without a significant penalty: Loose coupling of SOI components makes integration less brittle.
SOI Advantages
- It lowers the cost to add new interfaces and modify existing interfaces
- It easily, as well as incrementally expands integration services by managing to grow capabilities over time
- It works with single as well as multi-vendor integration environments
- It supports both synchronous as well as asynchronous interfaces
- It starts with the software an organization probably owns already, along with their existing integration architecture
- It begins return on investment with a single project itself and subsequently increases with every additional project
- SOI helps lower maintenance costs
Web Service Features
- Web Services is an implementation technology that is standards based, offering the promise of interoperability.
- Web Services can be used to implement multiple integration styles.
- Many of today's Web Service integration technologies use the point-to-point integration style, which has a number of disadvantages.
- Nowadays, quite a few hub-and-spoke Middleware have adapters that have Web Service interfaces.
- Web Services is often selected as an implementation technology for Service Oriented Architectures (though SOAs can be implemented using other technologies like XML as well).
Enterprise Service Bus(ESB) Features
- The ESB is a specific pattern of connectivity wherein multiple ESB configurations and topologies are possible.
- The topology you implement should be optimized to meet your unique business requirements.
- Your topology can change as your business requirements evolve.
Business Process Management (BPM) Features
- The optimization and automation of business processes allows a new level of flexibility and responsiveness to the changing requirements inherent in an on demand business environment.
- Through monitoring of the automated business processes, both IT performance and business goals can be measured, providing a rich capability for both the business executives and the IT executives to understand, evaluate and improve the organization’s capability to deliver business function that satisfies business requirements.
- A business process is a series of tasks executed in a specific order that an organization follows to achieve a larger business goal.
- WebSphere Process Server is a process engine that provides a hosting environment for business processing. It provides support for the Service Component Architecture (SCA) programming model. 5.WebSphere Process Server includes support for both Web Services Business Process Execution Language (WS-BPEL) based process flows and business state machines. It supports the integration of business rules and for the incorporation of tasks that are carried out by users (human tasks) in a business process.
What is Process Integration?
- An abstraction layer that synchronizes business processes by integrating business applications and human activities
- Integration that takes application level integration a step further by allowing a business model, which defines the flow of business activities, to control inter-application processing links
- A process that allows modeling and implementation of business process flow (in a way similar to business process management) outside the business logic embedded within existing applications
Process Integration Features
- Integrates enterprise with key partners, suppliers, and customers
- Responds swiftly to any customer demand, market opportunity, and external threat
- Automates business processes involving systems and people
- Offers easy exchange of real-time information across multiple participants, platforms, business applications, and organizations
- Makes optimal use of human resources to support business processes and deliver enterprise services
- Manages business process logic in accordance with business design in separation from implementation and integration details
- Increases business agility and flexibility by aligning business models with strategic objectives
Training - An Introduction to Enterprise Integration的更多相关文章
- 按照Enterprise Integration Pattern搭建服务系统
在前一篇文章中,我们已经对Enterprise Integration Pattern中所包含的各个组成进行了简单地介绍.限于篇幅(20页Word以内),我并没有深入地讨论各个组成.但是如果要真正地按 ...
- Enterprise Integration Pattern - 组成简介
近些年来,越来越多的Web应用正在逐渐向大型化的方向发展.它们通常都会包含一系列相互协作的子服务.在开发过程中,如何让这些子服务协同工作常常是软件开发人员所最为头疼的问题,如各个子服务之间的数据表示不 ...
- Self-Paced Training (1) - Introduction to Docker
helloworld: wget -qo- https://get.docker.com/ | sh sudo docker run hello-world sudo usermod -aG dock ...
- Enterprise Integration Patterns
https://camel.apache.org/enterprise-integration-patterns.html 企业集成模式,各种模式算法,挺棒的. https://camel.apach ...
- Java EE (7) -- Java EE 6 Enterprise Architect Certified Master(1z0-807)
Application Design Concepts and Principles Identify the effects of an object-oriented approach to sy ...
- Eclipse Jetty Integration
http://eclipse-jetty.sourceforge.net/ Introduction Eclipse Jetty Integration provides a launch confi ...
- [转] Spring Integration 系统集成
[From] http://blog.csdn.net/w_x_z_/article/details/53316618 pring Ingegration 提供了基于Spring的EIP(Enterp ...
- Spring---Spring Integration
1.概述 1.1.Spring Integration 提供了 基于spring 的 EIP(Enterprise Integration Patterns,企业集成模式)的实现: 1.2.Sp ...
- (转) [it-ebooks]电子书列表
[it-ebooks]电子书列表 [2014]: Learning Objective-C by Developing iPhone Games || Leverage Xcode and Obj ...
随机推荐
- 移动web开发之移动端真机测试
× 目录 [1]特性 [2]安装 [3]设置[4]移动端 前面的话 chrome的开发者工具可以很好地做好模拟工作,但毕竟模拟和实际还是有差别的.所以,真机测试是一定要做的,如何高效地进行真机测试呢. ...
- 基于PHP实现阿里云开放存储服务
开放存储服务(OpenStorageService,简称OSS),是阿里云对外提供的海量,安全,低成本,高可靠的云存储服务.用户可以通过简单的API(REST方式的接口),在任何时间.任何地点.任何互 ...
- Java多线程系列--“JUC集合”03之 CopyOnWriteArraySet
概要 本章是JUC系列中的CopyOnWriteArraySet篇.接下来,会先对CopyOnWriteArraySet进行基本介绍,然后再说明它的原理,接着通过代码去分析,最后通过示例更进一步的了解 ...
- PHP的学习--图解PHP引用
在一篇文章中看到关于PHP引用的图解,对于加深对PHP引用的理解很有帮助,在这里备份一下. 如果你对PHP的引用一点也不了解,可以先看我之前的博客:PHP的学习--PHP的引用
- c#编码规范
1 规范目的 --------------------- 3 2 适用范围 --------------------- 3 3 代码注释 --------------------- 3 3.1 ...
- 【深入BFC】 关于CSS中float布局,清除浮动,和margin合并的原理解析,解开你心中的那些困惑!
BFC的通俗理解: Block Formatting Context(块级格式化上下文)是W3C CSS 2.1 规范中的一个概念,它决定了元素如何对其内容进行定位,以及与其他元素的关系和相互作用. ...
- 【知识积累】BufferedImage类实现图片的切分
一.引言 如何实现图片分割?若有园友用到这个模块,使用Java的BufferedImage类来实现,图片切分也可以作为一个小工具积累起来,以备不时之需. 二.代码清单 package com.lees ...
- js的日期格式化
function date(){ var date = new Date(); var year = date.getFullYear(); var month = date.getMonth()+1 ...
- C#指定时间和当前时间的相差的月份、天数
DateTime 类型有时间的 年月日时分秒等属性,但是获取两个DateTime的 相差月份,就需要自己写了: public static int GetSubMonth(DateTime speci ...
- postgres中几个复杂的sql语句
postgres中几个复杂的sql语句 需求一 需要获取一个问题列表,这个问题列表的排序方式是分为两个部分,第一部分是一个已有的数组[0,579489,579482,579453,561983,561 ...