SlideShare una empresa de Scribd logo
1 de 8
Descargar para leer sin conexión
ECAMPUSCONNECT
SE554 – Enterprise Component Architecture Project
An enterprise
application by
Dhaval Joshi and
Advait Patel
Contents
Overview 2
Use Case Diagrams: 2
Description of problem 2
Design 3
Sequence Diagrams: 3
Deployment Diagram: 4
Discussion of how your design met the requirements 4
Discussion of lessons learned 5
Decision Log 5
Research and Implementation of Advance Concepts 7
SE554 – ECampusConnect Project Page !1
Overview
ECampusConnect is an enterprise application whose purpose is to provide easy access to
college specific course management operations for students and staff members.
Use Case Diagrams:
Description of problem
Basic course management(enroll/drop/add/delete/update etc.) operation service that supports
human interaction using Web or system based request using message queue or via web
services.
SE554 – ECampusConnect Project Page !2
Design
Sequence Diagrams:
SE554 – ECampusConnect Project Page !3
Deployment Diagram:
Discussion of how your design met the requirements
This project met most of the functional requirements but was created to validate the
component interaction for different technology pieces and to leverage the skills gained.
SE554 – ECampusConnect Project Page !4
Discussion of lessons learned
Almost everything we learnt while doing this project and during the class was completely new and
challenging. There was a lot to experiment with and hence, there were a lot of lessons to learn.
Some of them are as follows:
• Initially we were not comfortable with using MAVEN but as we progressed in the project
development, we realized its importance and accepted that we’ll should to use it for our project.
• We had a lot of issues with Netbeans. At some point Netbeans won’t even close and delete
existing projects. After reinstalling Netbeans (couple of times) and JAVA things were back to
normal.
• Time is the most important thing when it comes to project management. Proper planning is very
important.
Decision Log
Problem What was
decided
Alternatives
considered
Rationale
Which IDE to
use
Netbean Eclipse, IntelliJ
IDEA
Netbeans had all the components
integrated in one UI
Which build to
use
Maven Netbean specific
Ant
To make project independent of IDE
Application
server to use
Glassfish JBoss Glassfish is integrated out of the box
with Netbeans
Web only or
complete
enterprise
application
Complete
Enterprise
Application
Individual
component
modules
Putting related things together in one
place facilitates better management.
Persistence Inheritance
and
Association
No object-
orientation, object
oriented
Inheritance and Association help to
understand the relationship between
entities more clearly.
SE554 – ECampusConnect Project Page !5
Table Creation Top Down
approach
Top Down, Bottom
Up, Somewhere in
the middle.
Being software developers, our
thought process was much more
inclined towards Top Down approach.
Also, we didn’t have any ready made
tables or entity classes hence the other
two approaches were discarded.
Data Model Single
Table
Single Table,
Joined, Table per
Class.
Single Table data model gives higher
performance when it comes to large
data. Also, single table is easier to
maintain.
Transaction Bean
Managed
Transaction
(BMT)
BMT, Container
Managed
Transaction (CMT)
As there were snippet of code for
transaction in our application, we
chose BMT as it fine grain control .
Messaging
service
Publisher/
Subscriber
(Pub/Sub)
Messaging
Domain
Point-to-Point (PTP)
Messaging Domain
In Pub/Sub model, one message is
delivered to all the subscribers. It is
like broadcasting. Message is used as a
message oriented middleware that is
responsible to hold and deliver
messages. Whereas, in PTP model,
there is timing dependency between
publisher and subscriber.
Type of Session
Bean Access
Local Bean
Access,
Remote
Bean
Access
Local Bean Access,
Remote Bean
Access
Since all the modules are packaged
together in our application, local bean
access would suffice and reduce
complexity. However, we did include
Remote Bean access to understand its
working.
Obtain
reference of an
enterprise bean
Dependency
Injection
Dependency
Injection, JNDI
Lookup
We have used Dependency Injection to get
a reference to the remote interface
considering the fact the our client will run
on a Java EE server- managed
environment.
Type of Bean Stateless
Session
Bean
Stateless Session
Bean, Stateful
Session Bean
Our application consists of both Stateless
and Stateful Session Beans. Some of
features won’t need client specific data
and hence they are implemented as
Stateless Session Beans whereas the
feature hat need client specific data are
implemented as Stateful Session Beans.
SE554 – ECampusConnect Project Page !6
Research and Implementation of Advance Concepts
• Entity Listeners
• Validation
• Singleton
• Calling two public REST service implementations
Github: https://github.com/springse554/ECampusConnect
WebServices SOAP and
REST
SOAP, REST We implemented both to gain
knowledge and experience these
webservices. We created RESTful web
service for viewing the list of courses
available. We also used two public
RESTful service for viewing weather.
We used SOAP for passing messages
and to use department related services.
SE554 – ECampusConnect Project Page !7

