Download Lecture 02 Object Oriented Programming

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts
no text concepts found
Transcript
Lecture 16
Other Issues in Java
ISQS6337 JAVA
Jaeki Song
Outline
• Case study
– Financial institution
• Java Wallet
• Rapid Development
• RMI
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
•
•
•
•
ISQS6337 JAVA
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
Jaeki Song
Evolution of Technology
• Banks were among the earliest pioneers
to apply computing technology to their
business
1966
Back office
ISQS6337 JAVA
1976
Teller
Desk top
1986
ATMs
1996
Off-site
interface
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
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
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
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
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
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
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
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
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
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
ISQS6337 JAVA
Jaeki Song
Swing Set Demo
ISQS6337 JAVA
Jaeki Song
RAD with Swing Components
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
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
ISQS6337 JAVA
Jaeki Song
How Does RMI Work?
Client
Server
Client
object
Server
stub
Return
Server Stub
Server
skeleton
RMI
registry
Server object
implementation
Register
Server object
Look for Server Object
Java RMI use a registry to provide naming services for remote objects, and use
The stub and skeleton to facilitate communications between client and server
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
ISQS6337 JAVA
Jaeki Song
Developing RMI in JBuilder
ISQS6337 JAVA
Jaeki Song
Developing RMI in JBuilder
ISQS6337 JAVA
Jaeki Song
Developing RMI in JBuilder
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
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
ISQS6337 JAVA
Jaeki Song