Upload
thomas-daniels
View
218
Download
1
Embed Size (px)
Citation preview
ISQS6337 JAVA
Jaeki Song
Lecture 16Other 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• 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
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
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
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?
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
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