Integration case study Week 8 – Lecture 1. Enrolment request (Workstation) Application server Database server Database New University Student Record System.

Slides:



Advertisements
Similar presentations
Message Passing Vs Distributed Objects
Advertisements

Lecture plan Information retrieval (from week 11)
What is RMI? Remote Method Invocation –A true distributed computing application interface for Java, written to provide easy access to objects existing.
Database Architectures and the Web
Copyright © 2001 Qusay H. Mahmoud RMI – Remote Method Invocation Introduction What is RMI? RMI System Architecture How does RMI work? Distributed Garbage.
INF 123 SW ARCH, DIST SYS & INTEROP LECTURE 9 Prof. Crista Lopes.
Advanced Programming Rabie A. Ramadan Lecture 4. A Simple Use of Java Remote Method Invocation (RMI) 2.
Remote Method Invocation
Remote Object Invocation
FONG CHAN SING (143334) WONG YEW JOON (143388). JAVA RMI is a distributive system programming interface introduced in JDK 1.1. A library that allows an.
Middleware Fatemeh Hendijanifard 1 آزمايشگاه سيستم هاي هوشمند (
1 Advanced Programming Topics - II Objectives:  Background  Remoting  Types of remoting  Marshalling  Farmatters  Channels.
Remote Method Invocation Chin-Chih Chang. Java Remote Object Invocation In Java, the object is serialized before being passed as a parameter to an RMI.
Fundamentals, Design, and Implementation, 9/e Chapter 14 JDBC, Java Server Pages, and MySQL.
1. Introducing Java Computing  What is Java Computing?  Why Java Computing?  Enterprise Java Computing  Java and Internet Web Server.
Communication in Distributed Systems –Part 2
Lecture The Client/Server Database Environment
Chapter 2 Database System Concepts and Architecture
1 Web Database Processing. Web Database Applications Static Report Publishing a report is prepared from a database application and exported to HTML DB.
Database System Concepts and Architecture Lecture # 3 22 June 2012 National University of Computer and Emerging Sciences.
Beyond DHTML So far we have seen and used: CGI programs (using Perl ) and SSI on server side Java Script, VB Script, CSS and DOM on client side. For some.
Lecture On Database Analysis and Design By- Jesmin Akhter Lecturer, IIT, Jahangirnagar University.
Database Programming in Java Corresponds with Chapter 32, 33.
Introduction to distributed systems Dr. S. Indran 23 January 2004.
M1G Introduction to Database Development 6. Building Applications.
1 HKU CSIS DB Seminar: HKU CSIS DB Seminar: Web Services Oriented Data Processing and Integration Speaker: Eric Lo.
Enterprise Java Beans Java for the Enterprise Server-based platform for Enterprise Applications Designed for “medium-to-large scale business, enterprise-wide.
CS 390- Unix Programming Environment CS 390 Unix Programming Environment Topics to be covered: Distributed Computing Fundamentals.
Mainframe (Host) - Communications - User Interface - Business Logic - DBMS - Operating System - Storage (DB Files) Terminal (Display/Keyboard) Terminal.
1 1 EPCC 2 Curtin Business School & Edinburgh University Management School Michael J. Jackson 1 Ashley D. Lloyd 2 Terence M. Sloan 1 Enabling Access to.
RMI Remote Method Invocation Distributed Object-based System and RPC Together 2-Jun-16.
 Remote Method Invocation  A true distributed computing application interface for Java, written to provide easy access to objects existing on remote.
Types/Levels of Integration Chao-Hsien Chu, Ph.D. School of Information Sciences and Technology The Pennsylvania State University Presentation Data Functional.
Additional Topics. DDM Distributed Data Management files [ Type(*File) and Attr(DDMF)] –objects that represent files that exist on a remote system. For.
UNIT III - JDBC JDBC Overview – JDBC implementation – Connection class – Statements - Catching Database Results, handling database Queries. Networking–
DATABASE CONNECTIVITY TO MYSQL. Introduction =>A real life application needs to manipulate data stored in a Database. =>A database is a collection of.
Remote Method Invocation by James Hunt, Joel Dominic, and Adam Mcculloch.
Lecture 4 Mechanisms & Kernel for NOSs. Mechanisms for Network Operating Systems  Network operating systems provide three basic mechanisms that support.
ViaSQL Technical Overview. Viaserv, Inc. 2 ViaSQL Support for S/390 n Originally a VSE product n OS/390 version released in 1999 n Identical features.
.NET Mobile Application Development XML Web Services.
Remote Method Invocation A Client Server Approach.
Distributed Computing & Embedded Systems Chapter 4: Remote Method Invocation Dr. Umair Ali Khan.
IT 5433 LM1. Learning Objectives Understand key terms in database Explain file processing systems List parts of a database environment Explain types of.
ISC321 Database Systems I Chapter 2: Overview of Database Languages and Architectures Fall 2015 Dr. Abdullah Almutairi.
Topic 4: Distributed Objects Dr. Ayman Srour Faculty of Applied Engineering and Urban Planning University of Palestine.
Remote Method Invocation Internet Computing Workshop Lecture 17.
Java Distributed Computing
ODBC, OCCI and JDBC overview
Distributed Computing
Web Technologies IT230 Dr Mohamed Habib.
Chapter 2 Database System Concepts and Architecture
Database System Concepts and Architecture
Java Distributed Computing
Java Remote Method Invocation (RMI)
MCA – 405 Elective –I (A) Java Programming & Technology
Remote Method Invocation
What is RMI? Remote Method Invocation
Remote Method Invocation
#01 Client/Server Computing
Network and Distributed Programming in Java
Lecture 4: RPC Remote Procedure Call Coulouris et al: Chapter 5
CSE 451: Operating Systems Autumn 2003 Lecture 16 RPC
Inventory of Distributed Computing Concepts
Lecture 4: RPC Remote Procedure Call CDK: Chapter 5
Bond-Jini Interoperability
WebServices Using JAX-RPC
Java Remote Method Invocation
CSE 451: Operating Systems Winter 2003 Lecture 16 RPC
#01 Client/Server Computing
Presentation transcript:

Integration case study Week 8 – Lecture 1

Enrolment request (Workstation) Application server Database server Database New University Student Record System (all servers are on separate hosts) IT School Marking system Application

Some background The SRS –Is written in Java, –The DBMS is Oracle –There is only one application server host and one database server host –It is not a WEB based system The IT School marking system –Is written in C –The DBMS is Sybase

A student enrolling in a new subject will effect the following steps 1.The student will enter his/her SID and the unit code he or she wants to enrol in. 2.The Enrolment request process, will send a message to the Enrolment process 3.The Enrolment process will access the Database to ensure –The SID is valid –The student is permitted to take this course 4.The Enrolment process will now –Instruct the Database server to update the database –Confirm the change to the Enrolment request process –Advise the IT School marking system of the addition.

How does the Enrolment request process, send a message to the Enrolment process? By RMI (Remote Method Invocation) Note that J2EE offers other alternative approaches. It constructs a message along the following lines enrolment.add ( ,ISYS2007) Note this is written as if the process was local. The message is passed to a stub process on the same client host. (This stub was created by the RMI compile process.) The stub collect the arguments, and accesses the registry to obtain the address of the server containing the remote process and the port number of that process The stub process then sends the message on to the skeleton process on the server via the transport/network etc layers of the network architecture. That skeleton then passes the message to the server process. Because both client and server processes are Java, any incompatibility of data types due to the host hardware is handled by the Java Virtual Machines on both hosts.

How does the Enrolment process find and access the database? Via JDBC and SQL We know that the primary language for accessing a RDBMS is via SQL However we also need to –Establish a connection with the actual instance of the database we want to access. –Provide the interface between our process on the application server host and the DBMS process on the Database server host –This is carried out by the JDBC driver but initiated by the Java code in the Enrolment process – we can hard code the URL of the database, but that is inflexible We can now create and execute SQL within our Java code and pass it to JDBC JDBC in turn uses the network layers to pass messages containing the SQL to the DBMS and return the result sets.

Enrolment request (Workstation) Enrolment Process SQL processor Database RMI Stub Network stack JMI Skeleton Network stack JDBC driver Network stack JDBC interface Registry Contains the URL for the process we need to invoke In this example the process holds the URL of the instance of the database to be accessed

How does the SRS pass new enrolments to the IT School marking system? We have a number of options, here are some –Write a record to an interface file which can then be picked up from a predetermined directory and processed by the marking system in batch mode –The SRS enrolment process could update the Marking system database directly using ODBC –The SRS process could invoke a process in the Marking system to get it to update the Marking system database. –The SRS could publish changes of any type to its database and allow other authorised systems to subscribe i.e. each system could select the changes it was interested in and process them against its database

Write a record to an interface file which can then be picked up from a predetermined directory and processed by the marking system in batch mode. Easy to implement No transactional integrity - asynchronous The Marking system has to make any data transformations e.g. to take off the first two digits of the SID Any change in the interface requires both systems to change programs Enrolment process Database server Database Marking system Interface file ,BIT,Add,ISYS ,BSc,Delete,INFO ,BCST,Add,SOFT1000 etc

The SRS enrolment process could update the Marking system database directly using ODBC, or the SRS process could invoke a process in the Marking system to get it to update the Marking system database. Transaction integrity - synchronous High degree of integration – maybe central IT group does not want that responsibility. Places restrictions on what the IT school does with its marking system. Data transformations more difficult. Enrolment process Database server Database (Oracle) Database (Sybase) Marking system Database server JDBC ODBC

The SRS could publish changes of any type to its database and allow other authorised systems to subscribe i.e. each system could select the changes it was interested in and process them against its database Standard IDL (XML) – Published structure - Schema Asynchronous Only required fields need be selected by the Marking system - XSLT Changes can be made to published interface without changes having to be made to Marking system (as long as elements the marking system needs are not removed) Connectors carry out transformations. These include procedural code as well as executing XSLT Enrolment process Database server Database (Oracle) Database (Sybase) Marking system BIT add ISYS2007 Connector