![]() |
.. (לתיקייה המכילה) | |
Can there be many consensus requirements in a single event?
| Yes, there may be several. |
Can we delete or discard past events?
|
No. The system should provide some way for seeing past events. Of-course, registering to past events is not possible. |
If we implement admin user in the system do we still need to allow users
to delete themselves/their events?
|
If you choose to implement admins, you do not need to allow users to delete themselves. However, you still need to allow a user to delete an event that he/she created. |
What should we use as the database name and the username/password
for the database?
|
Given that your ids are id1 and id2 (the order of the ids is the same as that of the presentation registration) then, your database name will be db{id1} your username and password should both be id1. For instance id1=00033 and id2=34567 your db name will be db000333, your username and password will be 000333 |
What should be the name of our application and how will we access it?
|
Given that your ids are id1 and id2 (the order of the ids is the same as that of the presentation registration) then, the name of your WAR file should be app{id1}. It will be accessed as: For instance id1=00033 and id2=34567 the following will be your website full address: http://ibm411.cs.technion.ac.il/app000333 |
In page 5 of assignment 5 it says:
"View messages and events on a map: Users should be able to see messages and
events in a given area. They should get to these messages either by searching or
by browsing the map"
What does the word "search" in this context refer to?
| It refers to the search option you implement from the advanced features. |
Can we make changes to server.xml?
|
No, this will not be possible. The exact same server.xml will be used for everyone and will not be accessible to you. |
What mysql/postgis versions will you be using
|
MSQL -------- mysql> SHOW VARIABLES LIKE "%version%"; +-------------------------+-------------------------+ | Variable_name | Value | +-------------------------+-------------------------+ | protocol_version | 10 | | version | 5.1.63-0ubuntu0.10.04.1 | | version_comment | (Ubuntu) | | version_compile_machine | i486 | | version_compile_os | debian-linux-gnu | +-------------------------+-------------------------+ POSTGIS ------------ psql -d postgistemplate -c "SELECT postgis_full_version();" POSTGIS="1.4.0" GEOS="3.1.0-CAPI-1.5.0" PROJ="Rel. 4.7.1, 23 September 2009" USE_STATS (1 row) |
What should we submit at the end and how?
|
Note that you should submit a single WAR file only! When the WAR file loads it should create (only if needed) all the database tables that your app needs. That is, you should make sure that the WAR file takes care of this and that no external SQL commands/scripts are necessary. We will provide more details on the submission process itself. |
Which JDBC drivers will you be using in your server (the IBM411 machine)?
|
for mysql: mysql-connector-java-5.1.21.tar.gz for postgresql: JDBC4 Postgresql Driver, Version 9.1-902 |
The location search function interface signature is:
(int locationX, int locationY, int d)
should this really be int or double?
|
Indeed, this is an error. It should be: (double locationX, double locationY, double d) |
Please note the following:
|
(1) You must make sure you run through tests on your application when it is installed on IBM411 and not only on your localhost. You will find that this will allow you to detect many problematic hidden assumptions. (2) Make sure you include the source code in your submitted WAR file. |
The following sentence in page 6 of the assignment is not clear:
"Search for courses in all of the currently registered services and to
present the results"
|
This is a typo. It should be: "Search for messages in all of the currently registered services and to present the results" |
How can we deploy our WAR file in IBM411?
|
The process is as follows: use ssh to upload your WAR file (which includes the sources as well). The username and password are uploader/uploader. Remember, the WAR file should be named app{id}.war. Every midnight these files will be copied to the tomcat webapps directory and tomcat will be automatically restarted. That is you will be able to access your webapp the next day. Make sure you start this process ahead of time (at least a week before the presentation). It is highly ** unadvised ** to start with this process only a day or two before the presentation. This is when you are expected to upload your final fully tested and working application. |
When implementing the WS for sharing resources, which function should
we implement the keyword search or the location based search.
Moreover, when calling other student's webservices how can we know
which one they implemented?
|
To make things simple, everyone should provide both function signatures. However, students that chose not to implement the location based services may provide an empty implementation of the location search. An empty implementation in this case means that for any given input the function will always return a string array of size zero. Note that your sharing resource service must be robust enough not to fail if a webservice you rely on fails! |
Since both search functions in the WS registration have the same name
"search" overloading causes problems in the WSDL file. How should we
resolve this?
|
Good point. We need to change the names of the functions accordingly to searchKeywords and searchLocal respectively. |
There is still no access to IBM411 using SSH.
|
Due to problems with the SSH port being blocked for IBM411 we have deployed a simple webapp that allows uploading your WAR files. As previously described, these webapps will be installed daily around 8:20 AM in tomcat. The WAR uploader utility can be accessed in the following address: http://ibm411.cs.technion.ac.il/WarUploader/index.html |
What should the address of our search webservice WSDL be?
| http://ibm411.cs.technion.ac.il/<appname>/services/SearchWS?wsdl |
Correction regarding username and password for postgis users.
|
postgis users, please add the prefix 'u' before your id, e.g. if your id is 003 your username and password will be u003 and u003. The database name remains the same (db003). |
How can we call a webservice based on its endpoint?
|
I prepared a small example to demonstrate it. In this case I created the a webservice client in eclipse using the following WSDL file: http://ibm411.cs.technion.ac.il/HW5_copy/services/SearchWS?wsdl After doing so the following example shows how the endpoint can easily be changed dynamically. public static void main(String[] args) throws RemoteException { SearchWSProxy proxy = new SearchWSProxy(); System.out.println(proxy.getEndpoint()); proxy.setEndpoint("http://ibm411.cs.technion.ac.il/HW5_copy/services/SearchWS"); String[] keywordResults = proxy.searchKeywords(new String[] { "abc", "def" }); String[] locationResults = proxy.searchLocal(0.0, 0.0, 10.0); if (keywordResults == null) { keywordResults = new String[0]; } if (locationResults == null) { locationResults = new String[0]; } System.out.println("keyword search found " + keywordResults.length + " results"); System.out.println("location search found " + locationResults.length + " results"); } |
Which version of AXIS should we use for implementing our webservices?
|
To avoid problems due to different version, please use AXIS1 -- which is what we used in our examples. |
What is the format of the returned messages in the registration
webservice? Do we have to display these messages on a map?
|
There is no requirement to display the results on the map. As for the format, it is as follows: longitude||latitude||message-content where the first two are double and the third is a string. It is ok to display the entry as plain text. |

