VisualWorks: Overview

Here are some of the highlights of Cincom® VisualWorks®:

  • Web Toolkit
    The Web Toolkit takes advantage of and leverages the expertise of web developers and designers who do not know Smalltalk. Websites powered by the Web Toolkit can be built in the latest and greatest web development tools used by web developers today.
  •  Smalltalk Server Page Support
    Cincom added major functionality to VisualWave in order to support ASP- and JSP-style Smalltalk Server pages, as well as Smalltalk Servlets and Custom Tags in the 5i.4 release. With this release, we have enhanced the server management facilities and server-side performance. We support all the major web server interfaces including Apache and IIS.
  • Web Services
    Web Services offers a clean way to interoperate transparently with remote services, or to transparently make Smalltalk services available to others. This release has full support for UDDI, SOAP and WSDL. This allows for full interoperability with .NET-based services and J2EE web services. Wizards make it easy to either expose existing interfaces as a web service, or to create client Smalltalk interfaces to existing services. The Web Services implementation is supported by flexible XML-to-Object marshaling framework that can be easily reused for other purposes as well.
  • Tool Enhancements
    We have been working to integrate the menus and keyboard bindings across all of our development tools—the browser, the debugger and the inspector.  That work is well in hand, and is continuing.  Additionally, the browser and debugger have seen major facelifts in the last two releases, and will be getting a visual refresh in the upcoming product release.
  • Database
    VisualWorks supports connectivity via ODBC and via native connections to Oracle, Sybase, SQL Server, PostgreSQL, MySQL and DB/2. There are a number of contributed database connects to other RDBMS systems. Of course, VisualWorks connects closely to OODBMS systems like Gemstone and Objectivity, which allow for much more natural object persistence.
  • Oracle
    VisualWorks is now supporting more core features of Oracle:

    1. Array Binding (click here for more specifics)
    2. Large Object Support (click here for more specifics)
    3. Prefetching Data (click here for more specifics)
    4. Statement Caching (click here for more specifics)
    5. Column Buffer support – coming soon! (click here for more specifics)
  • Professional Debug Package
    The debugger for VisualWorks is now the PDP from Crafted Smalltalk. This feature greatly improves the productivity of Smalltalk developers.
  • GUI Tools
    The UI painting tools show continued improvement. Hotkey support has been added for all UI components, definable from the painting tools. The event system has been updated, and support for the wheel mouse has been added. There is now base-level support for XBM, JPG, PNG and GIF image formats, and new support for window opening and positioning. Work has started on support for alpha blending of graphics, and support for the Cairo graphics package is coming soon.  The user interface now operates with multiple processes instead of a single “distinguished” process. This enables more responsive applications. The Tree and dataset widgets have been enhanced as well, with additional keyboard navigation features.
  • Seaside
    Seaside is the best way to build “live web” applications that handle things in the same way that client applications do.  It’s a powerful, AJAX-enabled way to get going quickly.  See this page for more details on our Seaside support. Cincom supports Seaside as of the latest release of the product, and has built a new Seaside based environment—WebVelocity.  Click here for Seaside Tutorials 
  • Network Connectivity
    VisualWorks now has an extensive library of internet connectivity tools. This support has been growing since VW 5i.3. We now support a variety of protocols including FTP, HTTP, SMTP, IMAP and POP3. Most of these protocols are supported by a robust MIME framework.
  • Security – SSL
    An extensive Security library includes implementation of a number of cryptographic algorithms (MD5, SHA, DES, AES, RSA, DSA, DH, etc.) as well as higher-level mechanisms like password-based cryptography (PKCS#5), standard secure private key storage (PKCS#8) or public key certificates (X.509). Many of these standards are supported by flexible ASN.1 marshaling framework. A complete implementation of SSL protocol is used to secure other protocols like HTTP (HTTPS) or various mail protocols.
  • Store
    Store is the version control system of choice for VisualWorks. It has been improved in many ways:

    1. Cleaner, clearer support for multiple repositories.
    2. A tool interface for defining and changing package/bundle properties, including prerequisites.
    3. Much improved database access speed.
    4. Improved tool-level reporting to the developer of repository connections.
    5. Enhanced usability when extending/overriding classes from other packages.
    6. Ability to manipulate bundles within the repository without loading them.
    7. Increased usability and robustness.
    8. Ability to save ancillary files with a Smalltalk package in the repository.
    9. Faster load times.

To learn more about Store, click here.

  • CORBA
    Distributed Smalltalk has been updated to allow for clean interoperation with the latest Iona and Visigenic Orb products.
  • Opentalk
    Opentalk is the Smalltalk specific network communication framework that generalizes common communication infrastructure. It is used to support specific protocol implementations like our transparent remote messaging between distributed Smalltalk systems (STST). It is also the basis of our Web Services and Web Toolkit implementations. Eventually it will be used to support our CORBA implementation and possibly other solutions as well.
  • Object Engine/Virtual Machine
    The VisualWorks virtual machine technology provides the most sophisticated and highest-performance commercial Smalltalk execution technology with the broadest platform spread and with full 64-bit support on selected platforms. The virtual machine is based on just-in-time compilation that executes Smalltalk natively in machine code, yielding much higher performance than interpreted implementations. The virtual machine provides cross-platform access to graphics and windowing facilities across Win32, MacOS Aqua and X11 windowing systems. Smalltalk code lives in a virtual image, a file containing a snapshot of an entire Smalltalk system, expressed in a machine-independent object representaton and instruction set.  These two features provide instant binary portability for applications across all supported platforms. 32-bit virtual images are rewritten to 64-bit virtual images via a simple one-click conversion program extending binary portability to 64 bits. Smalltalk’s arbitrary-precision arithmetic support means that typical applications require no porting effort to run as full 64-bit applications. The virtual machine provides a full C ABI interface that gives access to the underlying OS. Interfaces to COM and Objective-C are available on the relevant platforms. Callouts and callbacks can be made on separate threads, allowing simple creation of non-blocking servers. The virtual machine provides cross-platform primitives for socket and file access, which is used by the rest of the system to provide platform-independent network and file access.
  • Platforms
    1. Windows (XP/Vista/Windows 7)
    2. Mac OS X (Intel and PowerPC, 10.4 and up)
    3. Linux (x86/SPARC/PPC), HPUX (PA RISC) – We have tested against RedHat Enterprise Linux specifically
    4. AIX
    5. Solaris (SPARC/x86) with full 64-bit support on Linux (x86-64) and Solaris (SPARC/x86-64)
  • Component
    1. Web Applications
    2. Web Services
    3. Internet Connectivity
    4. Database Connectivity
  • Tools
    1. Refactoring Browser
    2. Professional Debugger Package
 

Looking for something?

Use the form below to search the site:

Still not finding what you're looking for? Drop a comment on a post or contact us so we can
take care of it!