Jaeki Song ISQS6337 JAVA Lecture 16 Other Issues in Java.

25
ISQS6337 JAVA Jaeki Song Lecture 16 Other Issues in Java

Transcript of Jaeki Song ISQS6337 JAVA Lecture 16 Other Issues in Java.

Page 1: Jaeki Song ISQS6337 JAVA Lecture 16 Other Issues in Java.

ISQS6337 JAVA

Jaeki Song

Lecture 16Other Issues in Java

Page 2: Jaeki Song ISQS6337 JAVA Lecture 16 Other Issues in Java.

ISQS6337 JAVA

Jaeki Song

Outline

• Case study– Financial institution

• Java Wallet

• Rapid Development

• RMI

Page 3: Jaeki Song ISQS6337 JAVA Lecture 16 Other Issues in Java.

ISQS6337 JAVA

Jaeki Song

Java and Business Perspective

• Competitive forces in financial institution to adopt new technology– Increasing high fixed cost– Generating high-margin revenues and

lowering costs of providing services• The need for improved technology• The availability of standard payment protocols• The system reliability for 24 X 7 operations• The flexibility of the platform to absorb new

capabilities

Page 4: Jaeki Song ISQS6337 JAVA Lecture 16 Other Issues in Java.

ISQS6337 JAVA

Jaeki Song

Evolution of Technology

1966 1976 1986 1996

Back office TellerDesk top

ATMs Off-siteinterface

• Banks were among the earliest pioneers to apply computing technology to their business

Page 5: Jaeki Song ISQS6337 JAVA Lecture 16 Other Issues in Java.

ISQS6337 JAVA

Jaeki Song

Technology Needs of the Financial Service

• Major issues– Open systems

• More than 200 different proprietary systems are inefficient• IT professionals want open standards and protocols

– Hardware platform• Use the same hardware in a variety of client locations• Run applications in various systems• Provide all the advantages of a rapid application

development• Allow reuse of the same code based in variety of different

applications along with object-oriented technology• Allows to take advantage of the platform independence

provided by Internet technologies

Page 6: Jaeki Song ISQS6337 JAVA Lecture 16 Other Issues in Java.

ISQS6337 JAVA

Jaeki Song

Technology Needs of the Financial Service

• Movement toward electronic payment mechanism– Paper based: $.60/transaction to process– Electronic based: $.02/transaction to process

• Data warehousing– Huge transactional databases contain

information about customer purchasing habits• Valuable what services to provide

Page 7: Jaeki Song ISQS6337 JAVA Lecture 16 Other Issues in Java.

ISQS6337 JAVA

Jaeki Song

Limitations Implementing New Technologies

• Security

• Protection of private data

• Authentication

• Reliability

• Flexibility– Financial institution doesn’t know what

applications are going to win

Page 8: Jaeki Song ISQS6337 JAVA Lecture 16 Other Issues in Java.

ISQS6337 JAVA

Jaeki Song

Java Solutions: Java Commerce

• Java commerce provides a complete infrastructure for Internet-based electronic commerce– support all standards and payment protocols running