Más contenido relacionado

La actualidad más candente

DevOps made simple - Understand DevOps and steps to become a DevOps expert
DevOps made simple  - Understand DevOps and steps to become a DevOps expertDevOps made simple  - Understand DevOps and steps to become a DevOps expert
DevOps made simple - Understand DevOps and steps to become a DevOps expertThinkCerti
 
Mobility Trends | Customer Conversation Deck
Mobility Trends |  Customer Conversation DeckMobility Trends |  Customer Conversation Deck
Mobility Trends | Customer Conversation DeckSagar Mody
 
Don't Wait! Develop responsive applications with Java EE7 instead
Don't Wait! Develop responsive applications with Java EE7 insteadDon't Wait! Develop responsive applications with Java EE7 instead
Don't Wait! Develop responsive applications with Java EE7 insteadErin Schnabel
 
Microservices Tools | Edureka
Microservices Tools | EdurekaMicroservices Tools | Edureka
Microservices Tools | EdurekaEdureka!
 
resume_15450424_1453448806 (1)
resume_15450424_1453448806 (1)resume_15450424_1453448806 (1)
resume_15450424_1453448806 (1)Akhil Mohan
 
Evolving a monolithic Java EE application to microservices
Evolving a monolithic Java EE application to microservicesEvolving a monolithic Java EE application to microservices
Evolving a monolithic Java EE application to microservicesErin Schnabel
 
Praveen Vadla_Resume_2017
Praveen Vadla_Resume_2017Praveen Vadla_Resume_2017
Praveen Vadla_Resume_2017Praveenvadla
 
AWS Meetup: Career Day 2019 - Lightning Talk with Cloud Career Path: DevOps E...
AWS Meetup: Career Day 2019 - Lightning Talk with Cloud Career Path: DevOps E...AWS Meetup: Career Day 2019 - Lightning Talk with Cloud Career Path: DevOps E...
AWS Meetup: Career Day 2019 - Lightning Talk with Cloud Career Path: DevOps E...AWS User Group - Thailand
 
DevOps Torino Meetup - DevOps Engineer, a role that does not exist but is muc...
DevOps Torino Meetup - DevOps Engineer, a role that does not exist but is muc...DevOps Torino Meetup - DevOps Engineer, a role that does not exist but is muc...
DevOps Torino Meetup - DevOps Engineer, a role that does not exist but is muc...Rauno De Pasquale
 
Using Agile Processes on Documentum Projects
Using Agile Processes on Documentum ProjectsUsing Agile Processes on Documentum Projects
Using Agile Processes on Documentum Projectsmufflerdog
 

La actualidad más candente (20)

DevOps made simple - Understand DevOps and steps to become a DevOps expert
DevOps made simple  - Understand DevOps and steps to become a DevOps expertDevOps made simple  - Understand DevOps and steps to become a DevOps expert
DevOps made simple - Understand DevOps and steps to become a DevOps expert
 
Subha Chandra CV
Subha Chandra CVSubha Chandra CV
Subha Chandra CV
 
Chaitanya_resume
Chaitanya_resumeChaitanya_resume
Chaitanya_resume
 
Mobility Trends | Customer Conversation Deck
Mobility Trends |  Customer Conversation DeckMobility Trends |  Customer Conversation Deck
Mobility Trends | Customer Conversation Deck
 
Subha Chandra CV
Subha Chandra CVSubha Chandra CV
Subha Chandra CV
 
Don't Wait! Develop responsive applications with Java EE7 instead
Don't Wait! Develop responsive applications with Java EE7 insteadDon't Wait! Develop responsive applications with Java EE7 instead
Don't Wait! Develop responsive applications with Java EE7 instead
 
Arun Kumar(7.8Yrs).DOC
Arun Kumar(7.8Yrs).DOCArun Kumar(7.8Yrs).DOC
Arun Kumar(7.8Yrs).DOC
 
Microservices Tools | Edureka
Microservices Tools | EdurekaMicroservices Tools | Edureka
Microservices Tools | Edureka
 
Sap Traning Course Material
Sap Traning Course MaterialSap Traning Course Material
Sap Traning Course Material
 
Pallavi_Jindal_resume
Pallavi_Jindal_resumePallavi_Jindal_resume
Pallavi_Jindal_resume
 
resume_15450424_1453448806 (1)
resume_15450424_1453448806 (1)resume_15450424_1453448806 (1)
resume_15450424_1453448806 (1)
 
Evolving a monolithic Java EE application to microservices
Evolving a monolithic Java EE application to microservicesEvolving a monolithic Java EE application to microservices
Evolving a monolithic Java EE application to microservices
 
PraveenResume
PraveenResumePraveenResume
PraveenResume
 
Persentation
PersentationPersentation
Persentation
 
AUSTIN CHRISTOPER PETER
AUSTIN CHRISTOPER PETERAUSTIN CHRISTOPER PETER
AUSTIN CHRISTOPER PETER
 
Praveen Vadla_Resume_2017
Praveen Vadla_Resume_2017Praveen Vadla_Resume_2017
Praveen Vadla_Resume_2017
 
AWS Meetup: Career Day 2019 - Lightning Talk with Cloud Career Path: DevOps E...
AWS Meetup: Career Day 2019 - Lightning Talk with Cloud Career Path: DevOps E...AWS Meetup: Career Day 2019 - Lightning Talk with Cloud Career Path: DevOps E...
AWS Meetup: Career Day 2019 - Lightning Talk with Cloud Career Path: DevOps E...
 
DevOps Torino Meetup - DevOps Engineer, a role that does not exist but is muc...
DevOps Torino Meetup - DevOps Engineer, a role that does not exist but is muc...DevOps Torino Meetup - DevOps Engineer, a role that does not exist but is muc...
DevOps Torino Meetup - DevOps Engineer, a role that does not exist but is muc...
 
Shalini_Gunalan_resume
Shalini_Gunalan_resumeShalini_Gunalan_resume
Shalini_Gunalan_resume
 
Using Agile Processes on Documentum Projects
Using Agile Processes on Documentum ProjectsUsing Agile Processes on Documentum Projects
Using Agile Processes on Documentum Projects
 

Similar a ECampusConnect

Introduction to Spring Framework
Introduction to Spring FrameworkIntroduction to Spring Framework
Introduction to Spring FrameworkASG
 
Nilesh_Surange J2EE 9.5+ Years
Nilesh_Surange J2EE  9.5+ YearsNilesh_Surange J2EE  9.5+ Years
Nilesh_Surange J2EE 9.5+ Yearssurange
 
Sujoy_Ghosh_Resume
Sujoy_Ghosh_ResumeSujoy_Ghosh_Resume
Sujoy_Ghosh_Resumesujoy ghosh
 
DevOps and Microservice
DevOps and MicroserviceDevOps and Microservice
DevOps and MicroserviceInho Kang
 
Prince_Kumar_JAVA_Developer
Prince_Kumar_JAVA_DeveloperPrince_Kumar_JAVA_Developer
Prince_Kumar_JAVA_DeveloperPrince nagsen
 
Was l iberty for java batch and jsr352
Was l iberty for java batch and jsr352Was l iberty for java batch and jsr352
Was l iberty for java batch and jsr352sflynn073
 
TheSpringFramework
TheSpringFrameworkTheSpringFramework
TheSpringFrameworkShankar Nair
 
