logging in or signing up java a to z Panfilo Download Post to : URL : Related Presentations : Share Add to Flag Embed Email Send to Blogs and Networks Add to Channel Uploaded from authorPOINTLite Insert YouTube videos in PowerPont slides with aS Desktop Copy embed code: Embed: Flash iPad Dynamic Copy Does not support media & animations Automatically changes to Flash or non-Flash embed WordPress Embed Customize Embed URL: Copy Thumbnail: Copy The presentation is successfully added In Your Favorites. Views: 6318 Category: Education License: All Rights Reserved Like it (6) Dislike it (0) Added: March 22, 2008 This Presentation is Public Favorites: 5 Presentation Description No description available. Comments Posting comment... By: nbaines (19 month(s) ago) Hello, Im an OT and would love to have a copy of your fine motor olympics ppt? Thanks nbainesOT@gmail.com Saving..... Post Reply Close Saving..... Edit Comment Close By: devang. (20 month(s) ago) i like your presentation a lot. please send me this presentation. Saving..... Post Reply Close Saving..... Edit Comment Close By: sunny2112 (20 month(s) ago) send the presentation to sunild21@gmail.com Saving..... Post Reply Close Saving..... Edit Comment Close By: bharathij24 (22 month(s) ago) ur presentation is superb pls email this presentation to my mail id is bharaathi_1990@yahoo.com thank u Saving..... Post Reply Close Saving..... Edit Comment Close By: Mokish (22 month(s) ago) Its Super Saving..... Post Reply Close Saving..... Edit Comment Close loading.... See all Premium member Presentation Transcript Java: A to Z: Java: A to Z Delivered By: Alexander Day Chaffee, Purple Technology Original Creator of Gamelan (http://java.developer.com/ - EarthWeb) alexc@purpletech.comPurple Technology: Purple Technology Java Training and Consulting All levels of courses http://www.purpletech.com/Introduction: Introduction A is for Applet B is for Bean C is for Class D is for...What is Java?: What is Java? Largest island of the equatorial achipelago of Indonesia Famous for beaches and coffee An islandWhat is Java?: What is Java? A language developed by Sun open specificationWhat is Java?: What is Java? An architecture Virtual MachineWhat is Java?: What is Java? A platform Libraries / APIs Applications AppletsWhat is Java?: What is Java? An Operating System (OS) Tailored for NCs and Embedded Systems Not an OS for PCs What is Java?: What is Java? A really good buzzword Coined by Kim Polese Why Java?: Why Java? High Productivity Low Cost Run Anywhere N-tier ApplicationsWhy Java?: Why Java? Forrester Research (1997) Firms have embraced Java for: Cross-platform support 42% Heart of Internet/Intranet 16% Increased productivity 12% More robust applications 12%Why Java?: Why Java? Zona Research (1997) The top reasons for deploying Java: Web-browser linkage 72% Cross-platform compatibility 66% Programmer interest 62% Lower cost 49%Where is Java heading?: Where is Java heading? Clients (Network, Distributed Computing with Nodes) Servers (Web servers, collaboration services) Embedded (TV Set-top, cell phones, smart cards)Facts and Figures: Facts and Figures Number of Java Developers (IDC): Number of Java Developers (IDC) Java's First 800 Days (August 1997): Java's First 800 Days (August 1997) 0 to 70 million seats Over 400,000 Java developers Over 1,000,000 downloads of JDK 1.1 70,000+ subscribers of Java Developer ConnectionTM Over 1000 shipping Java applications Java's First 800 Days (cont.): Java's First 800 Days (cont.) 150 Java licensees 200+ universities offering Java courses 25+ Java IDEs (Integrated Development Environment) available 800 Java programming/computing books Java's First 800 Days (cont.): Java's First 800 Days (cont.) Over 650 Java applications being developed for Sun's JavaStation(TM) computers More than 200 JavaStation Pilot programs underway Java's First 800 Days (cont.): Java's First 800 Days (cont.) 61 100% Pure Java(TM) certified applications as of August 21, 1997 More than 100 applications in the queue for 100% Pure Java certification as of August 21, 1997 On Web pages, Java applets outnumber Microsoft's Active X applications by a factor of sevenJava's First 800 Days (cont.): Java's First 800 Days (cont.) 100,000+ downloads of the Beans Development Kit 29 JavaBeans(TM) development tools Over 150 JavaBeans components availableJava Tools Market: Java Tools Market 1996 retail sales of tools Q196 Q296 Q396 Q496 Java 3,000 49,000 25,000 145,000 C++ 60,000 20,000 20,000 20,000 Other 190,000 145,000 115,000 95,000 (Source: PC Data) Note: 145,000 is greater than 20,000 + 95,000Java Tools Market: Java Tools Market Java-based or Java enabled development environment products will exceed 50 percent of the overall Internet-centric market in the year 2000 The market for Java IDE commercial seats will jump from about 400,000 programmers in 1997 to 750,000 programmers in 2000. Forecast revenues for the Java IDE market will jump from 120 million in 1997 to 300 million in 2000, a 65.5% aggregate growth rate Source: IDCAndersen Consulting: Andersen Consulting 60,000 employees who travel to client sites VERY heterogeneous computing environments On-line travel system for their in-house needs Privileges according to employee statusAndersen Consulting (cont.): Andersen Consulting (cont.) "Java is absolutely ready for prime time. It's the most bulletproof language we've used. We don't have to worry about memory leaks. If we had done this in C, we would still be debugging." -Elmer Baldwin, President, via World Network.CSX railway shipping: CSX railway shipping Find out which train(s) have your freight on map of USA Click on train and see what freight belongs to your company Saving CSX $10M in next yearCSX railway shipping (cont.): CSX railway shipping (cont.) CSX, using Java, has halved the time to write code and moved to a zero cost software distribution model. At the same time, CSX has moved to a multi-client environment, improved satisfaction, expanded reach and self-enabled the customerCSX (cont.): CSX (cont.) "Java is CSX's enterprise computing solution Java is deployed everywhere and at every level of CSX. And we are working on architecturally purifying CSX development," said Marshall Gibbs, assistant VP of enterprise solutions at CSX Technology in Jacksonville, FL, the IT unit of CSX Corp. "Our ROI on projects where we use Java has increased by 10 percent."Dun & Bradstreet: Dun & Bradstreet On-line office supply catalogue for in-house use Privileges according to status at companyFederal Express : Federal Express "Java is our primary targeted application platform for internal apps." says FedEx CIO Dennis Jones. "No internal application work is occurring for the client aside from Java development." Using Symantec CaféFord Motor Credit Company.: Ford Motor Credit Company. "Ford Credit is using Java and the Internet to better serve our customers. Ford Credit is currently using Java to provide customers a convenient way to access account information - 24 hours a day, 7 days a week." -Terry Bone, Ford Motor Credit CompanyNational Library of Medicine (NIH) : National Library of Medicine (NIH) Using Java for health and information professionals to access database Users' displays tailored to suit information (instead of line-oriented displays) "The development of Java saved us the cost of developing to platform-specific window environments and greatly speeded up our delivery of a working prototype version of HSTAT (roughly six months from design to delivery)."First Union Corp.: First Union Corp. "Java gives us greater selection of what applications we can use. Well over 90% of development is Java based," said Michael Love, vice president of the smart card initiative at First Union Corp in Charlotte, NC.Java Future: Java Future Forrester Research, April 1997 52% of IT execs said Java is or would become part of their strategy within the year -- 16% have deployed production applications Among companies doing Java development, 81% will be using it for mission critical development in the next two yearsJava Future: Java Future Forrester Research, April 1997 92% of IT execs said Java is or would become part of their strategy by 1999 -- with 68% deploying production applications Currently 14% use Java for server logic and database connections, but 74% expect to do this by 1999. Even more important, Java apps to drive database updates will jump from 4% to 54% in 2 yearsJava Future: Java Future Zona Research, July 1997 By July 1998 - July 1999, nearly 60% of companies will have 1-10 full-time Java developers and 8% of companies will have 50+Java Foundations: Java Foundations Java Code: Java Code Simple Object Oriented Distributed Interpreted Robust Safe Secure Architecture Neutral Portable High Performance Multi-Threaded Dynamic (GC)Boy Scout Code: Boy Scout Code trustworthy loyal helpful friendly courteous kind obedient cheerful thrifty brave clean reverentHistory: History Green Project / FirstPerson / Oak Consumer electronics Set-top boxes James Gosling, Patrick NaughtonHistory: History LiveOak (1993) Arthur van Hoff WebRunner (1994) Patrick Naughton, Jonathan Payne Java Kim PoleseHistory: History Fall 1994: WebRunner written Spring 1995: Java/HotJava announced at SunWorld ‘95 Fall 1995: Java Day New York Birth of Gamelan Spring 1996: First JavaOne (San Francisco)Platform Independent: Why?: Platform Independent: Why? Write once, run anywhere One code base to develop Upwardly compatible with new technology Writing code that will run on machines that haven't been invented yet Cross-compatible with existing installed baseCross-Platform: Cross-Platform Write-Once-Run-Anywhere AIX, HP-UX, MacOS, OS2, Win95, WinNT, Netware, UnixWare, Irix, Solaris, and othersPlatform Independent: How?: Platform Independent: How? Virtual Machine Application Application Application Windows MacOS UnixJava Class Lifecycle : Java Class Lifecycle Source -> Bytecode -> InterpreterJava Class Lifecycle: Java Class Lifecycle Source File (.java) Class File (.class) Compiler (javac) Java Virtual Machine (JVM) ClassLoader Bytecode Verifier Interpreter Just-in-time compiler Security Manager Operating System Network or File System = security gatewaySecurity Architecure: Security Architecure Has to go through Verifier on one side and Security Manager on the other Sandbox Cryptography / signed appletsSecure: Secure Java: Adjustable security: “untrusted” through levels of trust ActiveX: Binary trust: all or nothingJava vs. ActiveX: Java vs. ActiveX Java ActiveX File IO yes yes Network IO yes yes Applet Caching yes yes Erase hard disk no yes Upload confidential information no yes Object-Oriented: Object-Oriented Encourages more flexible and reliable designs Fosters reuse of code and design Reduces maintenance costsAutomatic Memory Management: Automatic Memory Management Greatly improves developer productivity Reduces “memory leakage” problemsPowers of ten: Powers of ten Cost of fixing problems Design = $1 Development = $10 Debugging = $100 Deployment = $1000 Brooks, The Mythical Man Month Java helps at early stages Problems are caught early Distributed Computing: Distributed Computing Applications reside where they’re needed saving valuable desktop space Accessible from any connected location Native support for distributed app development (java.net, RMI, CORBA, DCOM)Server-side strength: Server-side strength Built-in support for networking makes development easy3-tier and n-tier development: 3-tier and n-tier development Flexible implementations separate user interface from business logic and from database storageJava Libraries and APIs: Java Libraries and APIs Java API Strategy: Java API Strategy Core Libraries (APIs): Core Libraries (APIs) UI JFC IO Net JDBC RMIExtended APIs: Extended APIs Electronic Commerce Network Management Security JavaBeans - GUI Components Enterprise Java - Enterprise Wide Backend Database Connectivity Server - Web Server or Distributed Applications JavaMedia - MultimediaUser Interface: AWT: User Interface: AWT Based on native widgets Native look-and-feel Simple componentsSwing/JFC: Swing/JFC Builds on AWT and IFC Pluggable look and feel Rich set of pre-defined components Fully customizable Simplify commercial GUI development Open component marketAFC / WFC: AFC / WFC Microsoft's alternative Write once, run on Windows Out as of March 11, 1998Standard Extensions: Standard Extensions Servlets InfoBus Java Help JavaMailJava and Business: Java and Business JDBC JNDI (Java Naming and Directory Interface) Java Transaction Services Enterprise Java BeansDistributed Computing: Distributed Computing java.net: java.net uses TCP/IP works on all Java platforms all open protocols of the Internet HTTP, FTP, SMTP, IMAP Source code: Socket s = new Socket (“www.internet.com”,80);RMI: RMI sits on top of java.net allows distributed computing connect to objects running on remote serversCORBA: CORBA OMG standard for distributed computing alternative to RMI works with other languages (C, C++, Smalltalk) and existing programs portable, but not interoperable Java does CORBA Java Interface Definition Language JIDL/CORBAJDBC: JDBC connects to SQL databases allows access to existing corporate data 100% Pure Java drivers for most major database engines Oracle, Sybase, Informix, etc.JDBC Tools: JDBC Tools JBMS from CloudScape EPIC from Novera JavaBlend from JavaSoft/SUN Visual Café Databse Development Edition JDBC Beans dbAnywhere BeansJDBC Middleware: JDBC Middleware Symantec dbAnywhere Borland DataGateway WebLogic several othersComponents: Components Spaghetti Code: Spaghetti Code Business logic mingled with systems code Ported to legacy systems Complex to develop Expensive to maintainJava Beans: Java Beans Marketable software parts Business applications as reusable components Leverages legacy systems Easy to build/extend Easy to distributeWhat is a component?: What is a component? Software “part” Self-contained, independent Plug-and-play, drag-and-drop Interact and interoperate with other components Assemble components to create an application Ready for use by visual programming tools MarketableSplit Development: Split Development JavaBeans producers Create components for user-interface and business-logic JavaBeans consumers Use JavaScript Applet Embedding for web pages Use JavaStudio and other visual development toolsCommercial User-Interface JavaBeans: Commercial User-Interface JavaBeans JScape (www.jscape.com) KL Group (www.klg.com) Lotus Kona project (www.lotus.com) Rogue Wave Dundas Many more: see http://www.javasoft.com/beans/Enterprise Java Beans: Enterprise Java Beans Adds business services to Java Transactions, naming, etc. Simplified development don’t need to worry about threading, locking, transaction issues IBM heavily involved Client-side Java: Client-side Java Applets: Applets Are delivered through the internet or intranet On-demand, when needed Run inside a Java-enabled web browser Are secure Limited or no access to the local machine (“client”)Browser compatibility: Browser compatibility Browsers, yuck Navigator 2.x, 3.x, 4.x Internet Explorer 3.x, 4.xThe Activator: The ActivatorActivator, yay: Activator, yay uses latest JRE to deploy Java on intranets eventually, on InternetMicrosoft's Java: Microsoft's Java Java vs. HTML: Java vs. HTML HTML is a presentation format Was never meant to be used for interactive applications Latency, or turn-around time, is too high Dynamic HTML is really just window dressingJava vs. HTML: Java vs. HTML Java is a full-fledged application language High-level of interaction with low-latency More powerful and easier to use interfaces Flexible enough to play any part in a solutionJava can do it all: Java can do it all Server-side or back-end processing Middleware to transport and translate information Front-end user interface Adapts to client: from PC’s, NC’s to Hand-held devicesJava Applications: Java Applications Marimba Castanet delivers applications Changes nature of software No more upgrades! Just automatic updates http://www.marimba.com/ Founded by four original Java team membersServer-side Java: Server-side Java Servlets: Servlets Cross-platform server-side scripting Like CGI, only coolerJava Web Server: Java Web Server Server written in Java Runs servlets CheapJava Application Server: Java Application Server Based on Java Web Server High-performance Enterprise Java BeansEnterprise Java Beans: Enterprise Java Beans Framework for enterprise servers Adds transactions, persistence, multithreading to server Deals with tough issues, keeping server-side business objects simple Many EJB servers (IBM, Weblogic, JavaSoft, etc.) Java Myths: Java Myths Myth: Java is Proprietary: Myth: Java is Proprietary Truly open standards Developed in collaboration with other partners IBM, Symantec, Intel, Oracle, … Long period of public comment and revision Several "clean-room" implementations underway Kaffe Sun does not compete with application developers Or does it? (Java Application Server, HotSpot) Java is an ISO Publically Available Standard approved 20 to 2Myth: Java has poor performance: Myth: Java has poor performance Video Games Frag Island – Quake Rendering Engine (http://fragisland.fragzone.se/) Warp - Karl Hornell is God (http://www.tdb.uu.se/~karl/java/warp.html) Built-in Multi-threading improves performanceMyth: Java has poor performance: Myth: Java has poor performance Interpreter is fine for IO-bound apps (including UI) Very fast with Just-in-time (JIT) compilers Now available on most platforms HotSpot Object-oriented optimization Generational Garbage Collection malloc/free test: JVM 18 sec, MSJVM 8 sec, C++ 6 sec, HotSpot 2 sec. Many other enhancementsMyth: Java has poor performance: Myth: Java has poor performance Compile to native code where possible Compile server-side applications directly to the platform on which they’ll be used SuperCede and Symantec Café/Visual Café support this Note: lose some benefits of Java (notably dynamic linking)Myth: Java is immature : Myth: Java is immature Compiler Bugs Almost none in real-world experience Java Compatibility Test required by all JavaVM licenseesMyth: Java is immature : Myth: Java is immature Class Library Bugs AWT in JDK 1.1 much improved JFC takes Java UI to the next levelMyth: Java is immature: Myth: Java is immature Java Virtual Machine problems Most are from implementations in browsers They lag behind JDK releases Affects “cross-platform” compatibility 100% Pure Java crusade, run seamlessly across platforms ActivatorMyth: Write once, run anywhere: Myth: Write once, run anywhere Should be, “Write once, debug everywhere, run anywhere” Need a good debugger (like Café)Java Myths: NCs vs. PCs: Java Myths: NCs vs. PCs PC vs NC: reality both will co-exist and overlap in functionality Network and server load issues: reality careful system administration and caching required Don't need to throw everything away and start from scratchMyth: Java vs. Microsoft: Myth: Java vs. Microsoft Java works great under Microsoft OS IIS has full Java integration for ASPsOther Java Initiatives/Environments: Other Java Initiatives/Environments JavaPC: JavaPC Turn old PCs into NCsPersonal Java: Personal Java Tailored for products such as mobile phones, set top boxes, screenphones, mid-range mobile phones Designed to fit in devices with 2 Mb or lessEmbedded Java: Embedded Java tailored for small memory, high volume products Tailored for products such as industrial controllers, pagers, routers, switches Designed to fit in devices < .5 Mb ROM Doesn't require general purpose applet downloading capabilities Includes the Java VM and core set of APIsJava Card: Java Card Use in Smart Cards Java Ring Dallas Semiconductor 32K program RAM, 6K data RAM Serial port interface Contains private key crypto Runs off the “1” bits Auto-zeroing RAMOther Companies: Other Companies Netscape: Netscape First Java licensee Recently announced they're canceling their Java program Java will still work in Netscape with Activator etc. Also working (halfheartedly) on JavagatorMicrosoft: Microsoft COM integration IIS AFC / WFC Visual J++ 6.0 SDKJ 3.0 just released in beta Write once, run on Windows Did someone say “lawsuit?”Symantec: Symantec First with first out with dev tools, an IDE, a RAD IDE, a JIT, and a database-oriented product Developing JFC core technologies Developing JFC look-and-feels Just-in-time compiler keeps getting better Enhancing debugger supportIBM: IBM VisualAge for Java - nice RAD tool San Francisco Enterprise Java Beans Licensing picoJavaDeveloping Java: Developing Java Developing Java:IDEs: Developing Java:IDEs Best ones are on PC Symantec Café Borland JBuilder Microsoft Visual J++Developing Java: Java Studio: Developing Java: Java Studio Java Third-Party Class Libraries: Java Third-Party Class Libraries Java Generic Library: Java Generic Library http://www.objectspace.com/jgl Collections sequences, maps, sets, queues, stacks Algorithms sorting, searching, transformingACME collection: ACME collection Jef Poskanzer http://www.acme.com/java/software/ Cryptography Widgets and Common Dialog Boxes Graphic encoding/decodingIBM’s San Francisco Initiative: IBM’s San Francisco Initiative Common Business Objects: general ledger, sales, inventory Will support EJBJava Testing & Analysis Tools: Java Testing & Analysis Tools SunTest - Sun Microsystems division JavaStar Test Java applications through GUI interaction JavaSpec Test Java applications through APIs JavaScope Code-coverage toolOther Testing Tools: Other Testing Tools Plum Hall, Inc. Test Conformance Suite Optimization Software Engineering Columbo - performance analysis optTest for Java - stress testingConclusion: Conclusion Slide126: [APPLAUSE]Slide127: [LUNCH]Relevant Books:: Relevant Books: Rapid Development, by Steve McConnell, Microsoft Press Design Patterns, by Gamma, Helm, Johnson, Vlissides, Addison-Wesley Object-Oriented Software Construction, 2nd Ed., Bertrand Meyer, Prentice-Hall/PTRRelevant Web Site Resources: Relevant Web Site Resources Javasoft & Sun: www.javasoft.com & www.sun.com Developer.com: java.developer.com Symantec: www.symantec.com IBM: www.ibm.com/java Borland: www.borland.com SuperCede: www.supercede.comCredits: Credits Purple Technology Java Training and Consulting Symantec Corp. Java Development Tools Advanced Web Technologies Java-only training, mentoring, and consulting company Sun Microsystems JavaOne presentations: Lew Tucker, Alan Baratz, James Gosling Personal Thanks Lew Tucker, Gerry Seidman, Ian McFarland You do not have the permission to view this presentation. In order to view it, please contact the author of the presentation.
java a to z Panfilo Download Post to : URL : Related Presentations : Share Add to Flag Embed Email Send to Blogs and Networks Add to Channel Uploaded from authorPOINTLite Insert YouTube videos in PowerPont slides with aS Desktop Copy embed code: Embed: Flash iPad Dynamic Copy Does not support media & animations Automatically changes to Flash or non-Flash embed WordPress Embed Customize Embed URL: Copy Thumbnail: Copy The presentation is successfully added In Your Favorites. Views: 6318 Category: Education License: All Rights Reserved Like it (6) Dislike it (0) Added: March 22, 2008 This Presentation is Public Favorites: 5 Presentation Description No description available. Comments Posting comment... By: nbaines (19 month(s) ago) Hello, Im an OT and would love to have a copy of your fine motor olympics ppt? Thanks nbainesOT@gmail.com Saving..... Post Reply Close Saving..... Edit Comment Close By: devang. (20 month(s) ago) i like your presentation a lot. please send me this presentation. Saving..... Post Reply Close Saving..... Edit Comment Close By: sunny2112 (20 month(s) ago) send the presentation to sunild21@gmail.com Saving..... Post Reply Close Saving..... Edit Comment Close By: bharathij24 (22 month(s) ago) ur presentation is superb pls email this presentation to my mail id is bharaathi_1990@yahoo.com thank u Saving..... Post Reply Close Saving..... Edit Comment Close By: Mokish (22 month(s) ago) Its Super Saving..... Post Reply Close Saving..... Edit Comment Close loading.... See all Premium member Presentation Transcript Java: A to Z: Java: A to Z Delivered By: Alexander Day Chaffee, Purple Technology Original Creator of Gamelan (http://java.developer.com/ - EarthWeb) alexc@purpletech.comPurple Technology: Purple Technology Java Training and Consulting All levels of courses http://www.purpletech.com/Introduction: Introduction A is for Applet B is for Bean C is for Class D is for...What is Java?: What is Java? Largest island of the equatorial achipelago of Indonesia Famous for beaches and coffee An islandWhat is Java?: What is Java? A language developed by Sun open specificationWhat is Java?: What is Java? An architecture Virtual MachineWhat is Java?: What is Java? A platform Libraries / APIs Applications AppletsWhat is Java?: What is Java? An Operating System (OS) Tailored for NCs and Embedded Systems Not an OS for PCs What is Java?: What is Java? A really good buzzword Coined by Kim Polese Why Java?: Why Java? High Productivity Low Cost Run Anywhere N-tier ApplicationsWhy Java?: Why Java? Forrester Research (1997) Firms have embraced Java for: Cross-platform support 42% Heart of Internet/Intranet 16% Increased productivity 12% More robust applications 12%Why Java?: Why Java? Zona Research (1997) The top reasons for deploying Java: Web-browser linkage 72% Cross-platform compatibility 66% Programmer interest 62% Lower cost 49%Where is Java heading?: Where is Java heading? Clients (Network, Distributed Computing with Nodes) Servers (Web servers, collaboration services) Embedded (TV Set-top, cell phones, smart cards)Facts and Figures: Facts and Figures Number of Java Developers (IDC): Number of Java Developers (IDC) Java's First 800 Days (August 1997): Java's First 800 Days (August 1997) 0 to 70 million seats Over 400,000 Java developers Over 1,000,000 downloads of JDK 1.1 70,000+ subscribers of Java Developer ConnectionTM Over 1000 shipping Java applications Java's First 800 Days (cont.): Java's First 800 Days (cont.) 150 Java licensees 200+ universities offering Java courses 25+ Java IDEs (Integrated Development Environment) available 800 Java programming/computing books Java's First 800 Days (cont.): Java's First 800 Days (cont.) Over 650 Java applications being developed for Sun's JavaStation(TM) computers More than 200 JavaStation Pilot programs underway Java's First 800 Days (cont.): Java's First 800 Days (cont.) 61 100% Pure Java(TM) certified applications as of August 21, 1997 More than 100 applications in the queue for 100% Pure Java certification as of August 21, 1997 On Web pages, Java applets outnumber Microsoft's Active X applications by a factor of sevenJava's First 800 Days (cont.): Java's First 800 Days (cont.) 100,000+ downloads of the Beans Development Kit 29 JavaBeans(TM) development tools Over 150 JavaBeans components availableJava Tools Market: Java Tools Market 1996 retail sales of tools Q196 Q296 Q396 Q496 Java 3,000 49,000 25,000 145,000 C++ 60,000 20,000 20,000 20,000 Other 190,000 145,000 115,000 95,000 (Source: PC Data) Note: 145,000 is greater than 20,000 + 95,000Java Tools Market: Java Tools Market Java-based or Java enabled development environment products will exceed 50 percent of the overall Internet-centric market in the year 2000 The market for Java IDE commercial seats will jump from about 400,000 programmers in 1997 to 750,000 programmers in 2000. Forecast revenues for the Java IDE market will jump from 120 million in 1997 to 300 million in 2000, a 65.5% aggregate growth rate Source: IDCAndersen Consulting: Andersen Consulting 60,000 employees who travel to client sites VERY heterogeneous computing environments On-line travel system for their in-house needs Privileges according to employee statusAndersen Consulting (cont.): Andersen Consulting (cont.) "Java is absolutely ready for prime time. It's the most bulletproof language we've used. We don't have to worry about memory leaks. If we had done this in C, we would still be debugging." -Elmer Baldwin, President, via World Network.CSX railway shipping: CSX railway shipping Find out which train(s) have your freight on map of USA Click on train and see what freight belongs to your company Saving CSX $10M in next yearCSX railway shipping (cont.): CSX railway shipping (cont.) CSX, using Java, has halved the time to write code and moved to a zero cost software distribution model. At the same time, CSX has moved to a multi-client environment, improved satisfaction, expanded reach and self-enabled the customerCSX (cont.): CSX (cont.) "Java is CSX's enterprise computing solution Java is deployed everywhere and at every level of CSX. And we are working on architecturally purifying CSX development," said Marshall Gibbs, assistant VP of enterprise solutions at CSX Technology in Jacksonville, FL, the IT unit of CSX Corp. "Our ROI on projects where we use Java has increased by 10 percent."Dun & Bradstreet: Dun & Bradstreet On-line office supply catalogue for in-house use Privileges according to status at companyFederal Express : Federal Express "Java is our primary targeted application platform for internal apps." says FedEx CIO Dennis Jones. "No internal application work is occurring for the client aside from Java development." Using Symantec CaféFord Motor Credit Company.: Ford Motor Credit Company. "Ford Credit is using Java and the Internet to better serve our customers. Ford Credit is currently using Java to provide customers a convenient way to access account information - 24 hours a day, 7 days a week." -Terry Bone, Ford Motor Credit CompanyNational Library of Medicine (NIH) : National Library of Medicine (NIH) Using Java for health and information professionals to access database Users' displays tailored to suit information (instead of line-oriented displays) "The development of Java saved us the cost of developing to platform-specific window environments and greatly speeded up our delivery of a working prototype version of HSTAT (roughly six months from design to delivery)."First Union Corp.: First Union Corp. "Java gives us greater selection of what applications we can use. Well over 90% of development is Java based," said Michael Love, vice president of the smart card initiative at First Union Corp in Charlotte, NC.Java Future: Java Future Forrester Research, April 1997 52% of IT execs said Java is or would become part of their strategy within the year -- 16% have deployed production applications Among companies doing Java development, 81% will be using it for mission critical development in the next two yearsJava Future: Java Future Forrester Research, April 1997 92% of IT execs said Java is or would become part of their strategy by 1999 -- with 68% deploying production applications Currently 14% use Java for server logic and database connections, but 74% expect to do this by 1999. Even more important, Java apps to drive database updates will jump from 4% to 54% in 2 yearsJava Future: Java Future Zona Research, July 1997 By July 1998 - July 1999, nearly 60% of companies will have 1-10 full-time Java developers and 8% of companies will have 50+Java Foundations: Java Foundations Java Code: Java Code Simple Object Oriented Distributed Interpreted Robust Safe Secure Architecture Neutral Portable High Performance Multi-Threaded Dynamic (GC)Boy Scout Code: Boy Scout Code trustworthy loyal helpful friendly courteous kind obedient cheerful thrifty brave clean reverentHistory: History Green Project / FirstPerson / Oak Consumer electronics Set-top boxes James Gosling, Patrick NaughtonHistory: History LiveOak (1993) Arthur van Hoff WebRunner (1994) Patrick Naughton, Jonathan Payne Java Kim PoleseHistory: History Fall 1994: WebRunner written Spring 1995: Java/HotJava announced at SunWorld ‘95 Fall 1995: Java Day New York Birth of Gamelan Spring 1996: First JavaOne (San Francisco)Platform Independent: Why?: Platform Independent: Why? Write once, run anywhere One code base to develop Upwardly compatible with new technology Writing code that will run on machines that haven't been invented yet Cross-compatible with existing installed baseCross-Platform: Cross-Platform Write-Once-Run-Anywhere AIX, HP-UX, MacOS, OS2, Win95, WinNT, Netware, UnixWare, Irix, Solaris, and othersPlatform Independent: How?: Platform Independent: How? Virtual Machine Application Application Application Windows MacOS UnixJava Class Lifecycle : Java Class Lifecycle Source -> Bytecode -> InterpreterJava Class Lifecycle: Java Class Lifecycle Source File (.java) Class File (.class) Compiler (javac) Java Virtual Machine (JVM) ClassLoader Bytecode Verifier Interpreter Just-in-time compiler Security Manager Operating System Network or File System = security gatewaySecurity Architecure: Security Architecure Has to go through Verifier on one side and Security Manager on the other Sandbox Cryptography / signed appletsSecure: Secure Java: Adjustable security: “untrusted” through levels of trust ActiveX: Binary trust: all or nothingJava vs. ActiveX: Java vs. ActiveX Java ActiveX File IO yes yes Network IO yes yes Applet Caching yes yes Erase hard disk no yes Upload confidential information no yes Object-Oriented: Object-Oriented Encourages more flexible and reliable designs Fosters reuse of code and design Reduces maintenance costsAutomatic Memory Management: Automatic Memory Management Greatly improves developer productivity Reduces “memory leakage” problemsPowers of ten: Powers of ten Cost of fixing problems Design = $1 Development = $10 Debugging = $100 Deployment = $1000 Brooks, The Mythical Man Month Java helps at early stages Problems are caught early Distributed Computing: Distributed Computing Applications reside where they’re needed saving valuable desktop space Accessible from any connected location Native support for distributed app development (java.net, RMI, CORBA, DCOM)Server-side strength: Server-side strength Built-in support for networking makes development easy3-tier and n-tier development: 3-tier and n-tier development Flexible implementations separate user interface from business logic and from database storageJava Libraries and APIs: Java Libraries and APIs Java API Strategy: Java API Strategy Core Libraries (APIs): Core Libraries (APIs) UI JFC IO Net JDBC RMIExtended APIs: Extended APIs Electronic Commerce Network Management Security JavaBeans - GUI Components Enterprise Java - Enterprise Wide Backend Database Connectivity Server - Web Server or Distributed Applications JavaMedia - MultimediaUser Interface: AWT: User Interface: AWT Based on native widgets Native look-and-feel Simple componentsSwing/JFC: Swing/JFC Builds on AWT and IFC Pluggable look and feel Rich set of pre-defined components Fully customizable Simplify commercial GUI development Open component marketAFC / WFC: AFC / WFC Microsoft's alternative Write once, run on Windows Out as of March 11, 1998Standard Extensions: Standard Extensions Servlets InfoBus Java Help JavaMailJava and Business: Java and Business JDBC JNDI (Java Naming and Directory Interface) Java Transaction Services Enterprise Java BeansDistributed Computing: Distributed Computing java.net: java.net uses TCP/IP works on all Java platforms all open protocols of the Internet HTTP, FTP, SMTP, IMAP Source code: Socket s = new Socket (“www.internet.com”,80);RMI: RMI sits on top of java.net allows distributed computing connect to objects running on remote serversCORBA: CORBA OMG standard for distributed computing alternative to RMI works with other languages (C, C++, Smalltalk) and existing programs portable, but not interoperable Java does CORBA Java Interface Definition Language JIDL/CORBAJDBC: JDBC connects to SQL databases allows access to existing corporate data 100% Pure Java drivers for most major database engines Oracle, Sybase, Informix, etc.JDBC Tools: JDBC Tools JBMS from CloudScape EPIC from Novera JavaBlend from JavaSoft/SUN Visual Café Databse Development Edition JDBC Beans dbAnywhere BeansJDBC Middleware: JDBC Middleware Symantec dbAnywhere Borland DataGateway WebLogic several othersComponents: Components Spaghetti Code: Spaghetti Code Business logic mingled with systems code Ported to legacy systems Complex to develop Expensive to maintainJava Beans: Java Beans Marketable software parts Business applications as reusable components Leverages legacy systems Easy to build/extend Easy to distributeWhat is a component?: What is a component? Software “part” Self-contained, independent Plug-and-play, drag-and-drop Interact and interoperate with other components Assemble components to create an application Ready for use by visual programming tools MarketableSplit Development: Split Development JavaBeans producers Create components for user-interface and business-logic JavaBeans consumers Use JavaScript Applet Embedding for web pages Use JavaStudio and other visual development toolsCommercial User-Interface JavaBeans: Commercial User-Interface JavaBeans JScape (www.jscape.com) KL Group (www.klg.com) Lotus Kona project (www.lotus.com) Rogue Wave Dundas Many more: see http://www.javasoft.com/beans/Enterprise Java Beans: Enterprise Java Beans Adds business services to Java Transactions, naming, etc. Simplified development don’t need to worry about threading, locking, transaction issues IBM heavily involved Client-side Java: Client-side Java Applets: Applets Are delivered through the internet or intranet On-demand, when needed Run inside a Java-enabled web browser Are secure Limited or no access to the local machine (“client”)Browser compatibility: Browser compatibility Browsers, yuck Navigator 2.x, 3.x, 4.x Internet Explorer 3.x, 4.xThe Activator: The ActivatorActivator, yay: Activator, yay uses latest JRE to deploy Java on intranets eventually, on InternetMicrosoft's Java: Microsoft's Java Java vs. HTML: Java vs. HTML HTML is a presentation format Was never meant to be used for interactive applications Latency, or turn-around time, is too high Dynamic HTML is really just window dressingJava vs. HTML: Java vs. HTML Java is a full-fledged application language High-level of interaction with low-latency More powerful and easier to use interfaces Flexible enough to play any part in a solutionJava can do it all: Java can do it all Server-side or back-end processing Middleware to transport and translate information Front-end user interface Adapts to client: from PC’s, NC’s to Hand-held devicesJava Applications: Java Applications Marimba Castanet delivers applications Changes nature of software No more upgrades! Just automatic updates http://www.marimba.com/ Founded by four original Java team membersServer-side Java: Server-side Java Servlets: Servlets Cross-platform server-side scripting Like CGI, only coolerJava Web Server: Java Web Server Server written in Java Runs servlets CheapJava Application Server: Java Application Server Based on Java Web Server High-performance Enterprise Java BeansEnterprise Java Beans: Enterprise Java Beans Framework for enterprise servers Adds transactions, persistence, multithreading to server Deals with tough issues, keeping server-side business objects simple Many EJB servers (IBM, Weblogic, JavaSoft, etc.) Java Myths: Java Myths Myth: Java is Proprietary: Myth: Java is Proprietary Truly open standards Developed in collaboration with other partners IBM, Symantec, Intel, Oracle, … Long period of public comment and revision Several "clean-room" implementations underway Kaffe Sun does not compete with application developers Or does it? (Java Application Server, HotSpot) Java is an ISO Publically Available Standard approved 20 to 2Myth: Java has poor performance: Myth: Java has poor performance Video Games Frag Island – Quake Rendering Engine (http://fragisland.fragzone.se/) Warp - Karl Hornell is God (http://www.tdb.uu.se/~karl/java/warp.html) Built-in Multi-threading improves performanceMyth: Java has poor performance: Myth: Java has poor performance Interpreter is fine for IO-bound apps (including UI) Very fast with Just-in-time (JIT) compilers Now available on most platforms HotSpot Object-oriented optimization Generational Garbage Collection malloc/free test: JVM 18 sec, MSJVM 8 sec, C++ 6 sec, HotSpot 2 sec. Many other enhancementsMyth: Java has poor performance: Myth: Java has poor performance Compile to native code where possible Compile server-side applications directly to the platform on which they’ll be used SuperCede and Symantec Café/Visual Café support this Note: lose some benefits of Java (notably dynamic linking)Myth: Java is immature : Myth: Java is immature Compiler Bugs Almost none in real-world experience Java Compatibility Test required by all JavaVM licenseesMyth: Java is immature : Myth: Java is immature Class Library Bugs AWT in JDK 1.1 much improved JFC takes Java UI to the next levelMyth: Java is immature: Myth: Java is immature Java Virtual Machine problems Most are from implementations in browsers They lag behind JDK releases Affects “cross-platform” compatibility 100% Pure Java crusade, run seamlessly across platforms ActivatorMyth: Write once, run anywhere: Myth: Write once, run anywhere Should be, “Write once, debug everywhere, run anywhere” Need a good debugger (like Café)Java Myths: NCs vs. PCs: Java Myths: NCs vs. PCs PC vs NC: reality both will co-exist and overlap in functionality Network and server load issues: reality careful system administration and caching required Don't need to throw everything away and start from scratchMyth: Java vs. Microsoft: Myth: Java vs. Microsoft Java works great under Microsoft OS IIS has full Java integration for ASPsOther Java Initiatives/Environments: Other Java Initiatives/Environments JavaPC: JavaPC Turn old PCs into NCsPersonal Java: Personal Java Tailored for products such as mobile phones, set top boxes, screenphones, mid-range mobile phones Designed to fit in devices with 2 Mb or lessEmbedded Java: Embedded Java tailored for small memory, high volume products Tailored for products such as industrial controllers, pagers, routers, switches Designed to fit in devices < .5 Mb ROM Doesn't require general purpose applet downloading capabilities Includes the Java VM and core set of APIsJava Card: Java Card Use in Smart Cards Java Ring Dallas Semiconductor 32K program RAM, 6K data RAM Serial port interface Contains private key crypto Runs off the “1” bits Auto-zeroing RAMOther Companies: Other Companies Netscape: Netscape First Java licensee Recently announced they're canceling their Java program Java will still work in Netscape with Activator etc. Also working (halfheartedly) on JavagatorMicrosoft: Microsoft COM integration IIS AFC / WFC Visual J++ 6.0 SDKJ 3.0 just released in beta Write once, run on Windows Did someone say “lawsuit?”Symantec: Symantec First with first out with dev tools, an IDE, a RAD IDE, a JIT, and a database-oriented product Developing JFC core technologies Developing JFC look-and-feels Just-in-time compiler keeps getting better Enhancing debugger supportIBM: IBM VisualAge for Java - nice RAD tool San Francisco Enterprise Java Beans Licensing picoJavaDeveloping Java: Developing Java Developing Java:IDEs: Developing Java:IDEs Best ones are on PC Symantec Café Borland JBuilder Microsoft Visual J++Developing Java: Java Studio: Developing Java: Java Studio Java Third-Party Class Libraries: Java Third-Party Class Libraries Java Generic Library: Java Generic Library http://www.objectspace.com/jgl Collections sequences, maps, sets, queues, stacks Algorithms sorting, searching, transformingACME collection: ACME collection Jef Poskanzer http://www.acme.com/java/software/ Cryptography Widgets and Common Dialog Boxes Graphic encoding/decodingIBM’s San Francisco Initiative: IBM’s San Francisco Initiative Common Business Objects: general ledger, sales, inventory Will support EJBJava Testing & Analysis Tools: Java Testing & Analysis Tools SunTest - Sun Microsystems division JavaStar Test Java applications through GUI interaction JavaSpec Test Java applications through APIs JavaScope Code-coverage toolOther Testing Tools: Other Testing Tools Plum Hall, Inc. Test Conformance Suite Optimization Software Engineering Columbo - performance analysis optTest for Java - stress testingConclusion: Conclusion Slide126: [APPLAUSE]Slide127: [LUNCH]Relevant Books:: Relevant Books: Rapid Development, by Steve McConnell, Microsoft Press Design Patterns, by Gamma, Helm, Johnson, Vlissides, Addison-Wesley Object-Oriented Software Construction, 2nd Ed., Bertrand Meyer, Prentice-Hall/PTRRelevant Web Site Resources: Relevant Web Site Resources Javasoft & Sun: www.javasoft.com & www.sun.com Developer.com: java.developer.com Symantec: www.symantec.com IBM: www.ibm.com/java Borland: www.borland.com SuperCede: www.supercede.comCredits: Credits Purple Technology Java Training and Consulting Symantec Corp. Java Development Tools Advanced Web Technologies Java-only training, mentoring, and consulting company Sun Microsystems JavaOne presentations: Lew Tucker, Alan Baratz, James Gosling Personal Thanks Lew Tucker, Gerry Seidman, Ian McFarland