concurrently in the same environment– Run everywhere (Netscape, IE, hand-held devices– Reduce costs, efforts, and time

• Java commerce consists of the Java Electronic Commerce Framework (JECF), which comprises the related technologies of the Java Wallet and Commerce Java Bean

Page 9: Jaeki Song ISQS6337 JAVA Lecture 16 Other Issues in Java.

ISQS6337 JAVA

Jaeki Song

Java Wallet

• A family of products written in the JavaTM programming language that are designed to enable secure electronic commerce operations– Provides a single, unambiguous user

interface for electronic transaction– The merchant offers goods or services for

sale on the WWW using applets which adhere to the architecture built into the Java wallet

Page 10: Jaeki Song ISQS6337 JAVA Lecture 16 Other Issues in Java.

ISQS6337 JAVA

Jaeki Song

Java Wallet

• Key concepts and components– Gateway security model

• Foundation of the Java Wallet’s security

– Commerce JavaBeans• Component that extend the JavaBean model

– Cassettes• Designed Java archive (JAR) files that may contain

JavaBean as well as the resources required for their operations

– Java Commerce Message• A block of text sent from a commerce service to the user

Page 11: Jaeki Song ISQS6337 JAVA Lecture 16 Other Issues in Java.

ISQS6337 JAVA

Jaeki Song

Java Wallet

• Exploit weakness in the Java Wallet– Pickpocket

• An applet which steals information and passwords from the Java wallet

– BookMarker• An applet which alter the berhavior of the Java

Wallet

– DemonDialer• An applet which can use your modem

Page 12: Jaeki Song ISQS6337 JAVA Lecture 16 Other Issues in Java.

ISQS6337 JAVA

Jaeki Song

Java Wallet: Related Technologies

• Java Commerce API– Provides foundation services that allow

developer to easily create new electronic commerce application

• Rapid commerce component development

• Commerce JavaBeans Component– A reusable commerce component that meets

specific interface requirements

Page 13: Jaeki Song ISQS6337 JAVA Lecture 16 Other Issues in Java.

ISQS6337 JAVA

Jaeki Song

Rapid Application Development

• JavaBean technology is a significant extension and enhancement of the Java Language– Enable programmer to rapidly build

applications by assembling objects and testing them during design time

– AWT and Swing user interface classes are JavaBean component

Page 14: Jaeki Song ISQS6337 JAVA Lecture 16 Other Issues in Java.

ISQS6337 JAVA

Jaeki Song

RAD

• RAD is a software development technology introduced in the 1980s

• It has been successfully and efficiently implemented in development tools– Visual Basic, Delphi, Power Builder, Oracle Developer

2000

• Using a RAD tool, projects can be developed quickly and efficiently with minimum coding

• The key elements in a Java RAD tool are the JavaBean components

Page 15: Jaeki Song ISQS6337 JAVA Lecture 16 Other Issues in Java.

ISQS6337 JAVA

Jaeki Song

Swing Set Demo

Page 16: Jaeki Song ISQS6337 JAVA Lecture 16 Other Issues in Java.

ISQS6337 JAVA

Jaeki Song

RAD with Swing Components

Page 17: Jaeki Song ISQS6337 JAVA Lecture 16 Other Issues in Java.

ISQS6337 JAVA

Jaeki Song

Remote Method Invocation

• RMI is the Java Distributed Object Model for facilitating communication among distributed objects– RMI technology provides a framework for building

distributed Java systems– A Java object can invoke a method in an object on

another system on the network

• RMI is an evolution of the client/server architecture– A client is a component that issues requests for services– A server is a component that delivers the requested

services

Page 18: Jaeki Song ISQS6337 JAVA Lecture 16 Other Issues in Java.

ISQS6337 JAVA

Jaeki Song

How Does RMI Work?

• The interface must extend the java.rmi.Romote interface

• Steps– The client send method parameters to the

server– The server received the method parameter

and executes the method– The server sends the result back to the client– The client received the results

Page 19: Jaeki Song ISQS6337 JAVA Lecture 16 Other Issues in Java.

ISQS6337 JAVA

Jaeki Song

How Does RMI Work?

Clientobject

Serverstub

Serverstub

Serverskeleton

Server objectimplementation

Server objectimplementation

RMIregistry

RMIregistry

Client Server

Look for Server Object

ReturnServer Stub

Register Server object

Java RMI use a registry to provide naming services for remote objects, and useThe stub and skeleton to facilitate communications between client and server

Page 20: Jaeki Song ISQS6337 JAVA Lecture 16 Other Issues in Java.

ISQS6337 JAVA

Jaeki Song

Stub and Skeleton• Stub

– Resides on the client machine– Contains all the reference information the client needs to

know about the server object– Invokes a method that is encapsulated in the stub– Is responsible for sending parameters to the server and for

receiving the result from the server and returning it to the client

• Skeleton– Communicates with sthe stub on the server side– Receives parameters from the client– Passes them to the server for execution– Return the result to the stub

Page 21: Jaeki Song ISQS6337 JAVA Lecture 16 Other Issues in Java.

ISQS6337 JAVA

Jaeki Song

Developing RMI in JBuilder

Page 22: Jaeki Song ISQS6337 JAVA Lecture 16 Other Issues in Java.

ISQS6337 JAVA

Jaeki Song

Developing RMI in JBuilder

Page 23: Jaeki Song ISQS6337 JAVA Lecture 16 Other Issues in Java.

ISQS6337 JAVA

Jaeki Song

Developing RMI in JBuilder

Page 24: Jaeki Song ISQS6337 JAVA Lecture 16 Other Issues in Java.

ISQS6337 JAVA

Jaeki Song

Servlet

• Servlet technology is designed for use with the HTTP protocol

• Servlets are Java programs that run on a Web server

• CGI provides a simple approach for creating dynamic Web applications– Accept user request, process it on the server side,

and return responses to Web browser– CGI is slow down when handling a large number of

request simultaneously, because the Web server spawns a process for executing each CGI program

Page 25: Jaeki Song ISQS6337 JAVA Lecture 16 Other Issues in Java.

ISQS6337 JAVA

Jaeki Song

Servlet

• Java Servlets are one of technologies solving the problems

• Servlets are executed upon request from a Web browser– Run inside a servlet container