
Extreme Java G22.3033-006 Session 3 – Main Theme Java Core Technologies (Part I) Dr. Jean-Claude Franchitti New York University Computer Science Department Courant Institute of Mathematical Sciences Agenda • Summary of Previous Session • Java Platforms and Features • J2SE Core Components and Optional Packages •Swing • Collections Framework • Assistive Technologies • Introduction to J2EE • XML and Java • Readings • Class Project & Assignment #2a 2 1 Summary of Previous Session • Java Platform Architectures, and Files • Traditional Java Tools • Java Virtual Machine • Java Project Management Approach • Class Project & Assignment #1b 3 Part I Java Platforms and Features 4 2 Java Platforms, and Features • J2ME • Highly optimized Java runtime environment targeting a wide range of consumer products, including pagers, cellular phones, screen phones, digital set-top boxes and car navigation systems • J2SE • Java 2 SDK, tools, runtimes, and APIs for developers writing, deploying, and running applets and applications in the Java programming language • J2EE • Combines a number of technologies in one architecture with a comprehensive Application Programming Model and Compatibility Test Suite for building enterprise-class server-side applications 5 Part II J2SE Core Components and Optional Packages 6 3 Java Component APIs See Handout on Java Platform Component APIs 7 Java 2 Core Technologies/APIs • Assistive Technologies (Accessibility, includes Input Method Framework) • Drag and Drop • Java Access Bridge • JavaBeans Technology • JavaBeans Activation Framework JAF 1.0.2 • Javadoc Tool • Java Foundation Classes (JFC)/Swing (includes Collections Framework) • Java HotSpot Virtual Machine • Java Platform Debugger Architecture (JPDA) • Java Plug-in for Windows XP • Java 2D API product page • Java Web Start • JDBC Technology • Pluggable Look and Feel (PLAF) • Remote Method Invocation (RMI) • Security 8 4 Java 2 Optional Packages • InfoBus • Java Advanced Imaging • Java Authentication and Authorization Service (JAAS) • Java Communications API (JCA) • Java Cryptography Extension (JCE) • Java Data Objects (JDO) • Java Help Technology • Java Media APIs • Java Media Framework (JMF) • Java Naming and Directory Interface (JNDI) • Java Secure Socket Extension (JSSE) • Java Speech API • Java 3DTM API • J2EE add-ons: JNDI, Java Servlet, and RMI-IIOP/Java IDL, Java Management (JMX/JMAPI) 9 New JFC Features in J2SE 1.4 http://java.sun.com/j2se/1.4/docs/index.html#guide • API for long-term persistence of JavaBeans to support the creation of UI designs that are portable between IDEs • Preference API to store, retrieve, and modify application data • Full-screen exclusive mode API to support high performance graphics (direct screen drawing) • Updated file chooser for Windows • New Print Service API •etc. 10 5 J2EE Technologies/APIs • Enterprise JavaBeans (EJB) • CORBA (RMI-IIOP, JNDI) • Java IDL • Java Message Service (JMS) • JavaServerTM Faces • JavaServer Pages (JSP) • Java Servlets (SRV) • Transactions (JTA/JTS) •JDBC • J2EE Connector Architecture • JavaMail • Java API for XML Processing (JAXP) • Java API for XML Registries (JAXR) • Java API for XML-Based Remote Procedure Call (JAX-RPC) 11 J2EE Technologies/APIs (continued) • Sun ONE Application Server 7 • Java Blueprints Program for the Enterprise • SOAP with Attachments API for Java (SAAJ) •ECperf • Java Authorization Contract for Containers (Java ACC) • J2EE Client Provisioning • J2EE Deployment Specification (JSR-088) • J2EE Management Specification (JSR-077) 12 6 J2ME Technologies (CLDC) • Connected Limited Device Configuration (CLDC) • Mobile Information Device Profile (MIDP) • Wireless Toolkit • Java Partner Sites: • Oracle9i JDeveloper J2ME Extension • Bluetooth API (JSR-82, Motorola) – Optional Packages • CLDC Optional Packages • JavaTM Technology for Wireless Industry (JSR-185) • Mobile Media API (JSR-135) • Location API for J2ME (JSR-179) • SIP API for J2ME (JSR-180) • Wireless Messaging API (JSR-120) • Security and Trust Services API for J2ME (JSR-177) • J2ME Web Services (JSR-172) • Mobile 3D Graphics (JSR-184) 13 J2ME Technologies (CDC) • Connected Device Configuration (CDC) • Foundation Profile (FP) • Personal Basis Profile (PBP) (JSR-129) • Personal Profile (PP) (JSR-62) • Java Partner Site: • Bluetooth API (JSR-82, Motorola) – Optional Packages • CDC Optional Packages • J2ME RMI Optional Package • JDBC Optional Package for CDC/Foundation Profile API (JSR-169) • Location API for J2ME (JSR-179) • Wireless Messaging API (JSR-120) • Security and Trust Services API for J2ME (JSR-177) • J2ME Web Services (JSR-172) 14 7 J2ME Technologies (Additional) • Java Card Technology • Java Embedded Server Technology • PersonalJava Technology • Java TV API • JavaPhone API • Java Telematics Technology • Jini Network Technology • JavaSpaces • Mobile Information Device Profile 15 Java Technologies/Features in Scope • Technologies: • Collections Framework • Input Method Framework • Swing • Drag and Drop • JavaBeans •JNI • Security • Language Features: • Threads • Assertions 16 8 Part III Swing 17 Swing • See Sub-Topic 1 Presentation on Swing • See Handout on Detailed Review of Swing 18 9 New Swing Features in J2SE 1.4 • Spinners, scrollable tabbed panes, indeterminate progress bar controls • Cut/copy/paste of Swing data across applications • Full drag-and-drop support across Swing components • Inconsistencies and incompatibilities between AWT and Swing components have been addressed • Undecorated frames allow turning off native OS dependent screen components (title bars, borders, etc.) • Faster Swing-based applets (VolatileImage API) 19 Part IV Collections Framework 20 10 Collections Framework • See Sub-Topic 2 Presentation on Collections Framework • See Handout on Detailed Review of the Collections Framework 21 New Features in J2SE 1.4 http://java.sun.com/j2se/1.4/docs/guide/collections/changes4.html • Marker interface to advertise random access • Identity-based (rather than equality-based) Map • Insertion-order-preserving Map and Set implementations • Several new algorithms for manipulating and returning values from lists 22 11 Part V Assistive Technologies 23 Input Method Framework Architecture (See http://java.sun.com/j2se/1.4/docs/guide/imf/spec.html) 24 12 Input Method Framework APIs • Client API • Defines the classes and interfaces that text editing components can use to implement an integrated text input user interface. • Context Management • Manages communication paths between the text editing components and input methods • Engine SPI • Defines the interfaces that allow input method engines and adapters to be plugged into the framework • Adapters translate information between the data models used by native input methods and the input method framework (e.g., Java Speech, Internet-Intranet Input Method Protocol (IIIMP), etc.) 25 New Features in J2SE 1.4 http://java.sun.com/j2se/1.4/docs/guide/collections/changes4.html • Mnemonic tab navigation on a JTabbedPane • Text editing by assistive technologies • Accessibility of HTML components • Accessibility of Swing Actions • List navigation using the first letter of list items • Component roles DATE_EDITOR, FONT_CHOOSER, GROUP_BOX, SPIN_BOX, STATUS_BAR • Properties to indicate the presence of a screen magnifier or screen reader, or to specify assistive technologies to load into the Java virtual machine 26 13 Part VI Introduction to J2EE 27 J2EE Features • Standard Documents and Software Libraries • Specification • Programming Model • Platform • Reference Implementation • Compatibility Test Suite • http://www.javasoft.com/j2ee/docs.html 28 14 J2EE Connector Architecture • Component-Container Architecture • http://java.sun.com/features/2000/08/connect.html • J2EE Container Environment • J2SE Platform • Java Enterprise APIs • Java Enterprise Implementations • Deployment Services • Management Services • Component-Container Models • EJB App Servers, Web App Servers (SRV/JSP), Applet Clients, Application Clients 29 J2EE Connector Architecture (continued) 30 15 Part VII XML and Java 31 XML and Java • See Sub-Topics 3-7 Presentations on XML and Java • New Features in J2SE 1.4 • Java API for XML Processing 32 32 16 Part VIII Readings and Assignment 33 Assignment • Readings • Mastering Java 2: Part 2 – Chap. 9, 14, 16, 19, 20, 23 • Expert One-on-One: Chapter 2-4 as applicable (cont.) • Selected readings mentioned in class or referenced in the handouts • Handouts posted on the course web site • Assignment #1b: (submit report and implementation archive) • Analyze / reengineer an existing Java-based application to use it as an ongoing project framework within an XP development environment. This application should create a presentation of an XML document. • Refer to the Homework #2 Specification posted on the course Web site. • Project Framework Setup • Java Plug-in, Java Web Start, Apache’s Xerces/Xalan • J2SE 1.3.1, 1.4.0 or 1.4.1 (SDK) • IDE: Eclipse, NetBeans, Sun ONE Studio, JBuilder, Visual Age, Visual Café, Codewarrior, WebGain Studio, Oracle JDeveloper, etc. • Editors: JCreator, UltraEdit, etc. 34 17.
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages17 Page
-
File Size-