0% found this document useful (0 votes)
240 views

Project-Explanation User Guide-NHS

The document discusses an interview for a position working on the National Cardiac Audit Programme (NCAP) project. It provides details about: 1. The applicant's background and experience working on projects in banking and healthcare domains using technologies like Java, Spring, and Hibernate. 2. An overview of the NCAP project which manages patient and audit data across UK hospitals through registration, patient, import/export, and audit modules. 3. The architecture of the project which involves a service layer, process layer, and integration layer to handle requests from hospitals and interface with the database. 4. The technical flow including creating artifacts from data mapping sheets, schemas, and WSDL files to build the

Uploaded by

Lav Kumar
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
240 views

Project-Explanation User Guide-NHS

The document discusses an interview for a position working on the National Cardiac Audit Programme (NCAP) project. It provides details about: 1. The applicant's background and experience working on projects in banking and healthcare domains using technologies like Java, Spring, and Hibernate. 2. An overview of the NCAP project which manages patient and audit data across UK hospitals through registration, patient, import/export, and audit modules. 3. The architecture of the project which involves a service layer, process layer, and integration layer to handle requests from hospitals and interface with the database. 4. The technical flow including creating artifacts from data mapping sheets, schemas, and WSDL files to build the

Uploaded by

Lav Kumar
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 12

SREENU TECHNOLOGIES

HOW TO TELL THE ANSWER IN INTERVIEW


1. TELL ME ABOUT YOUR SELF :

Hi, this is sreenu, I completed BTech in August 2015 and, I have 3.2 years of experience on java
j2ee technology, a part from my experience I involved in three projects. Some of the projects are
belongs to Banking Domain (BFS) and some are belongs to Health Care Domain. In all these
projects I used technology like-Java J2ee, spring, web services, Hibernate, Design Pattern, Tools
(JUnit, Maven, SVN, Log4j, WinScp and Putty etc) and etc.

Presently, I am working on NCAP (HealthCare Domain).

2. TELL ME ABOUT YOUR CURRENT PROJECTS:

National Cardiac Audit Programme (NCAP) is the national health project to manage
Hospitals,Patients and audit across UK.

This project is very high volume data, every hospital will provide and option to manage their patient
details and audits of the patients respectively. Hospitals have an option to export and import data as
well. The services are divided into three different modules,

1. Registration 2. Patient (Spine) 3. Import and Export 4. Audit

1. Patient: It is the rest service for manage patients. In this project api’s are provided for create,
edit and search patients.

2. Registration: Hospitals will register with NHS Application. Hospitals can enter their the
required details.If these details are validated then NHS Application will stored these details into DB
And also generate generate the credentials.Send these credentials to hosiptals emails.
3. Import and Export : Hospitals can insert the data using in single record or import as bulk
details and also get list of patient details on page or can export in the form of PDF or excel or text.

4. Audit: NCAP is the project developed for managing audits (procedures). In this hospital user can
enter the details of the procedure. The details entered are validated based on the rules defined for a
procedure. If there are not serious error particular audit details are exported to analysis system.

3. TELL ME ABOUT YOUR PROJECT ARCHITECTURE:

HTTP NHS System.


SOR
req req
Hospital-1
S.L P.L I.L
WST resp resp
WEB-
HTTP
SERVICE

Hospital -2 Project Architecture (Provider Side).

#64/3RT, SR Nagar, Near Community Hall, Hyderabad


Contacts: +91-8019697596, 040-40061799
www. Sreenutech.com
SREENU TECHNOLOGIES
A part of my project architecture, I am working as provider side. In this provider side having
three layer

A). Service Layer.

B). Process Layer.

C). Integration Layer.

Here our NHS interacted with the SOR(DataBase) system.

 Here with respect to the project architecture, Hospitals will send the HTTPs request, by
this request going to the provider side (a) Service Layer (b) Process Layer (c)
Integration Layer, in this service layer we are validating the data and calling the process
layer & send it to the process layer, by this data we perform the converting point logic.

4. TELL ME ABOUT YOUR PROJECT TECHNICAL FLOW:

A part of my project technical flow, here first we are taking the business requirement
from the client and by this business requirement we prepare the Data Mapping Sheet,
and we prepare the Schema file, and by using this XSD file we generate the WSDL, and
then create the Artifacts (creating the .java and .classes file).
And by the artifacts create Service layer implementation class, in this class calling the
interface of whatever generated by the WSDL file.
Here is the Technical Flow of my project (Partner Integration).

Business Requirement

Data Mapping Sheet

XSD Schema File,

WSDL File

SOR

Artifacts S.Layer P.Layer I. Layer

Web-
services
Fig: - Technical flow of Spine(Patient Details) Service.

#64/3RT, SR Nagar, Near Community Hall, Hyderabad


Contacts: +91-8019697596, 040-40061799
www. Sreenutech.com
SREENU TECHNOLOGIES

As of our project, here first we take the request and response element by the Data mapping
sheet, by this we create the XSD files and then create the WSDL files also. After completion of
this work we create the Artifacts and by this create the Layers like-

A). Service Layer. B). Process Layer. C). Integration Layer.

In the Service layer, calling the interface by the implementation class and we prepare the web
service request object and then building the request for process layer and then call the process
layer, In process layer building the request for Integration layer and calling the Integration
layer, In integration layer transfer the request data to the SOR system or web-service for storing
the data permanent.

5. DATA Flow Diagram


5.1. Registration Module

5.2. Patient Details Module

#64/3RT, SR Nagar, Near Community Hall, Hyderabad


Contacts: +91-8019697596, 040-40061799
www. Sreenutech.com
SREENU TECHNOLOGIES
5.3.Import and Export Modules

6. How you are handling exception in your project?


As part of my project we are handling the exception, generally in my project we have
handle user defined exception, based on the business requirement we have categorized
user defined exception into different types of exception like-
A). Business Exception.
B). System Exception.
C). Service Exception.
Here, when the user sends the request element (like- fistName, LastName, D.O.B, MobNo
and etc.) data, if that data is not valid then we are throwing the some user defined
exception. This data not sending to the process layer, here only we are handle the
exception.
a) Business Exception :- Here business exception means if the User sending the request
element , that request element is not valid then that time we handle the business
exception. To handle this, here we are writing the some user defined exception class
and some Enum class/properties files/XML files. By this class we handle the
business exception. In business exception coming the some DataException this one
also related to the request data only.
#64/3RT, SR Nagar, Near Community Hall, Hyderabad
Contacts: +91-8019697596, 040-40061799
www. Sreenutech.com
SREENU TECHNOLOGIES
b) System Exception: - This Exception coming at the time of running the service, this
one also related to the hardware system, this exception will be handling by the
Admin team. This exception we handle in Throw able class exception.
c) Service Exception: - In service exception we handle the service related exception
like- DBConnection error.
In my project having layers like- service layer, process layer, Integration layer.
In Integration layer, as per business requirement we are categorized different kind of
user defined exceptions.
Some exception we are throwing, the exception in process layer and service layer.
Here, I am explaining the some exceptions.
NumberFormateException, ClassCastException, ClassNotFoundException,
FileNotFoundException, NullPointerException and etc.

NullPointerException :- To resolve the NullPointerException before creating the object


we can write some if_else (for avoiding this exception) statement and checkout this, and
make sure that object not null, if object whatever you pass is null then that time you will
get NullPointerException.

ClassNotFoundException :- At the time of loading the class if that class is not available
then that you will get the ClassNotFoundException.
To resolve this Exception you make sure whatever you load the class, that class is
available. Another style of handle this exception is you should pass the class otherwise
you will get this exception.

7. What are the exceptions you have used in project during deployment?

A part of our project we are facing the different type of exception like,

A). OutOfMemoryException.
B). ResourcesFailedException.
C). NullPointerException, and etc.
A). OutOfMemoryException : - To handle this exception, we raise request/ticket to
support/admin team. They will resolve issue and update the ticket, in stage server we
handled or resolve this issue.
Here have some reasons.

(1). Heap Dumps.


(2). More no. of application.
B). ResourceFailedException: -

8. What is Encapsulation?Where you have used in project?

Encapsulation is the ability to package data. It is all about packaging related stuff
together and hides them from external elements. Encapsulation importance here is for
binding data and methods together.

#64/3RT, SR Nagar, Near Community Hall, Hyderabad


Contacts: +91-8019697596, 040-40061799
www. Sreenutech.com
SREENU TECHNOLOGIES
Binding all these data and behaviour in a single class we are following the encapsulation
principle.
In my project we are using the encapsulation concept, in my project structure we are
writing the encapsulation concept in the valueBean class, here we are bind the all useful
data and methods together to provide the services.
The process of Data hiding is called encapsulation; we can achieve this by declaring
property as ‘private’.
So that no one can access this property from outside the class, but they can access this
property by using public method (setter/getter).
As part of my project, we are developed all the beans, it behave as encapsulation.
Generally beans will have private properties and setter and getter, so that we are hiding
the data through ‘private’ modifier.
Ex :
Public class RequestValueBean{
Private String patientId;
Private String name;
Private String addr;
...................
// setter and getter.

9. What is polymorphism?Where you have used in project?

The concept of polymorphism is to provide the multiple actions. Single task can perform
multiple operations is called polymorphism.
Polymorphism means making a bunch of abstract and regular classes.
For example we are create own object structure. Make different objects extends each
other. And then write the same methods over again using different parameters and
putting them in the parent class and subclass then test these objects by writing a main
class.

The best example of polymorphism is, in our project we have implemented, build the
response. If it is success we are calling one method buildResponse(obj.).
If it is failure we will call same buildResponse(String respCode, String respMsg). But
method parameter must be different.
EX :
public class RegSvcRequestBuilder{
public respType buildResponse(reqType reqtype){
private String pid;
private String pname;
private String address;
//setter and getter.
}
}

#64/3RT, SR Nagar, Near Community Hall, Hyderabad


Contacts: +91-8019697596, 040-40061799
www. Sreenutech.com
SREENU TECHNOLOGIES
10. What are your roles and responsibilities in this project ?

If Exp <3
My role is Developer and my responsibilities are involved in development the project.I
have involved to write rest based webserivce and also invoked to consume the serivce.
-->I got the chance to work on service,process layer,intg layer
-->involved in Junits using mockito,powermockito
-->implement the spring IOC,logging
-->Support the testing
If Exp > 3
My Role is Senior Developer and my responsibilites are understand the project
requirement from the cleint by attending project status calls and also involved in project
development
where i have develop rest service both provider and consumer
-->involved in Junits using mockito,powermockito
-->implement the spring IOC,logging
-->Support the testing
-->Helping to team if they are strucking anywhere and also
guide to them hot to write junit test cases for some part of the code.
11 Q) What are the problems/risks you have faced in project ?
Sol : we have faced many problems ,some of them are
1. Special character issue :
In our project we will send then response data in the form of json. One of the
element value is getting special character in production,where as dev and test
environment it is not getting. As a provider i am send as it is response to
consumer.Consumer end unable to perform deserializae at their end.i.e. unable convert
json to java object.

2. DB Issue : DB team while move the data from test to prod they did misake one of the
db element is configured is wrong.
So in production always we are getting SQLInvalidGrammerError.
DB team has fix the issue

For this issue PSG(Production Support Group) team has raised the Sev-2 IMR. We have
resolved the issue with the help of DB team.

Note : IMR -- Incident Management Request Sev – Seviority

Sev-1 : very high priority Sev-2 : High Sev-3 : medium Sev- 4 : Low

3. Certificate Issues : Provider production certificates got expired


In dev and test it was working fine.We assume that it will work on production also,but
after 2 days of prod deployment then we are getting "SSLHnadShakeException"--
Certificate Expired.
We have informed to provider and get the renewal certificate from
provider team and moved our changes in prod .

#64/3RT, SR Nagar, Near Community Hall, Hyderabad


