Subject: Distributed Programming - Java Platforms	Code: MI028	

Semester	 Hours: C+S+L	Type	 Section	
6	2+0+1	optional	Computer Science	
6	2+0+1	optional	Mathematics-Computer Science	

Teaching Staff in Charge	Prof. BOIAN Florian Mircea, Ph.D., florin@cs.ubbcluj.ro
Asist. STERCA Adrian Ioan, forest@cs.ubbcluj.ro
Asist. COBARZAN Claudiu, claudiu@cs.ubbcluj.ro	
Aims	Learning by the students the fundamental, low and middle level, technologies for implement distributed applications. All these technologies are Java based, especially by j2sdk1.4.0 şi j2sdkee1.4 distridutions. Them are directly used in little and medium distributed applications. The middleware - high level - technologies use these technologies in them	
Content	1 Java compendium
      1.1 Main characteristics
      1.2 First exemples
      1.3 Java presentation by comparing with C and C++
      1.4 Exceptions
      1.5 Java interfaces
      1.6 Symple programms
2 Locale I/O; java.io package, JDBC:ODBC gate , Mailer class
      2.1 Stream access and random access
      2.2 FIle system management: File class
      2.3 Inputs and outputs
      2.4 Programms using I/O operations
      2.5 The gate JDBC:ODBC for some kinds of data bases access
      2.6 Electronic mail send: the class Mailer
3 Java threads
      3.1 External processes start from Java
      3.2 Java threads
      3.3 Programs using Java threads
4 Java communications with socket
      4.1 The java.net package
      4.2 InetAddress class
      4.3 Send and receive with UDP
      4.4 TCP communications
      4.5 Simple TCP examples
      4.6 Access to Internet resources by URL
      4.7 Communications using CGI and URLConnection
5 Remote Method Invocations
      5.1 RMI scene with one example
      5.2 Inside of RMI
      5.3 RMI with activation
      5.4 The "Note" (Marks) disrributed application using RMI
6 Java servlet technology
      6.1 The servlet concept
      6.2 Servlet containers
      6.3 Compilers a sourse servlet 
      6.4 First servlet examples
      6.5 Servlet versus CGI
      6.6 Specific servlet facilities
      6.7 Few complex examples
7 Java Server Pages (JSP)
      7.1 Introduction
      7.2 HTML static text and comments
      7.3 JSP tags
      7.4 Using beans in JSP	
Selective References	1. ATHANASIU I., Limbajul Java, Editura Computer Libris Agora, Cluj, 1998
2. BOIAN F.M., FERDEAN C. M., BOIAN R.F. DRAGOS R.C. Programare concurenta pe platforme Unix, Windows, Editura Albastra - grupul Microinformatica, Cluj, 2002
3. BOIAN F.M., Programare distribuita în Internet; metode si aplicatii, Editura Albastra, Cluj, 1998 
4. DARWIN I. Java CookBook, O' Reilly, 2001
5. GEARY D.M. Advanced Java Server Pages, O'Reilly, 2001
6. HUNTER J. Java Servlet Programming O'Reilly, 1998
7. KURNIAWAN B. Java for the Web with Servlet, JSP, and EJB: A Developer's Guide to J2EE Solutions. Wrox press, 2003
8. NEWARD T. Server Based Java Programming, O'Reilly, 2000
9. *** http://java.sun.com/docs/guide/net/index.html
10. *** http://java.sun.com/docs/guide/rmi/index.html	
Assessment	A compulsory application exam on finish of the semester. The mark is a mean between:
- the application exam mark 65%;
- the semester activity: quality of programms, documentations etc. 35%