Enterprise Java. Where, How, When (and When Not) to Apply Java in Client/Server Business Environments. Jeffrey Savit Sean Wilcox Bhuvana Jayaraman



Similar documents
An Overview of Java. overview-1

An Introduction to Object-Oriented Programming with

JAVA 2 Network Security

Oracle8/ SQLJ Programming

Java Application Developer Certificate Program Competencies

Fundamentals of Java Programming

INTRODUCTION TO JAVA PROGRAMMING LANGUAGE

Mobile Application Languages XML, Java, J2ME and JavaCard Lesson 04 Java

Applets, RMI, JDBC Exam Review

Java the UML Way: Integrating Object-Oriented Design and Programming

Web Development in Java

Elements of Advanced Java Programming

Oracle Backup & Recovery

What Is the Java TM 2 Platform, Enterprise Edition?

Agent Languages. Overview. Requirements. Java. Tcl/Tk. Telescript. Evaluation. Artificial Intelligence Intelligent Agents

Syllabus for CS 134 Java Programming

Java Thin-Client Programming for a Network Computing Environment

Japan Communication India Skill Development Center

Java (12 Weeks) Introduction to Java Programming Language

1. Overview of the Java Language

Java-technology based projects

Computing Concepts with Java Essentials

S y s t e m A r c h i t e c t u r e

Java SE 7 Programming

Java SE 7 Programming

Windows Sockets Network Programming

Computer Information Systems (CIS)

Abstract. Introduction. Web Technology and Thin Clients. What s New in Java Version 1.1

Chapter 1 Fundamentals of Java Programming

DEVELOPING MULTITHREADED DATABASE APPLICATION USING JAVA TOOLS AND ORACLE DATABASE MANAGEMENT SYSTEM IN INTRANET ENVIRONMENT

Section 1.4. Java s Magic: Bytecode, Java Virtual Machine, JIT,

System Architecture V3.2. Last Update: August 2015

core. Volume I - Fundamentals Seventh Edition Sun Microsystems Press A Prentice Hall Title ULB Darmstadt

JAVA. EXAMPLES IN A NUTSHELL. O'REILLY 4 Beijing Cambridge Farnham Koln Paris Sebastopol Taipei Tokyo. Third Edition.

Implementing Java Distributed Objects with JDBC

SOFT 437. Software Performance Analysis. Ch 5:Web Applications and Other Distributed Systems

Java SE 7 Programming

Characteristics of Java (Optional) Y. Daniel Liang Supplement for Introduction to Java Programming

