1 / 32

یکپارچه سازی کاربردهای سازمانی Enterprise Application Integration(EAI)

یکپارچه سازی کاربردهای سازمانی Enterprise Application Integration(EAI). جلسه پنجم Layers and Levels. Techniques , components, and patterns are based on the layered architecture principle. Each different layer has different responsibilities.

deandra
Download Presentation

یکپارچه سازی کاربردهای سازمانی Enterprise Application Integration(EAI)

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. یکپارچه سازی کاربردهای سازمانیEnterprise Application Integration(EAI) جلسه پنجم Layers and Levels Enterprise application integration - DrKheirabadi

  2. Techniques, components, and patterns are based on the layered architecture principle. • Each different layer has different responsibilities. • Depending on the size of the system and the problem involved, each layer can be broken down into further layers. • Within the individual layers, the building blocks can be strongly cohesive. Extensive decoupling is needed between the layers. • The rule is that higher-level layers can only be dependent on the layers beneath them and not vice versa. • Each building block in a layer is only dependent on building blocks in the same layer, or the layers beneath. • It is essential to create a layer structure that isolates the most important cohesive design aspects from one another, so that the building blocks within the layers are decoupled. Enterprise application integration - Dr Kheirabadi

  3. Building Block Design • The process of identifying building blocks includes looking for collections of functions which require integration to draw them together or make them different: • consider three classes of building blocks • re-usable building blocks such as legacy items • building blocks to be the subject of development such as new applications • building blocks to be the subject of purchase, i.e. commercial off-the-shelf applications • As implementation considerations are addressed, more detailed views of Building Blocks can often be used to address implementation decisions, focus on the critical strategic decisions or aid in assessing the value and future impact of commonality and reusability. Enterprise application integration - Dr Kheirabadi

  4. Domain Driven Design • Domain-driven design is a means of communication, which is based on a profound understanding of the relevant business domain. • This is subsequently modeled specifically for the application in question. • Domain models contain no technical considerations and are restricted exclusively to business aspects. Domain models represent an abstraction of a business domain, which aims to capture the exemplary aspects of a specific implementation for this domain. The objectives are: • Simplify communication between domain experts and developers by using a common language • Requirements to be defined more accurately • Software more precisely and more comprehensibly, using a clearly defined language, which will make it easier to maintain طراحی بر اساس نیازمندی ها و درخواست Requirements gatherings/needs در دامنه درخواست شده Enterprise application integration - Dr Kheirabadi

  5. Integration Architecture connects applications and systems together with its levels and layers. • The technical aspects of architecture can be grouped into domains in order to create specific views of the overall system. These domains cover security, performance, and other areas. • The integration of systems and information also represents a specific view of the overall system, and can be turned into a domain. Enterprise application integration - Dr Kheirabadi

  6. Domains • Business domains may include training, resource management, purchasing, sales or marketing, for example. • Technical domains are generally areas such as applications, integration, network, security, platforms, systems, data, and information management. Enterprise application integration - Dr Kheirabadi

  7. Integration Architecture • Application and information view • Transactional information storage • Non-transactional information storage • Applications • Integration view. • Transport level • Integration Domain Level • Application Level Enterprise application integration - Dr Kheirabadi

  8. Application and information view Transactional information storage • This includes classic relational database management systems (RDBMS) and messaging systems (queues, topics). The focus is on data integration. Duration might not be important Enterprise application integration - Dr Kheirabadi

  9. Application and information view Non-transactional information storage • This is primarily file-based systems and non-relational data stores (NoSQL) with a focus on data integration. Duration is important Enterprise application integration - Dr Kheirabadi

  10. Application and information view Applications • Applications include transactional or non-transactional systems that are being integrated (ERP—Enterprise Resource Planning, CMS—Content Management System, and so on) • Can be accessed through a standardized API (web service, RMI/IIOP, DCOM, and so on). The focus is on application and process integration. Enterprise application integration - Dr Kheirabadi

  11. Integration viewTransport level • Encapsulates the technical details of communication protocols and formats for the external systems. It contains: • Communication layer: The communication layer is part of the transport level, and is responsible for transporting information. This layer links the integration solution with external systems, and represents a type of gateway to the infrastructure at an architectural level. It consists of transport protocols and formats. Enterprise application integration - Dr Kheirabadi

  12. Integration viewDomainlevel • Integration domain level: The integration domain level covers the classic areas of integration, including typical elements of the integration domain, such as adapters, routers, and filters. It is divided into: • Distribution Layer • Mediation layer Enterprise application integration - Dr Kheirabadi

  13. Distribution Layer • This layer is responsible for connecting components. It is completely separate from the main part of the integration domain (mediation). The building blocks in this layer connect the mediation layer above with the communication layer below. The layer is responsible for encapsulating external protocols and their technical details from the integration application, and transforming external technical formats into familiar internal technical formats. Enterprise application integration - Dr Kheirabadi

  14. Mediation Layer • This layer is responsible for forwarding information. Its main task is to ensure the reliable forwarding of information to business components in the process layer, or directly to output channels that are assigned to the collection/distribution layer, and that distribute data to the target systems. This is the most important functionality of the integration domain. In more complex scenarios, the information forwarding process can be enhanced by information transformation, filtering, and so on. Enterprise application integration - Dr Kheirabadi

  15. Application level • The application level encapsulates the integration management and process logic. It is an optional level and contains: • Process layer: The process layer is part of the application level, and is responsible for orchestrating component and service calls. It manages the integration processes by controlling the building blocks in the mediation layer (if they cannot act autonomously). Enterprise application integration - Dr Kheirabadi

  16. Tasks • From an integration perspective, the application/ system is responsible for providing and storing information (application and information view). • The tasks of the integration solution include transporting information from the source systems, together with collecting, transforming, filtering, forwarding, and distributing information, and transporting it to the target systems. • These tasks can only be performed efficiently if the integration view has a logical structure. It must be possible for the tasks to be distributed across different layers in order to give improved decoupling. • The fundamental tasks are: • • Transporting • • Connecting • • Forwarding Enterprise application integration - Dr Kheirabadi

  17. The integration solution consists • Mediation (forwarding), • Collection/distribution (connecting), • Communication (transporting) layers. Enterprise application integration - Dr Kheirabadi

  18. Task results • These tasks result in the creation of communication, collection, mediation, and distribution layers. • Each layer has a specific role to ensure that it covers the responsibilities and related tasks. • These roles are that of a transporter, collector, mediator, and distributor. • The information flow in an integration solution determines the call sequence for the building blocks. Enterprise application integration - Dr Kheirabadi

  19. Layers in the integration solution The tasks of the integration view include • Transporting information (communication layer) from the source systems • Assembling information (collection layer) • Transforming, filtering, and forwarding (mediation layer) • Distributing information (distribution layer), • Transporting information (communication layer) to the target systems. Enterprise application integration - Dr Kheirabadi

  20. Enterprise application integration - Dr Kheirabadi

  21. Separation of Concerns (SoC) • The division of the integration view into different layers allows for improved decoupling through the Separation of Concerns (SoC) and the break down into the following three goals: • Transporting: The communication layer transports the information using the appropriate communication protocols. • Connecting: The collection layer collects the data from the transport building blocks and forwards it to the building blocks of the mediation layer. The distribution layer distributes the data to the transport building blocks and collects it from the mediation layer. • Forwarding: The mediation layer has the goal of forwarding information to the correct building block in the distribution layer. It receives the information from the collection layer. Enterprise application integration - Dr Kheirabadi

  22. Transport protocols • TCP  The Transmission Control Protocol is the most widely used transport protocol. It also forms the basis for other protocols. TCP establishes a failsafe, direct, connection-based communication channel over IP between two endpoints, which are known as sockets. • UDP  The User Datagram Protocol is a connectionless, non-reliable communication channel between endpoints. In contrast to TCP, the receiver does not notice when data packets go missing. The transmission speed is higher than that of TCP. • FTP The File Transfer Protocol is used to transmit character-based or binary files over TCP/IP. Enterprise application integration - Dr Kheirabadi

  23. Transport protocols • HTTP The Hypertext Transfer Protocol is a stateless, point-to-point protocol. In addition to being used to call web pages, it also forms the basis for a number of protocols for addressing web services. • IIOP  The Internet Inter-ORB protocol is defined in the CORBA standard and is used by distributed Object Request Brokers (ORBs) to communicate with one another across the network. This involves methods being called by remote components or objects. IIOP is a specialized version of the abstract GIOP (General Inter-ORB Protocol) based on TCP/IP. ORBs from different manufacturers can communicate with one another using IIOP. IIOP is also an alternative communication protocol for RMI. Enterprise application integration - Dr Kheirabadi

  24. Transport protocols • RMI  The Java Remote Method Invocation describes RPCs (Remote Procedure Calls) for Java applications, which are the method calls made by an object running in one JVM (Java Virtual Machine) to an object running in another. This JVM may also be on a different physical machine. • RMI is also the communication protocol for remote calls to Java objects. As an alternative, IIOP can be used, in which case the complete protocol is referred to as RMI over IIOP. • ODBC Open Database Connectivity is a standardized API used as a database interface for applications. Product-specific ODBC drivers are required. Enterprise application integration - Dr Kheirabadi

  25. Transport protocols • JDBC Java Database Connectivity is a Java EE API specification which gives Java applications standardized access to databases. A JDBC-ODBC bridge allows ODBC databases to be addressed via JDBC. Product-specific JDBC drivers are used to access databases. • JMS Java Message Service is a Java EE API specification for exchanging messages between Java applications. Point-to-point communication is defined on the basis of queues, while publish/subscribe communication is based on topics. Enterprise application integration - Dr Kheirabadi

  26. Job scheduler • Job schedulers manage, automate, monitor, and plan dependencies between programs. Jobs and programs are started and made dependent on one another across different computers under the control of the scheduler, which allows complex dependencies to be created. • The basic features of a job scheduler are as follows: • • An interface for defining jobs, workflows, and dependencies between jobs • • Automatically starting jobs • • An interface for monitoring and troubleshooting jobs • • Priorities and/or queues to control the execution order of unrelated jobs Enterprise application integration - Dr Kheirabadi

  27. Portal • In the IT world, the term portal is used to describe a central point of access which makes customized, internal and external information and services available. The focus is on the provision of cross-application services (in other words, integration) and not on the technical (for example, web-based) implementation. Enterprise application integration - Dr Kheirabadi

  28. Workflow • A workflow, which is an executable process, is by far the most important building block in the process layer. Workflow building blocks form the basis for implementing the technical processes that control an integration solution. They can be implemented, for example, in Business Process Execution Language (BPEL) using a BPEL engine. All the workflow building blocks can be created using BPEL. Enterprise application integration - Dr Kheirabadi

  29. Event processing pattern • The most commonly used CEP technology patterns are described here to provide support for the implementation of integration solutions based on an event-driven architecture (Coral8 2007). • Filtering • In-memory caching • Aggregation over windows • Database lookups • Database writes • Correlation (joins) • Event pattern matching • State machines • Hierarchical events • Dynamic queries Enterprise application integration - Dr Kheirabadi

  30. Filtering • A simple pattern for filtering events out of one or more event streams. A filter expression is applied to the incoming events and if the condition is true, the event is published in the output stream. Enterprise application integration - Dr Kheirabadi

  31. In-memory caching • This pattern keeps events in memory, for example for a time-based window covering the last 10 minutes. This forms the basis for many other CEP design patterns. The cache typically stores two kinds of data: • Recent events from one or more input streams • Data from one or more database tables Enterprise application integration - Dr Kheirabadi

  32. References • Chapter 3 , Service Oriented Architecture- a blue print, Welkenbach, Enterprise application integration - Dr Kheirabadi

More Related