Courses/CS 491ab/Winter 2009/Urvishkumar Mehta

From CSWiki

Jump to: navigation, search

Contents

[edit] Contact Information

Email: urvish12385@gmail.com

[edit] Week 1, 01/09/2009

Brief Summery
  • Defining functionality for Web Development
  • Collecting data required to iput in database
  • Defining Technologies to be used for Web Development

[edit] Week 2, 01/16/2009

Brief Summery
  • Setting up Domain Infrastructure for Web.
  • Concluded Types of Users supported by application
    • -Students
    • -Operators
    • -Faculty/Staff
    • -Administrator
  • Basic Flow of pages of application is decided.
  • Decided Basic functionality of application decided for small working model
    • -Student Registration
    • -Class Schedule
    • -Grade status Tracking
    • -User Friendly Interweb Domain System

[edit] Week 3, 01/23/2009

Enhancement Policies to be discussed within next week:

  • Data Guard technologies:
    • - Implementation
    • - Working Functionality
    • - Tools to be used
    • - Server Configuration
  • Database Migration:
    • - Database Used Oracle 9i
    • - Elaborating different Techniques for Data security at Database Level
    • - Migration Techniques for Database up-gradation

[edit] Week 4, 01/30/2009

Research done for following Technology
  • Oracle Data Guard Technology:
  • What is Oracle Data Guard?
    • -Database that we can fail over or switchover
    • -Kept closely synchronized with primary db
    • -Primarily dedicated to being ready for failover
    • -May also be used for reporting
    • -Guaranteed to be an exact copy
    • -To the point of last synchronization
    • -Can catch up as long as redo logs available
  • Solution for various Technology
    • -Oracle’s disaster recovery solution for Oracle data
    • -Feature of Oracle Database Enterprise Edition (EE)
    • -Automates the creation and maintenance of one or more transactionally consistent copies (standby) of the production (or primary) database
    • -If the primary database becomes unavailable (disasters, maintenance), a standby database can be activated and assume the primary role
  • Types of Standby Databases
    • -There are two types of standby databases
  • Physical standby database
    • -block-for-block identical with the primary database
    • -Synchronized with the primary database by application of redo data
  • Logical standby database
    • -Shares the same schema definition
    • -Synchronized with the primary database by transforming the data in the redo received from the primary database into SQL statements that are executed
  • Working
    • -Basic DataGuard setup
    • -Where to send archived redo logs?
  • Primary
    • -Log_archive_dest_1
      • -Location for local archived redo logs
      • -Location=/arch01/NY Valid_for=(All_Logfiles, All_Roles)
    • -Log_archive_dest_2
      • -Sends archived redo logs to service name
      • -Service name points to standby
      • -Service=LA Valid_for=(Online_logfiles, Primary_Role)
    • -Tnsnames.ora

Contains entry for service name for standby

DataGuard init.ora/spfile Image:MY_pic_1.jpg

DataGuard init.ora/spfile Image:MY_pic_2.JPG

  • Above scenarion depicted situation After Fail Over:

Oracle Data Guard Focus: Image:My_pic_3.JPG

  • Project Idea :

The Idea to create Web that I have on mind, I believe would be Australian Education Center Website and Would be helpful to those students who would like to register for various kinda exams available and prepare themselves for exams, registration for class, grade tracking and online group discussion on various articles. Within next couple of weeks I would be creating the prototype of such website, so We will get better Idea fo picture. As of now I will think in the direction of integrating web email services in the website. Moreover I will explore certain how to enhance security at application level for software like Oracle and Mysql.

[edit] Week 5, 02/06/2009

  • Brief Summary of Work:
  • Project Idea:
    • I have deciede to Project on Student Educational Study Center website.
  • Who is going to Interact:
    • Staff/Faculty
    • Students
    • Administrator
  • Basic Requirement for creating web:
    • Student Login
    • Student Class Information
    • Student Email Account
    • Student Discussion Forum
    • Student Exam Information
  • Started working on using right Framework for website developement:
    • Set up computer for java based environment functionalities
    • tools used: Netbeans, Mysql, jdk 1.5
    • Studied Java Mail Application for Student Mailing System
  • Talk with Dr. Abboot about the project:
    • Whether to create Desktop Mail Application or not. Waiting for approval.
  • Work For the Next Week:
    • More depth study of Java Mail Application
    • Creating more features in Java Mail Application

[edit] Week 6, 02/13/2009

  • Started Working on Creating Basic flow of Web:
    • Small Working model will include -- Student Login.
    • Student Class Registration.
    • Student Class Information.
    • Demo of the model will be in the next week.
    • The demo will be based on either JSP or ASP technology.
  • Flow of Login Page:

Image:hi123.jpg


  • Other Functionalities Needs to be added to the Web Mail System():
    • To do list
    • Calendar
    • Memopad
    • Integrating Chat client System (Talk to Dr. Abbot About that in Today's session)


  • Other Methods Learned during this week:
    • Learned Java Mail API for mil System. (To create Desktop Mail or Web Mail)
    • Workstation Requirement: Java 1.2
  • Basic Mail Client System Includes:
    • a) Mailbox Fun. Includes: [Feeding data from the Address Book, Add;del;Move data in Address Book, Including Folder Management]
    • b) Compose Fun Include:[To,CC,BCC, Attaching file]
    • c) Introduction [User Profile Information]
    • d) Logout
  • To Send MAIL:

 javax.mail.Transport (Java Mail API package) The javax.mail.Transport class is provider-implemented class and is used for sending a message over a specific protocol.

  • To Receive MAIL:

 javax.mail.Store The javax.mail.Store class is implemented by a service provider, such as a POP Mail implementation developer, and allows for read, write, monitor, and search access for a particular mail protocol. The javax.mail.Folder class is accessed through this class and is detailed below.

  • Exploring more packages and classes in the next week:

[edit] Week 7, 02/20/2009

* Work done during last week:

  • Worked out on doubts and the questions raised in last session:


* Why to implement Project with Java package(Technology)

    • Java Package is the main package to run any java code in any system. That is required for any system to be able to run and compile the JAVA programmes.
    • The use of Java Package on project: is used for User Interface , as well as all the basic functionality except the Mail sendign and receiving. Like , folder management , address book , To do list, etc..


* Basic Application:

    • 1.Backend working is using JAVA MAIL API 1.3 . (Called JavaM API)
    • 2. GUI is using the simple JAVA 5.0 API (called J2SE) -- Which will be used by the user to interact with the Mail Management system.


* Acquiring service from Yahoo or GMAIL for Project Testing:

    • Application can be put into testing using Yahoo or Gmail or other mail service providers.
    • The application would require Incoming and Outgoing Mail server information along with their User Name ID & Password for Account.
    • Various Incoming & Outgoing Mail server information is provided by Yahoo and Gmail using IMAP, POP3 and SMTP services on the internet.
    • Assigning specific mail server and information will do the work

* How it Works:

    Folder defaultfolder = connect.u_store.getDefaultFolder(); 
    Folder  folder = defaultfolder.getFolder("INBOX"); 
  • This two lines will fetch the Inbox folder from the specified mail server for the specified user.
  • Connect is an object which contains the information regarding the incoming mail server , it s port number , protocol.
  • u_store is an object which contains the basic store structure for the Mail server's Data storage.
  • Connect.u_store_getDefaultFolder() method , this will retrive the main folder of the user from the incoming mail sever which are specified in the connect object.
  • Firewall will not restrict this application to work but can be stopped by implementing policies. In this case Organization who would not like their user to interact with web mail uses the proxy server to use the service. The incoming outgoing server settings will surpass the firewall using proxy server.


* Why Mail Client:

  • This is like Client mail system: can be also integrated into webmail system.
  • It is more secured than web mail system.
  • Client does not need to go to internet to access their mails
  • Data can be saved and modified at your comfort.
  • No worries about maintaining sessions and loading data from the website.

*Implementation with Work done:

  • Configuring SMTPHandler for java.util.logging
  • By default, java.util.logging reads the lib/logging.properties file in the JRE directory. You can adjust logging levels and add new handlers by editing this property file. It is important to know that java.util.logging requires all handler classes to be on the JVM system classpath. In order to use the SMTPHandler class, you will need to place three JAR files on your system classpath: the SMTPHandler JAR, the JavaMail JAR, and the JavaBeans Activation Framework JAR.
  • The logging.properties file contains a handlers property. The handlers property specifies a comma-separated list of handler classes. The following example declares two handlers, a ConsoleHandler and a SMTPHandler:


handlers=java.util.logging.ConsoleHandler,smtphandler.SMTPHandler .level= FINEST java.util.logging.ConsoleHandler.level=FINEST java.util.logging.ConsoleHandler.formatter=java.util.logging.SimpleFormatter smtphandler.SMTPHandler.level=WARNING smtphandler.SMTPHandler.smtpHost=smtp.foobar.com smtphandler.SMTPHandler.to=neo@foobar.com smtphandler.SMTPHandler.from=appserver@server3 smtphandler.SMTPHandler.subject=[SMTPHandler] Application message smtphandler.SMTPHandler.bufferSize=512 smtphandler.SMTPHandler.formatter=java.util.logging.SimpleFormatter

[edit] Week 8, 01/09/2009

  • Work Done During Last week:
    • Thunderbird: Open Source Email Client:

*Thunderbird (Mozzila Product):

  • hunderbird is an open source email client developed by the Mozilla Foundation. In common with the Mozilla Foundation's other products such as its web browser, Firefox, it stands out in terms of its cross platform support, being available for Windows, Linux, and MacOS X.
  • Thunderbird is certainly feature rich and provides IMAP and POP support, a built-in RSS reader, support for HTML email, powerful searching tools, saved search folders, advanced message filtering, message grouping, labels, return receipts, smart address completion, and import tools.
  • It also provides the ability to manage multiple email and newsgroup accounts via different "personalities". This last feature is particularly useful for anyone who operates more than one email account, perhaps separate work and personal email accounts, and wishes to use the same client for both accounts.
  • Extra Features:
    • Intelligent junk email filters using built in tools that can analyze email messages and identify those that are most likely to be junk emails (commonly called spam). Email messages identified as junk can then be either automatically deleted or placed in a separate folder allowing the user to examine suspect junk messages before deletion
    • security and encryption features including support for message encryption plus support for digital signatures and certificates and security devices.
    • account management tools enabling users to operate multiple email accounts.

* Protocols Used:

    • POP clients will store email on the local client machine, usually a user's computer, so email messages are more vulnerable to loss unless adequate backup procedures are in place on the user's computer
    • POP clients only allow one connection to a particular mailbox on the server at any one time. This means that it is not possible for someone to leave, for example, their office computer connected to their email using a POP client and then to try and access it from a different machine.
    • IMAP allows multiple connections to the same mailbox allowing a user to access mail simultaneously from two different machines or clients.
    • IMAP also allows a mode of working where a user connects to see new email and then disconnects to read and compose messages offline. However, the IMAP client has only downloaded a copy of the messages for offline viewing, the real messages are still on the server whilst a POP client would have downloaded the messages to the local machine and then deleted them on the server.
  • Role of MIME:

it enables the sending of binary attachments to email messages. These attachments are files that are not part of the email proper, but are sent with the email and can be understood by a MIME compliant email client. Virtually all Internet email is transmitted in MIME format via the underlying SMTP protocol and is so closely associated with SMTP and MIME that it is sometimes referred to as SMTP/MIME email.


    • Project for Java Mail Client:
    • Gone through other Email Clients like Columba, Icemail,(Not really efficient for providing all service)
  • supporting the latest email standards, including S/MIME and PGP, POP, IMAP & SMTP
  • Extra Features like: To do list
  • Extra Features:Reminder Alert
  • Extra Features: Multiple Account Operative Information

** Last Week: Talk With ITS Dept.:

  • Main Server: Microsoft Exchange Server
  • Front End Server: Users : Faculty Staff
  • Back end Server Users: Students
  • talk to ITS President to allow application for tsting purpose.

[edit] Week 9, 03/06/2009

  • Project Email Client:
  • Java Mail API , willl provide me raw data in form of incoming mails , sent mails , and facility to send mails.
  • While the User Interface , each and everything will be generated in Java only. Like Panels , frames where the contents like "Sender , Subject , Sent date/Time " are displayed , are also developed in Java only.
  • Consider Java Mail Api , as behind the curtain worker. It gives only mails and data regarding the mail box. While using Java the User interface will be developed and the data (mails and all that ) will be displayed in, precised format, to user.
  • Calender , To Do , Address book items are developed in Java only, So they are part of Java Package.
  • Idea is to implement the Project different than the available E-mail clients like columba.

Feature: Multiple Account and Profile Functionality

[edit] Week 10, 03/16/2009

During Last Week:

  • About Columba:
    • Columba is an Email Client written in Java, featuring a user-friendly graphical interface with wizards and internationalization support. Its a powerful email management tool with features to enhance your productivity and communication.
  • Features:
    • Columba is released for MAC OSX, Windows & LINUX platforms.
    • Operating Multiple Account Functionalities.
    • Accessible to integrate Pulgins and third party tools through GUI.
    • Support of IMAP4, POP3, ESMTP, SASL and SSL
  • SubProjects:
    • Frapuccino:
      • It provides Swing which needs are high-level gui components.
      • Features
   * Editable List
   * Tree Table
   * Checkable List
   * Checkable Tree
  • JSCF:
  • JSCF contains the GnuPG security support used by Columba to sign, verify, decrypt and encrypt messages using the GnuPG commandline tool. JSCF is also a framework for other security libraries like SMIME and so on.
  • Features
    • Verifying, Signing, Encryption and Dercyption using the GnuPG commandline tool.
    • supplies a mechanism to use the security framework like a JDBC driver.
  • Future Work:
    • Implemet Email client System based on Java MAIL API, which is featuring and using Frapuccino framework.
  • Future Developement for Columba:
  • So Long, and Thanks for All the Fish
  • I've been working or better playing around with Columba the better half of my student years. Especially the latest release was quite difficult to manage. RL (aka real life) kept me quite busy and is also the reason why I now finally decided to stop developing on Columba.
  • I had so much fun meeting and working with all different kinds of people from throughout the world. Thank you all for your support!
  • It was not quite the ride we planned. Thinking about it - we never really planned anything ;-) But, that's probably the reason why it was so much fun!
Personal tools