java a to z

50 %
50 %
Information about java a to z

Published on March 22, 2008

Author: Panfilo


Java: A to Z:  Java: A to Z Delivered By: Alexander Day Chaffee, Purple Technology Original Creator of Gamelan ( - EarthWeb) Purple Technology:  Purple Technology Java Training and Consulting All levels of courses 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 island What is Java?:  What is Java? A language developed by Sun open specification What is Java?:  What is Java? An architecture Virtual Machine What is Java?:  What is Java? A platform Libraries / APIs Applications Applets What 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 Applications Why 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 seven Java'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 available Java 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,000 Java 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: IDC Andersen 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 status Andersen 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 year CSX 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 customer CSX (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 company Federal 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 Company National 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 years Java 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 years Java 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 reverent History:  History Green Project / FirstPerson / Oak Consumer electronics Set-top boxes James Gosling, Patrick Naughton History:  History LiveOak (1993) Arthur van Hoff WebRunner (1994) Patrick Naughton, Jonathan Payne Java Kim Polese History:  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 base Cross-Platform:  Cross-Platform Write-Once-Run-Anywhere AIX, HP-UX, MacOS, OS2, Win95, WinNT, Netware, UnixWare, Irix, Solaris, and others Platform Independent: How?:  Platform Independent: How? Virtual Machine Application Application Application Windows MacOS Unix Java Class Lifecycle :  Java Class Lifecycle Source -> Bytecode -> Interpreter Java 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 gateway Security Architecure:  Security Architecure Has to go through Verifier on one side and Security Manager on the other Sandbox Cryptography / signed applets Secure:  Secure Java: Adjustable security: “untrusted” through levels of trust ActiveX: Binary trust: all or nothing Java 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 costs Automatic Memory Management:  Automatic Memory Management Greatly improves developer productivity Reduces “memory leakage” problems Powers 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 (, RMI, CORBA, DCOM) Server-side strength:  Server-side strength Built-in support for networking makes development easy 3-tier and n-tier development:  3-tier and n-tier development Flexible implementations separate user interface from business logic and from database storage Java Libraries and APIs:  Java Libraries and APIs Java API Strategy:  Java API Strategy Core Libraries (APIs):  Core Libraries (APIs) UI JFC IO Net JDBC RMI Extended 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 - Multimedia User Interface: AWT:  User Interface: AWT Based on native widgets Native look-and-feel Simple components Swing/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 market AFC / WFC:  AFC / WFC Microsoft's alternative Write once, run on Windows Out as of March 11, 1998 Standard Extensions:  Standard Extensions Servlets InfoBus Java Help JavaMail Java and Business:  Java and Business JDBC JNDI (Java Naming and Directory Interface) Java Transaction Services Enterprise Java Beans Distributed Computing:  Distributed Computing uses TCP/IP works on all Java platforms all open protocols of the Internet HTTP, FTP, SMTP, IMAP Source code: Socket s = new Socket (“”,80); RMI:  RMI sits on top of allows distributed computing connect to objects running on remote servers CORBA:  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/CORBA JDBC:  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 Beans JDBC Middleware:  JDBC Middleware Symantec dbAnywhere Borland DataGateway WebLogic several others Components:  Components Spaghetti Code:  Spaghetti Code Business logic mingled with systems code Ported to legacy systems Complex to develop Expensive to maintain Java Beans:  Java Beans Marketable software parts Business applications as reusable components Leverages legacy systems Easy to build/extend Easy to distribute What 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 Marketable Split 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 tools Commercial User-Interface JavaBeans:  Commercial User-Interface JavaBeans JScape ( KL Group ( Lotus Kona project ( Rogue Wave Dundas Many more: see 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.x The Activator:  The Activator Activator, yay:  Activator, yay uses latest JRE to deploy Java on intranets eventually, on Internet Microsoft'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 dressing Java 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 solution Java 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 devices Java Applications:  Java Applications Marimba Castanet delivers applications Changes nature of software No more upgrades! Just automatic updates Founded by four original Java team members Server-side Java:  Server-side Java Servlets:  Servlets Cross-platform server-side scripting Like CGI, only cooler Java Web Server:  Java Web Server Server written in Java Runs servlets Cheap Java Application Server:  Java Application Server Based on Java Web Server High-performance Enterprise Java Beans Enterprise 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 2 Myth: Java has poor performance:  Myth: Java has poor performance Video Games Frag Island – Quake Rendering Engine ( Warp - Karl Hornell is God ( Built-in Multi-threading improves performance Myth: 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 enhancements Myth: 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 licensees Myth: Java is immature :  Myth: Java is immature Class Library Bugs AWT in JDK 1.1 much improved JFC takes Java UI to the next level Myth: 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 Activator Myth: 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 scratch Myth: Java vs. Microsoft:  Myth: Java vs. Microsoft Java works great under Microsoft OS IIS has full Java integration for ASPs Other Java Initiatives/Environments:  Other Java Initiatives/Environments JavaPC:  JavaPC Turn old PCs into NCs Personal 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 less Embedded 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 APIs Java 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 RAM Other 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 Javagator Microsoft:  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 support IBM:  IBM VisualAge for Java - nice RAD tool San Francisco Enterprise Java Beans Licensing picoJava Developing 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 Collections sequences, maps, sets, queues, stacks Algorithms sorting, searching, transforming ACME collection:  ACME collection Jef Poskanzer Cryptography Widgets and Common Dialog Boxes Graphic encoding/decoding IBM’s San Francisco Initiative:  IBM’s San Francisco Initiative Common Business Objects: general ledger, sales, inventory Will support EJB Java 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 tool Other Testing Tools:  Other Testing Tools Plum Hall, Inc. Test Conformance Suite Optimization Software Engineering Columbo - performance analysis optTest for Java - stress testing Conclusion:  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/PTR Relevant Web Site Resources:  Relevant Web Site Resources Javasoft & Sun: & Symantec: IBM: Borland: SuperCede: Credits:  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

Add a comment

Related presentations

Related pages

Java Regex a-z, A-Z, 0-9 and (.)(_)(-) - Stack Overflow

Writing a simple regex, but I've never been very good at this. What I'm trying to do is check a string (filename) to make sure it only contains a-z, A-Z, 0 ...
Read more Java + Sie

Erhalten Sie die aktuellste Java-Software und entdecken Sie das verbesserte digitale Erlebnis der Java-Technologie.
Read more

java - Difference between regex [A-z] and [a-zA-Z] - Stack ...

I am using a regex to program an input validator for a text box where I only want alphabetical characters. I was wondering if [A-z] and [a-zA-Z] were ...
Read more

Download der kostenlosen Java-Software

Welche Gründe sprechen für den Download von Java? Mit der Java-Technologie können Sie in einer sicheren Rechnerumgebung arbeiten und spielen.
Read more

Java Swing Tutorial A - Z : Part 12 : Menu-related ...

Java Swing Tutorial A - Z : Part 12 : Menu-related controls & LookAndFeel (English subtitle) ... Java Swing Tutorial A - Z : Part 9 :JTree ...
Read more

string contain only (a-z) ,(A-Z) - Java - Codecall

string contain only (a-z) ,(A-Z) Started by eman ahmed, Jul 27 2010 11:30 PM. ... 01 Oct 2015 java, string, char, removing char : 1 reply 1899 views;
Read more

Java Swing Tutorial A - Z : Part 11 : JTable - Add, update ...

Click CC to view Caption (Subtitle) for this video clip! This clip tutors how to: - use JTable and some related methods - perform inserting a ...
Read more

Java on z/OS -

Berlin Mainframe Summit Agenda About the mainframe Java runtime environments under z/OS For which applications should I use a mainframe? Java on z/OS cost ...
Read more

Java auf z/OS – eine Alternative die sich lohnt.

Java auf z/OS – eine Alternative die sich lohnt. Rodney Krick IT Senior Consultant aformatik Training & Consulting GmbH & Co KG
Read more