It’s a bit late to tell this but at June’09 we have finished the development of MuzikMekan and won the 3rd prize at Middle East Technical University, Computer Engineering Department, Senior Design Projects Contest.
Today all members of Praeda&Co. has gone in separate directions, Eray and Murat at Europe for Msc. study, Cansin is still at Ankara,Turkey for Msc. study and Gokhan is at Ankara,Turkey to work for TCMB.
I’ve just finished the networking part of the MuzikMekan application. Now, users are able to send friendship request to others, display them and accept or reject them. This is implemented using two database tables: Friend and FriendRequest. First table consists of user pairs who are friends in the system. If user with id=1 and id=2 are friends, Friend table include two entries as (1,2) and (2,1). This technique is used to facilitate database operations when checking friends of a user. Second table is used to keep friendship requests. If user with id=3 asks for friendship to user with id=4, an entry with columns (3,4) will be exists in the FriendRequest table.
If you are using svn+ssh protocol for version control system, you can be bored to enter your password each time you want to update, commit etc. You can use SSH Private Key Authentication method to get rid of this. Follow these steps:
In your client computer, create a key-pair and upload it to the server:
ssh-keygen -t dsa -f ~/.ssh/id_dsa -P ”
scp ~/.ssh/id_dsa.pub <username>@<server>:
Connect to the server using ssh and save your public key:
cat id_dsa.pub >> ~/.ssh/authorized_keys2
chmod 600 ~/.ssh/authorized_keys2
Then, add this private key file into NetBeans:
- Open Versioning->Checkout menu.
- Edit tunnel command as, “ssh -l <username> -i ~/.ssh/id_dsa”
Now, you should be able to use this repository without entering your password.
Recently, I’ve added necessary methods to connect last.fm accounts of users and synchronize them. While testing new features, I’ve realized an instability in the database. It is due to the caching feature (not bug) of Java Persistence API. If you run a query through Persistence, then edit something from database directly, JPA does not recognize it. If you run the same query again, you get exactly the previous result. That’s why, if you use Persistence somewhere in your application, you should better use it throughout your application and not to access the database by another method. You may also modify caching properties of Persistence but it is not recommended because of performance loss. Detailed information can be found here: http://blogs.sun.com/enterprisetechtips/entry/how_to_get_the_best
This is a comprehensive guideline about JSP Model 2 architecture, so called MVC. It clearly demonstrates controller design, front controller pattern, template structure, states and sessions:
The Praeda & Co. did a progress evaluation meeting in order to specify roadmap of the Prototype Demo. The division of labor is as follow:
- Eray takes the GUI development responsibility on Android. He will prepare pages with links to each other.
- Gokhan will setup the Database according to our diagrams and he will develop Database connection classes.
- Cansın will make a field research. He will try to embed the Webkit in Android with a native appearance. If he can achieve this task we will develop our GUI for Android with web technologies instead of a native GUI.
- Murat will make a deep investigation about Google Maps and he is also responsible for GPS functionalities.
Moreover, the team decided on using the Blog in a more efficient way. Everyone will try to prepare Tutorials and other type of documents about the work done.
The next meeting will be held on Jan 12 at 21.00.
In this short how-to, I’ll explain how to basically develop and deploy a web service using Eclipse IDE. In this tutorial, these technologies are used:
- Programming Language: Java
- IDE: Eclipse
- Web Service Protocol: SOAP
- SOAP Implementation: Axis
- Client Application Type: Java Servlet
- Servlet Container: Apache Tomcat
Requirement Analysis Report of MuzikMekan Project is uploaded to website.
- Decided on the database schema
- Class hierarchy is determined
- Initial design report is prepared
Work to Be Done
We’re going to develop a proof-of-concept prototype which includes a web service, database connection and a client application using different technologies in order to determine which technologies to be used in which part of the application.
I didn’t work much on design project this week. I just searched for Web Services and XML technologies. I’ve explored XML-RPC, SOA and REST. I’ve decided to develop a RESTful application as a web service. Next week, I’ll try to determine the database schema and apply a basic web service.