Contacts: +91-8019697596, 040-40061799
www. Sreenutech.com
SREENU TECHNOLOGIES
11. What is singleton design pattern where you use this in your project?
Singleton design pattern is the most popular and the older design pattern within the
design pattern catalog. If we create a class as a singleton, an Application allows only one
instance of that class. Generally we create a class as singleton when we want global
point of access to that instance.
Create single instance/object for class within the JVM(multiple request).
Generally singleton design pattern are used for logging implementation DAO Utility.
=>As part of our project, we are implementing this for passing error details (i.e-
maintaining errorCodes/errorMessages) in XML file.
=> We have written DOM parser as a singleton design pattern to read the error info in
XML.
EX:-
errorCodes.xml
<errorDetails>
<errors>
<error>
<errorCode>FF001</errorCode>
<errorMessage>clientIdInvalid</errorMessage>
</error>
<error>
<errorCode>FF002</errorCode>
<errorMessage>clientIdInvalid</errorMessage>
</error>
</errors>
How to implement singleton design pattern:
1). Declare the constructor of the class as private-When we declare the constructor
of the class as private, other classes in the application cannot create the object of the
class directly (Stops allowing more instances).
2). Declare a static method As we made the constructor of the class as private, no
one from outside the class can call the constructor to create the object. The methods of
the same class can call the constructor to create objects, so in this method we can write
the code check and return only one object of the class.
But if this method is a member method, to call it we need an object of the class (which is
not possible). So to call this method without the object, declare this method as static
method.
As this method contains only the logic for creating the object, this method is also called
as factory method as static method.
3). Declare a static member of the same class type in the class in the static
method, we need to write the code for returning only one instance of the class.
Q. How do we track an object for that class already exists?
=> That’s where when we create a first object we will assign it to a member variable. So,
in the next call to the method, you just return the same object which you stored in the
member variable. But member variables cannot be used in a static method, so we need
to declare that variable as static variable to hold the reference of the same class.
Types of implementation.
1). Eager Initialization.
2). Static block Initialization.
#64/3RT, SR Nagar, Near Community Hall, Hyderabad
Contacts: +91-8019697596, 040-40061799
www. Sreenutech.com
SREENU TECHNOLOGIES
3). Lazy Initialization.
4). Override clone method and throw CloneNotSupportedException.
5). Thread Synchronized.
6). Thread block level Synchronized.
7). Bill paug implementation.

FAQS List –II :

1)If you get issue in production what will you do and how you will resolve it?

2)If the server in which your application running is down what will you do and how do you
resolve the problem?

3)How do you increase the performance of the program ?

4)In Spring Boot we use Tomcat while developing,do you use the same Tomcat in the
production?

5)Explain where exactly you used HQL and Criteria API?what are the disadvantage of hibernate?

6)Explain at what scenario we should go for SOAP and when should we go for REST?

7)Where and how did you implement multi threading in your project? Did you do it in your
program or the application server?How many threads are you executing parallel?

8)Can you implement the singleton object ?

9) Apart from using try and catch how did you implement exception handling?

10)In which scenario you use

1)List (What are the kinds of List Objects you have used)?

2)Set (What are the kinds of Set Objects you have used)?

3)Map (What are the kinds of Map Objects you have used)?

11)Where did you use serialization in your project?

12)Explain any 2 complicated scenarios you have faced in developing the application ?

13)How do you expose your services in Spring Boot Application ?

#64/3RT, SR Nagar, Near Community Hall, Hyderabad


Contacts: +91-8019697596, 040-40061799
www. Sreenutech.com
SREENU TECHNOLOGIES
Provider Flow Diagram

client ServiceImpl

Response

WSReq

Validator
Error

true false
validate

WSReq WSResp
SvcReqBuild SvcResBuild
er er
VBReq VBRes

DaoRes Process
Call process
layer ResBuilder
VBRes

VBReq
process
ReqBuilder
DaoReq

DaoRes DaoImpl

UtilReq UtilResp

DaoUtil

DBReq DBResp

Data Base

#64/3RT, SR Nagar, Near Community Hall, Hyderabad


Contacts: +91-8019697596, 040-40061799
www. Sreenutech.com
SREENU TECHNOLOGIES
Class Diagram

#64/3RT, SR Nagar, Near Community Hall, Hyderabad


Contacts: +91-8019697596, 040-40061799
www. Sreenutech.com
SREENU TECHNOLOGIES
Sequence Diagram

OHSvcImpl OHSvcValidatio OHSvcReqBuil OHSvcResBuil OHSvcProcessI OHProcessReq OHprocessRes


OHDaoImpl OHSvcDaoUtil DB
n der der mpl Builder

1.1validRequest()

WsResfail 1.2

2. buildReq()

3 Call Process layer .

4.processDaoReq

5. call Intg layer

6.call util pkg

7.call DB

8.ResultSet

9.prepare DAO res

10.getDbRsponse()

11.buildBbResponse()

12.getBbResponse()

13.buildWsResponse()

#64/3RT, SR Nagar, Near Community Hall, Hyderabad


Contacts: +91-8019697596, 040-40061799
www. Sreenutech.com

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy