Presentation is loading. Please wait.

Presentation is loading. Please wait.

1 SCO Java and Web Services Roadmap Jonathan Schilling, SCO Engineering.

Similar presentations


Presentation on theme: "1 SCO Java and Web Services Roadmap Jonathan Schilling, SCO Engineering."— Presentation transcript:

1 1 SCO Java and Web Services Roadmap Jonathan Schilling, SCO Engineering

2 2 Topics and Agenda What is Java Java 2 Standard Edition Java Java 2 Enterprise Edition solutions for SCO platforms Java Serial and Parallel I/O Support Java Desktop Technologies Web Services For Java and for other languages

3 What is Java ? (First Things) A language object-oriented, concurrent, distributed, self-aware A portable runtime environment similar to an OS but platform-independent A set of APIs covering the breadth of an OS A set of APIs enabling application layers A good base for web services A development environment

4 4 The State of Java Dominant technology for modern programming Portability Enterprise Server-side Middleware Web services Also used as client GUI or as browser plug-in Guided by Sun, built by whole industry Java Community Process governs evolution

5 5 The Microsoft.NET Challenge Does have interesting and useful technology Imitates Java in several respects C# language similar to Java CIL intermediate form similar to Java bytecode Common Language Runtime similar to JVM … but Java now imitating.NET in a few places Suffers from vendor and platform lock-in Newer, less mature Microsoft now collaborating with Sun and IBM … Although Ballmer says interop progress has slowed Mono.NET implementation is scheduled for SCO Fusion

6 6 SCOs Java Involvement SCO was a member of the Java Community Process (JCP) Executive Committee voted on JSRs that define/evolve Java standard promote adoption/growth of the Java technology SCO is a Sun Java source code licensee since 1996 basis of SCO UNIX J2SE

7 7 The Pieces of Java J2EE Web Services J2SE Development Tools Specialty APIs: javax.comm Desktop: Plug-in, WebStart

8 What is Java 2 Standard Edition? The central core of Java; provided with OS Includes the following execution pieces: Java Virtual Machine (JVM) the underlying execution engine transparent runtime compilers for performance just-in-time or dynamic or adaptive basic API libraries: language support, utilities, math, I/O applets, AWT, JFC/Swing, 2D, images, media networking, compression, and security distributed/component programming core: XML, RMI, Java Beans; parts of JDBC, JNDI, CORBA various commands keytool, rmic, rmiregistry, serialver, native2ascii, idlj, etc. a/k/a the Java Runtime Environment (JRE)

9 What is Java 2 SE (contd)? Includes the following (command-line) development pieces: javac source-to-bytecode compiler, jdb command-line debugger, javah header/stub generator for native method support javap bytecode disassembler, javadoc documentation formatter, jar archiving tool, appletviewer browser for applet testing a/k/a Java Software Development Kit (JDK, SDK)

10 10 SCO UNIX Java Release History

11 11 J2SE for SCO UNIX Platform Support SCO OpenServer UnixWare UnixWare Update Pack 4 essentially equivalent to UW SCO OpenServer MP3 [UP3/SuppCD3] requires OSRcompat v or higher uses new user-space OSR5 UDK threads library

12 12 J2SE for SCO UNIX Platform Support Unixware UnixWare UnixWare (a/k/a Open UNIX 8) requires Maintenance Pack 3 (ou800m3) or higher UnixWare requires Maintenance Pack 1 (uw711pk1) or higher requires libc, libm, libC, libthread or higher SCO OpenServer requires OSRcompat or higher SCO OpenServer requires OSRcompat or higher requires OSS643A

13 13 J2SE for SCO UNIX Packages Package j2jre142 runtime support Package j2sdk142 developer support, demos Package j2plg142 Java Plug-in support for Mozilla browser All of above installed by default install from download site for later patch releases pkgadd format for UW7, custom format for OSR5 and OSR6 /usr/java/ReleaseNotes.html is release doc go to for all Sun doc

14 14 Java Virtual Machines HotSpot (1.4.2) the newer VM technology from Sun now well-exercised too dynamic, adaptive re-engineered for better performance, maintainability native threads only Classic VM (1.3.1) the original VM from Sun well-exercised code base green threads or native threads performance can be improved with a JIT

