[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-devel
Subject:    Fwd: MICO: ANNOUNCE: The CorbaScript 1.3 release now includes CorbaWeb
From:       David Faure <faure () alpha ! tat ! physik ! uni-tuebingen ! de>
Date:       1999-05-04 22:14:31
[Download RAW message or body]

As we wondered what it is .... 

----- Forwarded message from Philippe.Merle@lifl.fr -----

From: Philippe.Merle@lifl.fr
Date: 	Tue, 4 May 1999 19:20:01 +0200 (MET DST)
To: goode@univ-lille1.fr, ob@ooc.com,
        mico-devel@vsb.informatik.uni-frankfurt.de,
        oak-announce@paragon-software.com, objets@forum.afnor.fr,
        omg@forum.afnor.fr, corba-dev@qds.com, bioobjects@ebi.ac.uk,
        JavaCORBA@luke.org, Bruno.Defude@etna.int-evry.fr,
        Vladimir.Marangozov@imag.fr, viara@infobiogen.fr, priem@enit.fr,
        lecomte@lifl.fr, Philippe.Gibert@cnet.francetelecom.fr,
        marieclaude.pellegrini@cnet.francetelecom.fr, chris@etna.int-evry.fr,
        Jean-Michel.Paris@pt.nce.sita.int, slidel@ebi.ac.uk, h.hofmann@gmx.net,
        Bob.Marshall@sinbad.nsc.com, lmcbeka@lmc.ericsson.se
Subject: MICO: ANNOUNCE: The CorbaScript 1.3 release now includes CorbaWeb

-----------------------------------------------------------
ANNOUNCE: The CorbaScript 1.3 release now includes CorbaWeb
-----------------------------------------------------------

--------------------
What is CorbaScript?
--------------------

CorbaScript is an interpreted object-oriented scripting language dedicated
to CORBA environments. Scripts (i.e. CorbaScript programs) can invoke any
operation, get and set any attribute of any CORBA object. Moreover, any
OMG IDL interface can be implemented by scripts. CorbaScript provides a
dynamic binding to OMG IDL descriptions: no OMG IDL stub or skeleton need
to be generated. OMG IDL descriptions are extracted from the Interface
Repository and are made directly available to scripts. Invocations of
CORBA objects are achieved by the CORBA DII mechanism. The CORBA DSI is 
used to implement CORBA objects with CorbaScript. Moreover scripts can 
invoke any world-wide CORBA object through IIOP.

CorbaScript fully hides these complex CORBA mechanisms via a simple,
attractive and powerful scripting language. Finally CorbaScript is
submitted to the ``OMG CORBA Scripting Language RFP'' (look at
http://www.omg.org/library/schedule/CORBA_Scripting_Language_RFP.htm).

-----------------
What is CorbaWeb?
-----------------

CorbaWeb is a powerful environment providing a generic gateway to integrate
the CORBA and World Wide Web worlds. More precisily, CorbaWeb allows Web
users to browse and invoke CORBA objects via their Web browsers.
Then Web users interact with their CORBA objects via Web documents (MIME,
HTML, forms, etc) dynamically generated on the fly. Then CorbaWeb can be
seen as a generic and dynamic CORBA objects browser.

Technically, CorbaWeb is composed of two parts:

  * HttpServer: This module provides the implementation of an HTTP server
                which manages MIME files and servlets written in CorbaScript.

  * CorbaWeb: This module provides a servlet which implements the
              functionnalities of the generic CORBA Object Browser.

Browsing CORBA objects via CorbaWeb just needs to load OMG IDL specifications
into the Interface Repository and start the HTTP server of the CorbaWeb
environment.

Then users accesses via their browsers to the CorbaWeb servlet running into
the HttpServer. Automatically, CorbaWeb generates HTML forms representing
OMG IDL operations and attributes of CORBA objects accessed by users.
These forms allow users to invoke operations, get and set attributes.

Moreover, the CorbaWeb administrator can provide scripts
to specialize the Web representation for each CORBA object type.
Some specialization scripts are already provided for the CorbaScript
demonstrations. Interesting and reusable scripts allow one to browse:

  * The Name Service.
  * The Interface Repository.

-----------------------
Downloading CorbaScript
-----------------------

CorbaScript is an academic project available in full source form, free of 
charge for any use. Try it and give us feedback to improve it.

Go to the http://corbaweb.lifl.fr/CorbaScript/ page
to download the last CorbaScript release now!

------------
Availability
------------

The CorbaScript interpreter is written in C++ and is available on most common 
Unix-based operating systems and Windows. Moreover, it is built to be easily 
ported on any ORB environment, operating system and C++ compiler. 

Current tested ORBs:
--------------------

CorbaScript can be compiled on the following ORBs:

* MICO:		http://diamant-atm.vsb.cs.uni-frankfurt.de/~mico/
    The 2.0.3, 2.0.4, 2.0.5, 2.0.6, 2.0.8, 2.1.0,
        2.2.0, 2.2.1, 2.2.3, 2.2.4, 2.2.5 and 2.2.6 releases.

* OAK:		http://www.paragon-software.com
    The 5.2.7, 5.2.8 and 5.2.9 releases.

* OmniBroker:	http://www.ooc.com/ob.html
    The 2.0.2, 2.0.3 and 2.0.4 releases.

* ORBacus:	http://www.ooc.com/ob.html
    The 3.0, 3.0.1, 3.1, 3.1.1, 3.1.2, 3.1.3 and 4.0a2 releases.

* Visibroker:	http://www.inprise.com
    The 3.2 and 3.3 releases.

-----------------------------
Changes since CorbaScript 1.2
-----------------------------

Warning, files and directories are been reorganized: see the new
organization into the DISTRIB file.

The compilation scripts now are config/compile.sh, config/compileVC5.bat
and config/compileVC6.bat respectively to compile on Unix systems,
Visual C++ 5.0 or Visual C++ 6.0.

New ports:
----------

- Experiment port on omniORB2.7.1 on Linux/egcs
  (config/platforms/omniORB2_LINUX_EGCS).

  Current status:
    * Compilation OK
    * Linking     OK
    * Running     Problems!

MICO changes:
-------------

- Port to the 2.2.6 release. To compile CorbaScript, it is needed to type
  226 as ORB release number.

- Port to the 2.2.5 release. Add the NamingContextExt interface
  into the idl/CosNaming.idl file.
  To compile CorbaScript, it is needed to type 225 as ORB release number.

- Correction of the src/cs_Set_DynAny_with_CS_Object.cpp file
  to compile on Windows NT with Cygnus egcs 1.1.1 (from Dr. Volker Zell).

OAK changes:
------------

- Full port on the 5.2.7, 5.2.8 and 5.2.9 releases on:
  * Solaris with SparcWorks (file config/platforms/OAK_SUN_CC).
  * Linux with egcs (file config/platforms/OAK_LINUX_EGCS).

- Experimental port on 5.2.7, 5.2.8 and 5.2.9 releases for Windows NT.
  Use the platform file config/platforms/OAK_WIN_MSVC.

ORBacus changes:
----------------

- Experimental port on OB-4.0a2. 
  To compile CorbaScript, it is needed to type 400 as ORB release number.
  Don't apply the patch below: it is already done in OB-4.0a2.

- Full port on the 3.1.3 release on Unix and Windows.
  To compile CorbaScript, it is needed to type 313 as ORB release number.
  Don't apply the patch below: it is already done in OB-3.1.3.

- Full port on the 3.1.2 release on Unix and Windows (from Olivier Causse).
  To compile CorbaScript, it is needed to type 312 as ORB release number.

  Only need to change the following method on the file
  OB-3.1.2/ob/src/library/DynAny_impl.cpp:

  void
  CORBA_DynAny_impl::insert_string(const char* value)
  {
    CORBA_Any* any = current_any ();

    // Can't use CONTROL_INSERT, as it then wouldn't be possible to
    // insert bounded strings.
    //CONTROL_INSERT (any,CORBA__tc_string);
    if(any == 0)
        throw InvalidValue ();

    CORBA_TypeCode_var type = any -> type();
    CORBA_TypeCode_var tc = OBGetOrigType(type);

    if(tc -> kind() != CORBA_tk_string)
        throw InvalidValue ();

    // this allows to reuse the current TypeCode of the any.
    any->replace (type, CORBA_string_dup(value), CORBA_TRUE);

    next ();
  }

- Correction to compile CorbaScript with Visual C++ on an ORBacus/Windows
  release that uses the iostream of the std package.

- Correction of a bug in the CORBA.ORB.run() function: previously
  it creates an infinite loop (consuming all the CPU resources) when
  keyboard is used or when the Unix shell is exited before a CorbaScript
  shell is ended (from Serge Du).

General changes:
----------------

- The getline() function raises an ExecutionStopped exception if
  the standard input is closed during getting.

- Correction of the bug that doesn't allow the Interface Repository
  to contain the CORBA::ORB interface (from Laurent Gaillard).

- Correction of some memory leaks in CS_Scoped and CS_Scope classes.

- Correction of the eval function on Windows.

- Add convertion operators (for Michael Rumpf):
    > c = char._fromLong(l)
    > l = long._fromChar(c)

- Add the CorbaWeb environment. Works on Unix and Windows systems.
  See CorbaWeb/README.

- Add the new standard module socket that provides TCP/IP sockets.
  Only tested on Linux, Solaris and Windows systems.
  See modules/socket.cs.

- Warning, the GOODE_HOMEDIR shell variable declared into envi.ORB.* files
  has been replaced by CS_HOMEDIR.

- Modification of the COPYRIGHT header of all files.

- All CorbaTools.* files are been put together into two files.
  This may simplify future ports on other ORBs.

- Correction of compilation problems due to conversion between
  CORBA::Any_var and CORBA:Any& (from Serge Du and Eric Viara).

- Correction of the os_DynamicLibrary file (from Michael Rumpf and
  Olivier Causse).

- The config/compile.sh file asks for three new information:
  * ORB_IS_MULTITHREADED
  * EXTRA_CPP_FLAGS to add extra preprocessor flags
  * EXTRA_LD_FLAGS to add extra linker flags
  (from Jean-Michel Paris)

- Add the 'modules/README' file which lists standard modules.

- Add the new standard module LIBC that loads the standard C
  dynamic library according to the operating system.
  Work also on Linux with libc.so.6 (from Jean-Michel Paris).
  * add the calloc, malloc, free and realloc functions.
  * manages the global C errno variable.

- In the IO.cs module:
  * Use the standard LIBC module.
  * getc, putc, methods to get/put a long added (from Raphael Marvie).

- In the posix.cs module:
  * Use the standard LIBC module.
  * More functions on Windows systems.

- Add the new standard module IOR:
  * This module provides procedures to obtain and store IORs.
  e.g.

    >>> import IOR
    >>> anObjectRef = IOR.fromFile("foo.ref")
    >>> IOR.toFile(anObjectRef,"foo.ref")
    >>> anObjectRef = IOR.fromNS("foo.ref")
    >>> IOR.toNS(anObjectRef,"foo.ref")
    >>> anObjectRef = IOR.fromURL("file:foo.ref")
    >>> anObjectRef = IOR.fromURL("ns:foo.ref")
    >>> anObjectRef = IOR.fromURL("IOR:....")
    >>> IOR.toURL(anObjectRef,"file:foo.ref")
    >>> IOR.toURL(anObjectRef,"ns:foo.ref")

- Add the new standard module NSTools:
  * This module implements the CORBA Naming Service shell.
    This shell allows one to administrate, manage and discover graphes
    of CosNaming::NamingContext objects (see idl/CosNaming.idl).
  * Move the `demo/naming/NSTools.cs' file to the `modules/NSTools.cs' file.
  * Add the `apply' and 'actions' commands to the Naming Service Shell.
    * Use of the standard ActionRepository module.
    * Actions are stored into the 'modules/NSSH.AR/' directory.
    * Other directories can be set with the NSSH_PATH shell variable.
  * Add a new format for the 'ln' and 'rln' command:
      NameService> ln file:a_path_to_a_file path_in_the_NameService
      NameService> rln file:a_path_to_a_file path_in_the_NameService
    This new format allows to (re)bind to the Name Service an object
    reference stored into a file.
  * Add a parameter to the NSAdmin and NSShell classes.
  * Change comments.

- Add the new standard module CosNamingImpl:
  * This module implements the CORBA CosNaming service.
  * Move the `demo/naming/CosNamingImpl.cs' file to the
    `modules/CosNamingImpl.cs' file.
  * Use the standard AssociationTable module.
  * Correct a bug in the `list' operation.
  * Change comments.

- Add the new standard module Stack:
  * This module provides a small generic data structure to push
    and pop any kind of values into Stack instances.
  * Move the `demo/naming/Stack.cs' file to the `modules/Stack.cs' file.
  * Add the `apply' method.
  * Add the `EmptyStack' exception class.
  * Correct the `length' method.
  * Change comments.

- Add the new standard module AssociationTable:
  * This module provides a small generic data structure to store
    and retreive key/value associations.
  * Move the `demo/naming/AssociateTable.cs' file to the
    `modules/AssociationTable.cs' file.
  * Add the `KeyNotFound' exception class.
  * Change comments.

Have fun with CorbaScript and CorbaWeb. 

Best regards,
Philippe Merle
--
________________________________________________________________________________
Philippe Merle
Universite des Sciences et Technologies de Lille
URA 369 CNRS
Laboratoire d'Informatique Fondamentale de Lille  Tel:    (33) 03 20 43 47 21
U.F.R. I.E.E.A. batiment M3                       Fax:    (33) 03 20 43 65 66
59655 Villeneuve d'Ascq CEDEX France              E-Mail: merle@lifl.fr
						  Web: http://www.lifl.fr/~merle
________________________________________________________________________________

----- End forwarded message -----

-- 
David FAURE
david.faure@insa-lyon.fr, faure@kde.org
http://www.insa-lyon.fr/People/AEDI/dfaure/index.html 
KDE, Making The Future of Computing Available Today

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic