| Both sides previous revisionPrevious revisionNext revision | Previous revision |
| tanszek:oktatas:iss_t:lecture_notes [2026/03/16 07:08] – knehez | tanszek:oktatas:iss_t:lecture_notes [2026/03/30 18:25] (current) – [Information Systems Integration and Testing] knehez |
|---|
| ==== Information Systems Integration and Testing ==== | ===== Information Systems Integration and Testing - GEIAL51C-Ma ===== |
| |
| - [[Introduction]] | |
| - [[Software Integration]] | |
| - [[Evolution of Software Integration methods]] | |
| - Basic Point to Point data integration - [[Integration based on TCP/IP Sockets]] | |
| * [[Java example for Blocking and Non-Blocking Socket]] | |
| * [[Python example for Blocking and Non-Blocking Socket]] | |
| * [[Socket Exercises]] | |
| * [[HTTP server]] | |
| - [[Java - Remote Method Invocation]] | |
| * original paper: https://pdos.csail.mit.edu/6.824/papers/waldo-rmi.pdf | |
| * Oracle tutorial: http://docs.oracle.com/javase/tutorial/rmi/index.html | |
| * Java Group chat: [[Group chat]] | |
| * Nodejs group chat: [[Group chat - NodeJs]] | |
| - [[Integration based on RPC Remote Process Call]] | |
| * [[XML-RPC|XML-RPC example]] | |
| - [[Object Request Broker]] - CORBA | |
| - [[Modern Data Integration based on Protocol Buffer]] | |
| - [[gRPC| Google's modern remote procedure call technique]] | |
| - [[JSON-RPC]] JavaScript Object Notation – Remote Procedure Call | |
| - [[REST API]] Representational State Transfer | |
| - [[graphQL integration]] | |
| - [[Docker integration techniques]] | |
| * [[tanszek:oktatas:iss_t:docker|Simple multi container example]] | |
| * [[tanszek:oktatas:iss_t:docker2|Load balancing with haproxy]] | |
| - [[Messaging systems]] | |
| * [[RabbitMQ_simple]] - simple producer and consumer | |
| * [[RabbitMQ]] - more complex example | |
| - [[Web services]] | |
| * [[JAX-WS web service]] | |
| * [[JAX-RS web service]] | |
| - [[Enterprise Service Bus (ESB)]] | |
| |
| | |
| | ===== Module 1. Foundations and Integration Mindset ===== |
| | |
| | These notes establish the terminology, motivation, and architectural background of the course. |
| | |
| | * [[tanszek:oktatas:iss_t:introduction|Introduction]] - Concept page introducing software integration, interface-driven design, data exchange, and testing concerns. |
| | * [[tanszek:oktatas:iss_t:software_integration|Software Integration]] - Core theory page on integration problems, legacy systems, middleware, file-based integration, databases, and integration strategies. |
| | * [[tanszek:oktatas:iss_t:evolution_of_software_integration_methods|Evolution of Software Integration methods]] - Historical and architectural overview showing how integration moved from tightly coupled systems toward middleware and enterprise integration approaches. |
| | * [[tanszek:oktatas:iss_t:12-factors|12-Factor App Methodology]] - Operational design principles for modern service-based systems, deployment, configuration, and runtime behavior. |
| | * [[tanszek:oktatas:iss_t:semantic-versioning|Semantic Versioning]] - Compatibility-focused versioning rules for APIs, components, and evolving systems. |
| | |
| | ===== Module 2. Classical Integration and Low-Level Communication ===== |
| | |
| | This block covers foundational distributed communication techniques and older but historically important integration models. |
| | |
| | * [[tanszek:oktatas:iss_t:object_request_broker|Object Request Broker (CORBA)]] - Classical middleware and distributed object communication with ORB, IDL, and broker-based invocation. |
| | * [[tanszek:oktatas:iss_t:integration_based_on_tcp_ip_sockets|Integration based on TCP/IP Sockets]] - Low-level point-to-point communication and the basic mechanics of network integration. |
| | * [[tanszek:oktatas:iss_t:java_example_for_blocking_and_non-blocking_socket|Java example for Blocking and Non-Blocking Socket]] - Practical Java socket example for synchronous and asynchronous communication patterns. |
| | * [[tanszek:oktatas:iss_t:python_example_for_blocking_and_non-blocking_socket|Python example for Blocking and Non-Blocking Socket]] - Practical Python socket example for blocking and non-blocking communication. |
| | * [[tanszek:oktatas:iss_t:socket_exercises|Socket Exercises]] - Practice tasks for reinforcing socket-based communication. |
| | * [[tanszek:oktatas:iss_t:http_server|HTTP server]] - Example page connecting socket-level understanding with a simple application protocol. |
| | * [[tanszek:oktatas:iss_t:java_-_remote_method_invocation|Java - Remote Method Invocation]] - Java-specific remote invocation model, useful for understanding language-bound distributed calls. |
| | * Original paper: [[https://pdos.csail.mit.edu/archive/6.824-2009/papers/waldo-rmi.pdf|A Note on Distributed Computing]] |
| | * Oracle tutorial: [[http://docs.oracle.com/javase/tutorial/rmi/index.html|Java RMI Tutorial]] |
| | * [[tanszek:oktatas:iss_t:group_chat|Group chat]] - Applied example built around the RMI communication model. |
| | * [[tanszek:oktatas:iss_t:group_chat_-_nodejs|Group chat - NodeJs]] - Comparative communication example using Node.js. |
| | * [[tanszek:oktatas:iss_t:integration_based_on_rpc_remote_process_call|Integration based on RPC Remote Process Call]] - Conceptual transition from raw communication to call-oriented distributed interaction. |
| | * [[tanszek:oktatas:iss_t:xml-rpc|XML-RPC example]] - Structured RPC example using XML-based message exchange. |
| | |
| | ===== Module 3. Modern APIs, Contracts, and Remote Calls ===== |
| | |
| | These topics focus on structured service contracts, modern remote procedure calls, and API-oriented integration. |
| | |
| | * [[tanszek:oktatas:iss_t:modern_data_integration_based_on_protocol_buffer|Modern Data Integration based on Protocol Buffer]] - Schema-driven data exchange and compact cross-language serialization. |
| | * [[tanszek:oktatas:iss_t:grpc|Google's modern remote procedure call technique]] - Modern RPC based on Protocol Buffers and service contracts. |
| | * [[tanszek:oktatas:iss_t:json-rpc|JSON-RPC]] - Lightweight remote procedure calls over JSON, useful for comparing RPC with REST-style APIs. |
| | * [[tanszek:oktatas:iss_t:rest_api|REST API]] - Resource-oriented integration with HTTP methods, representations, and stateless interaction. |
| | * [[tanszek:oktatas:iss_t:graphql_integration|graphQL integration]] - Query-driven API design that lets clients request exactly the data they need. |
| | |
| | ===== Module 4. Deployment and Runtime Integration ===== |
| | |
| | Integration is not only about protocols. It also depends on packaging, deployment, runtime isolation, and service-to-service topology. |
| | |
| | * [[tanszek:oktatas:iss_t:docker_integration_techniques|Docker integration techniques]] - Container-based integration and deployment as a practical runtime foundation. |
| | * [[tanszek:oktatas:iss_t:docker|Simple multi container example]] - Hands-on example of multi-service container composition. |
| | * [[tanszek:oktatas:iss_t:docker2|Load balancing with haproxy]] - Example of scaling and traffic distribution across service instances. |
| | |
| | ===== Module 5. Messaging, Web Services, and Enterprise Integration ===== |
| | |
| | This module moves from direct request-response integration toward asynchronous communication, XML-based service standards, and enterprise-scale middleware patterns. |
| | |
| | * [[tanszek:oktatas:iss_t:messaging_systems|Messaging systems]] - Asynchronous communication, queues, brokers, and message-based decoupling. |
| | * [[tanszek:oktatas:iss_t:rabbitmq_simple|RabbitMQ simple producer and consumer]] - Introductory example of message publishing and consumption. |
| | * [[tanszek:oktatas:iss_t:rabbitmq|RabbitMQ complex example]] - More advanced messaging scenario and message-flow design. |
| | * [[tanszek:oktatas:iss_t:web_services|Web services]] - XML-centered service integration and standards-oriented interoperability. |
| | * [[tanszek:oktatas:iss_t:jax-ws_web_service|JAX-WS web service]] - Java SOAP-style service example. |
| | * [[tanszek:oktatas:iss_t:jax-rs_web_service|JAX-RS web service]] - Java RESTful service implementation example. |
| | * [[tanszek:oktatas:iss_t:enterprise_service_bus_esb|Enterprise Service Bus (ESB)]] - Centralized enterprise integration with routing, transformation, protocol mediation, and QoS concerns. |