DEV Community

Jihao Deng
Jihao Deng

Posted on

DA10 Integration in EA

本篇主要讲企业级应用(Enterprise Applications, EAs)中与集成有关的问题。

The need for integration

单一的系统难以支持一个企业的所有业务。

  • Different products from different vendors support different business needs 不同的投资者
  • New systems are built as technology and business needs evolve, legacy systems remain 在老的系统上拓展新的系统
  • Different systems for different organizational units – e.g. best accounting sw., best CRM, best order-processing system, etc.
  • Easier and more efficient to develop multiple smaller systems that meet the business needs

Patterns for Integration

  • File transfer
  • Shared database
  • RMI / RPC
  • Messaging

File transfer

Uses files to transfer data/information between multiple applications.

Pros

  • 简单,容易实现
  • 无需第三方支持

Cons

  • 需要考虑每个application何时生成以及删除file
  • 需要考虑并发 concurrency 问题
  • 需要考虑文件格式
  • 对文件的读写操作使得开销较大

Shared database

Integrate applications by having them store their data in a single shared database and define the schema of the database to handle all the needs of the different applications.

Pros

  • 数据可以实时更新
  • 不用担心数据的格式问题

Cons

  • applications 之间的耦合性增加
  • 设计和实现都比较困难
  • 不同的application对单一的数据库表操作使得性能不会太好,有瓶颈

RMI / RPC

Pros

  • 一个application的方法可以被其他的application使用
  • 封装好,Because the complete data structure is not exposed as in the case of file transfer and shared databases, only the required data is transferred based on the functionality that is invoked in the procedure.

Cons

  • applications 之间的耦合性增加
  • concurrency issues
  • remote calls 性能开销过大

Messaging

Uses messages to share data and functionality between applications.

Producers generate messages that are sent to the messaging system, the messaging system then distributes those messages to consumers.

It is a kind of Indirect communication – via a third-party messaging system.

有一个中间的Messaging System专门负责消息的传输,所有的application都只与Messaging System发送和接受消息。

这一部分内容会在下一节DA11详细讲。

Top comments (0)