Session 3: Java Core Technologies (Part I)

Session 3: Java Core Technologies (Part I)

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.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    17 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us