Design 2 - Brainstorming the Design Idea - January 30th, 2012

Version 1 by dak4279
on Mar 12, 2012 15:03.

compared with
Current by dak4279
on Mar 12, 2012 15:13.

Key
This line was removed.
This word was removed. This word was added.
This line was added.

Changes (10)

View Page History
We can divide the NIST-MEP project into three modules for ease of design and implementation. !Picture1.jpg|border=1,width=540,height=318!

!Picture1.jpg|border=1,width=540,height=318!

NIST-MEP project will be divided into three phases:
* Phase-1: Design and implement a prototype search engine considering UTA profile system
** Developing TMAC Form module is  achieved in this phase

Phase -- 1 is the most challenging part of the project and it will be designed and implemented ahead of other phases.\\
\\

Some high level design idea about Phase -- 1 and Phase -- 2 is given below:
!Picture2.png|border=1,width=717,height=581!

*{_}{+}Phase -- 2{+}{_}* !Picture3.png|border=1,width=879,height=1031!\\

!Picture3.png|border=1,width=879,height=1031!\\

One of the concern of the NIST/MEP project is that how would we crawl the different web pages of collaborative partners to get the data. Different institution might have different structure for their web page. Besides, an institution can change the web page structure. So writing a web crawler to get the data might not be a good idea as the maintenance cost will be huge. Hence we are considering a RESTful approach to get the necessary information from the partners.

* REST service will get the data from CRON JOB and store the data in the local database
*  Whenever there will be a change in the client’s database, the web service will push the update to the server’s REST service. In this way, the server will always hold up-to-date information about the clients.
* There will be authentication mechanism implemented at REST service end of the server and web service end of the client so that no intruder can interfere. OAUTH can be used to implement the authentication process.\\
\\

The web service at the client side will act as a translator which will convert the data from the client’s database to our pre-defined standard and vice versa. There are some options regarding this web service:
* If the client already has some sort of web service at their end, they can provide us our required data in a standard format
* If the client does not have a web service but has a development team we can provide them an interface which they will implement to meet the needs
* If the client does not have any development team we can develop the web service for them\\
\\

We will also have to consider developing some adapter for connecting to the different databases of the client.