tanszek:oktatas:iss_t:evolution_of_software_integration_methods

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
tanszek:oktatas:iss_t:evolution_of_software_integration_methods [2023/03/26 18:33] – [Middleware development method] kneheztanszek:oktatas:iss_t:evolution_of_software_integration_methods [2025/02/17 10:11] (current) – [Development on a software "Virtual Machine"] knehez
Line 1: Line 1:
-Following figure shows the six classical Software Integration methods.+==== Six Standard Software Integration Methods ==== 
  
-{{tanszek:oktatas:integration_evolution.png|}}+{{tanszek:oktatas:integration_evolution.png?600x0|}}
  
  
Line 35: Line 35:
  
   * the standard handling of used dependencies (components developed by others) is not uniform, but after 2020, we can use [[https://conan.io/]] or [[https://vcpkg.io/en/]] or the modern [[https://cmake.org/cmake/help/latest/guide/using-dependencies/index.html]].    * the standard handling of used dependencies (components developed by others) is not uniform, but after 2020, we can use [[https://conan.io/]] or [[https://vcpkg.io/en/]] or the modern [[https://cmake.org/cmake/help/latest/guide/using-dependencies/index.html]]. 
-  * RELEASE/DEBUG mode compilation method slows down development+  * RELEASE/DEBUG mode compilation method slows down development (see: https://godbolt.org)
   * it is possible that the operation of the program is different (erroneous, slower) with another compiler   * it is possible that the operation of the program is different (erroneous, slower) with another compiler
  
Line 67: Line 67:
   * LLVM: this is not the classic VM, but it compiles the source into an llvm byte code, which then turns into native code. "LLVM is designed around a language-independent intermediate representation that serves as a portable, high-level assembly language that can be optimized with a variety of transformations over multiple passes.   * LLVM: this is not the classic VM, but it compiles the source into an llvm byte code, which then turns into native code. "LLVM is designed around a language-independent intermediate representation that serves as a portable, high-level assembly language that can be optimized with a variety of transformations over multiple passes.
  
-**Just in Time (JIT) translation**+**Just in Time (JIT) compilation**
   * The virtual machine can continuously optimize the application code, the byte code conversion is dynamic.   * The virtual machine can continuously optimize the application code, the byte code conversion is dynamic.
  
Line 94: Line 94:
 Application server development method. It was originally released by Sun Microsystems in 1999 under the name J2EE (Java 2 Enterprise Edition). The standard specification is currently at version 8 (2017): https://javaee.github.io/javaee-spec/ Application server development method. It was originally released by Sun Microsystems in 1999 under the name J2EE (Java 2 Enterprise Edition). The standard specification is currently at version 8 (2017): https://javaee.github.io/javaee-spec/
  
-  * It typically uses middleware implemented in Java. Better known (26) Java middleware+  * It typically uses middleware implemented in Java. [[https://en.wikipedia.org/wiki/List_of_application_servers]]
   * famous implementations: Glashfish, Websphere, Weblogic, JBoss, Wildfly   * famous implementations: Glashfish, Websphere, Weblogic, JBoss, Wildfly
  
Line 126: Line 126:
 In the first versions, metadata was managed with XML descriptors. In these, it was possible to specify how a class should behave: URL mapping, number of running instances, etc. In the first versions, metadata was managed with XML descriptors. In these, it was possible to specify how a class should behave: URL mapping, number of running instances, etc.
  
 +==== ESB - Enterprise service bus ====
 +{{tanszek:oktatas:informatikai_rendszerek_epitese:esb.png|ESB}}
 +
 +Service BUS: Service Oriented Architecture (SOA). It is based on loosely coupled components (services). Analogy of the BUS concept known in networks.
 +
 +**Main functions**:
 +
 +  * Message forwarding - Message Routing between services
 +  * Service discovery
 +  * Support conversion of different protocols
 +  * Validation - schema validation
 +  * Version management of services
 +  * Monitoring services
 +  * Business process management
 +
 +**Advantages:**
 +
 +  * easily scalable use - from local service to full enterprise access
 +  * instead of implementing (coding) the integration, creating configurations
 +  * services can be easily started and stopped due to loose connection
 +
 +**Disadvantages:**
 +
 +  * slow communication
 +  * due to centralization, a complete shutdown may occur in the event of an error
 +  * high complexity in configuration
 +
 +Known implementations:
 +
 +Azure Service Bus, Microsoft Biztalk Server, Mule ESB, Oracle ESB, IBM Websphere ESB, JBOSS ESB
  
tanszek/oktatas/iss_t/evolution_of_software_integration_methods.1679855625.txt.gz · Last modified: 2023/03/26 18:33 by knehez