<?xml version="1.0"?>
<rss version="2.0">
<channel>
  <title>Sung-Chi&#039;s Blog - AOLA category</title>
  <link>http://www.ehospitalityasia.com/A2ABlog/categories/2/</link>
  <description>e-Platform for RFID-enabled e-Business and AOLA-enabled Mathematics Education</description>
  <language>en</language>
  <copyright>Sung-Chi Chu</copyright>
  <lastBuildDate>Sat, 12 Apr 2008 10:16:00 GMT</lastBuildDate>
  <generator>Pebble (http://pebble.sourceforge.net)</generator>
  <docs>http://backend.userland.com/rss</docs>
  
  <image>
    <url>http://pebble.sourceforge.net/common/images/powered-by-pebble.gif</url>
    <title>Sung-Chi&#039;s Blog (AOLA category)</title>
    <link>http://www.ehospitalityasia.com/A2ABlog/</link>
  </image>
  
  
  <item>
    <title>The AOLA World of e-Activity: Mathematics Education</title>
    <link>http://www.ehospitalityasia.com/A2ABlog/2008/03/24/1206356580000.html</link>
    
      
      
        <description>
          AOLA World reappears after almost a year of behind-the-scene activities...&lt;p&gt;&lt;a href=&#034;http://www.ehospitalityasia.com/A2ABlog/2008/03/24/1206356580000.html&#034;&gt;Read more...&lt;/a&gt;&lt;/p&gt;
        </description>
      
    
    
    
    <category>AOLA</category>
    
    <comments>http://www.ehospitalityasia.com/A2ABlog/2008/03/24/1206356580000.html#comments</comments>
    <guid isPermaLink="true">http://www.ehospitalityasia.com/A2ABlog/2008/03/24/1206356580000.html</guid>
    <pubDate>Mon, 24 Mar 2008 11:03:00 GMT</pubDate>
  </item>
  
  <item>
    <title>Return of the A2ABlog</title>
    <link>http://www.ehospitalityasia.com/A2ABlog/2008/03/24/1206347880000.html</link>
    
      
        <description>
          &lt;p&gt;It has been more than one year since this blog was started.  Other than upgrading this Pebble-enabled blog from version 1.9 to now 2.3, the underlying system has also been slowly evolving...&lt;br&gt;&lt;br&gt;
Anyhow, I am back and there are many things to talk about.

&lt;/p&gt;
        </description>
      
      
    
    
    
    <category>AOLA</category>
    
    <comments>http://www.ehospitalityasia.com/A2ABlog/2008/03/24/1206347880000.html#comments</comments>
    <guid isPermaLink="true">http://www.ehospitalityasia.com/A2ABlog/2008/03/24/1206347880000.html</guid>
    <pubDate>Mon, 24 Mar 2008 08:38:00 GMT</pubDate>
  </item>
  
  <item>
    <title>Linking ActivityML to Mathematical Web Services</title>
    <link>http://www.ehospitalityasia.com/A2ABlog/2007/08/25/1188013696381.html</link>
    
      
        <description>
          &lt;p&gt;Go directly to the AXIS2_HOME/samples/quickstart according to the &#039;Deploying POJOs&#039; section, &#039;ant&#039; was built (mainly un-zip/un-tar the downloaded package - version 1.7.0 and set the paths accordingly) and the build was successful.&lt;br/&gt;&lt;br/&gt;
The WSDL file was built and so is the StockQuoteService.aar. References to &#039;localhost:8080&#039; in the WSDL file were modified to point to the real domainname.  I don&#039;t think it has any effect with respect to using the StockQuote service.
&lt;/p&gt;
&lt;p&gt;
Service &lt;strong&gt;saas001&lt;/strong&gt;, based on the StockQuote Service, was deployed successfully after fixing some typos in the WSDL file.  The service provides a conversion from an IpAddress to the Country of which this IpAddress is assigned by ICANN as update to a certain date when the database is created.  Of course, there is no database associated at this time.
&lt;/p&gt;
&lt;p&gt;
Next step is to deploy the other samples in the distribution, and then slowly pick up the finer details of axis2 (e.g., how to add the XSL for the responses)
&lt;/p&gt;

        </description>
      
      
    
    
    
    <category>Technology</category>
    
    <category>AOLA</category>
    
    <comments>http://www.ehospitalityasia.com/A2ABlog/2007/08/25/1188013696381.html#comments</comments>
    <guid isPermaLink="true">http://www.ehospitalityasia.com/A2ABlog/2007/08/25/1188013696381.html</guid>
    <pubDate>Sat, 25 Aug 2007 03:48:16 GMT</pubDate>
  </item>
  
  <item>
    <title>Linking ActivityML to Mathematical Web Services</title>
    <link>http://www.ehospitalityasia.com/A2ABlog/2007/08/23/1187872757153.html</link>
    
      
        <description>
          &lt;p&gt;So many technology items to piece together before a service can be designed and &#039;made&#039;.  I am following the Quick Start Guide 
&lt;a href=&#034;http://ws.apache.org/axis2/1_3/quickstartguide.html&#034; target=&#034;_blank&#034;&gt;here&lt;/a&gt;:
&lt;ul&gt;
&lt;li&gt;A 4G IBM Blade Center Unit with dual processors (Xeon&#039;s)&lt;/li&gt;
&lt;li&gt;RedHat&lt;/li&gt;
&lt;li&gt;Tomcat 5.5.17&lt;/li&gt;
&lt;li&gt;JDK 1.5.0_07&lt;/li&gt;
&lt;li&gt;axis2-1.3&lt;/li&gt;
&lt;li&gt;environment variable AXIS2_HOME points to /opt/axis2&lt;/li&gt;
&lt;li&gt;compile the simple saas001.java based on the StockQuoteService at /opt/src&lt;/li&gt;
&lt;li&gt;at /opt/src, do this&lt;br/&gt;&lt;br/&gt;
&lt;font face=&#034;Courier&#034; color=&#034;red&#034;&gt;
/opt/axis2/bin/java2wsdl.sh -cp . -cn A2A.computeEngine.services.algebra.saas001 -of saas001.wsdl&lt;/font&gt;
&lt;br/&gt;&lt;br/&gt;
&lt;/li&gt;
&lt;li&gt;the saas001.wsdl is generated at 
&lt;font color=&#034;blue&#034;&gt;/opt/src&lt;/font&gt;. Not sure where this WSDL file should go.  In principle, this WSDL exposes the service for the broker to locate the service on behalf of a client.&lt;/li&gt;
&lt;/ul&gt;
&lt;/p&gt;
&lt;p&gt;
And part of the WSDL file (raw; we need to modify some areas to reflect the true environment, e.g., domainname vs localhost):
&lt;br/&gt;
&lt;pre&gt;
&amp;lt;?xml version=&#034;1.0&#034; encoding=&#034;UTF-8&#034;?&amp;gt;
&amp;lt;wsdl:definitions
  xmlns:wsdl=&#034;http://schemas.xmlsoap.org/wsdl/&#034;
  xmlns:mime=&#034;http://schemas.xmlsoap.org/wsdl/mime/&#034;
  xmlns:ns0=&#034;http://algebra.services.computeEngine.A2A&#034; 
  xmlns:soap12=&#034;http://schemas.xmlsoap.org/wsdl/soap12/&#034; 
  xmlns:http=&#034;http://schemas.xmlsoap.org/wsdl/http/&#034; 
  xmlns:ns1=&#034;http://org.apache.axis2/xsd&#034; 
  xmlns:wsaw=&#034;http://www.w3.org/2006/05/addressing/wsdl&#034; 
  xmlns:xs=&#034;http://www.w3.org/2001/XMLSchema&#034; 
  xmlns:soap=&#034;http://schemas.xmlsoap.org/wsdl/soap/&#034; 
  targetNamespace=&#034;http://algebra.services.computeEngine.A2A&#034;&amp;gt;
    &amp;lt;wsdl:types&amp;gt;
        &amp;lt;xs:schema xmlns:ns=&#034;http://algebra.services.computeEngine.A2A&#034; 
  attributeFormDefault=&#034;qualified&#034; 
  elementFormDefault=&#034;qualified&#034; 
  targetNamespace=&#034;http://algebra.services.computeEngine.A2A&#034;&amp;gt;
            &amp;lt;xs:element name=&#034;getCountry&#034;&amp;gt;
                &amp;lt;xs:complexType&amp;gt;
                    &amp;lt;xs:sequence&amp;gt;
                        &amp;lt;xs:element minOccurs=&#034;0&#034; name=&#034;param0&#034; nillable=&#034;true&#034; type=&#034;xs:string&#034;/&amp;gt;
                    &amp;lt;/xs:sequence&amp;gt;
                &amp;lt;/xs:complexType&amp;gt;
            &amp;lt;/xs:element&amp;gt;
            &amp;lt;xs:element name=&#034;getCountryResponse&#034;&amp;gt;
                &amp;lt;xs:complexType&amp;gt;
                    &amp;lt;xs:sequence&amp;gt;
                        &amp;lt;xs:element minOccurs=&#034;0&#034; name=&#034;return&#034; nillable=&#034;true&#034; type=&#034;xs:string&#034;/&amp;gt;
                    &amp;lt;/xs:sequence&amp;gt;
                &amp;lt;/xs:complexType&amp;gt;
            &amp;lt;/xs:element&amp;gt;
            &amp;lt;xs:element name=&#034;update&#034;&amp;gt;
                &amp;lt;xs:complexType&amp;gt;
                    &amp;lt;xs:sequence&amp;gt;
                        &amp;lt;xs:element minOccurs=&#034;0&#034; name=&#034;param0&#034; nillable=&#034;true&#034; type=&#034;xs:string&#034;/&amp;gt;
                        &amp;lt;xs:element minOccurs=&#034;0&#034; name=&#034;param1&#034; nillable=&#034;true&#034; type=&#034;xs:string&#034;/&amp;gt;
                    &amp;lt;/xs:sequence&amp;gt;
                &amp;lt;/xs:complexType&amp;gt;
            &amp;lt;/xs:element&amp;gt;
        &amp;lt;/xs:schema&amp;gt;
    &amp;lt;/wsdl:types&amp;gt;
    &amp;lt;wsdl:message name=&#034;updateRequest&#034;&amp;gt;
        &amp;lt;wsdl:part name=&#034;parameters&#034; element=&#034;ns0:update&#034;/&amp;gt;
    &amp;lt;/wsdl:message&amp;gt;
    &amp;lt;wsdl:message name=&#034;getCountryRequest&#034;&amp;gt;
        &amp;lt;wsdl:part name=&#034;parameters&#034; element=&#034;ns0:getCountry&#034;/&amp;gt;
    &amp;lt;/wsdl:message&amp;gt;
    &amp;lt;wsdl:message name=&#034;getCountryResponse&#034;&amp;gt;
        &amp;lt;wsdl:part name=&#034;parameters&#034; element=&#034;ns0:getCountryResponse&#034;/&amp;gt;
    &amp;lt;/wsdl:message&amp;gt;
    &amp;lt;wsdl:portType name=&#034;saas001PortType&#034;&amp;gt;
        &amp;lt;wsdl:operation name=&#034;update&#034;&amp;gt;
            &amp;lt;wsdl:input message=&#034;ns0:updateRequest&#034; wsaw:Action=&#034;urn:update&#034;/&amp;gt;
        &amp;lt;/wsdl:operation&amp;gt;
        &amp;lt;wsdl:operation name=&#034;getCountry&#034;&amp;gt;
            &amp;lt;wsdl:input message=&#034;ns0:getCountryRequest&#034; wsaw:Action=&#034;urn:getCountry&#034;/&amp;gt;
            &amp;lt;wsdl:output message=&#034;ns0:getCountryResponse&#034; wsaw:Action=&#034;urn:getCountryResponse&#034;/&amp;gt;
        &amp;lt;/wsdl:operation&amp;gt;
    &amp;lt;/wsdl:portType&amp;gt;
    &amp;lt;wsdl:binding name=&#034;saas001SOAP11Binding&#034; type=&#034;ns0:saas001PortType&#034;&amp;gt;
        &amp;lt;soap:binding transport=&#034;http://schemas.xmlsoap.org/soap/http&#034; style=&#034;document&#034;/&amp;gt;
        &amp;lt;wsdl:operation name=&#034;update&#034;&amp;gt;
            &amp;lt;soap:operation soapAction=&#034;urn:update&#034; style=&#034;document&#034;/&amp;gt;
            &amp;lt;wsdl:input&amp;gt;
                &amp;lt;soap:body use=&#034;literal&#034;/&amp;gt;
            &amp;lt;/wsdl:input&amp;gt;
        &amp;lt;/wsdl:operation&amp;gt;
        &amp;lt;wsdl:operation name=&#034;getCountry&#034;&amp;gt;
            &amp;lt;soap:operation soapAction=&#034;urn:getCountry&#034; style=&#034;document&#034;/&amp;gt;
            &amp;lt;wsdl:input&amp;gt;
                &amp;lt;soap:body use=&#034;literal&#034;/&amp;gt;
            &amp;lt;/wsdl:input&amp;gt;
            &amp;lt;wsdl:output&amp;gt;
                &amp;lt;soap:body use=&#034;literal&#034;/&amp;gt;
            &amp;lt;/wsdl:output&amp;gt;
        &amp;lt;/wsdl:operation&amp;gt;
    &amp;lt;/wsdl:binding&amp;gt;
    &amp;lt;wsdl:binding name=&#034;saas001SOAP12Binding&#034; type=&#034;ns0:saas001PortType&#034;&amp;gt;
        &amp;lt;soap12:binding transport=&#034;http://schemas.xmlsoap.org/soap/http&#034; style=&#034;document&#034;/&amp;gt;
        &amp;lt;wsdl:operation name=&#034;update&#034;&amp;gt;
            &amp;lt;soap12:operation soapAction=&#034;urn:update&#034; style=&#034;document&#034;/&amp;gt;
            &amp;lt;wsdl:input&amp;gt;
                &amp;lt;soap12:body use=&#034;literal&#034;/&amp;gt;
            &amp;lt;/wsdl:input&amp;gt;
        &amp;lt;/wsdl:operation&amp;gt;
        &amp;lt;wsdl:operation name=&#034;getCountry&#034;&amp;gt;
            &amp;lt;soap12:operation soapAction=&#034;urn:getCountry&#034; style=&#034;document&#034;/&amp;gt;
            &amp;lt;wsdl:input&amp;gt;
                &amp;lt;soap12:body use=&#034;literal&#034;/&amp;gt;
            &amp;lt;/wsdl:input&amp;gt;
            &amp;lt;wsdl:output&amp;gt;
                &amp;lt;soap12:body use=&#034;literal&#034;/&amp;gt;
            &amp;lt;/wsdl:output&amp;gt;
        &amp;lt;/wsdl:operation&amp;gt;
    &amp;lt;/wsdl:binding&amp;gt;
    &amp;lt;wsdl:binding name=&#034;saas001HttpBinding&#034; type=&#034;ns0:saas001PortType&#034;&amp;gt;
        &amp;lt;http:binding verb=&#034;POST&#034;/&amp;gt;
        &amp;lt;wsdl:operation name=&#034;update&#034;&amp;gt;
            &amp;lt;http:operation location=&#034;saas001/update&#034;/&amp;gt;
            &amp;lt;wsdl:input&amp;gt;
                &amp;lt;mime:content type=&#034;text/xml&#034; part=&#034;update&#034;/&amp;gt;
            &amp;lt;/wsdl:input&amp;gt;
        &amp;lt;/wsdl:operation&amp;gt;
        &amp;lt;wsdl:operation name=&#034;getCountry&#034;&amp;gt;
            &amp;lt;http:operation location=&#034;saas001/getCountry&#034;/&amp;gt;
            &amp;lt;wsdl:input&amp;gt;
                &amp;lt;mime:content type=&#034;text/xml&#034; part=&#034;getCountry&#034;/&amp;gt;
            &amp;lt;/wsdl:input&amp;gt;
            &amp;lt;wsdl:output&amp;gt;
                &amp;lt;mime:content type=&#034;text/xml&#034; part=&#034;getCountry&#034;/&amp;gt;
            &amp;lt;/wsdl:output&amp;gt;
        &amp;lt;/wsdl:operation&amp;gt;
    &amp;lt;/wsdl:binding&amp;gt;
    &amp;lt;wsdl:service name=&#034;saas001&#034;&amp;gt;
        &amp;lt;wsdl:port name=&#034;saas001SOAP11port_http&#034; binding=&#034;ns0:saas001SOAP11Binding&#034;&amp;gt;
            &amp;lt;soap:address location=&#034;http://localhost:8080/axis2/services/saas001&#034;/&amp;gt;
        &amp;lt;/wsdl:port&amp;gt;
        &amp;lt;wsdl:port name=&#034;saas001SOAP12port_http&#034; binding=&#034;ns0:saas001SOAP12Binding&#034;&amp;gt;
            &amp;lt;soap12:address location=&#034;http://localhost:8080/axis2/services/saas001&#034;/&amp;gt;
        &amp;lt;/wsdl:port&amp;gt;
        &amp;lt;wsdl:port name=&#034;saas001Httpport&#034; binding=&#034;ns0:saas001HttpBinding&#034;&amp;gt;
            &amp;lt;http:address location=&#034;http://localhost:8080/axis2/services/saas001&#034;/&amp;gt;
        &amp;lt;/wsdl:port&amp;gt;
    &amp;lt;/wsdl:service&amp;gt;
&amp;lt;/wsdl:definitions&amp;gt;

&lt;/pre&gt;
&lt;/p&gt;
&lt;p&gt;
Ok, for each service, axis2 imposes a structure to be followed packaged in a &#039;aar&#039; file. In our case, we have:
&lt;br/&gt;
&lt;br/&gt;
&lt;pre&gt;

- saas001
   - META-INF
     - services.xml
   - lib
   - A2A
     - computerEngine
       - services
         - algebra
           - saas001.class
           
&lt;/pre&gt;
&lt;/p&gt;
&lt;p&gt;
The services.xml file should contain the following information:
&lt;br/&gt;&lt;br/&gt;
&lt;pre&gt;
&amp;lt;service name=&#034;saas001&#034; scope=&#034;application&#034;&amp;gt;
    &amp;lt;description&amp;gt;
        Conversion of IP to Country Service
    &amp;lt;/description&amp;gt;
    &amp;lt;messageReceivers&amp;gt;
        &amp;lt;messageReceiver
            mep=&#034;http://www.w3.org/2004/08/wsdl/in-only&#034;
    class=&#034;org.apache.axis2.rpc.receivers.RPCInOnlyMessageReceiver&#034;/&amp;gt;
        &amp;lt;messageReceiver
            mep=&#034;http://www.w3.org/2004/08/wsdl/in-out&#034;
    class=&#034;org.apache.axis2.rpc.receivers.RPCMessageReceiver&#034;/&amp;gt;
    &amp;lt;/messageReceivers&amp;gt;
    &amp;lt;parameter name=&#034;ServiceClass&#034;&amp;gt;
        A2A.computerEngine.services.algebra.saas001
    &amp;lt;/parameter&amp;gt;
&amp;lt;/service&amp;gt;
&lt;/pre&gt;
&lt;/p&gt;

&lt;p&gt;
The file at &lt;font color=&#034;#4D4C4B&#034;&gt;/opt/jakarta/webapps/axis2/WEB-INF/conf/axis2.xml&lt;/font&gt; is 
modified with the following specific (to my environment) information and other changes as a result:&lt;br/&gt;&lt;br/&gt;

&lt;ul&gt;
&lt;li&gt;I changed the password to username &#039;admin&#039; for the 
&lt;a href=&#034;http://blueberry.ccl.baf.cuhk.edu.hk/axis2/axis2-admin/&#034; target=&#034;_blank&#034;&gt;admin page&lt;/a&gt; to that 
the same as for &#039;aola&#039;.
&lt;/li&gt;
&lt;li&gt;
No change to /opt/jakarta/webapps/axis2/WEB-INF/web.xml for now. Axis2 repository path can be defined here.
&lt;/li&gt;
&lt;li&gt;
saas001.wsdl has been modified by replacing the &#039;localhost:8080&#039; references with &#039;blueberry.ccl.baf.cuhk.edu.hk&#039;;
there is a reference to Namespace of &#039;http://algebra.services.computeEngine.A2A&#039; that should be defined or changed.
&lt;/li&gt;
&lt;li&gt;Create the /opt/WebLOGs/ directory to hold the log4j logs 
(e.g., in /opt/jakarta/webapps/axis2/WEB-INF/classes/log4j.properties now points to /opt/WebLOGs/axis2.log)
&lt;/li&gt;
&lt;/ul&gt;
&lt;br/&gt;
I think I know what needs to be done, but let me try the basic setup first.
&lt;/p&gt;

&lt;p&gt;
&lt;strong&gt;STOP&lt;/strong&gt;, let me try the samples that come with the release...
&lt;/p&gt;
        </description>
      
      
    
    
    
    <category>Technology</category>
    
    <category>AOLA</category>
    
    <comments>http://www.ehospitalityasia.com/A2ABlog/2007/08/23/1187872757153.html#comments</comments>
    <guid isPermaLink="true">http://www.ehospitalityasia.com/A2ABlog/2007/08/23/1187872757153.html</guid>
    <pubDate>Thu, 23 Aug 2007 12:39:17 GMT</pubDate>
  </item>
  
  <item>
    <title>Linking ActivityML to Mathematical Web Services</title>
    <link>http://www.ehospitalityasia.com/A2ABlog/2007/08/22/1187785251087.html</link>
    
      
        <description>
          &lt;p&gt;
Taking a lesson plan and realize it as a portable XML-based document can now be done with the activityEditor.  With an activityML lesson, the AOLA environment now brings the lesson live in the ePlatform.  The next missing step is the discoverable mathematical services to render on-demand graphical mathematics (some form of dynamic mathematics) and to provide the computational engine for dynamic mathematics in real-time.&lt;/p&gt;
&lt;p&gt;In this posting, we learn how to use 
&lt;a href=&#034;http://ws.apache.org/axis2/&#034; target=&#034;_blank&#034;&gt;axis2&lt;/a&gt; to create an online environment to create a proof-of-concept Saas (software as a service) for AOLA mathematics learning.
&lt;/p&gt;
&lt;p&gt;The next few postings will be the deployment of a simple computational engine that provides Saas to an activityML lesson.&lt;/p&gt;
        </description>
      
      
    
    
    
    <category>Technology</category>
    
    <category>AOLA</category>
    
    <comments>http://www.ehospitalityasia.com/A2ABlog/2007/08/22/1187785251087.html#comments</comments>
    <guid isPermaLink="true">http://www.ehospitalityasia.com/A2ABlog/2007/08/22/1187785251087.html</guid>
    <pubDate>Wed, 22 Aug 2007 12:20:51 GMT</pubDate>
  </item>
  
  </channel>
</rss>