How To Use A Sas Server On A Java Computer Or A Java.Net Computer (Sas) On A Microsoft Microsoft Server (Sasa) On An Ipo (Sauge) Or A Microsas (Sask

Japan Communication India Skill Development Center

CS 209 Programming in Java #1

Contents. Client-server and multi-tier architectures. The Java 2 Enterprise Edition (J2EE) platform

2 Introduction to Java. Introduction to Programming 1 1

Java 7 Recipes. Freddy Guime. vk» (,\['«** g!p#« Carl Dea. Josh Juneau. John O'Conner

IT6503 WEB PROGRAMMING. Unit-I

DB2 Connect for NT and the Microsoft Windows NT Load Balancing Service

Java applets. SwIG Jing He

JAVA IN A NUTSHELL O'REILLY. David Flanagan. Fifth Edition. Beijing Cambridge Farnham Köln Sebastopol Tokyo

The Data Access Handbook

Building Java Servlets with Oracle JDeveloper

CSC 551: Web Programming. Spring 2004

Courses Breakdown. Technical Web Development

WebLogic Server 11g Administration Handbook

Detailed Table of Contents

JAVA r VOLUME II-ADVANCED FEATURES. e^i v it;

Client/server is a network architecture that divides functions into client and server

Architecture Design For Web-based Application Systems. Instructor: Dr. Jerry Gao Class: CMPE296U

RARITAN VALLEY COMMUNITY COLLEGE ACADEMIC COURSE OUTLINE. CISY 105 Foundations of Computer Science

TYLER JUNIOR COLLEGE School of Continuing Studies 1530 SSW Loop 323 Tyler, TX

Japan Communication India Skill Development Center

3-Tier Architecture. 3-Tier Architecture. Prepared By. Channu Kambalyal. Page 1 of 19

FileMaker 14. ODBC and JDBC Guide

Programming Languages

DEC Networks and Architectures

HOW TO CONFIGURE PASS-THRU PROXY FOR ORACLE APPLICATIONS

Java and J2EE (SCJA Exam CX ) 50 Cragwood Rd, Suite 350 South Plainfield, NJ 07080

FileMaker 11. ODBC and JDBC Guide

Efficiency of Web Based SAX XML Distributed Processing

Socket = an interface connection between two (dissimilar) pipes. OS provides this API to connect applications to networks. home.comcast.

Java 6 'th. Concepts INTERNATIONAL STUDENT VERSION. edition

CSE 452: Programming Languages. Acknowledgements. Contents. Java and its Evolution

Java SE 8 Programming

Java Server Programming: Principles and Technologies. Subrahmanyam Allamaraju, Ph.D.

A Performance Comparison of Web Development Technologies to Distribute Multimedia across an Intranet

How to Configure Informix Connect and ODBC

PG DAC. Syllabus. Content. Eligibility Criteria

EVALUATION OF SERVER-SIDE TECHNOLOGY FOR WEB DEPLOYMENT

Version Overview. Business value

Free Java textbook available online. Introduction to the Java programming language. Compilation. A simple java program

An Oracle White Paper October Frequently Asked Questions for Oracle Forms 11g

Tuning WebSphere Application Server ND 7.0. Royal Cyber Inc.

Free Java textbook available online. Introduction to the Java programming language. Compilation. A simple java program

Data Sheet VISUAL COBOL WHAT S NEW? COBOL JVM. Java Application Servers. Web Tools Platform PERFORMANCE. Web Services and JSP Tutorials

DIPLOMADO DE JAVA - OCA

Web Development with TIBCO General Interface

The Sun Certified Associate for the Java Platform, Standard Edition, Exam Version 1.0

ADVANCED COMPUTER ARCHITECTURE: Parallelism, Scalability, Programmability

OPERATING SYSTEMS Internais and Design Principles

Course Description for the Bachelors Degree in Library and Information Science

Building and Managing

COM 440 Distributed Systems Project List Summary

Restraining Execution Environments

EJB & J2EE. Component Technology with thanks to Jim Dowling. Components. Problems with Previous Paradigms. What EJB Accomplishes

What is ODBC? Database Connectivity ODBC, JDBC and SQLJ. ODBC Architecture. More on ODBC. JDBC vs ODBC. What is JDBC?

Transcription:

Enterprise Java Where, How, When (and When Not) to Apply Java in Client/Server Business Environments Jeffrey Savit Sean Wilcox Bhuvana Jayaraman McGraw-Hill j New York San Francisco Washington, D.C. Auckland I Bogota Caracas Lisbon London Madrid Mexico City I Milan Montreal New Delhi San J u a n Singapore j Sydney Tokyo Toronto

CONTENTS Preface XIII Chapter 1 Revolutions Leading to Java The Promise of a Networked Computer Computing Before the Web Impersonal Computing Personal Computing Computing in the Home Evolution of Personal Computing to LANs Distributed Client/Server Computing Limitations of the First Wave of Client/Server Applications UNIX, TCP/IP, and the Birth of the Internet Protocols for the World Network Internet Before the Web 2 3 3 4 5 6 6 9 11 12 13 Chapter 2 The World Wide Web The Web's Birth Moving Past Publishing - Web Client/Server Limitations of the Web Model Control of the Screen, Keyboard, and Mouse Pull Technology Security Transaction State Connectionless Connections Very Thin Clients Reasons to Brew Java 15 16 18 20 21 21 22 22 23 24 24 Chapter 3 Java, the Next Step in Network Computing Java Orientation Language Evolution for Modern Computing Java Features 25 27 27 29 Chapter 4 Basic Java Components The Java Development Kit (JDK) Downloading and Installing the JDK JDK Installation on Windows 33 34 35 35

JDK Installation on UNIX 37 Adjust Environmental Variables 38 Network Installation 39 JDK Compatibility 39 What's in the JDK 40 javac, The Java Compiler 40 The Java Interpreter, Java 42 The Java Runtime Environment, jre 43 The Appletviewer 44 The Java Debugger, jab 44 The Java Virtual Machine 46 Other Ways To Run Java 46 JDK Summary 49 Java Language Basics 51 Java Program Organization 52 Java Applications 52 Java Applets 55 Statements 57 Block Statements 58 Control Statements 58 The if-eise Statement 59 The switch Statement 60 The for Statement 61 The while Statement 62 The do-while Statement 62 try and catch 63 Data Types 63 Primitive Data Types 64 Type Conversions 66 Reference Data Types 67 Java Memory Management 69 Expressions 73 Operators 73 Arithmetic Operators 74 Autoincrement and Autodecrement 75 Bitwise Operators 75 Assignment 76 Relational Operators 77 Boolean Operators 77

VII Chapter 6 Object-Oriented Programming in Java 79 What Is Object-Oriented Programming? A Universe of Classes and Objects Classes and Objects in Programming Defining a Class Creating an Object [Using the new Keyword) Variables and Methods Instance and Class Variables Instance and Class Methods Accessing Variable and Methods A Simulation Example The Four Vowels of Object-Oriented Conceptsa, e, i, and o Abstraction Encapsulation Inheritance Overriding An Object-Oriented First Step A Simulation Program Single versus Multiple Inheritance Interfaces Packages 80 81 82 82 83 84 84 85 85 86 87 87 88 89 90 91 91 96 97 98 Chapter 7 The Java 1.1 API and Event-Handling Model 101 The Java Toolbox 102 Java.lang 102 Wrapper Classes 102 Java.lang.String and StringBuffer 104 j ava.lang.thread 105 java.util 106 java.awt 107 Graphical Components 109 j ava.i o 110 The File Class 111 Random Access Files 112 Buffered I/O 112 The Java 1.1 Event-Handling Model 114 Java's Previous Event-Handling Model 115 The Java 1.1 Delegation Model 116

Sources of Events 117 Event Listeners 117 Event Types 118 Delegation Model Example 119 Caveats Regarding the 1.1 Java Developer's Kit 122 Chapter 8 The Java Process Model Multiprogramming Definitions Threads: The Fabric of Java Extending the Thread Class Implementing the Runnable Interface Safe Parallelism Thread Priorities and the JVM Scheduler Threadgroups The ThreadBaker The LazyThread Class The addpressedo Method The deletepressedo Method Threads That Share Resources ThreadBaker2 - The Shared Resource Version 123 125 125 126 127 129 132 133 133 134 135 136 138 139 Chapter 9 Java Integrated Development Environments 143 IDE Advantages and Disadvantages 144 Symantec Cafe and Visual Cafe 144 Creating a Java Applet with Cafe 145 Debugging with Symantec Cafe 150 Microsoft Visual J++ 1.0 152 Creating a Java Program with Visual J++ 152 Debugging with Visual J++ 157 IBM's VisualAge for Java 158 Sun's Java Workshop 159 Chapter 10 Java for Net-Centric Programming Working with URLs Absolute and Relative URLs URLs and Exception Handling Parsing URLs URL Connection Reading and Writing URLs 165 166 166 167 168 168 170

IX Sockets Implementing a TCP Client Program Implementing a TCP Server Program Supporting Multiple Clients Datagrams - Implementing a Client Program Implementing a Datagram Server Program Servlets Servlets Compared to Other Technologies Java Server-Side Framework and Architecture Servlet Security and Access Rights Servlet Applications 172 173 175 177 178 179 180 181 182 183 183 Chapter 11 A Test Drive with Java A Learning Exercise - A Simple Drawing Applet Intraday Stock Charting Summary of Techniques in IChart Java Telephone Directory Client 189 190 193 201 202 Chapter 12 Java Database Connectivity JDBC JDBC Overview JDBC and ODBC JDBC URLs API Overview The DriverManager Class Driver Types Connection Class Statement Class Statement Object PreparedStatement Object CallableStatement Object ResultSet Object SQLException Object JSQL 209 210 210 210 212 212 217 217 218 219 225 227 231 234 235 Chapter 13 Beyond Basic Java Java Generic Library JGL) Containers JGL Algorithms JGL Function Objects JGL Iterators 239 240 240 244 245 247

NetRexx NetRexx Merges Rexx and Java NetRexx Type and Name System Using NetRexx Other NetRexx Features Decimal Arithmetic for Commercial Applications 251 252 253 254 257 260 Chapter 14 Advanced Java Client/Server Marimba's Castanet System Castanet System Castanet Outlook Java Beans JavaBeans and CORBA JavaBeans and ActiveX Component Object Model (COM) Comparing JavaBeans and ActiveX Choosing between JavaBeans and ActiveX Java Remote Method Invocation (RMI) RMI Architecture RMI Implementation Java Platform for the Enterprise Java Enterprise System Management Services Java Enterprise Application Services Enterprise JavaBeans 265 266 266 268 268 269 270 271 272 275 275 276 277 282 283 283 284 Chapter 15 Java Security 287 The World Became More Difficult 288 Applets That Go Bump in the Night and Other Risks 288 Types of Threats 289 Applet Security 289 Java Security Implementation 291 Java Language Safety 292 The Class Loader 293 The Byte-Code Verifier 294 The Security Manager 296 Breaches in Java Security 297 Forged E-mail 299 Denial of Service and Antagonism 300 Managing Applet Security 300 Safe Java at Home 300

XI Eating Out - Java Obtained over the Internet Stay on Top of Security News Theft of Intellectual Property Cryptographic Security for Electronic Commerce Crytography Concepts Java Security API What the Security API Provides Signed Applets Using JAR Files 301 302 302 304 306 308 309 309 Chapter 16 The Network Computer a Java Machine Reducing the Cost of Computing Sun's JavaStation and IMetra J JavaOS Other Network Computers IBM's Network Station Oracle's NCI Subsidiary Microsoft's Response to the NC What Is an NC After All? What's Old Is New Again Internet Appliances Interpreted Execution Performance Sun's picojava I How Fast, Did You Ask? Obstacles to the NC 317 319 320 321 323 323 323 323 324 324 325 325 326 327 328 Chapter 17 Conclusions: Java for Enterprise Computing 331 Java Limitations 332 Java and Requirements for IS Providers 335 Index 339