locked
Architecture for a connected application. RRS feed

  • Question

  • I am designing a DJ mixing application that connects to a service which offers rich metadata.
    That feature is actually the big thing in the application, behind there's a wizard that offers precise recommandations for the DJ. (And many other things too)

    As I am the only developer, I am somewhat lost because of the amount of things to consider prior design,
    especially when I start thinking to connect the application to the service.

    From developing only the application, I now have to face all these challenges :
    • Web site
    • Web site to administrate the database and the service
    • Web service
    • Database
    • Application connector to access the web service

    What is the best practice and smartest path to design that kind of application ?

    What would be your attack plan for developing all that ?

    I have a read a few documents about that but "advices from your experiences" would be really appreciated.


    Thanks a lot :-)


    Tuesday, March 3, 2009 6:49 PM

Answers


  • Hi Aybe81


    Very important for design architecture , you should decide whether the application should give importance to scalability or performance of the application.

    Since your application web based application , you should very serious thought about security of the web. Please do not comprise on security.

    I will explain the best practices

    step 1

    • Please understand the requirements from your client. In real scenario requirement are going to change. Please understand the what the customer require and what is expected quality expectation of the customer.

    step 2


    • Then you need to decide which technology should you use to develop the the application. What is the estimated time required for the project. A make a study on the risk analysis of the entire project , this is very important at the early stage of the project. Time scheduling , estimated developers required for the project.

    step 3

    • After knowing the requirements , then you need to built architecture. When you build the architecture , check the factors like performance or scalability and security.

    step 4

    • Using any tool identify the various blocks of the architecture , the functional blocks of your application. You need to create the top level diagram of your architecture. Then you enough idea regarding the system level architecture of your application.

    step 5

    • Database design is very important factor in your application. You need design the database ie require table and table relationships. It is very important factor.

    step 6

    • If your following object oriented design ,  Use UML for modeling you entire application. For example creating the class diagrams , sequence diagrams , activity diagrams.

    step 7


    • You need to separate the business logic layer and data access layer. Use stored procedure in the DAL layer for communication with sql serve or oracle server.

    step 8

    • In the website design , You need to look and feel of your website. It should catch the attention of the customer.
    • Please use web graphic designer for designing your website.  In the case of website application, please look into MVP design pattern, Please this design pattern if required or use design patterns if required in your application

    step 9

    • When the developer is coding the application based on the on the class diagrams and the sequence diagram , please give them the best coding practices required for your application. Strict time lines have to be maintained by the developers for coding for completing the various module of your application.

    step 10

    • You need to unit testing approach for the entire application. Please give importance data driven application. If please Microsoft platform(Unit Test project) for testing the application.

    step 11

    • Please give importance to security , since your application is an internet based application.

    Links are given below

    design issues for web service design
    • http://www.w3.org/DesignIssues/WebServices.html

    Web services programming tips and tricks: Learn simple, practical Web services design
    • http://www.ibm.com/developerworks/webservices/library/ws-tip-altdesign1/

    Database Design
    • http://databases.about.com/od/specificproducts/Database_Design.htm

    Database Design Guide
    • http://www.smart-it-consulting.com/database/progress-database-design-guide/

    Ten Common Database Design
    • http://www.simple-talk.com/sql/database-administration/ten-common-database-design-mistakes/
    A Software Architecture for Structuring Complex Web Applications
    • http://www2002.org/CDROM/alternate/478/

    The architecture of Web applications
    • http://www.ibm.com/developerworks/ibm/library/it-booch_web/

    Web application

    • http://en.wikipedia.org/wiki/Web_application


    Hope that this will help you out.

    Regards,
    Phijo Mathew Philip.














    PHIJO MP
    • Marked as answer by Aybe One Saturday, March 7, 2009 6:59 PM
    Wednesday, March 4, 2009 4:27 PM

All replies


  • Hi Aybe81


    Very important for design architecture , you should decide whether the application should give importance to scalability or performance of the application.

    Since your application web based application , you should very serious thought about security of the web. Please do not comprise on security.

    I will explain the best practices

    step 1

    • Please understand the requirements from your client. In real scenario requirement are going to change. Please understand the what the customer require and what is expected quality expectation of the customer.

    step 2


    • Then you need to decide which technology should you use to develop the the application. What is the estimated time required for the project. A make a study on the risk analysis of the entire project , this is very important at the early stage of the project. Time scheduling , estimated developers required for the project.

    step 3

    • After knowing the requirements , then you need to built architecture. When you build the architecture , check the factors like performance or scalability and security.

    step 4

    • Using any tool identify the various blocks of the architecture , the functional blocks of your application. You need to create the top level diagram of your architecture. Then you enough idea regarding the system level architecture of your application.

    step 5

    • Database design is very important factor in your application. You need design the database ie require table and table relationships. It is very important factor.

    step 6

    • If your following object oriented design ,  Use UML for modeling you entire application. For example creating the class diagrams , sequence diagrams , activity diagrams.

    step 7


    • You need to separate the business logic layer and data access layer. Use stored procedure in the DAL layer for communication with sql serve or oracle server.

    step 8

    • In the website design , You need to look and feel of your website. It should catch the attention of the customer.
    • Please use web graphic designer for designing your website.  In the case of website application, please look into MVP design pattern, Please this design pattern if required or use design patterns if required in your application

    step 9

    • When the developer is coding the application based on the on the class diagrams and the sequence diagram , please give them the best coding practices required for your application. Strict time lines have to be maintained by the developers for coding for completing the various module of your application.

    step 10

    • You need to unit testing approach for the entire application. Please give importance data driven application. If please Microsoft platform(Unit Test project) for testing the application.

    step 11

    • Please give importance to security , since your application is an internet based application.

    Links are given below

    design issues for web service design
    • http://www.w3.org/DesignIssues/WebServices.html

    Web services programming tips and tricks: Learn simple, practical Web services design
    • http://www.ibm.com/developerworks/webservices/library/ws-tip-altdesign1/

    Database Design
    • http://databases.about.com/od/specificproducts/Database_Design.htm

    Database Design Guide
    • http://www.smart-it-consulting.com/database/progress-database-design-guide/

    Ten Common Database Design
    • http://www.simple-talk.com/sql/database-administration/ten-common-database-design-mistakes/
    A Software Architecture for Structuring Complex Web Applications
    • http://www2002.org/CDROM/alternate/478/

    The architecture of Web applications
    • http://www.ibm.com/developerworks/ibm/library/it-booch_web/

    Web application

    • http://en.wikipedia.org/wiki/Web_application


    Hope that this will help you out.

    Regards,
    Phijo Mathew Philip.














    PHIJO MP
    • Marked as answer by Aybe One Saturday, March 7, 2009 6:59 PM
    Wednesday, March 4, 2009 4:27 PM
  • Very good information Phijo.

    - Aamir
    www.software-architect.net
    Saturday, March 7, 2009 5:44 PM
  • Hi,

    Alright, I am going to read all this documentation.


    Thanks a lot for your help :-)
    Saturday, March 7, 2009 6:59 PM