1 sco java and web services roadmap jonathan schilling, sco engineering

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

Upload: reuben-driver

Post on 31-Mar-2015

219 views

Category:

Documents


4 download

TRANSCRIPT

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

1

SCO Java and Web Services Roadmap

Jonathan Schilling, SCO Engineering

Page 2: 1 SCO Java and Web Services Roadmap Jonathan Schilling, SCO Engineering

2

Topics and Agenda

What is JavaJava 2 Standard Edition

Java 1.4.2

Java 2 Enterprise Editionsolutions for SCO platforms

Java Serial and Parallel I/O SupportJava Desktop Technologies

Web ServicesFor Java and for other languages

Page 3: 1 SCO Java and Web Services Roadmap Jonathan Schilling, SCO Engineering

What is Java ? (First Things)

A languageobject-oriented, concurrent,

distributed, self-aware

A portable runtime environmentsimilar to an OS but platform-independent

A set of APIs covering the breadth of an OSA set of APIs enabling application layersA good base for web servicesA development environment

Page 4: 1 SCO Java and Web Services Roadmap Jonathan Schilling, SCO Engineering

4

The State of Java

Dominant technology for modern programmingPortabilityEnterpriseServer-sideMiddlewareWeb services

Also used as client GUI or as browser plug-inGuided by Sun, built by whole industry

Java Community Process governs evolution

Page 5: 1 SCO Java and Web Services Roadmap Jonathan Schilling, SCO Engineering

5

The Microsoft .NET Challenge

Does have interesting and useful technologyImitates Java in several respects

C# language similar to JavaCIL intermediate form similar to Java bytecodeCommon Language Runtime similar to JVM… but Java now imitating .NET in a few places

Suffers from vendor and platform lock-inNewer, less matureMicrosoft now collaborating with Sun and IBM …

Although Ballmer says interop progress has slowed

Mono .NET implementation is scheduled for SCO “Fusion”

Page 6: 1 SCO Java and Web Services Roadmap Jonathan Schilling, SCO Engineering

6

SCO’s Java Involvement

SCO was a member of the Java Community Process (JCP) Executive Committee

voted on “JSRs” that define/evolve Java standardpromote adoption/growth of the Java technology2000 - 2004

SCO is a Sun Java source code licensee

since 1996basis of SCO UNIX J2SE

http://www.sco.com/java/

Page 7: 1 SCO Java and Web Services Roadmap Jonathan Schilling, SCO Engineering

7

The Pieces of Java

J2EEJ2EEWeb Services

Web Services

J2SEJ2SEDevelopmentTools

DevelopmentTools

Specialty APIs:javax.comm

Specialty APIs:javax.comm

Desktop:Plug-in,

WebStart

Desktop:Plug-in,

WebStart

Page 8: 1 SCO Java and Web Services Roadmap Jonathan Schilling, SCO Engineering

What is Java 2 Standard Edition?

The central core of Java; provided with OSIncludes 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/Oapplets, AWT, JFC/Swing, 2D, images, medianetworking, compression, and security

distributed/component programming core:XML, RMI, Java Beans; parts of JDBC, JNDI, CORBA

various commandskeytool, rmic, rmiregistry, serialver, native2ascii, idlj, etc.

a/k/a the Java Runtime Environment (JRE)

Page 9: 1 SCO Java and Web Services Roadmap Jonathan Schilling, SCO Engineering

What is Java 2 SE (cont’d)?

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 testinga/k/a Java Software Development Kit (JDK, SDK)

Page 10: 1 SCO Java and Web Services Roadmap Jonathan Schilling, SCO Engineering

10

SCO UNIX Java Release History

JDK 1.1

May 1997 J2SE 1.2.2 Mar 2000

JDK 1.1.3 Mar 1998 J2SE 1.3.0_02

Jun 2001

JDK 1.1.3u Jun 1998

J2SE 1.3.1_04

Dec 2002

JDK 1.1.3w

Feb 1999

J2SE 1.3.1_16 Jul 2005 (latest)

JDK 1.1.7A Mar 1999 J2SE 1.4.2_03 May 2004

JDK 1.1.7B Oct 1999 J2SE 1.4.2_08 Jul 2005 (latest)

JDK 1.1.8 Dec 2000

Page 11: 1 SCO Java and Web Services Roadmap Jonathan Schilling, SCO Engineering

11

J2SE 1.4.2 for SCO UNIX Platform Support

SCO OpenServer 6.0.0

UnixWare 7.1.4

UnixWare 7.1.3 Update Pack 4essentially equivalent to UW 7.1.4

SCO OpenServer 5.0.7 MP3 [UP3/SuppCD3]requires OSRcompat v. 8.0.2 or higheruses new user-space OSR5 UDK threads library

Page 12: 1 SCO Java and Web Services Roadmap Jonathan Schilling, SCO Engineering

12

J2SE 1.3.1 for SCO UNIX Platform Support

Unixware 7.1.4UnixWare 7.1.3UnixWare 7.1.2 (a/k/a Open UNIX 8)

requires Maintenance Pack 3 (ou800m3) or higher

UnixWare 7.1.1requires Maintenance Pack 1 (uw711pk1) or higher

requires libc, libm, libC, libthread 8.0.0 or higher

SCO OpenServer 5.0.7requires OSRcompat 8.0.1 or higher

SCO OpenServer 5.0.6requires OSRcompat 8.0.1 or higherrequires OSS643A

Page 13: 1 SCO Java and Web Services Roadmap Jonathan Schilling, SCO Engineering

13

J2SE 1.4.2 for SCO UNIX Packages

Package j2jre142 runtime support

Package j2sdk142developer support, demos

Package j2plg142Java Plug-in support for Mozilla browser

All of above installed by defaultinstall from download site for later patch releasespkgadd format for UW7, custom format for OSR5 and

OSR6

/usr/java/ReleaseNotes.html is release docgo to http://java.sun.com/j2se/1.4.2/docs/ for all Sun doc

Page 14: 1 SCO Java and Web Services Roadmap Jonathan Schilling, SCO Engineering

14

Java Virtual Machines

“HotSpot” (1.4.2)the newer VM technology from Sunnow well-exercised toodynamic, adaptivere-engineered for better performance, maintainabilitynative threads only

“Classic VM” (1.3.1)the original VM from Sunwell-exercised code basegreen threads or native threadsperformance can be improved with a JIT

Page 15: 1 SCO Java and Web Services Roadmap Jonathan Schilling, SCO Engineering

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!

Page 16: 1 SCO Java and Web Services Roadmap Jonathan Schilling, SCO Engineering

16

Different Java Runtime Compilers

Classic VM “sunwjit” JIT (1.3.1)

enhanced by SCOJIT heuristics

faster start-up for GUI and other apps

http://www.sco.com/developers/java/news/jit-heur.pdf

HotSpot “client” compiler (1.4.2)

for short-, medium-lived appsfor fast start-up time, then good performancethe default

HotSpot “server” compiler (1.4.2)

maximal performance for long-running applicationslonger time to start upjava -server [… ]

Page 17: 1 SCO Java and Web Services Roadmap Jonathan Schilling, SCO Engineering

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 1.3.1 OSR5many limitations

“native threads”: JVM maps Java threads, operations 1-to-1 onto OS threads

Java 1.3.1 UW7works 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 callsJava 1.4.2 UW7 & OSR6

Page 18: 1 SCO Java and Web Services Roadmap Jonathan Schilling, SCO Engineering

18

Native Threads on OpenServer 5 !?

SCO OpenServer 5 UDK threads library

UW7 libthread ported to OSR5 under UDK“available LWPs always equals one” modelrequired for Java 1.4.2

“green threads” are gone

also use for UDK C/C++ apps

SCO OpenServer 5 ABI threads library?

no, this is UDK onlynot needed for Java

Page 19: 1 SCO Java and Web Services Roadmap Jonathan Schilling, SCO Engineering

19

SCO Java 1.4.2 vs. 1.3.1 Benchmark Results

SPEC JVM98 -s10 (medium-sized clients)

Java 1.4.2 is 38% faster than Java 1.3.1 on UW7… 26% faster on OSR5

SPEC JVM98 -s100 (large-sized clients)

Java 1.4.2 is 63% faster than Java 1.3.1 on UW7… 60% faster on OSR5UW7 and OSR5 roughly comparable on JVM98

SPEC JBB2000 (large three-tier server app):

Java 1.4.2 is 685% [6.8x] faster than 1.3.1 on UW7!!

using “server compiler” really shows effect of runtime compilation and threads optimizations

No such figure on OSR5 green threads hangs on 1.3.1

UW7 much faster than OSR5 for Java 1.4.2

benchmark needs kernel threads to do well

OSR6 results similar to UW7

Page 20: 1 SCO Java and Web Services Roadmap Jonathan Schilling, SCO Engineering

20

The moral is …

If you’re using Java on an older OSR5

Upgrade to OSR6!If you’re using Java on an older UW7

Upgrade to UW7.1.4!Java 1.4.2 will not be backported to earlier releasesJava 1.5 will not be made available on back releases

Page 21: 1 SCO Java and Web Services Roadmap Jonathan Schilling, SCO Engineering

Java as a First-class Executable

UnixWare 7.1.x, OpenServer 6 featureWhen 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

Page 22: 1 SCO Java and Web Services Roadmap Jonathan Schilling, SCO Engineering

Native Methods

Allows Java to call C or C++ or vice versa

Must use UDK Not OSR5 Dev SysNot OSR5 GCCNot OSR6 –Kosr modeUW7 gcc okUW7 g++ not advised

JNI, JNI Invocation both supported

/usr/java/demos/native/ for commands to use

don’t guess at it!

Use debug(1) to debug; see Release Notes

Use native methods sparingly

today, most Java apps are 100% Java!

Java 1.3.1 on OSR5: green threads I/O wrapping can cause troubles

Page 23: 1 SCO Java and Web Services Roadmap Jonathan Schilling, SCO Engineering

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

Page 24: 1 SCO Java and Web Services Roadmap Jonathan Schilling, SCO Engineering

24

J2EE — “Enterprise Edition”

a/k/a “Java app server”The Java middleware standard for serversFor many end user app builders and ISVs, this is what you program toMany vendorsTypically not provided by OS

is this changing?

JDBC (Database)Enterprise Java BeansJavaServer PagesServletsWeb Services, XMLJNDI (Naming & Directory)CORBAJava Message ServiceTransactionsand much more

Page 25: 1 SCO Java and Web Services Roadmap Jonathan Schilling, SCO Engineering

25

J2EE Vendors

ProprietaryBEA WebLogicIBM WebSpherePramativarious others

Open SourceJboss – 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

Page 26: 1 SCO Java and Web Services Roadmap Jonathan Schilling, SCO Engineering

26

J2EE on SCO UNIX

“Enterprise” features not just for “Enterprises”useful for SMB and replicated sites too

BEA WebLogic Server 8.1BEA’s most recent releasecertified for native UnixWare 7.1.4 and Java 1.4.2!

Jboss open source implementation Just download it and run, no porting necessaryUW7 users report good success with it …Will be packaged for UW 7.1.4 mp3 (Nov 2005), OSR6 mp2

(Dec)

Don’t always need the whole enchilada!for just servlets & JSP, use Tomcat 4.1.31 packageJDBC usually comes from database vendorfor SOAP/XML web services, see later on …

Page 27: 1 SCO Java and Web Services Roadmap Jonathan Schilling, SCO Engineering

27

Java Serial and Parallel I/O Support

javax.comm API is an extension to Java RS-232 based serial I/OIEEE 1284 based parallel I/O

Available on OSR 5.0.7, OSR6 mp1, and UW 7.1.4based on RXTX open source implementationa good number of users on OSR5see /usr/java/javax.comm-ReleaseNotes.html for

guidelines on how to use

Page 28: 1 SCO Java and Web Services Roadmap Jonathan Schilling, SCO Engineering

28

Java Serial and Parallel I/O Support

Parallel I/O guidelinessupports basic printingstatus 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.commmay depend on the actual driversuccess stories on OSR5

Page 29: 1 SCO Java and Web Services Roadmap Jonathan Schilling, SCO Engineering

29

Java Desktop Technologies

Java Plug-inAllows modern Mozilla 1.2.1 through 1.7.x browsers on

OSR5.0.7, OSR6 & UW7.1.4 to use SCO J2SE 1.4.2 implementation

no alternative! Mozilla doesn’t have an internal JVM

Allows old Netscape 4.x browsers on OSR5 & UW7 to use SCO J2SE 1.3.1 implementation

big improvement over out-of-date, broken Netscape internal JVM

Java Web StartLaunch application (not applet) from desktop or

browser

Insufficient market demand so far

Page 30: 1 SCO Java and Web Services Roadmap Jonathan Schilling, SCO Engineering