SathishKumar Natarajan
SathishKumar NatarajanSathishKumar Natarajan
SathishKumar NatarajanSathish Kumar
 
Internship-Report-VitulChauhan-18132023-IT_CRUD-OPERATION.pdf
Internship-Report-VitulChauhan-18132023-IT_CRUD-OPERATION.pdfInternship-Report-VitulChauhan-18132023-IT_CRUD-OPERATION.pdf
Internship-Report-VitulChauhan-18132023-IT_CRUD-OPERATION.pdfVitulChauhan
 
Kantharaj.B_Java_4.4YrsExp_Resume
Kantharaj.B_Java_4.4YrsExp_ResumeKantharaj.B_Java_4.4YrsExp_Resume
Kantharaj.B_Java_4.4YrsExp_ResumeKantharaj B
 

Similar a ECampusConnect (20)

SHAHKAR_RESUME
SHAHKAR_RESUMESHAHKAR_RESUME
SHAHKAR_RESUME
 
Introduction to Spring Framework
Introduction to Spring FrameworkIntroduction to Spring Framework
Introduction to Spring Framework
 
Nilesh_Surange J2EE 9.5+ Years
Nilesh_Surange J2EE  9.5+ YearsNilesh_Surange J2EE  9.5+ Years
Nilesh_Surange J2EE 9.5+ Years
 
SurajResume
SurajResumeSurajResume
SurajResume
 
Sujoy_Ghosh_Resume
Sujoy_Ghosh_ResumeSujoy_Ghosh_Resume
Sujoy_Ghosh_Resume
 
DevOps and Microservice
DevOps and MicroserviceDevOps and Microservice
DevOps and Microservice
 
Prince_Kumar_JAVA_Developer
Prince_Kumar_JAVA_DeveloperPrince_Kumar_JAVA_Developer
Prince_Kumar_JAVA_Developer
 
Mahesh_Dimble
Mahesh_DimbleMahesh_Dimble
Mahesh_Dimble
 
Suresh Resume
Suresh ResumeSuresh Resume
Suresh Resume
 
Bhanu_Pottipareddy_CV
Bhanu_Pottipareddy_CVBhanu_Pottipareddy_CV
Bhanu_Pottipareddy_CV
 
Resume amrit
Resume amritResume amrit
Resume amrit
 
Ketan Resume
Ketan ResumeKetan Resume
Ketan Resume
 
Resume_.Net_3+Yr
Resume_.Net_3+YrResume_.Net_3+Yr
Resume_.Net_3+Yr
 
Was l iberty for java batch and jsr352
Was l iberty for java batch and jsr352Was l iberty for java batch and jsr352
Was l iberty for java batch and jsr352
 
Resume
ResumeResume
Resume
 
TheSpringFramework
TheSpringFrameworkTheSpringFramework
TheSpringFramework
 
SathishKumar Natarajan
SathishKumar NatarajanSathishKumar Natarajan
SathishKumar Natarajan
 
Shyam pcf
Shyam pcfShyam pcf
Shyam pcf
 
Internship-Report-VitulChauhan-18132023-IT_CRUD-OPERATION.pdf
Internship-Report-VitulChauhan-18132023-IT_CRUD-OPERATION.pdfInternship-Report-VitulChauhan-18132023-IT_CRUD-OPERATION.pdf
Internship-Report-VitulChauhan-18132023-IT_CRUD-OPERATION.pdf
 
Kantharaj.B_Java_4.4YrsExp_Resume
Kantharaj.B_Java_4.4YrsExp_ResumeKantharaj.B_Java_4.4YrsExp_Resume
Kantharaj.B_Java_4.4YrsExp_Resume
 

