[AWS] Re: AWS Digest, Vol 14, Issue 1

Adrian Hoe mailbox at adrianhoe.com
Sun Sep 18 13:38:26 CEST 2005


Hi,

The AWS website (https://libre2.adacore.com/aws/) is still indicating  
AWS-2.0. Where can I find 2.1? Also, does 2.1 include the additional  
functions that I proposed some time ago?

I look forward to 2.1.

Best regards,

On Sep 18, 2005, at 6:00 PM, aws-request at lists.adacore.com wrote:

> Send AWS mailing list submissions to
>     aws at lists.adacore.com
>
> To subscribe or unsubscribe via the World Wide Web, visit
>     /no-more-mailman.html
> or, via email, send a message with subject or body 'help' to
>     aws-request at lists.adacore.com
>
> You can reach the person managing the list at
>     aws-owner at lists.adacore.com
>
> When replying, please edit your Subject line so it is more specific
> than "Re: Contents of AWS digest..."
>
>
> Today's Topics:
>
>    1. GNAT GPL Edition and AWS GPL 2.1a (Pascal Obry)
>
>
> ----------------------------------------------------------------------
>
> Message: 1
> Date: Sat, 17 Sep 2005 17:09:23 +0200
> From: Pascal Obry <pascal at obry.net>
> Subject: [AWS] GNAT GPL Edition and AWS GPL 2.1a
> To: AWS Mailing-List <aws at lists.adacore.com>
> Message-ID: <432C31A3.2000201 at obry.net>
> Content-Type: text/plain; charset="iso-8859-1"
>
>
> Most of you probably knows there is a new version of GNAT out. This is
> called GNAT GPL Edition 2005. As part of this package you can  
> download a
> new version of AWS too (AWS GPL 2.1a). This version has lot of
> improvements (especially in the SOAP area), here is a copy of the  
> readme.
>
> Enjoy!
>
> Pascal.
>
> -- 
>
> --|------------------------------------------------------
> --| Pascal Obry                           Team-Ada Member
> --| 45, rue Gabriel Peri - 78114 Magny Les Hameaux FRANCE
> --|------------------------------------------------------
> --|              http://www.obry.net
> --| "The best way to travel is by means of imagination"
> --|
> --| gpg --keyserver wwwkeys.pgp.net --recv-key C1082595
> -------------- next part --------------
>
>                 A W S - Ada Web Server
>                 2.1 release / SOAP 1.3
>
> Authors:
>    Dmitriy Anisimkov
>    Pascal Obry                                               
> February 5th, 2005
>
>
>
> We are happy to announce the availability of the AWS 2.1 release.  
> The API
> could change slightly at this stage but should be fairly stable now.
>
> AWS stand for Ada Web Server. It is a small yet powerful HTTP  
> component to
> embed in any applications. It means that you can communicate with your
> application using a standard Web browser and this without the need  
> for a Web
> Server. AWS is fully developed in Ada with GNAT.
>
> AWS support SOAP/WSDL, Server Push, HTTPS/SSL, client HTTP, hotplug
> modules...
>
> AWS comes with SOAP/WSDL support, two tools are proposed:
>
>    ada2wsdl   which generates a WSDL document from an Ada spec
>
>    wsdl2aws   which generates stubs/skeletons AWS code from a WSDL  
> document
>
> Both tools have mapping for standard Ada types but also supports Ada
> enumerations, character, records and arrays.
>
> The SOAP implementation has been validated on http:// 
> validator.soapware.org/.
> This on-line service is not anymore available but the current  
> implementation
> is validated against the Apache/AXIS SOAP implementation to ensure the
> interoperability. Some users have also reported to have used AWS/ 
> SOAP with
> .NET without trouble.
>
>
> Changes
> -------
>
> Here are the main changes since AWS 2.0 :
>
>    - Improve Nonce value generation. It is far less probable to  
> generate
>      the same Nonce value twice.
>
>    - Completely new hotplug implementation. This is the first  
> secure version
>      and can now be used as all other AWS features.
>
>    - Support for Content-Disposition for file and stream. This make it
>      possible to properly pass the filename to be used by the  
> client browser
>      to save the file locally. See Disposition and User_Filename  
> parameters of
>      Response.File and Response.Stream constructors.
>
>    - Uses the Ada.Containers reference implementation (known as  
> AI302). These
>      containers are based on an hash table and is therefore faster  
> than the
>      previous containers based on an AVL tree. A two times speedup  
> has been
>      experienced. Also the GNAT specific dynamic tables have been  
> replaced
>      by an Ada.Containers.Vectors.
>
>    - A new templates engine child package provides a way to save/ 
> load a
>      Translate_Table to/from an XML document. See  
> Templates_Parser.XML.
>
>    - A new templates engine child package provides a way to store/ 
> retrieve a
>      Tag to/from a string. This can be useful to store a complete  
> template tag
>      into a session variable. See Templates_Parser.Utils.
>
>    - Use socket timeout based on poll(), this is cleaner as it is not
>      needed anymore to have a cleaner task on the client side to watch
>      and close connections after the timeout.
>
>    - Better support for project files for developers.
>
>    - Templates Engine is again faster, it provides a new way to store
>      translations (see Translate_Set) which is not a fixed  
> structure like
>      Translate_Table.
>
>    - New templates engine with unified tags which can be nested at any
>      level. Vector_Tag and Matrix_Tag are now just subtype of the  
> new type
>      Tag. Note that this new implementation is 99% upward compatible.
>
>    - Support for certificates chain.
>
>    - Support for streaming response in the HTTP client interface.
>
>    - Properly support SOAP envelope nodes containing an optional  
> header node.
>
>    - Add support for SOAP long (xsd:long).
>
>    - Properly handle empty SOAPAction in SOAP requests.
>
>    - Better support for name-spaces in SOAP requests.
>
>    - Fix a wsdl2aws bug for array's element whose name contains an  
> underscore.
>
>    - Add possibility to select the endpoint URL when using  
> generated client
>      stubs (only the default URL defined in the WSDL document was  
> handled
>      before).
>
>    - Add a new option (-d) in wsdl2aws to generate debug code. This  
> is useful
>      to debug a SOAP client or server. It displays the SOAPAction,  
> Procedure
>      name, Payload and response.
>
>    - Add exception handler in generated SOAP code for callback and  
> server
>      skeleton.
>
>    - Add a new package AWS.Net.Generic_Sets which support waiting for
>      input/output availability on group of sockets and user's data
>      associated with each sockets in group.
>
>    - New support for HTTP/SOAP messages with attachments. This  
> support is for
>      now only at the library level, there is no WSDL support nor  
> direct
>      interface with the SOAP engine. This feature has been  
> contributed by
>      Henrik Sundberg.
>
>    - Properly fill in the cache in buffered Read, this makes file  
> upload
>      more efficient.
>
>    - New Templates_Parser NO_CONTEXT command filter.
>
>    - Templates_Parser table now support section blocks. This  
> permits better
>      code sharing amongst sections.
>
>    - File upload is more secure now. All files upload to the server  
> are
>      removed after calling the callback function.
>
>    - Add support for client's HTTPS requests through a proxy  
> (tunneling).
>
>    - Add support for logging the sockets activity (sent and  
> received data)
>      This API (AWS.Net.Log) can be used to debug complex applications.
>      This feature has been contributed by Henrik Sundberg.
>
>    - Add support for SOAP hotplug modules. Only standard HTTP  
> requests were
>      supported by an hotplug module.
>
>    - Fix bug in ada2wsdl generator preventing the array component type
>      definitions to be generated in some cases.
>
>    - Fix bug in ada2wsdl generator which generated duplicate  
> definitions for
>      record components in some cases.
>
>    - New filters ABS and NEG in the templates engine.
>
>    - Add association iterator for a Template_Set in the templates  
> engine.
>
>    - Include template parameters can now be used as filter parameters.
>
>    - A new set of page splitters has been implemented. These  
> splitters have
>      different ways to organize the pages, for example one can create
>      automatically an alphabetical index. Check the  
> AWS.Services.Split_Pages
>      hierarchy for more information.
>      This feature has been contributed by Jean-Pierre Rosen.
>
>    - Fix bug in the directory browser when the URL given did not  
> end with a
>      slash. In this case it was not possible to access the files  
> under this
>      directory.
>
>    - Fix bug in template engine preventing the use of some  
> characters as
>      filter parameters.
>
>    - Add support for non standard SMTP/POP ports in the Web_Mail  
> service.
>
>    - Add new templates engine tag attribute Up_Level(n). This  
> attribute can be
>      used on a vector to use as index an upper level table.
>
>    - Add new templates engine filter FILE_EXISTS.
>
>    - Add support for xsd:short SOAP type.
>
>    - Improve wsdl2aws to properly handle multiple schema inside WSDL
>      documents.
>
>    - Add new wsdl2aws's option to exclude a set of operations from  
> the code
>      generator.
>
>    - Add support for WSDL/SOAP anyType objects. It is now possible to
>      exchange array of heterogeneous objects. wsdl2aws tool will  
> generate the
>      appropriate code.
>
>    - Lot of rewrite to better support namespaces in schema in both  
> wsdl2aws
>      and ada2wsdl tools. For example, now wsdl2aws can generate  
> code that is
>      shared by multiple WSDL documents. A type defined in schema  
> with the
>      same name and namespace in multiple WSDL documents will share  
> the very
>      same code.
>
>    - Add new wsdl2aws option to force the use of a specified  
> endpoint instead
>      of the one found in the WSDL document.
>
>    - AWS.Services.Dispatchers.URI.Register add a way to match using  
> the URI
>      prefix instead of the full URI.
>
>    - New root directory web_elements which contains a set of reusable
>      Web design elements.
>
>    - The templates parse has now a way to set constant or aliases  
> inside a
>      template page. This makes it easier to build reusable template  
> files.
>
>    - The templates parser have now support for tag command  
> attributes. The two
>      first such attributes are the table tag attributes  
> TERMINATE_SECTIONS and
>      REVERSE.
>
>    - It is now possible to get the current request status  
> (Status.Data) from
>      inside any callback routine. This is useful in the templates  
> engine
>      context callback for example.
>
>    - Add support for reply all in the Web Mail service.
>
>    - Plus many small fixes, enhancements, API comments, and  
> documentation work.
>
>
> Non upward compatible changes
> -----------------------------
>
> Note that the changes listed below can introduce non upward  
> compatibility.
> In such a case we try to give proper advice on how to change the code
> to work properly. Of course we try to avoid this as much as possible
> but we really prefer to have a clean API instead of keeping awkward
> implementations.
>
>    - In templates engine, the Vector routine is not present anymore.
>      Use Composite routine instead.
>
>    - In AWS.Client interface, Timeout_Values record field types  
> have been
>      changed from Natural to Duration. It is possible to use less  
> then one
>      second timeout value now. Just change all http client timeout  
> values to
>      Duration type.
>
>    - By default an AWS server does not accept upload files. It is  
> required to
>      activate this feature by properly setting the Upload_Directory  
> either
>      with the Start routine procedure or a config object.
>
>    - File uploaded to the server are deleted after calling the user's
>      callback function. It is up to the user to copy/rename the  
> file to keep
>      it around.
>
>
> Obsolescent features:
> ---------------------
>
> In each new version we try to be upward compatible with previous
> version. This is really important, but in some cases it seems that a
> "redesign" of the API would be good in the long term. All obsolescent
> features will be listed in this section. Those features will be
> removed in the next version. Note that you can check usage of those
> features in your application by using the GNAT's -gnatwj option as we
> have tagged all obsolescent features with a pragma.
>
> Note that pragma Obsolescent and -gnatwj option is only supported
> since GNAT 3.16.
>
>    - AWS.Net.Set_Blocking_Mode should not be used anymore. Use
>      AWS.Net.Set_Timeout instead.
>
>
> Notes
> -----
>
> You can have a look at docs/TODO file to see what are the topics  
> that we will
> probably implement in future releases.
>
> NOTE: Since we have switched to the .PNG file format we have found  
> that
> Netscape Navigator is not able to display the PNG transparent layer  
> properly!
>
> The OpenSSL libraries (optional) distributed are for Windows only.  
> On UNIX
> you'll have to build the libraries from sources, it is quite easy  
> to do
> so. This has been tested on GNU/Linux without trouble.
>
> The LDAP binding will use the LDAP dynamic library on Windows. On  
> UNIX you
> need to build and install OpenLDAP.
>
> See documentation for build information.
>
>
> Validation:
> -----------
>
> AWS 2.1 has been compiled and has passed all tests on:
>
>    Windows XP, GCC 3.4.2, GNAT 5.02a1, 5.03a
>
>    GNU/Linux x86, GCC 3.4.4 and GNAT 5.01a, 5.02a1 and 5.03a
>
>    SPARC Solaris 8, GNAT 5.03a
>
> Others platforms / compiler version combinations have not been  
> tested, it
> does not mean that it's not working.
>
> Previous version of AWS have been built on FreeBSD 4.1 and MacOSX.
>
>
> Known problems:
> ---------------
>
> - There is a bug in Internet Explorer which prevents to download a  
> file when
>   the connection is using the SSL encryption and there is the  
> "Cache-Control"
>   header set to "no-cache".
>
>   See: http://support.microsoft.com/?kbid=323308
>
>
> Pointers:
> ---------
>
> AWS User's Mailing List:
>    http://lists.act-europe.fr/mailman/listinfo/aws
>
> AWS Home Page (sources and printable documentations in Postscript  
> and PDF):
>    http://libre.act-europe.fr/aws
>
> Templates_Parser sources:
>    Templates_Parser module (sources and documentation) is provided  
> with AWS
>    distribution. Version 8.0 is distributed with AWS 2.1.
>
>    Latest version of this module and the documentation can be found  
> at:
>
>    http://www.obry.org/contrib.html
>    http://www.obry.org/templates_parser.html
>
>    Templates_Parser is a very useful add-on for AWS. You should  
> have a look at
>    it if you plan to develop a Web application. Templates_Parser  
> permits to
>    completely separate the HTML design from the Ada code.
>
>    Some other Templates engine are WebMacro, FreeMarker, PHP, ASP,  
> JSP and
>    Velocity. All of them are based on explicit iterators (#foreach  
> with a
>    variable) where Templates_Parser is based on implicit ones (you  
> use a more
>    intuitive table iterator). Be sure to check the documentation. Only
>    the Velocity project has the goal to support complete separation  
> of HTML
>    design and code.
>
> GNU/Ada - GNAT
>
>    You need at least version 3.15 to build and use AWS 2.1.
>
>    http://libre.act-europe.fr/GNAT/
>
> Socket binding (Optional) :
>
>    Since AWS 2.1 you need at least version 1.8.4.4 of the Socket  
> binding. Note
>    that by default AWS uses GNAT.Sockets. To be able to use  
> AdaSockets with
>    AWS you need to copy all the .ali (cp -p) in the directory where  
> the
>    libadasockets.a is. This is needed for the GNAT Project support.
>
>    http://www.rfc1149.net/devel/adasockets
>
> XML/Ada (optional):
>
>    You need this library only if you want to use AWS SOAP feature.  
> You need
>    at least XML/Ada 1.1.
>
>    http://libre.act-europe.fr/
>
>    Note that it should be possible to use XML/Ada 1.0 but in this  
> case you'll
>    have to create the set of project files yourself.
>
> POSIX Binding (optional) :
>
>    for Win32:
>       http://www.obry.org/contrib.html
>
>    for UNIX:
>       http://www.cs.fsu.edu/~baker/florist.html
>
> OpenSSL library (optional) :
>
>    Sources for UNIX or Win32:
>       http://www.openssl.org
>
>    binaries for Win32:
>       Included with the main AWS distribution (win32 directory).
>
>    Note that we have used and we distribute (for Win32 platform)  
> OpenSSL
>    version 0.9.7d with this AWS release. OpenSSL has been built with
>    Mingw GCC version 3.4.1 with -O3 optimization level.
>
>    See OpenSSL license (docs/openssl.license).
>
> OpenLDAP library (optional) :
>
>    Sources for UNIX or Win32:
>       http://www.openldap.org/
>
>    binaries for Win32:
>       Included with the main AWS distribution (win32 directory).  
> The import
>       library will bind to the Microsoft LDAP dynamic library.
>
> Windows Services API (optional):
>
>    To build the runme demo as a Windows NT/2000 services you must  
> download
>    the services API made by Ted Dennison for his SETI at Home project.
>
>       http://www.telepath.com/~dennison/Ted/SETI/SETI_Service.html
>
> License:
> --------
>
> AWS is distributed under the GMGPL (GNAT Modified GPL) license.  
> This license
> ensures that commercial applications can be built using AWS. Note that
> AWS comes with a set of components. Those components are using a  
> license
> compatible with the AWS's one. For information about component's  
> individual
> licenses see include/readme.txt.
>
>
> Reporting bugs:
> ---------------
>
> You can report bugs to:
>
>    Dmitriy Anisimkov    anisimkov at ada-ru.org
>    Pascal Obry        pascal at obry.org
>
> It would be nice if you could also sent us a note if you are using  
> AWS just
> to know if it is used at all or not :) And if you are ok, we'll add  
> an entry
> for your project in the next section.
>
>
> AWS User's Mailing List:
> ------------------------
>
> A good way to keep informed of AWS news and to share experiences  
> with other
> AWS users is to register to the AWS dedicated mailing list. See:
>
>    http://lists.act-europe.fr/mailman/listinfo/aws
>
>
> Contributors:
> -------------
>
> Thanks to the contributors and peoples who send feedbacks, ideas
> about AWS. In the early stage of the project this is very valuable.
>
> So thanks goes to Ted Dennison, Wiljan Derks, Sune Falck, David C.  
> Hoos,
> Audran Le Baron, Thierry Lelegard, Nicolas Lesbats, Jean-Fran�is  
> Rameau,
> Maxim Reznik, Jean-Pierre Rosen, Jerme Roussel, Ariane Sinibardy,
> Henrik Sundberg.
>
>
> AWS uses:
> ---------
>
> - SETI at Home from Ted Dennison. AWS is used as a "plugable" GUI to  
> retrieve
>   different program status.
>
> - DOCWEBSERVER from Wiljan Derks
>
>   In our department we keep our documents in a directory tree.  
> These documents
>   are all project related and have a certain naming convention to  
> be able to
>   find the right document. In the past I already wrote a program  
> that searches
>   though this directory and then converts the found documents into  
> fixed html
>   pages. With AWS I was able to get a much nicer setup. I have now  
> a server
>   that can do the following:
>     - browse through the projects in explorer style. The html  
> contains info
>       about the document like date and title.
>     - one can check in documents through the web interface
>     - it shows our download page as I have send you in the example
>     - we have now all our documentation in small pieces of html as  
> is needed
>       to build .chm (w2k compiled help) files. For these we use a  
> content
>       file, that is also stored in the document archive.
>
>   The docwebserver gives by reading all this stuff the direct view  
> on this
>   documentation. On the other hand I can run some tool and  
> automatically
>   generate the .chm files.
>
> - OESM Server (OESM=Overall Equipment Status Monitoring) from  
> Wiljan Derks
>
>   I am working on a project now for our factories. ITEC mainly  
> delivers
>   equipment for discrete semiconductor assembly. Almost all of that  
> equipment
>   is now controlled by a similar Ada 95 based code with having a  
> lot of code in
>   common. One of the common things, is the way we log errors and  
> state changes
>   of our equipment.
>
>   The OESM Server is an application which copies all this information
>   continuously to its local pc by opening the proper files on the  
> remote
>   equipment. That data copied is also stored in local files. The  
> web server
>   component of the application can then, making use of that data,  
> give reports
>   that show things like the amount of products produced in a  
> certain period,
>   error paretos of equipment, mtbf, %time in production and of  
> course many
>   other things.
>
>   The cool thing of course is that this information can easily be  
> charted (I
>   am use kavachart) and it allows simple navigation through  
> different groups
>   of equipments and different views on the equipment.
>
> - WORM from Pascal Obry
>   (see http://www.ada-france.org/ADHERENTS/101100/05-obry.pdf).
>
>   A Web server to share bookmarks, this server was using a standard  
> CGI
>   design. To keep session information we were using a GLADE  
> partition. With
>   AWS the design has been really simplified, there is no need for a  
> session
>   partition, there is no need to build all CGI as partitions too.  
> GLADE is now
>   used only to handle distributed objects. Indeed WORM is a multi- 
> server
>   system (using RACW) with a register/unregister mechanism.
>
>   Also the server seems to be fastest, there is no more CGI to spawn.
>
> - Internet Currency Trading System at http://www.actforex.com by
>   Dmitriy Anisimkov
>
>   This is a server is used to keep historical data about currency  
> trading to
>   build charts of currency prices. The charts viewer part is  
> written in Java
>   and loaded through AWS. This server can be reach on the Internet.
>
>   Ongoing work is done to based this development on AWS framework  
> only and
>   to remove all the Java layers. It is also interesting to note  
> that this is
>   an heavy loaded server, it handle something like 40 to 50  
> requests per
>   seconds on a Windows 2000 Server.
>
> - http://www.ada-ru.org (Ada in Russian)
>
>   This Web Site is powered by AWS.
>
> Thanks to all who have reported bugs and have sent us patches.
>
> Dmitriy & Pascal.
>
> ------------------------------
>
> _______________________________________________
> AWS mailing list
> AWS at lists.adacore.com
> /no-more-mailman.html
>
>
> End of AWS Digest, Vol 14, Issue 1
> **********************************
>
>

--
"If you missed the rising sun and the morning dew, don't miss the  
beautiful sunset." -- Adrian Hoe inspired by Michal Nowak, June 15 2004
http://adrianhoe.com


-------------- next part --------------
An HTML attachment was scrubbed...
URL: /pipermail/aws/attachments/20050918/e550be6e/attachment-0001.html


More information about the AWS mailing list