SlideShare a Scribd company logo
Hui Xie
Mar, 2018
 Enterprise JavaBean
◦ Business Object Classes that have fields and methods to
implement modules of business logic
 Session Bean
◦ A transient bean that its data are gone when the client finishes
execution.
 Message Driven Bean
◦ It combines session bean and message listener,
allows message to be transferred asynchronously.
 It extends server, typically web server to host
applications by way of http request-response
model.
 SingleThreadModel interface controls
concurrent access to shared resources.
 Session Management
◦ To ensure an active session is not timed out,
periodic access the session by using service
method.
◦ When client interaction is finished, call invalidate
method.
 RequestServlet extends HttpServlet and
implement request data in HTML.
 Specified URI pattern relative to the context
root.
 Get data from request object and Create
RequestDispatcher to process and include
request and response data.
 ResponseServlet extends HttpServlet and
implement response data in HTML.
 Both override PUT, GET, POST method etc.
 It is a GUI component framework.
 It has a standard RenderKit for generating
HTML 4.01 markup.
 Features include:
◦ Input validation
◦ Event handling
◦ Page navigation config
◦ Managed model object creation
 JTA provides API for transaction management.
 JAX-RS defines API for REST service.
 JAX-WS defines API for SOAP service
 JDBC API
 New APIs in J2EE7
◦ JSON-P
◦ WebSocket
◦ Batch
◦ Concurrency
WEB-INF/classes/com/example/customer/CustomerBean.class
WEB-INF/classes/com/example/web/StoreServlet
WEB-INF/lib/cc.jar
WEB-INF/ejb-jar.xml
WEB-INF/web.xml
 It can be used with support of JavaScript
resource library code in a JSF application.
 REST Web Services are Synchronous and Request
Response in nature.
 GET based REST web services support only simple
types as arguments.
 POST based Web Service do not need a SOAP
envelope or SOAP body. REST web service do not
have headers and payload is sent directly.
 Axis2 allows user to access web services that
have simple type parameters via HTTP GET. The
web service arriving via GET assumes REST.Other
parameters are converted into XML and put into
SOAP.
 Junit4
 Spring Framework
 Mockito
 JMockit
 EJB supports transaction processing, in the
ejb-jar.xml, when it is deployed, the
container reads the information and provide
necessary support, which includes:
◦ Requiring the client provide an open transaction
context
◦ Requiring container start a new transaction when
bean is invoked
◦ Requiring the bean be allowed to manage its own
transaction
◦ It provides six possible modes of transaction
management.
 To speed up loading process, it is possible to
keep a cache of EJB database update in memory
or in a highly indexed database table, and handle
them all in a batch at a later time. But this
approach does not prevent data loss during
power outage or other serious problem occurs.
 When remote invocation is needed,
◦ First, use a naming service to locate the EJB’s home
interface
◦ Then call on EJB’s home interface to gain access to its
remote interface, the container generates a proxy object
that interacts with remote clients and passes their
method calls to the bean.
◦ Make calls to business method against the remote
interface
 There are two approaches to maintain the
synchronization:
◦ Bean managed persistence which is preferred if the
Entity beans actually represent aggregations of data
in several underlying tables, or if you have other
complex “data-massaging” to do between the state
of the data in the object and its state in an
underlying database.
◦ Container managed persistence is straight-forward,
at run time, it used ejbStore and ejbLoad depends
on the entity bean deployment descriptor.
 Recent architecture trend includes Microservice, SpringBoot. The
high demand of scalability, adaptable and quick accessible
cloud-based application led the evolution of the technologies.
 Microservice is component based, independently deployed and is
usually utilized across functional teams. The downside of it
includes expensive remote calls, coarser-grained remote APIs
and increased complexity when redistributing responsibilities
between components.
 Since SpringMVC requires a lot of configuration such as
component scan, dispatcher servlet and view resolver, web jars,
SpringBoot can autoconfig data sources and dispatch servlet,
which makes configuration easier. It also allows packaged jars to
be autodeployed with embedded tomcat, so that it becomes self
deployable unit into Docker Container with one or more
instances running on Virtual Machines.
 Mongo DB is a type of No-SQL database which
can be used with micro-service to build scalable
applications.
 When dealing with database, theoretical
computer science proposed a CAP theorem, i.e,
Consistency, Availability and Partition Tolerance.
Database designed with traditional ACID such as
RDBMS chose consistency over availability,
whereas BASE type such as NoSQL choose
availability over consistency. In real time
application such as financial application where
the transaction truly matters, it is probably a bad
idea to use NoSQL.
 One advantage to use SpringBoot is autoConfig,
this is achieved via @ComponentScan,
@EnableMongoRepositories
 Spring Data MongDB API uses MongoTemplate to
execute the queries, the repository
implementation class autowired the
mongoTemplate and implements a list of
methods to query Mongo data based on Json
request input data parameters. For example, it
will create a criteria where clause and build main
criterion and execute mongTemplate.find() by
given Query object.

 http://axis.apache.org/axis2/java/core/docs
 https://docs.oracle.com/javaee/7/tutorial
 Enterprise JavaBeans by Tom Valesky

More Related Content

What's hot

Session 32 - Session Management using Cookies
Session 32 - Session Management using CookiesSession 32 - Session Management using Cookies
Session 32 - Session Management using Cookies
PawanMM
 
Session 29 - Servlets - Part 5
Session 29 - Servlets - Part 5Session 29 - Servlets - Part 5
Session 29 - Servlets - Part 5
PawanMM
 
Session 30 - Servlets - Part 6
Session 30 - Servlets - Part 6Session 30 - Servlets - Part 6
Session 30 - Servlets - Part 6
PawanMM
 
Session 28 - Servlets - Part 4
Session 28 - Servlets - Part 4Session 28 - Servlets - Part 4
Session 28 - Servlets - Part 4
PawanMM
 
Session 37 - JSP - Part 2 (final)
Session 37 - JSP - Part 2 (final)Session 37 - JSP - Part 2 (final)
Session 37 - JSP - Part 2 (final)
PawanMM
 
Session 40 - Hibernate - Part 2
Session 40 - Hibernate - Part 2Session 40 - Hibernate - Part 2
Session 40 - Hibernate - Part 2
PawanMM
 
Session 36 - JSP - Part 1
Session 36 - JSP - Part 1Session 36 - JSP - Part 1
Session 36 - JSP - Part 1
PawanMM
 
Easy integration of Bluemix services with your applications
Easy integration of Bluemix services with your applicationsEasy integration of Bluemix services with your applications
Easy integration of Bluemix services with your applications
Jack-Junjie Cai
 
Hibernate
HibernateHibernate
Hibernate
HibernateHibernate
Hibernate
VISHAL DONGA
 
Hibernate architecture
Hibernate architectureHibernate architecture
Hibernate architecture
Anurag
 
Rest
RestRest
Web logic classes in mumbai
Web logic classes in mumbaiWeb logic classes in mumbai
Web logic classes in mumbai
Vibrant Technologies & Computers
 
Architecting Microservices in .Net
Architecting Microservices in .NetArchitecting Microservices in .Net
Architecting Microservices in .Net
Richard Banks
 
Real time web apps
Real time web appsReal time web apps
Real time web apps
Sepehr Rasouli
 
Struts 2 - Introduction
Struts 2 - Introduction Struts 2 - Introduction
Struts 2 - Introduction
Hitesh-Java
 
Servlet sessions
Servlet sessionsServlet sessions
Servlet sessionsvantinhkhuc
 
jsf2 Notes
jsf2 Notesjsf2 Notes
jsf2 Notes
Rajiv Gupta
 
R2DBC Reactive Relational Database Connectivity
R2DBC Reactive Relational Database ConnectivityR2DBC Reactive Relational Database Connectivity
R2DBC Reactive Relational Database Connectivity
Maarten Smeets
 

What's hot (20)

Session 32 - Session Management using Cookies
Session 32 - Session Management using CookiesSession 32 - Session Management using Cookies
Session 32 - Session Management using Cookies
 
Session 29 - Servlets - Part 5
Session 29 - Servlets - Part 5Session 29 - Servlets - Part 5
Session 29 - Servlets - Part 5
 
Session 30 - Servlets - Part 6
Session 30 - Servlets - Part 6Session 30 - Servlets - Part 6
Session 30 - Servlets - Part 6
 
Session 28 - Servlets - Part 4
Session 28 - Servlets - Part 4Session 28 - Servlets - Part 4
Session 28 - Servlets - Part 4
 
Session 37 - JSP - Part 2 (final)
Session 37 - JSP - Part 2 (final)Session 37 - JSP - Part 2 (final)
Session 37 - JSP - Part 2 (final)
 
Session 40 - Hibernate - Part 2
Session 40 - Hibernate - Part 2Session 40 - Hibernate - Part 2
Session 40 - Hibernate - Part 2
 
Session 36 - JSP - Part 1
Session 36 - JSP - Part 1Session 36 - JSP - Part 1
Session 36 - JSP - Part 1
 
Easy integration of Bluemix services with your applications
Easy integration of Bluemix services with your applicationsEasy integration of Bluemix services with your applications
Easy integration of Bluemix services with your applications
 
Hibernate
HibernateHibernate
Hibernate
 
Hibernate
HibernateHibernate
Hibernate
 
Hibernate architecture
Hibernate architectureHibernate architecture
Hibernate architecture
 
Rest
RestRest
Rest
 
Web logic classes in mumbai
Web logic classes in mumbaiWeb logic classes in mumbai
Web logic classes in mumbai
 
Architecting Microservices in .Net
Architecting Microservices in .NetArchitecting Microservices in .Net
Architecting Microservices in .Net
 
Real time web apps
Real time web appsReal time web apps
Real time web apps
 
Struts 2 - Introduction
Struts 2 - Introduction Struts 2 - Introduction
Struts 2 - Introduction
 
Servlet sessions
Servlet sessionsServlet sessions
Servlet sessions
 
jsf2 Notes
jsf2 Notesjsf2 Notes
jsf2 Notes
 
Spring survey
Spring surveySpring survey
Spring survey
 
R2DBC Reactive Relational Database Connectivity
R2DBC Reactive Relational Database ConnectivityR2DBC Reactive Relational Database Connectivity
R2DBC Reactive Relational Database Connectivity
 

Similar to Web Basics

P20CSP105-AdvJavaProg.pptx
P20CSP105-AdvJavaProg.pptxP20CSP105-AdvJavaProg.pptx
P20CSP105-AdvJavaProg.pptx
DrTCVijayaraghavan
 
Intorduction to struts
Intorduction to strutsIntorduction to struts
Intorduction to struts
Anup72
 
Shyam pcf
Shyam pcfShyam pcf
Shyam pcf
shyam kumar
 
EJB 2
EJB 2EJB 2
Bt0083 server side programing
Bt0083 server side programing Bt0083 server side programing
Bt0083 server side programing
Techglyphs
 
Server side programming bt0083
Server side programming bt0083Server side programming bt0083
Server side programming bt0083
Divyam Pateriya
 
Ejb - september 2006
Ejb  - september 2006Ejb  - september 2006
Ejb - september 2006
achraf_ing
 
Shopzilla On Concurrency
Shopzilla On ConcurrencyShopzilla On Concurrency
Shopzilla On Concurrency
Rodney Barlow
 
session and cookies.ppt
session and cookies.pptsession and cookies.ppt
session and cookies.ppt
Jayaprasanna4
 
java Servlet technology
java Servlet technologyjava Servlet technology
java Servlet technology
Tanmoy Barman
 
Advanced java+JDBC+Servlet
Advanced java+JDBC+ServletAdvanced java+JDBC+Servlet
Advanced java+JDBC+Servlet
Anuj Singh Rajput
 
IT2255 Web Essentials - Unit V Servlets and Database Connectivity
IT2255 Web Essentials - Unit V Servlets and Database ConnectivityIT2255 Web Essentials - Unit V Servlets and Database Connectivity
IT2255 Web Essentials - Unit V Servlets and Database Connectivity
pkaviya
 
Websphereinterview 100725022705-phpapp02
Websphereinterview 100725022705-phpapp02Websphereinterview 100725022705-phpapp02
Websphereinterview 100725022705-phpapp02kishore2526
 
Elements for an iOS Backend
Elements for an iOS BackendElements for an iOS Backend
Elements for an iOS Backend
Laurent Cerveau
 
Anintroductiontojavawebtechnology 090324184240-phpapp01
Anintroductiontojavawebtechnology 090324184240-phpapp01Anintroductiontojavawebtechnology 090324184240-phpapp01
Anintroductiontojavawebtechnology 090324184240-phpapp01
raviIITRoorkee
 
Introduction to ejb and struts framework
Introduction to ejb and struts frameworkIntroduction to ejb and struts framework
Introduction to ejb and struts framework
s4al_com
 
Websphere interview Questions
Websphere interview QuestionsWebsphere interview Questions
Websphere interview Questions
gummadi1
 

Similar to Web Basics (20)

P20CSP105-AdvJavaProg.pptx
P20CSP105-AdvJavaProg.pptxP20CSP105-AdvJavaProg.pptx
P20CSP105-AdvJavaProg.pptx
 
Virtual classroom
Virtual classroomVirtual classroom
Virtual classroom
 
Intorduction to struts
Intorduction to strutsIntorduction to struts
Intorduction to struts
 
Shyam pcf
Shyam pcfShyam pcf
Shyam pcf
 
EJB 2
EJB 2EJB 2
EJB 2
 
Bt0083 server side programing
Bt0083 server side programing Bt0083 server side programing
Bt0083 server side programing
 
Server side programming bt0083
Server side programming bt0083Server side programming bt0083
Server side programming bt0083
 
Ejb - september 2006
Ejb  - september 2006Ejb  - september 2006
Ejb - september 2006
 
Shopzilla On Concurrency
Shopzilla On ConcurrencyShopzilla On Concurrency
Shopzilla On Concurrency
 
session and cookies.ppt
session and cookies.pptsession and cookies.ppt
session and cookies.ppt
 
java Servlet technology
java Servlet technologyjava Servlet technology
java Servlet technology
 
Advanced java+JDBC+Servlet
Advanced java+JDBC+ServletAdvanced java+JDBC+Servlet
Advanced java+JDBC+Servlet
 
Virtual Classroom
Virtual ClassroomVirtual Classroom
Virtual Classroom
 
Spring 2
Spring 2Spring 2
Spring 2
 
IT2255 Web Essentials - Unit V Servlets and Database Connectivity
IT2255 Web Essentials - Unit V Servlets and Database ConnectivityIT2255 Web Essentials - Unit V Servlets and Database Connectivity
IT2255 Web Essentials - Unit V Servlets and Database Connectivity
 
Websphereinterview 100725022705-phpapp02
Websphereinterview 100725022705-phpapp02Websphereinterview 100725022705-phpapp02
Websphereinterview 100725022705-phpapp02
 
Elements for an iOS Backend
Elements for an iOS BackendElements for an iOS Backend
Elements for an iOS Backend
 
Anintroductiontojavawebtechnology 090324184240-phpapp01
Anintroductiontojavawebtechnology 090324184240-phpapp01Anintroductiontojavawebtechnology 090324184240-phpapp01
Anintroductiontojavawebtechnology 090324184240-phpapp01
 
Introduction to ejb and struts framework
Introduction to ejb and struts frameworkIntroduction to ejb and struts framework
Introduction to ejb and struts framework
 
Websphere interview Questions
Websphere interview QuestionsWebsphere interview Questions
Websphere interview Questions
 

Recently uploaded

DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
Kari Kakkonen
 
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdfUni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems S.M.S.A.
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
Laura Byrne
 
How to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptxHow to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptx
danishmna97
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
Alpen-Adria-Universität
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
Safe Software
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
Octavian Nadolu
 
Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
Adtran
 
Free Complete Python - A step towards Data Science
Free Complete Python - A step towards Data ScienceFree Complete Python - A step towards Data Science
Free Complete Python - A step towards Data Science
RinaMondal9
 
Large Language Model (LLM) and it’s Geospatial Applications
Large Language Model (LLM) and it’s Geospatial ApplicationsLarge Language Model (LLM) and it’s Geospatial Applications
Large Language Model (LLM) and it’s Geospatial Applications
Rohit Gautam
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Albert Hoitingh
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
KatiaHIMEUR1
 
GridMate - End to end testing is a critical piece to ensure quality and avoid...
GridMate - End to end testing is a critical piece to ensure quality and avoid...GridMate - End to end testing is a critical piece to ensure quality and avoid...
GridMate - End to end testing is a critical piece to ensure quality and avoid...
ThomasParaiso2
 
A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
sonjaschweigert1
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
Guy Korland
 
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
Neo4j
 
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
Neo4j
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
James Anderson
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Paige Cruz
 
20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
Matthew Sinclair
 

Recently uploaded (20)

DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
 
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdfUni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdf
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
 
How to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptxHow to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptx
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
 
Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
 
Free Complete Python - A step towards Data Science
Free Complete Python - A step towards Data ScienceFree Complete Python - A step towards Data Science
Free Complete Python - A step towards Data Science
 
Large Language Model (LLM) and it’s Geospatial Applications
Large Language Model (LLM) and it’s Geospatial ApplicationsLarge Language Model (LLM) and it’s Geospatial Applications
Large Language Model (LLM) and it’s Geospatial Applications
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
 
GridMate - End to end testing is a critical piece to ensure quality and avoid...
GridMate - End to end testing is a critical piece to ensure quality and avoid...GridMate - End to end testing is a critical piece to ensure quality and avoid...
GridMate - End to end testing is a critical piece to ensure quality and avoid...
 
A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
 
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
 
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
 
20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
 

