EurOS/2 Magazine - Volume 1 Number 7


 * EurOS/2 Magazine, Volume 1 Number 7, 14th May 1996
 * Editor: Martin Brampton

EurOS/2 Meeting 7th May 1996 - Software Development
We held a very interesting meeting on software development issues on Tuesday 7th May 1996 - many thanks to the excellent speakers: Geoff Drake of the IBM Solution Developers' Organisation, Marc West - Product Manager for JBA's Enterprise Suite and Alan Chambers of the IBM UK Software Business.

Cross Platform Development
Geoff Drake

Geoff started by analysing the issues facing the two major groups of software developers - independent software vendors (ISVs) and developers working for "corporates" on in house applications. The ISVs are concerned by ever increasing numbers of competitors, ever decreasing product lifespans (linked with a shift in revenue towards upgrades rather than product sales) and applications becoming more complex. For ISVs multiple platforms can be an opportunity to escape from saturated markets. This may lead to higher costs through multiple source code versions, but technology is available to bring this back into a single source.

The corporate developers face similar problems with increasing complexity of solutions, and Geoff cited the popularity of Smalltalk in the eastern USA where speed of development is seen as critical by the financial sector. Diverse target platforms may be either inevitable or desirable in a corporate environment, and again developers are faced with shortening life and deployment cycles.

IBM is pushing hard on cross platform tools and its major offerings are being grouped under the "VisualAge" tag. There are currently Smalltalk, C++ and Cobol versions available, with Basic on the way. In all cases, support is provided (or is on the way) not only for OS/2 and AIX but also for all flavours of Windows. VisualAge gives a common look and feel to its visual application builder across all platforms. The paradigm is application assembly from parts, with a commitment to truly object oriented development, and a model of development that includes groups of individuals with different levels and types of skill. All versions aim to be Open Systems and are suitable for enterprise wide development and deployment.

Currently IBM Smalltalk is available for OS/2, AIX, Windows in all flavours with HP/UX and Solaris coming soon.

For developers working at the C++ level IBM has created its "Open Class Library" which offers a high degree of portability over the major platforms. It provides 800 objects that derived from the Taligent project. These embrace object types including collections, GUI, application support, database access and multimedia. OpenDoc support is also included and this is developing to include OLE as a subclass of OpenDoc so as to achieve cross platform compound objects that can embrace the Windows environments.

IBM is providing its compiler technology for OS/2 2.11 and 3.x, AIX, MVS, Solaris, OS/400, Windows NT and 95 with Macintosh on the way. This is an impressively broad range, especially for tools at the C level. To ease the transition of existing code, the Developer API Extension (DAPIE) has been created, providing a new set of APIs to OS/2 with 700 new windowing and graphics APIs and 300 new messages. DAPIE supports 80% of the Windows API set and these APIs have been chosen to cover the most commonly used APIs. All new Lotus OS/2 products will be DAPIE enabled. Not supported are OLE, communications, exceptions, file compression, Pen extensions, print spooling and security.

As an example of the effectiveness of DAPIE, Geoff referred to a German company who took 6 million lines of code and converted it to OS/2 with only 8 manual changes. Where new applications are built using DAPIE there can be little or even no platform specific code. For older code there is the SMART intelligent search and replace facility that helps identify and remove platform dependent code. It also provides an analysis of the level of work required to complete the transfer of the code to a platform independent state. DAPIE can reduce the level of manual effort required by as much as 95% and case studies show that the transfer of code using DAPIE can be dramatically faster than conversion from Windows 3.11 to 95

A supplementary tool for cross platform development is Hyperwise. Using the same source material, this is capable of generating IPF for either Windows or OS/2 and also HTML for Web Browsers. It includes highly effective compression.

System Development without Code
Marc West

Much of Marc's presentation consisted of a live demonstration which unfortunately cannot be relayed through the magazine. Marc made available free copies of the JBA Guidelines Evaluation CD which contains fully functional product. There a few copies left and if you would like one [please send Martin an e-mail].

Marc described JBA Guidelines as a system for generating C++ code for Windows and OS/2. It follows a Business Basic paradigm intended to utilise established development skills with a minimum of retraining. At the developer interface, Guidelines provides visual development and a 4GL with intelligent prompting that is platform independent, but at the implementation level the result is generated C++. There are links to many databases and the system also includes communications facilities.

A key part of Marc's presentation was a description of the IBM MQ series (Message Enqueueing). MQ provides middleware between client and server, supporting many diverse platforms with a common API. Transmission is guaranteed by the protocols within MQ but the actual underlying transport could involve many possible protocols. The actual functioning of the MQ middleware is transparent to the developer, who is thus able to ignore platform specific issues.

MQ adopts the by now familiar three tier model of client/server development, where the levels are a presentation layer that interfaces with the computer user, a business layer that enshrines the processing rules and a data layer to provide long term storage of information. MQ provides for integration across platforms of event driven and procedural developments.

