Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
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