Review IS 313 6.5.2003. Overview: Data  Inside the application Collections  Outside the application Database XML  Getting/displaying Swing  Communicating.

Slides:



Advertisements
Similar presentations
Connecting to Databases. relational databases tables and relations accessed using SQL database -specific functionality –transaction processing commit.
Advertisements

Copyright © 2001 Qusay H. Mahmoud RMI – Remote Method Invocation Introduction What is RMI? RMI System Architecture How does RMI work? Distributed Garbage.
GridRPC Sources / Credits: IRISA/IFSIC IRISA/INRIA Thierry Priol et. al papers.
Implementing Remote Procedure Calls Andrew Birrell and Bruce Nelson Presented by Kai Cong.
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 13 Introduction to SQL Programming Techniques.
Satzinger, Jackson, and Burd Object-Orieneted Analysis & Design
COMS S1007 Object-Oriented Programming and Design in Java August 7, 2007.
Integration case study Week 8 – Lecture 1. Enrolment request (Workstation) Application server Database server Database New University Student Record System.
© Lethbridge/Laganière 2001 Chap. 3: Basing Development on Reusable Technology 1 Let’s get started. Let’s start by selecting an architecture from among.
1 Object Oriented Design & Patterns Part 1. 2 Design Patterns Derived from architectural patterns: –rules for design of buildings –describe common problems,
3D Object Retrieval Client-Server Project
Networking with Java CSc 335 Object-Oriented Programming and Design Spring 2009.
Windows.Net Programming Series Preview. Course Schedule CourseDate Microsoft.Net Fundamentals 01/13/2014 Microsoft Windows/Web Fundamentals 01/20/2014.
1 Section 6 Embedded SQL. 6-2 CA306 Embedded SQL Section Content 6.1Embedded SQL 6.2Java Database Connectivity 6.3Web Databases.
Networking Nasrullah. Input stream Most clients will use input streams that read data from the file system (FileInputStream), the network (getInputStream()/getInputStream()),
Getting connected.  Java application calls the JDBC library.  JDBC loads a driver which talks to the database.  We can change database engines without.
Advanced Java New York University School of Continuing and Professional Studies.
CSCI 6962: Server-side Design and Programming JDBC Database Programming.
VS.NET Syllabus By Peter Huang.
Design Patterns and Graphical User Interfaces Horstmann ,
Introduction to distributed systems Dr. S. Indran 23 January 2004.
J2EE Structure & Definitions Catie Welsh CSE 432
Learning objectives By the end of this lecture you should be able to:  have a well-earned rest! Ch 24 Beyond the second semester.
CS4273: Distributed System Technologies and Programming Lecture 13: Review.
Object Oriented Programming Ders 11: Interfaces Mustafa Emre İlal
CIS 644 Aug. 25, 1999 tour of Java. First … about the media lectures… we are experimenting with the media format please give feedback.
Java Programming: Advanced Topics 1 Common Elements of Graphical User Interfaces Chapter 6.
LAB 1CSIS04021 Briefing on Assignment One & RMI Programming February 13, 2007.
WEB BASED DATA TRANSFORMATION USING XML, JAVA Group members: Darius Balarashti & Matt Smith.
Spring/2002 Distributed Software Engineering C:\unocourses\4350\slides\DefiningThreads 1 RMI.
GUIs in Java Swing, Events CS2110, SW Development Methods Readings: MSD, Chapter 12 Lab Exercise.
Distributed Programming CSCI 201L Jeffrey Miller, Ph.D. HTTP :// WWW - SCF. USC. EDU /~ CSCI 201 USC CSCI 201L.
Client Call Back Client Call Back is useful for multiple clients to keep up to date about changes on the server Example: One auction server and several.
Java Database Connectivity. Java and the database Database is used to store data. It is also known as persistent storage as the data is stored and can.
An Introduction to Programming and Object Oriented Design using Java 3 rd Edition. Dec 2007 Jaime Niño Frederick Hosch Chapter 18 Integrating user interface.
SWING 101. IF YOU GET LOST - IMPORTANT LINKS  Swing articles:
User Interface Android GUI Tool OpenGL API XML Writer Optimized Layout Algorithm WPF Component Inter.
JSTL The JavaServer Pages Standard Tag Library (JSTL) is a collection of useful JSP tags which encapsulates core functionality common to many JSP applications.
Design Patterns CSIS 3701: Advanced Object Oriented Programming.
Li Tak Sing COMPS311F. RMI callbacks In previous example, only the client can initiate a communication with the server. The server can only response to.
Field Trip #25 Creating a Client/Server By Keith Lynn.
Threads II IS Outline  Quiz  Thread review  Stopping a thread  java.util.Timer  Swing threads javax.swing.Timer  ProgressMonitor.
UNIT III - JDBC JDBC Overview – JDBC implementation – Connection class – Statements - Catching Database Results, handling database Queries. Networking–
JAVA BEANS JSP - Standard Tag Library (JSTL) JAVA Enterprise Edition.
© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3 JSP Application Models.
CSI 3125, Preliminaries, page 1 SERVLET. CSI 3125, Preliminaries, page 2 SERVLET A servlet is a server-side software program, written in Java code, that.
CSC Multiprocessor Programming, Spring, 2011 Chapter 9 – GUI Applications Dr. Dale E. Parson, week 11.
Preface IIntroduction Objectives I-2 Course Overview I-3 1Oracle Application Development Framework Objectives 1-2 J2EE Platform 1-3 Benefits of the J2EE.
Basics of JDBC Session 14.
Java Programming: Advanced Topics 1 Enterprise JavaBeans Chapter 14.
Test Postmortem Dennis Burford
Swing Threading Nested Classes COMP 401 Fall 2014 Lecture 23 11/25/2014.
JavaScript Introduction and Background. 2 Web languages Three formal languages HTML JavaScript CSS Three different tasks Document description Client-side.
Copyright 2007, Information Builders. Slide 1 iWay Web Services and WebFOCUS Consumption Michael Florkowski Information Builders.
Interstage BPM v11.2 1Copyright © 2010 FUJITSU LIMITED INTERSTAGE BPM ARCHITECTURE BPMS.
Lecture 9:FXML and Useful Java Collections Michael Hsu CSULA.
Integrating and Extending Workflow 8 AA301 Carl Sykes Ed Heaney.
Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe.
Threads and Swing Multithreading. Contents I. Simulation on Inserting and Removing Items in a Combo Box II. Event Dispatch Thread III. Rules for Running.
Java Distributed Computing
CompSci 280 S Introduction to Software Development
Distributed Computing
Reflection API, JDBC, Hibernate, RMI
Java Distributed Computing
Lecture 28 Concurrent, Responsive GUIs
#01 Client/Server Computing
Threads II IS
Programming in Java Text Books :
Knowledge Byte In this section, you will learn about:
#01 Client/Server Computing
Presentation transcript:

Review IS

Overview: Data  Inside the application Collections  Outside the application Database XML  Getting/displaying Swing  Communicating over the network Sockets RMI

Overview: Architecture  Inside the application Collections  Inside the enterprise Database  Interface to the user Swing  Systems integration Sockets RMI

Process  5 topics  For each a) what (I think) you should know b) what (I think) you should be able to do  If there are no questions assume I’m right about (a) and (b) next topic

Collections: Knowledge I  Framework Collection List Set Map Iterator  Interface / Implementation distinction  Implementations ArrayList HashSet, HashMap TreeSet, TreeMap

Collections: Knowledge II  Sorting Comparable Comparator  Map collections keySet() values() entrySet()  Encapsulation strategy for making task-specific collection objects

Collections: Skills  Write iteration loops through collections using an Iterator for style while style  Write a Comparator class  Implement the Comparable interface  Write a class that encapsulates a Collection

JDBC: Knowledge I  Framework Connection Statement ResultSet PreparedStatement  Factory pattern  Prepared statements Parameterized SQL setXXX to set parameter values

JDBC: Knowledge II  Updatable ResultSet How to create To modify data  updateXXX  updateRow To insert data  moveToInsertRow  updateXXX  insertRow

JDBC: Knowledge III  Transactions The purpose of transactions AutoCommit commit rollback

JDBC: Skills  Write code to execute an update query doesn’t return result set  Write code to execute an ordinary query  Write code to iterate through a ResultSet  Write code to modify database using a updatable ResultSet  Write code to query database using a PreparedStatement  Write code to update database using transactions

Swing: Knowledge I  Components JFrame JDialog JPanel JScrollPane JTable  Containment hierarchy of components

Swing: Knowledge II  Layout Management FlowLayout BorderLayout BoxLayout GridLayout  Model-view-controller pattern TableModel

Swing: Knowledge III  Event handling internals: event handling thread publish / subscribe pattern Listener interfaces  ActionListener  MouseListener Adapter classes  MouseAdapter Anonymous class  external reference

Swing: Skills  From interface sketch identify components create containment hierarchy select layout management for each intermediate component  Write an event handler using anonymous class  Given a data structure write a TableModel to display it

Threads: Knowledge I  Thread class run method Lifecycle  New  Runnable  Running  Non-runnable  Dead  Runnable interface

Threads: Knowledge II  Resource conflict why this happens sychronized methods  Thread communication why this is a problem wait () / notify ()  Stopping threads interrupt termination variable close file or socket

Threads: Knowledge III  Timers java.util.Timer  Runnable object scheduled on timer thread javax.swing.Timer  ActionListener handled on event handling thread  Swing non-thread-safe nature of Swing components need for invokeLater

Threads: Skills  Write code for thread termination  Write a thread class and code that invokes it  Write a Swing timer for a periodic UI task

Sockets: Knowledge I  Client/server applications  Protocol system of interacting messages  Socket two-way data stream  Java sockets Socket ServerSocket

Sockets: Knowledge II  ServerSocket accept() accept returns Socket  Socket create = connect  Multi-threaded server Why

Socket: Skills  Write run loop for multi-threaded server  Write protocol handling code

RMI: Knowledge I  Framework Remote interface Remote object Server program Client program RMI Registry  Serialization why it is necessary how to achieve

RMI: Knowledge II  Stub RMI Compilation  Activation alternative to server program

RMI: Skills  Make a class Serializable  Write a remote object  Write a server program  Write an RMI client

XML: Knowledge  XML standard language definition syntax conventions benefits  XML APIs in Java DOM representation  Node, Element, Text, and NodeList SAX events  start/endDocument, start/endElement, characters

XML: Skills  Write code to load a XML document as DOM  Write code to traverse DOM representation to specific element  Write code to process SAX events

Final Exam  Wednesday, 6/11, 11:45-2:00 pm