Following these introductory discussions, Marc gave an excellent demonstration of what is involved in building an application using Guidelines and MQ Series.

The JAVA language
Alan Chambers

Anyone who has been following what's happening on the Internet could not have failed to hear about Java recently. Alan has been studying what it offers and what implications it may have for development. The history of Java starts with an idea for microprocessors for TV set top boxes, intelligent VCRs and so on back in 1990. This developed into the "Oak" object oriented language created by Mike Gosling, which by 1994 was deemed a flop. In January 1995 "Oak" was renamed "Java" and modified (including the addition of security features) to find a role in connection with the Internet. The Java language includes a class library and its focus has been to enhance the features achievable with World Wide Web pages. At the same time it has been viewed as having attractions as a tool for application programming, and especially for the implementation of client-server systems across the Internet. IBM Hursley started an OS/2 port of Java in the second half of 1995.

The term "applet" has been used widely by contrast with the more conventional "application" and Alan explained that "applet" means specifically code designed to be included in World Wide Web pages. As an example, he mentioned that the recently published IBM financial results included Java applets that dynamically converted the figures into graphical form.

Alan then clarified something many people have overlooked - Java is two things, a programming language and a virtual machine specification. The programming language is rather like C++ although the similarity is more cosmetic than real. The language is almost purely object oriented, with no functions, structures or globals, but including simple types such as integer and character. Sun claims that Java avoids those C++ features that cause most errors, such as multiple inheritance, operator overloading (although function overloading is permitted) and preprocessing. The Java language is strongly typed and does not support pointers. It caters for automatic heap management and does handle exceptions. Interestingly for OS/2 users, it supports threads. For further clarification, "Hot Java" is a Web Browser, written in Java by Sun, and now apparently becoming out of date.

The class library provided with Java is not hugely rich, but includes special applet classes together with classes for windowing, input-output, sockets for TCP/IP and collections. In March 1996 JDBC was added as a standard mechanism for Java access to SQL databases.

The virtual machine is more formally known as the "Java Byte Code Machine". The Java language is compiled into Java Byte Code which is machine independent, then any machine that is to support Java must be able to provide a virtual Java Byte Code Machine. Alan emphasised that once the virtual machine is in place, there exists the possibility to run other languages than Java, provided they can be compiled into Java Byte Code. In particular, Mike Cowlishaw of IBM, the originator of REXX and NetRexx, is interested in the potential of this approach. One peculiarity of the compilation process is that each Java class is a separate file, and these could become very numerous. There is a packaging option to include the classes in a single ZIP file, although Alan considered this a rather crude mechanism. Other potentially irritating limitations are that the class name must be the file name (which thus for practical purposes must be capable of being long) and is case sensitive (which is unfamiliar to PC users). Security is implemented as a separate "Security Manager".

Web development could be characterised as having progressed through three stages:
 * 1) The use of HTML (Hypertext Markup Language) to provide a "view only" facility - essentially an online brochure.
 * 2) Forms and CGI scripts to give limited interaction perhaps to the level of a "reply coupon".
 * 3) Java - full client server with processing on the client and two way communications.

Security features are implemented through a variety of mechanisms: and so far there have been only two "scares" of any significance.
 * Applets cannot access the local file system at all
 * Applets cannot access arbitrary memory
 * Java has strict typing and bounds checking
 * TCP/IP sockets are limited to linking only to the host from which the applet was loaded

Alan gave a demonstration of a simple Java application he had written to create a shifting pattern of coloured squares - he mentioned that Java is particularly good at colour handling.

Describing work IBM is doing with Java, Alan mentioned that the formal licensing of Java by IBM took place in December 1995. The Hursley team (the most up to date information on [Hursley Java developments] is available through the Web) have ported Java to OS/2 and are now working on a Windows 3.x version, which is currently absent. There is a version of the Web Explorer including Java support described by Alan as "flaky". Further plans include extensive support in "Merlin" for Java integrated into OS/2, the Java runtime and Java Developer Kit included with OS/2, the ability to drag applets from the browser to the desktop, or to launch applets from the desktop. A version of Visual Age for Java is being prepared - see OS/2 News.

All in all, Alan considers Java an excellent language. It has great possibilities for client-server developments on the Web. Tools are key to its success, and are still immature at present, although they are developing rapidly. For more information on useful Web sites, consult Alan Chambers.

Exchange of Views
Can you offer comments on your own experiences of OS/2 based server or workstation implementations? Contributions from readers are very welcome, especially in computer readable form. Please see contact details below or mail your ideas right now while you think about it! Or if you want to know something, let us know so that it can be mentioned in future editions.

Planned Meetings
The next meeting has been scheduled for Thursday 6th June 1996 and the following meeting will be held on Monday 15th July (usual time and location)

