Connectivity Tools
Connectivity is essential for successful next-generation
applications. Today, enterprise software must interact with a myriad
of diverse applications and databases.
Allegro Common Lisp's Java and C++ interfaces, SOAP and XML
support, CORBA ORB, database connections and powerful foreign function
interface provide the necessary tools to link programs and
functionality within an enterprise and across business partners
quickly and efficiently.
Allegro Web Services
Compose and deploy Web Services applications dynamically in Lisp.
- SAX/DOM XML Parsers: Validating XML parsers, tested against
all major test suites. Faster than the C++ and Java versions
- SOAP API: Enables Allegro CL applications to communicate with new
and legacy applications on the internet via the SOAP protocol, and to
access web services over the internet
- WSDL Compiler: Automatically generates client Soap templates from
WSDL files and server WSDL files from Lisp expressions
- Allegro Webactions: A Web Application Framework on AllegroServe
for building dynamic web pages that can be easily maintained and
updated. Webactions provides a clear distinction between web design
and programming, allowing web designers to work independently from
programmers with their choice of tools. While similar to the Java
Struts in concept, is much simpler to use and more powerful for
application evolution
JAVA Tool Suite
Connect seamlessly to Java applications, without additional software.
- Package Allegro CL applications as Java Beans or Servlets
- Allegro jLinker: Directly call Java methods as if they were Lisp
functions and vice-versa
- Allegro JiL: Dynamically generate and compile Java code to run
in the Java Virtual Machine
Allegro ORBLink™
A CORBA-compliant ORB designed for developers who need to connect
Lisp to legacy code or systems written in other languages in a robust,
standardized manner.
- CORBA 2.1 with POA (Portable Object Architecture)
- Allegro ORBLink applications can be distributed for load sharing
or fault-tolerance
- IDL interfaces map directly to classes, and IDL methods to
generic functions
- Supports :before, :after, and :around methods
- ORB administration interface
- Configurable error recovery policy
- Optimized for deadlock-avoidance
- OLE/COM
Support: A high-level
OLE/OCX interface to complement the existing low-level interface
that has been available for some time. The core of the high-level
interface is automatically reading typelibs and automatically creating
the interface on the Lisp side. Common Graphics widgets can be defined
for arbitrary OCX controls
XML-RPC
Industry standard protocol that allows applications written in
different languages and/or separated by firewalls to communicate over
the Internet.
- To access and/or create third-party servers
- Lighter-weight alternative to CORBA
Lisp RPC
Allows one Lisp image to call functions and access data in another
Lisp image anywhere on a network.
- Lighter-weight alternative to CORBA
- Facilitates splitting an application into distributed components
- Enables effective use of multi-processor architectures, where
distributed components may utilize several processors
- New security features to prevent accidental and inadvertent
interference
- Shared memory communication for an alternative to network
sockets - up to 50x faster!
- Revised documentation: more examples and expanded explanations
Foreign Function Interface
Calling code written in other languages dynamically in a running
Allegro CL application.
- Load and call compiled code written in another language
- Call non-Lisp functions from within Allegro CL and vice
versa
- Automatically marshall and unmarshall datatypes between Allegro
CL and foreign functions
- Link libraries written in other languages in Allegro CL, and
have all the functions accessible
- Generate foreign function interfaces directly from SWIG
definitions
Other
- SWIG interface to
C++: Generate Allegro CL foreign function interfaces to C libraries
automatically, using the open source tool SWIG (see www.swig.org for more information)
-
IPv6 -- Internet Protocol version 6 socket support