Web Basics

  • 2.
  • 3.  Enterprise JavaBean ◦ Business Object Classes that have fields and methods to implement modules of business logic  Session Bean ◦ A transient bean that its data are gone when the client finishes execution.  Message Driven Bean ◦ It combines session bean and message listener, allows message to be transferred asynchronously.
  • 4.  It extends server, typically web server to host applications by way of http request-response model.  SingleThreadModel interface controls concurrent access to shared resources.  Session Management ◦ To ensure an active session is not timed out, periodic access the session by using service method. ◦ When client interaction is finished, call invalidate method.
  • 5.  RequestServlet extends HttpServlet and implement request data in HTML.  Specified URI pattern relative to the context root.  Get data from request object and Create RequestDispatcher to process and include request and response data.  ResponseServlet extends HttpServlet and implement response data in HTML.  Both override PUT, GET, POST method etc.
  • 6.  It is a GUI component framework.  It has a standard RenderKit for generating HTML 4.01 markup.  Features include: ◦ Input validation ◦ Event handling ◦ Page navigation config ◦ Managed model object creation
  • 7.  JTA provides API for transaction management.  JAX-RS defines API for REST service.  JAX-WS defines API for SOAP service  JDBC API  New APIs in J2EE7 ◦ JSON-P ◦ WebSocket ◦ Batch ◦ Concurrency
  • 8.
  • 10.  It can be used with support of JavaScript resource library code in a JSF application.
  • 11.
  • 12.  REST Web Services are Synchronous and Request Response in nature.  GET based REST web services support only simple types as arguments.  POST based Web Service do not need a SOAP envelope or SOAP body. REST web service do not have headers and payload is sent directly.  Axis2 allows user to access web services that have simple type parameters via HTTP GET. The web service arriving via GET assumes REST.Other parameters are converted into XML and put into SOAP.
  • 14.
  • 15.
  • 16.  Spring Framework  Mockito  JMockit
  • 17.
  • 18.  EJB supports transaction processing, in the ejb-jar.xml, when it is deployed, the container reads the information and provide necessary support, which includes: ◦ Requiring the client provide an open transaction context ◦ Requiring container start a new transaction when bean is invoked ◦ Requiring the bean be allowed to manage its own transaction ◦ It provides six possible modes of transaction management.
  • 19.  To speed up loading process, it is possible to keep a cache of EJB database update in memory or in a highly indexed database table, and handle them all in a batch at a later time. But this approach does not prevent data loss during power outage or other serious problem occurs.  When remote invocation is needed, ◦ First, use a naming service to locate the EJB’s home interface ◦ Then call on EJB’s home interface to gain access to its remote interface, the container generates a proxy object that interacts with remote clients and passes their method calls to the bean. ◦ Make calls to business method against the remote interface
  • 20.  There are two approaches to maintain the synchronization: ◦ Bean managed persistence which is preferred if the Entity beans actually represent aggregations of data in several underlying tables, or if you have other complex “data-massaging” to do between the state of the data in the object and its state in an underlying database. ◦ Container managed persistence is straight-forward, at run time, it used ejbStore and ejbLoad depends on the entity bean deployment descriptor.
  • 21.  Recent architecture trend includes Microservice, SpringBoot. The high demand of scalability, adaptable and quick accessible cloud-based application led the evolution of the technologies.  Microservice is component based, independently deployed and is usually utilized across functional teams. The downside of it includes expensive remote calls, coarser-grained remote APIs and increased complexity when redistributing responsibilities between components.  Since SpringMVC requires a lot of configuration such as component scan, dispatcher servlet and view resolver, web jars, SpringBoot can autoconfig data sources and dispatch servlet, which makes configuration easier. It also allows packaged jars to be autodeployed with embedded tomcat, so that it becomes self deployable unit into Docker Container with one or more instances running on Virtual Machines.
  • 22.  Mongo DB is a type of No-SQL database which can be used with micro-service to build scalable applications.  When dealing with database, theoretical computer science proposed a CAP theorem, i.e, Consistency, Availability and Partition Tolerance. Database designed with traditional ACID such as RDBMS chose consistency over availability, whereas BASE type such as NoSQL choose availability over consistency. In real time application such as financial application where the transaction truly matters, it is probably a bad idea to use NoSQL.
  • 23.  One advantage to use SpringBoot is autoConfig, this is achieved via @ComponentScan, @EnableMongoRepositories  Spring Data MongDB API uses MongoTemplate to execute the queries, the repository implementation class autowired the mongoTemplate and implements a list of methods to query Mongo data based on Json request input data parameters. For example, it will create a criteria where clause and build main criterion and execute mongTemplate.find() by given Query object. 