30

SCO Java Futures

Java 1.4.2_xx and 1.3.1_xxupdates 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, printfSun FCS late Sept 2004SCO UNIX version for OSR6, UW7 is under way

scheduled for UW7.1.4mp4 (Apr/May 2006), OSR6 mpPackaged JBoss in earlier UW7.1.4, OSR6 maint packs

Web services

Page 31: 1 SCO Java and Web Services Roadmap Jonathan Schilling, SCO Engineering

Web Services

Page 32: 1 SCO Java and Web Services Roadmap Jonathan Schilling, SCO Engineering

32

Web Services Basics

Web Services – What are they?Provide layer of software abstractionMake apps available via Internet to other apps

OS, hardware, language, location agnosticIndustry-standard specifications

SOAP, XML, WSDL, UDDIDon’t need to know, tools auto generate

Bridge between J2EE and .NET

Page 33: 1 SCO Java and Web Services Roadmap Jonathan Schilling, SCO Engineering

33

A Simple Sample in Java

import net.xmethods.www.*;

public class TempClientP { public static void main(String[] args) throws Exception { String zip = args[0]; TemperatureService svc = new TemperatureServiceLocator(); TemperaturePortType tp = svc.getTemperaturePort(); try { float temp = tp.getTemp(zip); System.out.println("Current temperature at zip code " + zip + " is " + temp + " degrees F."); } catch (org.apache.axis.AxisFault e) { System.err.println("Exception! " + e.toString()); } }}

Page 34: 1 SCO Java and Web Services Roadmap Jonathan Schilling, SCO Engineering

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";

Page 35: 1 SCO Java and Web Services Roadmap Jonathan Schilling, SCO Engineering

35

SCO Web Services Platform Support

Three operating systemsOSR 6.0.0 mp1OSR 5.0.7 supp3UW 7.1.4

Two web service serversApacheTomcat

Five languagesJava, Perl, PHP included in each’s default set of librariesC, C++ at /usr/lib/gsoap/Demos of client use in /usr/scox/language_demos/

Page 36: 1 SCO Java and Web Services Roadmap Jonathan Schilling, SCO Engineering

36

SCOx Web Services Language Support

SOAP LIBRARY XML PARSERS SECURITY

C / C++

gSOAP 2.2.3

expat libxml

OpenSSL

Java

Apache Axis 1.2 w/ fix

Apaches Xerces-J 1.4.4

JSSE within J2SE 1.4.2

Perl

SOAP::Lite

XML::Parser

IO::Socket:SSL Crypt::SSLeay

PHP

PEAR::SOAP

PHP XML (expat) PHP DOM XML (libxml)

OpenSSL curl

Page 37: 1 SCO Java and Web Services Roadmap Jonathan Schilling, SCO Engineering

37

Why Java fits in with Web Services

Java excellent language to use Web Services inPart of J2EE 1.4 specificationCan also use stand-alone apart from J2EE

Language is flexible, dynamic, self-awareproxy classes, complex types, XML data binding ...

Java web services bindings are standardsJAXP, JAXB, JAX-RPC, etc.not true of other languages (C, C++, PHP ...)

Java encourages powerful middleware layers

Page 38: 1 SCO Java and Web Services Roadmap Jonathan Schilling, SCO Engineering

38

SCOx Web Services Substrate (WSS)

A set of tools for modernizing applicationsWebFace, WebFace Studio

rich, browser-based, web services-based UIsuses AJAX approach, ahead of its time

SQLeexpose SQL database as a web service

WAMmanage Tomcat-deployed Java web services

Ericom® HostPublisher®extend legacy “green screen” apps via web

services

Page 39: 1 SCO Java and Web Services Roadmap Jonathan Schilling, SCO Engineering

39

Availability of SCOx WSS

Now a set of tools and services for use in modernizing applicationsEngage via SCO Professional Services

Page 40: 1 SCO Java and Web Services Roadmap Jonathan Schilling, SCO Engineering

40

SCO’s Java and Web Services Goals

Enable ISVs, partners, users to develop and deploy Java applications on SCO platformsThe same with web servicesComformance with standardsCompatibility with other implementationsCommitment to supportReliability, Performance, ScalabilityLegacy code connectivitySCOx Professional Services

Page 41: 1 SCO Java and Web Services Roadmap Jonathan Schilling, SCO Engineering

Questions & Answers