15 What Java Runtime Compilers Do Make Java run faster In background, compile bytecodes of methods into native IA-32 machine code On subsequent invocations of method, machine code is executed instead of bytecode being re- interpreted Compilation is done while the application or applet is running hence runtime or just-in-time (JIT) in name an execution component, not development!

16 16 Different Java Runtime Compilers Classic VM sunwjit JIT (1.3.1) enhanced by SCO JIT heuristics faster start-up for GUI and other apps s/java/news/jit-heur.pdf HotSpot client compiler (1.4.2) for short-, medium-lived apps for fast start-up time, then good performance the default HotSpot server compiler (1.4.2) maximal performance for long-running applications longer time to start up java -server [… ]

17 17 Java Threads Models green threads: Java Virtual Machine does its own multithreading and context switching; all Java threads operate within one OS thread Java OSR5 many limitations native threads: JVM maps Java threads, operations 1-to-1 onto OS threads Java UW7 works ok but can be slow HotSpot native threads: JVM optimizes mapping of Java threads and operations onto OS threads e.g. Java synchronizations only rarely become OS mutex_lock calls Java UW7 & OSR6

18 18 Native Threads on OpenServer 5 !? SCO OpenServer 5 UDK threads library UW7 libthread ported to OSR5 under UDK available LWPs always equals one model required for Java green threads are gone also use for UDK C/C++ apps SCO OpenServer 5 ABI threads library? no, this is UDK only not needed for Java

19 19 SCO Java vs Benchmark Results SPEC JVM98 -s10 (medium- sized clients) Java is 38% faster than Java on UW7 … 26% faster on OSR5 SPEC JVM98 -s100 (large- sized clients) Java is 63% faster than Java on UW7 … 60% faster on OSR5 UW7 and OSR5 roughly comparable on JVM98 SPEC JBB2000 (large three- tier server app): Java is 685% [6.8x] faster than on UW7!! using server compiler really shows effect of runtime compilation and threads optimizations No such figure on OSR5 green threads hangs on UW7 much faster than OSR5 for Java benchmark needs kernel threads to do well OSR6 results similar to UW7

20 20 The moral is … If youre using Java on an older OSR5 Upgrade to OSR6! If youre using Java on an older UW7 Upgrade to UW7.1.4! Java will not be backported to earlier releases Java 1.5 will not be made available on back releases

21 Java as a First-class Executable UnixWare 7.1.x, OpenServer 6 feature When javac is used to compile one or more classes that contain main methods, the execute bit will be set on the resultant.class files Then do a link: $ ln -s foo.class foo Now you can now execute a Java program named foo as follows: $ foo The class foo must both be in $PATH (like any other executable) and in $CLASSPATH (like any other class) Purpose: Can now write utilities in Java without users knowing it

22 Native Methods Allows Java to call C or C++ or vice versa Must use UDK Not OSR5 Dev Sys Not OSR5 GCC Not OSR6 –Kosr mode UW7 gcc ok UW7 g++ not advised JNI, JNI Invocation both supported /usr/java/demos/native/ for commands to use dont guess at it! Use debug(1) to debug; see Release Notes Use native methods sparingly today, most Java apps are 100% Java! Java on OSR5: green threads I/O wrapping can cause troubles

23 Conformance SCO Java 2 SE implementations make no API extensions or subsets compared to the Sun/JCP baseline SCO Java 2 SE implementations pass the latest applicable Sun/JCP Java Compatibility Kit (JCK/TCK) test suites

24 24 J2EE Enterprise Edition a/k/a Java app server The Java middleware standard for servers For many end user app builders and ISVs, this is what you program to Many vendors Typically not provided by OS is this changing? JDBC (Database) Enterprise Java Beans JavaServer Pages Servlets Web Services, XML JNDI (Naming & Directory) CORBA Java Message Service Transactions and much more

25 25 J2EE Vendors Proprietary BEA WebLogic IBM WebSphere Pramati various others Open Source Jboss – most mindshare of open source implementations Sun Java System Application Server – recently open sourced Apache Geronimo – recently completed cert milestone ObjectWeb JOnAS – from French consortium

26 26 J2EE on SCO UNIX Enterprise features not just for Enterprises useful for SMB and replicated sites too BEA WebLogic Server 8.1 BEAs most recent release certified for native UnixWare and Java 1.4.2! Jboss open source implementation Just download it and run, no porting necessary UW7 users report good success with it … Will be packaged for UW mp3 (Nov 2005), OSR6 mp2 (Dec) Dont always need the whole enchilada! for just servlets & JSP, use Tomcat package JDBC usually comes from database vendor for SOAP/XML web services, see later on …

27 27 Java Serial and Parallel I/O Support javax.comm API is an extension to Java RS-232 based serial I/O IEEE 1284 based parallel I/O Available on OSR 5.0.7, OSR6 mp1, and UW based on RXTX open source implementation a good number of users on OSR5 see /usr/java/javax.comm-ReleaseNotes.html for guidelines on how to use

28 28 Java Serial and Parallel I/O Support Parallel I/O guidelines supports basic printing status APIs not supported isPaperOut, isPrinterBusy, isPrinterError, etc. USB support? full-blown USB support is a different API javax.usb (JSR 80) but behave-like-serial will work with javax.comm may depend on the actual driver success stories on OSR5

29 29 Java Desktop Technologies Java Plug-in Allows modern Mozilla through 1.7.x browsers on OSR5.0.7, OSR6 & UW7.1.4 to use SCO J2SE implementation no alternative! Mozilla doesnt have an internal JVM Allows old Netscape 4.x browsers on OSR5 & UW7 to use SCO J2SE implementation big improvement over out-of-date, broken Netscape internal JVM Java Web Start Launch application (not applet) from desktop or browser Insufficient market demand so far

30 30 SCO Java Futures Java 1.4.2_xx and 1.3.1_xx updates with Sun patch levels (usually security fixes) Java 1.5 (now renamed by Sun to Java 5.0) language changes: generics, autoboxing, for loops, enums, varargs, printf Sun FCS late Sept 2004 SCO UNIX version for OSR6, UW7 is under way scheduled for UW7.1.4mp4 (Apr/May 2006), OSR6 mp Packaged JBoss in earlier UW7.1.4, OSR6 maint packs Web services

31 Web Services

32 32 Web Services Basics Web Services – What are they? Provide layer of software abstraction Make apps available via Internet to other apps OS, hardware, language, location agnostic Industry-standard specifications SOAP, XML, WSDL, UDDI Dont need to know, tools auto generate Bridge between J2EE and.NET

33 33 A Simple Sample in Java

34 34 A Simple Sample in Perl #!/usr/bin/perl use SOAP::Lite; my $zip_code = shift; print "The temperature at zip code ", $zip_code, " is "; print SOAP::Lite -> service('http://www.xmethods.net/sd/TemperatureService.wsdl') -> getTemp($zip_code); print "\n";

35 35 SCO Web Services Platform Support Three operating systems OSR mp1 OSR supp3 UW Two web service servers Apache Tomcat Five languages Java, Perl, PHP included in eachs default set of libraries C, C++ at /usr/lib/gsoap/ Demos of client use in /usr/scox/language_demos/

36 36 SCOx Web Services Language Support

37 37 Why Java fits in with Web Services Java excellent language to use Web Services in Part of J2EE 1.4 specification Can also use stand-alone apart from J2EE Language is flexible, dynamic, self-aware proxy classes, complex types, XML data binding... Java web services bindings are standards JAXP, JAXB, JAX-RPC, etc. not true of other languages (C, C++, PHP...) Java encourages powerful middleware layers

38 38 SCOx Web Services Substrate (WSS) A set of tools for modernizing applications WebFace, WebFace Studio rich, browser-based, web services-based UIs uses AJAX approach, ahead of its time SQLe expose SQL database as a web service WAM manage Tomcat-deployed Java web services Ericom® HostPublisher® extend legacy green screen apps via web services

39 39 Availability of SCOx WSS Now a set of tools and services for use in modernizing applications Engage via SCO Professional Services

40 40 SCOs Java and Web Services Goals Enable ISVs, partners, users to develop and deploy Java applications on SCO platforms The same with web services Comformance with standards Compatibility with other implementations Commitment to support Reliability, Performance, Scalability Legacy code connectivity SCOx Professional Services

41 Questions & Answers


Download ppt "1 SCO Java and Web Services Roadmap Jonathan Schilling, SCO Engineering."

Similar presentations


Ads by Google