SCO Java and Web Services Roadmap Jonathan Schilling, SCO Engineering

1 / 41
About This Presentation
Title:

SCO Java and Web Services Roadmap Jonathan Schilling, SCO Engineering

Description:

key com.apple.print.PageFormat.PMHorizontalRes /key dict ... key com.apple.print.ticket.modDate /key date 2005-07-13T17:24:27Z /date ... –

Number of Views:215
Avg rating:3.0/5.0
Slides: 42
Provided by: jonathans8
Category:

less

Transcript and Presenter's Notes

Title: SCO Java and Web Services Roadmap Jonathan Schilling, SCO Engineering


1
SCO Java and Web Services RoadmapJonathan
Schilling, SCO Engineering
2
Topics and Agenda
  • What is Java?
  • Java 2 Standard Edition
  • Java 1.4.2
  • 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
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
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
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
  • 2000 - 2004
  • SCO is a Sun Java source code licensee
  • since 1996
  • basis of SCO UNIX J2SE

http//www.sco.com/java/
7
The Pieces of Java
J2EE
Web Services
Specialty APIs javax.comm
J2SE
DesktopPlug-in, WebStart
Development Tools
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
SCO UNIX Java Release History
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 4
  • essentially equivalent to UW 7.1.4
  • SCO OpenServer 5.0.7 MP3 UP3/SuppCD3
  • requires OSRcompat v. 8.0.2 or higher
  • uses new user-space OSR5 UDK threads library

12
J2SE 1.3.1 for SCO UNIX Platform Support
  • Unixware 7.1.4
  • UnixWare 7.1.3
  • UnixWare 7.1.2 (a/k/a Open UNIX 8)
  • requires Maintenance Pack 3 (ou800m3) or higher
  • UnixWare 7.1.1
  • requires Maintenance Pack 1 (uw711pk1) or higher
  • requires libc, libm, libC, libthread 8.0.0 or
    higher
  • SCO OpenServer 5.0.7
  • requires OSRcompat 8.0.1 or higher
  • SCO OpenServer 5.0.6
  • requires OSRcompat 8.0.1 or higher
  • requires OSS643A

13
J2SE 1.4.2 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 http//java.sun.com/j2se/1.4.2/docs/ for
    all Sun doc

14
Java Virtual Machines
  • 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
  • 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

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
Different Java Runtime Compilers
  • Classic VM sunwjit JIT (1.3.1)
  • enhanced by SCO
  • JIT heuristics
  • faster start-up for GUI and other apps
  • http//www.sco.com/developers/java/news/jit-heur.p
    df
  • 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
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 OSR5
  • many limitations
  • native threads JVM maps Java threads,
    operations 1-to-1 onto OS threads
  • Java 1.3.1 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 1.4.2 UW7 OSR6

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 1.4.2
  • 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
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 OSR5
  • UW7 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

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 1.4.2 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 1.3.1 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
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
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
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 7.1.4 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 7.1.4 mp3 (Nov 2005),
    OSR6 mp2 (Dec)
  • Dont always need the whole enchilada!
  • for just servlets JSP, use Tomcat 4.1.31
    package
  • JDBC usually comes from database vendor
  • for SOAP/XML web services, see later on

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 7.1.4
  • 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
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
Java Desktop Technologies
  • Java Plug-in
  • Allows 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 doesnt 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 Start
  • Launch application (not applet) from desktop
    or browser
  • Insufficient market demand so far

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
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
A Simple Sample in Java
34
A Simple Sample in Perl
!/usr/bin/perl use SOAPLite my zip_code
shift print "The temperature at zip code ",
zip_code, " is " print SOAPLite -
service('http//www.xmethods.net/sd/TemperatureSer
vice.wsdl') - getTemp(zip_code) print "\n"
35
SCO Web Services Platform Support
  • Three operating systems
  • OSR 6.0.0 mp1
  • OSR 5.0.7 supp3
  • UW 7.1.4
  • 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
SCOx Web Services Language Support
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
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
Availability of SCOx WSS
  • Now a set of tools and services for use in
    modernizing applications
  • Engage via SCO Professional Services

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
Write a Comment
User Comments (0)
About PowerShow.com