ECampusConnect

  • 1. ECAMPUSCONNECT SE554 – Enterprise Component Architecture Project An enterprise application by Dhaval Joshi and Advait Patel
  • 2. Contents Overview 2 Use Case Diagrams: 2 Description of problem 2 Design 3 Sequence Diagrams: 3 Deployment Diagram: 4 Discussion of how your design met the requirements 4 Discussion of lessons learned 5 Decision Log 5 Research and Implementation of Advance Concepts 7 SE554 – ECampusConnect Project Page !1
  • 3. Overview ECampusConnect is an enterprise application whose purpose is to provide easy access to college specific course management operations for students and staff members. Use Case Diagrams: Description of problem Basic course management(enroll/drop/add/delete/update etc.) operation service that supports human interaction using Web or system based request using message queue or via web services. SE554 – ECampusConnect Project Page !2
  • 4. Design Sequence Diagrams: SE554 – ECampusConnect Project Page !3
  • 5. Deployment Diagram: Discussion of how your design met the requirements This project met most of the functional requirements but was created to validate the component interaction for different technology pieces and to leverage the skills gained. SE554 – ECampusConnect Project Page !4
  • 6. Discussion of lessons learned Almost everything we learnt while doing this project and during the class was completely new and challenging. There was a lot to experiment with and hence, there were a lot of lessons to learn. Some of them are as follows: • Initially we were not comfortable with using MAVEN but as we progressed in the project development, we realized its importance and accepted that we’ll should to use it for our project. • We had a lot of issues with Netbeans. At some point Netbeans won’t even close and delete existing projects. After reinstalling Netbeans (couple of times) and JAVA things were back to normal. • Time is the most important thing when it comes to project management. Proper planning is very important. Decision Log Problem What was decided Alternatives considered Rationale Which IDE to use Netbean Eclipse, IntelliJ IDEA Netbeans had all the components integrated in one UI Which build to use Maven Netbean specific Ant To make project independent of IDE Application server to use Glassfish JBoss Glassfish is integrated out of the box with Netbeans Web only or complete enterprise application Complete Enterprise Application Individual component modules Putting related things together in one place facilitates better management. Persistence Inheritance and Association No object- orientation, object oriented Inheritance and Association help to understand the relationship between entities more clearly. SE554 – ECampusConnect Project Page !5
  • 7. Table Creation Top Down approach Top Down, Bottom Up, Somewhere in the middle. Being software developers, our thought process was much more inclined towards Top Down approach. Also, we didn’t have any ready made tables or entity classes hence the other two approaches were discarded. Data Model Single Table Single Table, Joined, Table per Class. Single Table data model gives higher performance when it comes to large data. Also, single table is easier to maintain. Transaction Bean Managed Transaction (BMT) BMT, Container Managed Transaction (CMT) As there were snippet of code for transaction in our application, we chose BMT as it fine grain control . Messaging service Publisher/ Subscriber (Pub/Sub) Messaging Domain Point-to-Point (PTP) Messaging Domain In Pub/Sub model, one message is delivered to all the subscribers. It is like broadcasting. Message is used as a message oriented middleware that is responsible to hold and deliver messages. Whereas, in PTP model, there is timing dependency between publisher and subscriber. Type of Session Bean Access Local Bean Access, Remote Bean Access Local Bean Access, Remote Bean Access Since all the modules are packaged together in our application, local bean access would suffice and reduce complexity. However, we did include Remote Bean access to understand its working. Obtain reference of an enterprise bean Dependency Injection Dependency Injection, JNDI Lookup We have used Dependency Injection to get a reference to the remote interface considering the fact the our client will run on a Java EE server- managed environment. Type of Bean Stateless Session Bean Stateless Session Bean, Stateful Session Bean Our application consists of both Stateless and Stateful Session Beans. Some of features won’t need client specific data and hence they are implemented as Stateless Session Beans whereas the feature hat need client specific data are implemented as Stateful Session Beans. SE554 – ECampusConnect Project Page !6
  • 8. Research and Implementation of Advance Concepts • Entity Listeners • Validation • Singleton • Calling two public REST service implementations Github: https://github.com/springse554/ECampusConnect WebServices SOAP and REST SOAP, REST We implemented both to gain knowledge and experience these webservices. We created RESTful web service for viewing the list of courses available. We also used two public RESTful service for viewing weather. We used SOAP for passing messages and to use department related services. SE554 – ECampusConnect Project Page !7