Java 2 Platform Update Mickey Fan Java Architect Sun Certified Java Programmer, Developer & Architect Sun Certified Solaris 8 System & Network Administrator Sun Certified Web Component Developer for J2EE Platform Sun Certified Business Component Developer for J2EE Platform Sun Certified Developer SunONE Application Server 6.0 Sun Certified Engineer SunOne Directory Server 5.x Sun Certified StorageArchitect Sun Microsystems of California Ltd
Java for Today Java has captured almost three-quarters of all developers...(and) has become the most widely used programming language. IDC, Language Usage Patterns Among Professional Developers, August 2002
Wireless Java There are now more than 200 Java-enabled handset models available from 27 manufacturers (Sun, September 12, 2003) 2 Million Java games download between August 2002 - May 2003 with Sprint PCS Vision(sm) in the U.S. (Sun, September 12, 2003)
J2ME Worldwide
J2ME Phone
MIDP 2.0 become reality J2ME device will be available soon Nokia 6600 & SE P900 MIDP 2.0 new features Application Delivery New UI Capabilities New Game Capabilities New Sound Capabilities Security & Network Enhancement
Enterprise Java 57% of developers expect to use Java when building web services Evans Data, North American Developer Survey, Spring, 2003
Web Service Adoption Basic Adoption ( 2002-2203) Encapsulate existing application as Web Services Based on WSDL, SOAP External Entities Adoption ( 2004) Authenication of Users with "global single sign-on" capability Agreement on encryption and other security issues Agreed standards for transaction management across Web Services Agreed standards for business process transaction Further Standards for XML document formatting Products to implment and automated these requirement Board Adoption ( 2005-2008) Creating additional tools to help developers create such application Establishing directories of available services Automating negotiation of terms and conditions Monitoring and management of services level agressments(slas) Enabling micropayments
What's New in J2EE 1.4 Management Extension Provide vendor independent management & deployment extension Complete Web Services Platform WS-I Basic Profile support XML & Java Integration SOAP, WSDL, and UDDI support Business Integration Java Connector Architecture 2.0 Messaging & Interoperability Simplified Development JSP 2.0 Wall Street on Java 2003
New capabilities in J2EE 1.4 JSR-77 (J2EE Management) Enable single managemnt tool to manage Vendor implementations of the Platform Enable a specific implementation of a platform to use any compliant management tool Support SNMP, WBEM Wall Street on Java 2003
New capabilities in J2EE 1.4 JSR-88 (J2EE Deployment API) Installation Configuration Undeployment Wall Street on Java 2003
New capabilities in J2EE 1.4 JSR-115 (J2EE Authorization SPI) new java.security.permission classes to satisfy the J2EE role-based, authorization model the definition of roles as permission collections the granting to principals of permission collections corresponding to roles the determination of whether a principal has been granted the permissions of a role (i.e.iscallerinrole) the definition of identifier to role mappings that bind application embedded identifiers to permission collections corresponding to roles Wall Street on Java 2003
Web Services support for J2EE WS-I Basic Profile( Security, WSDL, SOAP...) JAX-RPC JAXR ( UDDI) Wall Street on Java 2003
Java Connector Architecture 2.0 Support for bi-directional, asynchronous interactions JMS provider pluggablity CCI Metadata The Common Client Interface (CCI) defines a standard mechanism for invoking remote functions in EISs. In Connector Architecture 1.0, there is no standard way for enterprise development tools or applications to obtain information about the EIS remote functions. This specification will enhance CCI to provide metadata about function names, input and output record types. Wall Street on Java 2003
Integration using J2EE Connectors B2B Applications B2C Applications Existing Applications Web Services Application Server Wireless Applications Enterprise Information Systems
What's new in EJB 2.1 EJB QL Enhancements JavaBeans 2.1 will augment EJB QL with aggregate and other operations and extend the range of queries that EJB QL can support. Linking of Message Destinations EJB 2.1 will augment EJB deployment descriptor mechanisms to tie together message consumers and producers through the linking of destinations to allow the flow of messages across a network of destinations to be specified by the Bean Provider and/or Application Assembler Use with Web Services JAX-RPC Timers Wall Street on Java 2003
JSP 2.0 Expression Language support in container JSP to author custom actions dynamicially providing a reusable abstraction: static include directives, dynamic include actions and custom actions. Wall Street on Java 2003
Building Web Application The Java IDE market is expected to growth Sun Microsystems Inc,September 2002
What is Java Server Faces? JavaServer Faces technology is a framework for building user interfaces components for web applications
Benefits Business Challenges MVC framework or Struts does not standardize UI components Java today does not provide a standard approach to provide graphic rendering capability, thus UI components generated by different IDEs are not interoperable Benefits Java Server Faces (JSF) supplements servlets, JSP and portlets, and extends Struts / MVC JSF framework can be usable with or without HTML-based clients JSF framework can be usable with or without JSP
Java Server Faces and Struts JSF is focused on providing a component model for the user-interface. Struts extends the MVC and encapsulates the user-interface on the form or at the page level Java Server Faces will handle component level functionality within a page while applications will continue to use Struts at the application modeling level.
End to End OOAD Sun Microsystems Supports Java Data Objects (JDO) And Becomes Charter Member of JDOCentral.com JDO Central Aug 2003
What is Java Data Object? The Java Data Objects (JDO) API is a standard interfacebased Java model abstraction of persistence
JDO class enhancement Meta Write Java Files Xml meta Persistence Make schema Enabled Compile Enhance Create Class File Instance Make Persistence
JDO Technology Interfaces Application PersistenceManager Query Persistent Object Life Cycle Query factory Filter database extent Java boolean expression Transaction Transaction completion
JDO Class Structure
JDO Technology Query Interface Object execute (Object[] parameters) Query filter: Java programming language,boolean expression, e.g., "name.startswith(\"research\")" Navigation via Collection.contains(), e.g., "emps.contains(e) & e.salary > param0"
JDOQL Example Find price larger than 10 Extent mags = pm.getextent (Magazine.class, false); String filter = "price > 10.0"; Query query = pm.newquery (mags, filter); Collection results = (Collection) query.execute (); Find all magazines starts with "The ", in ascending order by price Extent mags = pm.getextent (Magazine.class, false); String filter = "title.startswith (\"The \")"; Query query = pm.newquery (mags, filter); query.setordering ("price ascending"); Collection results = (Collection) query.execute (); Find all magazines whose revenue is over 1% of the total revenue for the publisher, in descending order by publisher revenue and ascending order by publisher name: Extent mags = pm.getextent (Magazine.class, false); String filter = "price * copiessold > publisher.revenue *.01"; Query query = pm.newquery (mags, filter); query.setordering ("publisher.revenue descending, publisher.name ascending"); Collection results = (Collection) query.execute ();
Java Data Object Technology for Persistence Simple API Extended query support Complex domain object model Inheritance, complex data models It can be implemented on any database include relational..
Apply JDO in Web Programming PersistenceMa nagerfactory Persistent Instance Persistence Manager provides transactional PersistenceMa Database Session Bean JSP/Servlet PersistenceManagerFactory
JDO for Web Programming InitialContext ctx = new InitialContext(); PersistenceManagerFactory pmf = (PersistenceManagerFactory) ctx.lookup ("java:comp/env/jdo/personnelpmf"); PersistenceManager pm = pmf.getpersistencemanager(); EmployeeKey empkey = new EmployeeKey(empId); Employee emp = (Employee) pm.getobjectbyid (empkey); String name = emp.getname(); BigDecimal salary = emp.getsalary();
BMP Entity Beans With the JDO API ejbload Persistent Instance accesses persistent Persistence Manager Database Entity Bean PersistenceManagerFactory
JDO or Not JDO... JDO is not a replacement of EJB The JDO API can be used in non-server environments Applications use same domain object model as for server environments No security model is defined
Java is everywhere Open source project by programming langauge Java (10207 projects) C# (1056 projects) Visual Basic (1605 projects) JavaScript (1443 projects) Cold Fusion (105 projects) C++ (11841 projects) C (12030 projects) Perl (5012 projects) PHP (7710 projects) From sourceforge.net
Building Robot using Java Rover Mars explorer With the help of Java Technology It can help take pictures, gathering data, and where to travel CRASAR Resuce robots Search out and sense hazardous material Seel out survivors in a structural collapse
Robot for Fun Lego mindstorm Lejos JVM is available Free download open source project Provide floating point mainpulation
Java Certification Day Special Topics : Building Explorer using Java Date : 5 Dec 2003 How to Join : goto www.sun.com.hk
Java 2 Platform Update Mickey Fan Java Architect Sun Microsystems of California Ltd