A kiválasztott változat és az aktuális verzió közötti különbségek a következők.
Előző változat mindkét oldalon Előző változat Következő változat | Előző változat | ||
tanszek:oktatas:iss_t:evolution_of_software_integration_methods [2023/03/26 18:28] knehez |
tanszek:oktatas:iss_t:evolution_of_software_integration_methods [2024/02/19 08:16] (aktuális) knehez [Native development method] |
||
---|---|---|---|
Sor 1: | Sor 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|}} |
Sor 35: | Sor 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 | ||
Sor 89: | Sor 89: | ||
==== Middleware development method ==== | ==== Middleware development method ==== | ||
+ | |||
+ | {{tanszek:oktatas:informatikai_rendszerek_epitese:jee_fejlesztes.png|}} | ||
+ | |||
+ | 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. [[https://en.wikipedia.org/wiki/List_of_application_servers]] | ||
+ | * famous implementations: Glashfish, Websphere, Weblogic, JBoss, Wildfly | ||
+ | |||
+ | The entire life cycle of applications is managed by middleware. | ||
+ | |||
+ | **Web Container** : managing the life cycle of web components. | ||
+ | |||
+ | **Servlet**: a Java class responsible for standard processing and responses to HTTP requests. Originally responsible for creating dynamic Web content. The generated content is HTML , but more recently JSON. It also includes URL mapping. It was first presented as a concept in 1996! | ||
+ | |||
+ | * Automatically generated servlets can also be created using JSP technology, where the HTML code can also contain Java codes. | ||
+ | * HTTP requests : GET, POST, PUT, DELETE, OPTIONS | ||
+ | |||
+ | <code java> | ||
+ | | ||
+ | public class MyServlet extends HttpServlet{ | ||
+ | | ||
+ | public void doGet(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException | ||
+ | { | ||
+ | res.setContentType("text/html"); | ||
+ | PrintWriter pw=res.getWriter(); | ||
+ | | ||
+ | pw.println("<html><body>"); | ||
+ | pw.println("Hello from servlet"); | ||
+ | pw.println("</body></html>"); | ||
+ | | ||
+ | pw.close(); | ||
+ | } | ||
+ | } | ||
+ | </code> | ||
+ | |||
+ | 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 | ||