At present, meetings are taking place at 4 pm at the Moore Stephens Training Centre, 1 Snow Hill, London EC1A 2EN. Nearest underground stations Farringdon, St Paul's or Blackfriars. Please let me know your fax number for a map or details of local hotels. The formal presentations will finish by 6 pm, but are likely to be followed by extended informal discussions over light refreshments.

If you've any [comments or requests] concerning meetings or the magazine, we'd love to hear from you - contact details below. Which articles do you like or dislike?

OS/2 Software
I have a copy of Arcada Backup for OS/2 Warp by Seagate Software. Features claimed include seamless migration from Sytos Plus, a wide range of tape support, high performance and flexibility. Would anyone care to commit to writing a review in return for ownership of this software package?

OS/2 News
On May 7th 1996, IBM announced its plans to offer VisualAge tools for the Java programming environment. The tools, which will be available during the second half of 1996, will provide a complete development environment, including an editor, debugger and browser, along with a Java class library and a VisualAge Data Access builder for visually constructing data access through use of Java Database Connection (JDBC).

John W Thompson TeleSeminars - John W Thompson is the IBM executive responsible for making a success of OS/2 and he held a TeleSeminar on 29th April 1996. A video of the seminar is available and if you would like a copy, please e-mail Martin Brampton. The next TeleSeminar is scheduled for July 11th 1996.

It is hoped that the "Merlin" beta CD will be available in time for the next EurOS/2 meeting, and there should also be a beta of the SMP version of Warp Server in June. By the end of April, more than 50,000 copies of Warp Server had been sold, which IBM claimed exceeded their expectations. I have a number of copies of the Aberdeen Group's favourable review of Warp Server - if you would like a copy, please [e-mail your postal address].

One of the key software servers promoted in "Project Eagle" is the Directory and Security Server (see the EurOS/2 Magazine number 6 for more details of DSS) and it should start shipping during June 1996.

Moore Stephens has released version 1.2 of its REXX library for access to NetWare functions. This has formed an important element in the Moore Stephens implementation of the IBM Restricted Workplace Shell. It is available from Compuserve (OSDF1 Library 6) or from the Moore Stephens Infoline BBS on 0171-334-0337 as MSNWRX12.ZIP.

Problems!
Can anyone help?

Could you suggest a possible reason for my DOS and Win-OS/2 sessions not working? I found they were disabled after I'd installed the drivers for my Mach64 video card, though I'm not sure if there's a connection. Text-mode OS/2 sessions are unaffected, so I suspect it's a DOS command-shell problem rather than video-related. I tried posting to comp.os.os2.setup.misc over it, but the message was apparently deleted after 24 hours - perhaps I targeted the wrong group? Replies to Tim Walker.

Magazine format
The EurOS/2 Electronic Magazine is despatched by e-mail in HTML format. You can read it with the tags, but it is most effectively read using the OS/2 Web Explorer or a similar Web browser. Simply save the magazine in a convenient file, giving it a name with a .HTM extension. The file object can then be dropped on the Web Explorer and you will be able to read a fully formatted version of the magazine. Provided you are connected to the Internet, the live Web links will all work for you.

If you would like to access the EurOS/2 Magazine (including back numbers) through the Web, EurOS/2 member John Poltorak has it set up at his Web site and you can go directly to an index of EurOS/2 magazine issues.

Various methods of stripping off the HTML are available if required (see earlier editions of the magazine for details). Alternatively, if you'd prefer to receive a stripped version of the magazine, please mail me to be moved to the appropriate list. If you're getting the faxed version, you might like to switch to the electronic version - just let me know your e-mail address.

EurOS/2 Contact Information
We would like to encourage anyone working to achieve successful OS/2 implementations to participate in EurOS/2. All communications are despatched electronically, via Internet, Compuserve or fax. To receive regular information from EurOS/2, please let us know your first name, last name, company, job title, address, telephone, fax, Internet e-mail address, Compuserve e-mail address, and indicate which form of communication you prefer.

EurOS/2 can be contacted in the following ways:
 * Internet at euros2@ibm.net 
 * Compuserve to Martin Brampton 100303,2007 
 * Fax to Martin Brampton, Moore Stephens, 0171-246-6055 
 * Telephone Martin Brampton, 0171-334-9191 
 * BBS Moore Stephens Infoline, 0171-334-0337 
 * Mail to Martin Brampton, Moore Stephens, St Paul's House, Warwick Lane, London EC4P 4BN. 

Web Stuff
The [Olympics World Wide Web server] will not be running on OS/2 but RS/6000. You might be interested anyway!

If you're working with the World Wide Web, you may find it helpful to refer to [a Guide to Writing CGI Scripts in REXX and Perl]. Also, you may want to know more about the Java related [NetRexx Language].

Talking of REXX, for all related information it is worth visiting the Web site run by Dick Goran - the author of the invaluable "REXX Reference Summary Handbook". He is to be found at [C F S Nevada, Inc.]