SlideShare a Scribd company logo
1 of 86
J2EE  FRAME WORK FOR PROJECT DEVLOPMENT by Prof. (Dr.) B.Puthal CSE,ITER
TO DAYS LECTURE CONTAINS ,[object Object],[object Object],[object Object],[object Object]
COMPUTER REVOLUTIONS ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
ENTERPRISE APPLICATION ,[object Object],[object Object],[object Object]
Evolution of J2EE Architecture ,[object Object],Presentation Logic+Business Logic +Data Access Logic Data Base MF Dt Dt
Single Tier (Mainframe-based) ?  Dumb terminals  are directly connected to mainframe ? Centralized model (as opposed distributed model) ? Presentation, business logic, and data access are intertwined in one monolithic mainframe application
Single-Tier: Pros & Cons ? Pros: –  No client side management is required –  Data consistency is easy to achieve ? Cons: –  Functionality ( presentation, data model, business logic intertwined),  makes difficult for updates and maintenance and code reuse
Two Tier ,[object Object],Presentation Logic+ Business Logic Data Access Logic Data Base C C C S Client/Server Architecture
Two-Tier
Two-Tier: Pros & Cons ? Pro:–  DB product independence  (compared to single-tier model) ? Cons: business logic and data access logic  are intertwined (at client side), difficult for updates and maintenance –  Data Model is “tightly coupled” to every client: If DB Schema changes, all clients break –  Updates have to be deployed to all clients making System maintenance nightmare –  DB connection for every client, thus difficult to scale Raw data transferred to client for processing causes high network traffic
3 Tier presentation Business Data Access Data Base C C AplnServr S S C Data Base Data Base
3Tier Evolution  In three tier ,client asks for resource available not in one server but in many servers and  implemented in application sever . When the Internet took off, the three tier model takes a very radical transformation in which HTML browser talks to a Web server, which then talks to backend database or enterprise information systems. A four tier model evolved. Separating presentation logic into a separate tier diff types of presenting interfaces can access same business logic .Mobiles ,laptops can access Data base without any change in access logic.Separation of functionality allows each tier to be written by separate developer group.RAD
Internet Formulation S H H H ISP(L) R R R R R R R ISP(Reg) H H S S ISP(NL) Subnet Home PC Company Network Satellite
4-Tier J2EE  Client tier Component   component   component  Web Tier Component   component  component   EJB Tier Component  component  component   EIS Tier Component  component  component  request response Business tier Data access tier COMPNENT BASED TECHNOLOGY 21
J2ee application runs on 3 m/s
J2EE CONTAINERS archi
Client Server Communications
J2EE is End-to-End Solution
J2EE Takes services From..
J2EE Jogical Architecture J2EE Server Server,Cotainer &Components Web Container Servlet JSP Web Services Java Mail JMS JAXP JAAS JNDI JDBC JTA Connectors JAX-RPC SAAJ Application Contaner Application Clients JMS JAXP JAAS JDBC Java Mail JMS JAXP JAAS JNDI JDBC JTA Connectors JAX-RPC SAAJ Applet Container Applet Database T Enterprise Java Beans EJB CONTAINER request response request response JMS JAXP JAAS JDBC Business Services
Architecture J2EE Internet Application Go back
J2EE an End to End Architecture
Enterprise Applications Things that make up an enterprise application –  Presentation logic (how client asks server & how server sends information –  Business logic (Business rules of the application) –  Data access logic  (and data model) –  System services  provided by CONTAINERS The evolution of enterprise application a continuous procs framework reflects– How flexibly you want to make changes
J2EE Components ,[object Object],[object Object],[object Object],[object Object],[object Object],archi
The runtime portion of a J2EE product. A J2EE server provides EJB and web containers.  Enterprise JavaBeans (EJB) container  Manages the execution of enterprise beans for J2EE applications. Enterprise beans and their container run on the J2EE server.  Web container  Manages the execution of JSP page and servlet components for J2EE applications. Web components and their container run on the J2EE server.  Application client container  Manages the execution of application client components. Application clients and their container run on the client.  Applet container  Manages the execution of applets. Consists of a web browser and Java Plug-in running on the client together J2EE server   archi
J2EE Connector Architecture The J2EE Connector architecture is used by J2EE tools vendors and system integrators to create resource adapters that support access to enterprise information systems that can be plugged in to any J2EE product. A  resource adapter  is a software component that allows J2EE application components to access and interact with the underlying resource manager of the EIS. Because a resource adapter is specific to its  resource manager, typically there is a different resource adapter for each type of database or enterprise information system.  The J2EE Connector architecture also provides a performance-oriented, secure, scalable, and message-based transactional integration of J2EE-based web services with existing EISs that can be either synchronous or asynchronous. Existing applications and EISs integrated through the J2EE Connector architecture into the J2EE platform can be exposed as XML-based web services by using JAX-RPC and J2EE component models. Thus JAX-RPC and the J2EE Connector architecture are complementary technologies for enterprise application integration (EAI) and end-to-end business integration.  j2ee
JAAS The Java Authentication and Authorization Service (JAAS) provides a way for a J2EE application to authenticate and authorize a specific user or group of users to run it.  JAAS is a Java programing language version of the standard Pluggable Authentication Module (PAM) framework, which extends the Java 2 Platform security architecture to support user-based authorization .
Java Naming and Directory Interface The Java Naming and Directory Interface        (JNDI) provides naming and directory functionality. It provides applications with methods for performing standard directory operations, such as associating attributes with objects and searching for objects using their attributes. Using JNDI, a J2EE application can store and retrieve any type of named Java object.  J2EE naming services provide application clients, enterprise beans, and web components with access to a JNDI naming environment. A  naming environment  allows a component to be customized without the need to access or change the component's source code. A container implements the component's environment and provides it to the component as a JNDI  naming context .  A J2EE component locates its environment naming context using JNDI interfaces. A component creates a  javax.naming.InitialContext  object and looks up the environment naming context in  InitialContext  under the name  java:comp/env . A component's naming environment is stored directly in the environment naming context or in any of its direct or indirect subcontexts.  A J2EE component can access named system-provided and user-defined objects. The names of system-provided objects, such as JTA  UserTransaction  objects, are stored in the environment naming context,  java:comp/en v. The J2EE platform allows a component to name user-defined objects, such as enterprise beans, environment entries, JDBC  DataSource  objects, and message connections. An object should be named within a subcontext of the naming environment according to the type of the object. For example, enterprise beans are named within the subcontext  java:comp/env/ejb , and JDBC  DataSource  references in the subcontext  java:comp/env/jdbc .  Because JNDI is independent of any specific implementation, applications can use JNDI to access multiple naming and directory services, including existing naming and directory services such as LDAP, NDS, DNS, and NIS. This allows J2EE applications to coexist with legacy applications and systems. For more information on JNDI, see  The JNDI Tutorial :
Java Transaction API   The Java Transaction API (JTA) provides a standard interface for demarcating transactions. If your application performs two separate database access operations that depend on each other, you will want to use the JTA API to demarcate where the entire transaction, including both operations, begins, rolls back, and commits
JDBC API The JDBC API lets you invoke SQL commands from Java programming language methods. You use the JDBC API in an enterprise bean when you override the default container-managed persistence or have a session bean access the database. With container-managed persistence, database access operations are handled by the container, and your enterprise bean implementation contains no JDBC code or SQL commands. You can also use the JDBC API from a servlet or a JSP page to access the database directly without going through an enterprise bean.  The JDBC API has two parts: an application-level interface used by the application components to access a database, and a service provider interface to attach a JDBC driver to the J2EE platform
Java API for XML Processing  JAXP The Java API for XML Processing (JAXP) supports the processing of XML documents using Document Object Model (DOM), Simple API for XML (SAX), and Extensible Stylesheet Language Transformations (XSLT). JAXP enables applications to parse and transform XML documents independent of a particular XML processing implementation.  JAXP also provides namespace support, which lets you work with schemas that might otherwise have naming conflicts. Designed to be flexible, JAXP lets you use any XML-compliant parser or XSL processor from within your application and supports the W3C schema. You can find information on the W3C schema at this
JAF The JavaBeans Activation Framework (JAF) is included because JavaMail uses it. JAF provides standard services to determine the type of an arbitrary piece of data, encapsulate access to it, discover the operations available on it, and create the appropriate JavaBeans component to perform those operations
Enterprise contd-  ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
/ ,[object Object],[object Object]
Java API for XML-Based RPC  The Java API for XML-based RPC (JAX-RPC) uses the SOAP standard and HTTP, so client programs can make XML-based remote procedure calls (RPCs) over the Internet. JAX-RPC also supports WSDL, so you can import and export WSDL documents. With JAX-RPC and a WSDL, you can easily interoperate with clients and services running on Java-based or non-Java-based platforms such as .NET. For example, based on the WSDL document, a Visual Basic .NET client can be configured to use a web service implemented in Java technology, or a web service can be configured to recognize a Visual Basic .NET client.  JAX-RPC relies on the HTTP transport protocol. Taking that a step further, JAX-RPC lets you create service applications that combine HTTP with a Java technology version of the Secure Socket Layer (SSL) and Transport Layer Security (TLS) protocols to establish basic or mutual authentication. SSL and TLS ensure message integrity by providing data encryption with client and server authentication capabilities.  Authentication  is a measured way to verify whether a party is eligible and able to access certain information as a way to protect against the fraudulent use of a system or the fraudulent transmission of information. Information transported across the Internet is especially vulnerable to being intercepted and misused, so it's very important to configure a JAX-RPC web service to protect data in transit.
System Services ,[object Object],[object Object],[object Object],[object Object],[object Object]
J2EE Operation
JSP->Bean->EJB  EJB -> Bean -> JSP JavaBeans component  manage the user input and send that input to enterprise beans running in the business tier for processing.
J2EE Appln
J2EE Components  ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
JMX ARCHITECTURE
J2EE DEPLOYMENT SOLN
EJB CONSTITUENTS There are three kinds of enterprise beans:  session beans,   entity beans , and  message-driven beans . A  session bean  represents a transient conversation with a client. When the client finishes executing, the session bean and its data are gone. In contrast, an  entity bean  represents persistent data stored in one row of a database table. If the client terminates or if the server shuts down, the underlying services ensure that the entity bean data is saved. A  message-driven  bean  combines features of a session bean and a Java Message Service (JMS) message listener, allowing a business component to receive JMS messages asynchronously
EJB  Customer Bean Order Bean Shopping cart Bean Application A Customer Bean Order Bean Shopping cart Bean Inventory Bean Bean Application B Written by X Written by Y Enterprise beans are building blocks that can be used alone or with other enterprise beans to execute business logic on the J2EE server.
Enterprise Computing
What Is the J2EE? Open  standard based platform for  developing, deploying and managing  n-tier, Web-enabled,  server-centric, and component-based  enterprise  platform J2EE, In short,  is an open standard, development and deployment platform  for building n-tier, web-based and server-centric, and component-based enterprise applications.
Evolution of Enterprise Application Framework ? Single tier ? Two tier ? Three tier ? Four tier (HTML browser and Web server ) For Distributed point to point communication  two  technologies are involved –  RPC based –  Remote object based
Three-Tier (RPC based)
Three-tier (RPC based): Pros & Cons Pro:– Business logic can change more flexibly than 2- tier model ? Most business logic reside in the middle-tier server ?Cons:– Complexity is introduced in the middle-tier server –  Client and middle-tier server is more tightly coupled (than the three-tier object based model) –  Code is not really reusable (compared to object model based)
REMOTE PROCEDURE CALL(RPC) ,[object Object],[object Object],[object Object],[object Object],Get_data() {a=b+c; … . If(a=0) …  } Physical Network RPC client software RPC server software
OBJECT REQUEST BROKER (ORB) ,[object Object],[object Object],[object Object],[object Object],Object a  {Get_data() {a=b+c; … . If(a=0) …  }} Physical Network ORB client software ORB server software
Three-Tier (Remote Object based)
Three-tier (Remote Object based): Pros & Cons ? Pro: –  More loosely coupled than RPC model –  Code could be more reusable ? Cons: –  Complexity in the middle-tier still need to be addressed
Java Message Service API The Java Message Service (JMS) API is a messaging standard that allows J2EE application components to create, send, receive, and read messages. It enables distributed communication that is loosely coupled, reliable, and asynchronous
Three-Tier (Web Server)
Three-tier (Web Server based):Pros & Cons ? Pro: –  Ubiquitous client types –  Zero client management –  Support various client devices ? J2ME-enabled cell-phones ? Cons: –  Complexity in the middle-tier still need to be addressed Trends ? Moving from single-tier or two-tier to  multitier architecture ? Moving from monolithic model to  objectbased application model ? Moving from application-based client to HTML-based client So based on this evolution, we can observe a few trends. First, moving from a single tier or two-tier model to multi-tier model. Second, moving from the monolithic code to object-based application model. Lastly, HTML browser based clients are taking some strong hold. 03/19/2007
Web Server based:Pros & Cons Trends ? Moving from single-tier or two-tier to  multitier  architecture ? Moving from monolithic  to  objectbased  application model ? Moving from application-based client to HTML-based client
Distributed Computing Environment  S C C C C S C C C AplnS S S S Single tier Two tier Three  tier
Java Script/JS in HTML pages HTML file with the embedded  with jsp executes remotely in the  server and results sent to user imn html page client Server HTML file URL  HTTP Requests with… Web server Web Browser URLs that address other Web services (telnet malito etc) HTML file with the embedded Java script executes locally with the browser and interacts with the user Urls that address  the scriptincluding jsp asp Script Scipt receives browser info performs required processing and returns rersults to browser. (Dynamic web page) user script/jsp Files accessible to servers url addressing these files (static webpages)
Server Side Computing… ,[object Object],[object Object]
SIMPLE  J2EE Model II Architecture
Monolithic vs. Object-based
J2EE 1.4  APIs  and Technologies ?  J2SE 1.4 (improved)  ?  JNDI  Java Naming and Directory Services ?  JMX 1.1 Api for XML mesage ? J2EE Deployment ?  JMS 1.1  Java Messaging Services ?  JTA 1.0 Java Transactions ?   JSP 2.0  Servlet 2. ?  JavaMail 1.3   ? EJB 2.1 ?  Connector 1.5 For Main frame ,ERP and Legacy Systems ?  JACC Java Authentication . ?  JAF 1.0 Java Bean Aithentication Framework ?  JAXP 1.2 For XML Processing
Container & Components ,[object Object],[object Object],[object Object],[object Object]
j
Java  Mail API J2EE applications use the JavaMail API to send email notifications. The JavaMail API has two parts: an application-level interface used by the application components to send mail, and a service provider interface. The J2EE platform includes JavaMail with a service provider that allows application components to send Internet mail
What are Java Servlets? ,[object Object],[object Object],[object Object]
SERVLET FEATURES
Advantages of Servlet Over "Traditional" CGI  ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
JSP and itsAdvantages  ,[object Object],[object Object],[object Object],[object Object]
Lifecycle of a JSP CLient Web Server Request Response <HTML> </HTML> JVM <%b&ya ;; a 012(*2 … . JSP compiler First call of this  JSP <%page language … %> <HTML>… </HTML> Subsequent calls to this JSP service() method of the servlet.is called.which already inside Compile the JSP into a temporary servlet The servlet now needs to be compliled. Import Public class … Servlet compiler Bytecode
J2EE Constituents ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
EJB
Web Tier and J2EE Applications  the web tier includes JavaBeans components to manage the user input and send that input to enterprise beans running in the business tier for processing.
Business and EIS Tiers  Enterprise bean receives data from client programs, processes it (if necessary), and sends it to the enterprise information system tier for storage. An enterprise bean also retrieves data from storage, processes it (if necessary), and sends it back to the client program
VARIOUS APIS IN J2EE Java Mail :  AP enables Java Mail programmers / Clients to communicate by sending e-mail message use order confirmation. JMS : Java Message Service allows components to send and release asynchronous messages provides their own API for messages. API is used to build into Java Programmes a trans message link between components. JAXP : API supports passing of XML documents using DOM (Document Object Model). A simple API for XML style sheet language for transformation (XSLT). JAAS : API provides security (Java Authentication and Authentication) Imposes authentication and authorization checks on users. JNDI : API provides directory service by which J2EE components can be requested and discovered. Objects can be locates in various on servers. API provides standout namely conventions so that programmers can look up objects from Java programs. JDBC : API enables programmes to connect to and interact when practically all databases.
J2EE APIS Building Multier Applications Client EJB Servlet JSP JNDI JTA JTS Data Dase Application Sever Tag Lib using XML Data Dase
MVC Architecture Client Data Dase ModelView Controller Architecture Data Dase Controller (Servlet) Req process Data validation Model Business Logic Data Manipulation View (JSP) Response Generation
Model I -Architecture Session EJB  Servlet or JSP  Client  EntityEJB  DB request response A single Servlet or JSP processes a  HTTP request
MVC… ,[object Object],[object Object],[object Object],[object Object],[object Object]
Model II Architecture Servlet   DB request response Once servlet has verified HTTP request and obtained necessary data to formulate response,request is forwarded to a JSP for generating a web page whichis returned to client as response . Client  Session EJB  EntityEJB  JSP  Request forwarded contoller view
Type 1: JDBC-ODBC Bridge driver
Type 2: Native-API/partly Java driver
Type 3: All Java/Net-protocol driver
PROJECT DEVELOPMENT TIPS ,[object Object],[object Object],[object Object],[object Object],[object Object]
THANKING  YOU

More Related Content

What's hot

Geethalakshmi_Informatica_developer_CV
Geethalakshmi_Informatica_developer_CVGeethalakshmi_Informatica_developer_CV
Geethalakshmi_Informatica_developer_CVgeethalakshmi c
 
Sudiksha_CV_Informatica_Developer
Sudiksha_CV_Informatica_DeveloperSudiksha_CV_Informatica_Developer
Sudiksha_CV_Informatica_DeveloperSudiksha Janmeda
 
uday_plsql_3years_cv
uday_plsql_3years_cvuday_plsql_3years_cv
uday_plsql_3years_cvuday sampati
 
Rakesh sr dwh_bi_consultant resume
Rakesh sr dwh_bi_consultant resumeRakesh sr dwh_bi_consultant resume
Rakesh sr dwh_bi_consultant resumeRakesh Kumar
 
3) web development
3) web development3) web development
3) web developmenttechbed
 
Con9437 ad ffor_ebs and mobile
Con9437 ad ffor_ebs and mobileCon9437 ad ffor_ebs and mobile
Con9437 ad ffor_ebs and mobileBerry Clemens
 
A dynamic application using jboss
A dynamic application using jbossA dynamic application using jboss
A dynamic application using jbossijcax
 
Next-Generation Enterprise Application Development with SpringSource dm Serve...
Next-Generation Enterprise Application Development with SpringSource dm Serve...Next-Generation Enterprise Application Development with SpringSource dm Serve...
Next-Generation Enterprise Application Development with SpringSource dm Serve...Aditya Jha
 
Developing multithreaded database application using java tools and oracle dat...
Developing multithreaded database application using java tools and oracle dat...Developing multithreaded database application using java tools and oracle dat...
Developing multithreaded database application using java tools and oracle dat...csandit
 
ARCHITECTURAL FRAMEWORK FOR DEVELOPING COMPONENT BASED GIS SYSTEM
ARCHITECTURAL FRAMEWORK FOR DEVELOPING COMPONENT BASED GIS SYSTEMARCHITECTURAL FRAMEWORK FOR DEVELOPING COMPONENT BASED GIS SYSTEM
ARCHITECTURAL FRAMEWORK FOR DEVELOPING COMPONENT BASED GIS SYSTEMijfcstjournal
 

What's hot (20)

Geethalakshmi_Informatica_developer_CV
Geethalakshmi_Informatica_developer_CVGeethalakshmi_Informatica_developer_CV
Geethalakshmi_Informatica_developer_CV
 
Sudiksha_CV_Informatica_Developer
Sudiksha_CV_Informatica_DeveloperSudiksha_CV_Informatica_Developer
Sudiksha_CV_Informatica_Developer
 
Flex Rails Pres
Flex Rails PresFlex Rails Pres
Flex Rails Pres
 
Brijesh Soni
Brijesh SoniBrijesh Soni
Brijesh Soni
 
uday_plsql_3years_cv
uday_plsql_3years_cvuday_plsql_3years_cv
uday_plsql_3years_cv
 
J2 ee tutorial ejb
J2 ee tutorial ejbJ2 ee tutorial ejb
J2 ee tutorial ejb
 
Java unit 4_cs_notes
Java unit 4_cs_notesJava unit 4_cs_notes
Java unit 4_cs_notes
 
Technologies Need to Know
Technologies Need to KnowTechnologies Need to Know
Technologies Need to Know
 
Rakesh sr dwh_bi_consultant resume
Rakesh sr dwh_bi_consultant resumeRakesh sr dwh_bi_consultant resume
Rakesh sr dwh_bi_consultant resume
 
Spring Framework -I
Spring Framework -ISpring Framework -I
Spring Framework -I
 
3) web development
3) web development3) web development
3) web development
 
Krishna Karthik Amirineni_CV
Krishna Karthik Amirineni_CVKrishna Karthik Amirineni_CV
Krishna Karthik Amirineni_CV
 
ForrestHouletteRevised
ForrestHouletteRevisedForrestHouletteRevised
ForrestHouletteRevised
 
Con9437 ad ffor_ebs and mobile
Con9437 ad ffor_ebs and mobileCon9437 ad ffor_ebs and mobile
Con9437 ad ffor_ebs and mobile
 
A dynamic application using jboss
A dynamic application using jbossA dynamic application using jboss
A dynamic application using jboss
 
Next-Generation Enterprise Application Development with SpringSource dm Serve...
Next-Generation Enterprise Application Development with SpringSource dm Serve...Next-Generation Enterprise Application Development with SpringSource dm Serve...
Next-Generation Enterprise Application Development with SpringSource dm Serve...
 
Developing multithreaded database application using java tools and oracle dat...
Developing multithreaded database application using java tools and oracle dat...Developing multithreaded database application using java tools and oracle dat...
Developing multithreaded database application using java tools and oracle dat...
 
ARCHITECTURAL FRAMEWORK FOR DEVELOPING COMPONENT BASED GIS SYSTEM
ARCHITECTURAL FRAMEWORK FOR DEVELOPING COMPONENT BASED GIS SYSTEMARCHITECTURAL FRAMEWORK FOR DEVELOPING COMPONENT BASED GIS SYSTEM
ARCHITECTURAL FRAMEWORK FOR DEVELOPING COMPONENT BASED GIS SYSTEM
 
Venkataraman Raghunathan
Venkataraman RaghunathanVenkataraman Raghunathan
Venkataraman Raghunathan
 
Spring
SpringSpring
Spring
 

Viewers also liked

Viewers also liked (8)

Pre colonial philippines
Pre colonial philippinesPre colonial philippines
Pre colonial philippines
 
Analisi delle piattaforme di crowdfunding italiane - Aprile 2013
Analisi delle piattaforme di crowdfunding italiane - Aprile 2013Analisi delle piattaforme di crowdfunding italiane - Aprile 2013
Analisi delle piattaforme di crowdfunding italiane - Aprile 2013
 
"Eagle's wing" magazine (Krahu i shqiponjës)
"Eagle's wing" magazine (Krahu i shqiponjës)"Eagle's wing" magazine (Krahu i shqiponjës)
"Eagle's wing" magazine (Krahu i shqiponjës)
 
Java J2ee Weblogic
Java J2ee WeblogicJava J2ee Weblogic
Java J2ee Weblogic
 
Presentation final
Presentation finalPresentation final
Presentation final
 
Introduction of matrices
Introduction of matricesIntroduction of matrices
Introduction of matrices
 
Dtacs
DtacsDtacs
Dtacs
 
java Project report online banking system
java Project report online banking systemjava Project report online banking system
java Project report online banking system
 

Similar to J2 EEE SIDES

Introduction to ejb and struts framework
Introduction to ejb and struts frameworkIntroduction to ejb and struts framework
Introduction to ejb and struts frameworks4al_com
 
J2ee connector architecture
J2ee connector architectureJ2ee connector architecture
J2ee connector architectureSubhasis Nayak
 
J2EE Notes JDBC database Connectiviy and Programs related to JDBC
J2EE Notes JDBC database Connectiviy and Programs related to JDBCJ2EE Notes JDBC database Connectiviy and Programs related to JDBC
J2EE Notes JDBC database Connectiviy and Programs related to JDBCChaithraCSHirematt
 
Intorduction to struts
Intorduction to strutsIntorduction to struts
Intorduction to strutsAnup72
 
Web programming and development - Introduction
Web programming and development - IntroductionWeb programming and development - Introduction
Web programming and development - IntroductionJoel Briza
 
Project report for final year project
Project report for final year projectProject report for final year project
Project report for final year projectsuneel singh
 
Introduction to java ee
Introduction to java eeIntroduction to java ee
Introduction to java eeRanjan Kumar
 
Topic4 Application Servers
Topic4 Application ServersTopic4 Application Servers
Topic4 Application Serverssanjoysanyal
 
J2EE Architecture Explained
J2EE  Architecture ExplainedJ2EE  Architecture Explained
J2EE Architecture ExplainedAdarsh Kr Sinha
 
Introduction Java Web Framework and Web Server.
Introduction Java Web Framework and Web Server.Introduction Java Web Framework and Web Server.
Introduction Java Web Framework and Web Server.suranisaunak
 
Technologies Skills
Technologies SkillsTechnologies Skills
Technologies SkillsS LMS
 
Technologies Skills
Technologies SkillsTechnologies Skills
Technologies SkillsDeepak Raj
 
Enterprise application developement
Enterprise application developementEnterprise application developement
Enterprise application developementArchana Jha
 

Similar to J2 EEE SIDES (20)

Java J2EE
Java J2EEJava J2EE
Java J2EE
 
Introduction to ejb and struts framework
Introduction to ejb and struts frameworkIntroduction to ejb and struts framework
Introduction to ejb and struts framework
 
J2ee connector architecture
J2ee connector architectureJ2ee connector architecture
J2ee connector architecture
 
J2EE Notes JDBC database Connectiviy and Programs related to JDBC
J2EE Notes JDBC database Connectiviy and Programs related to JDBCJ2EE Notes JDBC database Connectiviy and Programs related to JDBC
J2EE Notes JDBC database Connectiviy and Programs related to JDBC
 
Intorduction to struts
Intorduction to strutsIntorduction to struts
Intorduction to struts
 
Web programming and development - Introduction
Web programming and development - IntroductionWeb programming and development - Introduction
Web programming and development - Introduction
 
Project report for final year project
Project report for final year projectProject report for final year project
Project report for final year project
 
Introduction to java ee
Introduction to java eeIntroduction to java ee
Introduction to java ee
 
Design patterns
Design patternsDesign patterns
Design patterns
 
Topic4 Application Servers
Topic4 Application ServersTopic4 Application Servers
Topic4 Application Servers
 
J2EE Architecture Explained
J2EE  Architecture ExplainedJ2EE  Architecture Explained
J2EE Architecture Explained
 
Java EE 7 introduction
Java EE 7  introductionJava EE 7  introduction
Java EE 7 introduction
 
Java ee introduction
Java ee introductionJava ee introduction
Java ee introduction
 
Introduction Java Web Framework and Web Server.
Introduction Java Web Framework and Web Server.Introduction Java Web Framework and Web Server.
Introduction Java Web Framework and Web Server.
 
Technologies Skills
Technologies SkillsTechnologies Skills
Technologies Skills
 
Technologies Skills
Technologies SkillsTechnologies Skills
Technologies Skills
 
Enterprise application developement
Enterprise application developementEnterprise application developement
Enterprise application developement
 
Design and functional_specification
Design and functional_specificationDesign and functional_specification
Design and functional_specification
 
J2 ee archi
J2 ee archiJ2 ee archi
J2 ee archi
 
4. J2EE.pptx
4. J2EE.pptx4. J2EE.pptx
4. J2EE.pptx
 

Recently uploaded

Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsSnow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsHyundai Motor Group
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2Hyundai Motor Group
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 

Recently uploaded (20)

Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsSnow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptxVulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
 

J2 EEE SIDES

  • 1. J2EE FRAME WORK FOR PROJECT DEVLOPMENT by Prof. (Dr.) B.Puthal CSE,ITER
  • 2.
  • 3.
  • 4.
  • 5.
  • 6. Single Tier (Mainframe-based) ? Dumb terminals are directly connected to mainframe ? Centralized model (as opposed distributed model) ? Presentation, business logic, and data access are intertwined in one monolithic mainframe application
  • 7. Single-Tier: Pros & Cons ? Pros: – No client side management is required – Data consistency is easy to achieve ? Cons: – Functionality ( presentation, data model, business logic intertwined), makes difficult for updates and maintenance and code reuse
  • 8.
  • 10. Two-Tier: Pros & Cons ? Pro:– DB product independence (compared to single-tier model) ? Cons: business logic and data access logic are intertwined (at client side), difficult for updates and maintenance – Data Model is “tightly coupled” to every client: If DB Schema changes, all clients break – Updates have to be deployed to all clients making System maintenance nightmare – DB connection for every client, thus difficult to scale Raw data transferred to client for processing causes high network traffic
  • 11. 3 Tier presentation Business Data Access Data Base C C AplnServr S S C Data Base Data Base
  • 12. 3Tier Evolution In three tier ,client asks for resource available not in one server but in many servers and implemented in application sever . When the Internet took off, the three tier model takes a very radical transformation in which HTML browser talks to a Web server, which then talks to backend database or enterprise information systems. A four tier model evolved. Separating presentation logic into a separate tier diff types of presenting interfaces can access same business logic .Mobiles ,laptops can access Data base without any change in access logic.Separation of functionality allows each tier to be written by separate developer group.RAD
  • 13. Internet Formulation S H H H ISP(L) R R R R R R R ISP(Reg) H H S S ISP(NL) Subnet Home PC Company Network Satellite
  • 14. 4-Tier J2EE Client tier Component component component Web Tier Component component component EJB Tier Component component component EIS Tier Component component component request response Business tier Data access tier COMPNENT BASED TECHNOLOGY 21
  • 18. J2EE is End-to-End Solution
  • 20. J2EE Jogical Architecture J2EE Server Server,Cotainer &Components Web Container Servlet JSP Web Services Java Mail JMS JAXP JAAS JNDI JDBC JTA Connectors JAX-RPC SAAJ Application Contaner Application Clients JMS JAXP JAAS JDBC Java Mail JMS JAXP JAAS JNDI JDBC JTA Connectors JAX-RPC SAAJ Applet Container Applet Database T Enterprise Java Beans EJB CONTAINER request response request response JMS JAXP JAAS JDBC Business Services
  • 21. Architecture J2EE Internet Application Go back
  • 22. J2EE an End to End Architecture
  • 23. Enterprise Applications Things that make up an enterprise application – Presentation logic (how client asks server & how server sends information – Business logic (Business rules of the application) – Data access logic (and data model) – System services provided by CONTAINERS The evolution of enterprise application a continuous procs framework reflects– How flexibly you want to make changes
  • 24.
  • 25. The runtime portion of a J2EE product. A J2EE server provides EJB and web containers. Enterprise JavaBeans (EJB) container Manages the execution of enterprise beans for J2EE applications. Enterprise beans and their container run on the J2EE server. Web container Manages the execution of JSP page and servlet components for J2EE applications. Web components and their container run on the J2EE server. Application client container Manages the execution of application client components. Application clients and their container run on the client. Applet container Manages the execution of applets. Consists of a web browser and Java Plug-in running on the client together J2EE server archi
  • 26. J2EE Connector Architecture The J2EE Connector architecture is used by J2EE tools vendors and system integrators to create resource adapters that support access to enterprise information systems that can be plugged in to any J2EE product. A resource adapter is a software component that allows J2EE application components to access and interact with the underlying resource manager of the EIS. Because a resource adapter is specific to its resource manager, typically there is a different resource adapter for each type of database or enterprise information system. The J2EE Connector architecture also provides a performance-oriented, secure, scalable, and message-based transactional integration of J2EE-based web services with existing EISs that can be either synchronous or asynchronous. Existing applications and EISs integrated through the J2EE Connector architecture into the J2EE platform can be exposed as XML-based web services by using JAX-RPC and J2EE component models. Thus JAX-RPC and the J2EE Connector architecture are complementary technologies for enterprise application integration (EAI) and end-to-end business integration. j2ee
  • 27. JAAS The Java Authentication and Authorization Service (JAAS) provides a way for a J2EE application to authenticate and authorize a specific user or group of users to run it. JAAS is a Java programing language version of the standard Pluggable Authentication Module (PAM) framework, which extends the Java 2 Platform security architecture to support user-based authorization .
  • 28. Java Naming and Directory Interface The Java Naming and Directory Interface       (JNDI) provides naming and directory functionality. It provides applications with methods for performing standard directory operations, such as associating attributes with objects and searching for objects using their attributes. Using JNDI, a J2EE application can store and retrieve any type of named Java object. J2EE naming services provide application clients, enterprise beans, and web components with access to a JNDI naming environment. A naming environment allows a component to be customized without the need to access or change the component's source code. A container implements the component's environment and provides it to the component as a JNDI naming context . A J2EE component locates its environment naming context using JNDI interfaces. A component creates a javax.naming.InitialContext object and looks up the environment naming context in InitialContext under the name java:comp/env . A component's naming environment is stored directly in the environment naming context or in any of its direct or indirect subcontexts. A J2EE component can access named system-provided and user-defined objects. The names of system-provided objects, such as JTA UserTransaction objects, are stored in the environment naming context, java:comp/en v. The J2EE platform allows a component to name user-defined objects, such as enterprise beans, environment entries, JDBC DataSource objects, and message connections. An object should be named within a subcontext of the naming environment according to the type of the object. For example, enterprise beans are named within the subcontext java:comp/env/ejb , and JDBC DataSource references in the subcontext java:comp/env/jdbc . Because JNDI is independent of any specific implementation, applications can use JNDI to access multiple naming and directory services, including existing naming and directory services such as LDAP, NDS, DNS, and NIS. This allows J2EE applications to coexist with legacy applications and systems. For more information on JNDI, see The JNDI Tutorial :
  • 29. Java Transaction API The Java Transaction API (JTA) provides a standard interface for demarcating transactions. If your application performs two separate database access operations that depend on each other, you will want to use the JTA API to demarcate where the entire transaction, including both operations, begins, rolls back, and commits
  • 30. JDBC API The JDBC API lets you invoke SQL commands from Java programming language methods. You use the JDBC API in an enterprise bean when you override the default container-managed persistence or have a session bean access the database. With container-managed persistence, database access operations are handled by the container, and your enterprise bean implementation contains no JDBC code or SQL commands. You can also use the JDBC API from a servlet or a JSP page to access the database directly without going through an enterprise bean. The JDBC API has two parts: an application-level interface used by the application components to access a database, and a service provider interface to attach a JDBC driver to the J2EE platform
  • 31. Java API for XML Processing JAXP The Java API for XML Processing (JAXP) supports the processing of XML documents using Document Object Model (DOM), Simple API for XML (SAX), and Extensible Stylesheet Language Transformations (XSLT). JAXP enables applications to parse and transform XML documents independent of a particular XML processing implementation. JAXP also provides namespace support, which lets you work with schemas that might otherwise have naming conflicts. Designed to be flexible, JAXP lets you use any XML-compliant parser or XSL processor from within your application and supports the W3C schema. You can find information on the W3C schema at this
  • 32. JAF The JavaBeans Activation Framework (JAF) is included because JavaMail uses it. JAF provides standard services to determine the type of an arbitrary piece of data, encapsulate access to it, discover the operations available on it, and create the appropriate JavaBeans component to perform those operations
  • 33.
  • 34.
  • 35. Java API for XML-Based RPC The Java API for XML-based RPC (JAX-RPC) uses the SOAP standard and HTTP, so client programs can make XML-based remote procedure calls (RPCs) over the Internet. JAX-RPC also supports WSDL, so you can import and export WSDL documents. With JAX-RPC and a WSDL, you can easily interoperate with clients and services running on Java-based or non-Java-based platforms such as .NET. For example, based on the WSDL document, a Visual Basic .NET client can be configured to use a web service implemented in Java technology, or a web service can be configured to recognize a Visual Basic .NET client. JAX-RPC relies on the HTTP transport protocol. Taking that a step further, JAX-RPC lets you create service applications that combine HTTP with a Java technology version of the Secure Socket Layer (SSL) and Transport Layer Security (TLS) protocols to establish basic or mutual authentication. SSL and TLS ensure message integrity by providing data encryption with client and server authentication capabilities. Authentication is a measured way to verify whether a party is eligible and able to access certain information as a way to protect against the fraudulent use of a system or the fraudulent transmission of information. Information transported across the Internet is especially vulnerable to being intercepted and misused, so it's very important to configure a JAX-RPC web service to protect data in transit.
  • 36.
  • 38. JSP->Bean->EJB EJB -> Bean -> JSP JavaBeans component manage the user input and send that input to enterprise beans running in the business tier for processing.
  • 40.
  • 43. EJB CONSTITUENTS There are three kinds of enterprise beans: session beans, entity beans , and message-driven beans . A session bean represents a transient conversation with a client. When the client finishes executing, the session bean and its data are gone. In contrast, an entity bean represents persistent data stored in one row of a database table. If the client terminates or if the server shuts down, the underlying services ensure that the entity bean data is saved. A message-driven bean combines features of a session bean and a Java Message Service (JMS) message listener, allowing a business component to receive JMS messages asynchronously
  • 44. EJB Customer Bean Order Bean Shopping cart Bean Application A Customer Bean Order Bean Shopping cart Bean Inventory Bean Bean Application B Written by X Written by Y Enterprise beans are building blocks that can be used alone or with other enterprise beans to execute business logic on the J2EE server.
  • 46. What Is the J2EE? Open standard based platform for  developing, deploying and managing  n-tier, Web-enabled, server-centric, and component-based enterprise platform J2EE, In short, is an open standard, development and deployment platform for building n-tier, web-based and server-centric, and component-based enterprise applications.
  • 47. Evolution of Enterprise Application Framework ? Single tier ? Two tier ? Three tier ? Four tier (HTML browser and Web server ) For Distributed point to point communication two technologies are involved – RPC based – Remote object based
  • 49. Three-tier (RPC based): Pros & Cons Pro:– Business logic can change more flexibly than 2- tier model ? Most business logic reside in the middle-tier server ?Cons:– Complexity is introduced in the middle-tier server – Client and middle-tier server is more tightly coupled (than the three-tier object based model) – Code is not really reusable (compared to object model based)
  • 50.
  • 51.
  • 53. Three-tier (Remote Object based): Pros & Cons ? Pro: – More loosely coupled than RPC model – Code could be more reusable ? Cons: – Complexity in the middle-tier still need to be addressed
  • 54. Java Message Service API The Java Message Service (JMS) API is a messaging standard that allows J2EE application components to create, send, receive, and read messages. It enables distributed communication that is loosely coupled, reliable, and asynchronous
  • 56. Three-tier (Web Server based):Pros & Cons ? Pro: – Ubiquitous client types – Zero client management – Support various client devices ? J2ME-enabled cell-phones ? Cons: – Complexity in the middle-tier still need to be addressed Trends ? Moving from single-tier or two-tier to multitier architecture ? Moving from monolithic model to objectbased application model ? Moving from application-based client to HTML-based client So based on this evolution, we can observe a few trends. First, moving from a single tier or two-tier model to multi-tier model. Second, moving from the monolithic code to object-based application model. Lastly, HTML browser based clients are taking some strong hold. 03/19/2007
  • 57. Web Server based:Pros & Cons Trends ? Moving from single-tier or two-tier to multitier architecture ? Moving from monolithic to objectbased application model ? Moving from application-based client to HTML-based client
  • 58. Distributed Computing Environment S C C C C S C C C AplnS S S S Single tier Two tier Three tier
  • 59. Java Script/JS in HTML pages HTML file with the embedded with jsp executes remotely in the server and results sent to user imn html page client Server HTML file URL HTTP Requests with… Web server Web Browser URLs that address other Web services (telnet malito etc) HTML file with the embedded Java script executes locally with the browser and interacts with the user Urls that address the scriptincluding jsp asp Script Scipt receives browser info performs required processing and returns rersults to browser. (Dynamic web page) user script/jsp Files accessible to servers url addressing these files (static webpages)
  • 60.
  • 61. SIMPLE J2EE Model II Architecture
  • 63. J2EE 1.4 APIs and Technologies ? J2SE 1.4 (improved) ? JNDI Java Naming and Directory Services ? JMX 1.1 Api for XML mesage ? J2EE Deployment ? JMS 1.1 Java Messaging Services ? JTA 1.0 Java Transactions ? JSP 2.0 Servlet 2. ? JavaMail 1.3 ? EJB 2.1 ? Connector 1.5 For Main frame ,ERP and Legacy Systems ? JACC Java Authentication . ? JAF 1.0 Java Bean Aithentication Framework ? JAXP 1.2 For XML Processing
  • 64.
  • 65. j
  • 66. Java Mail API J2EE applications use the JavaMail API to send email notifications. The JavaMail API has two parts: an application-level interface used by the application components to send mail, and a service provider interface. The J2EE platform includes JavaMail with a service provider that allows application components to send Internet mail
  • 67.
  • 69.
  • 70.
  • 71. Lifecycle of a JSP CLient Web Server Request Response <HTML> </HTML> JVM <%b&ya ;; a 012(*2 … . JSP compiler First call of this JSP <%page language … %> <HTML>… </HTML> Subsequent calls to this JSP service() method of the servlet.is called.which already inside Compile the JSP into a temporary servlet The servlet now needs to be compliled. Import Public class … Servlet compiler Bytecode
  • 72.
  • 73. EJB
  • 74. Web Tier and J2EE Applications the web tier includes JavaBeans components to manage the user input and send that input to enterprise beans running in the business tier for processing.
  • 75. Business and EIS Tiers Enterprise bean receives data from client programs, processes it (if necessary), and sends it to the enterprise information system tier for storage. An enterprise bean also retrieves data from storage, processes it (if necessary), and sends it back to the client program
  • 76. VARIOUS APIS IN J2EE Java Mail : AP enables Java Mail programmers / Clients to communicate by sending e-mail message use order confirmation. JMS : Java Message Service allows components to send and release asynchronous messages provides their own API for messages. API is used to build into Java Programmes a trans message link between components. JAXP : API supports passing of XML documents using DOM (Document Object Model). A simple API for XML style sheet language for transformation (XSLT). JAAS : API provides security (Java Authentication and Authentication) Imposes authentication and authorization checks on users. JNDI : API provides directory service by which J2EE components can be requested and discovered. Objects can be locates in various on servers. API provides standout namely conventions so that programmers can look up objects from Java programs. JDBC : API enables programmes to connect to and interact when practically all databases.
  • 77. J2EE APIS Building Multier Applications Client EJB Servlet JSP JNDI JTA JTS Data Dase Application Sever Tag Lib using XML Data Dase
  • 78. MVC Architecture Client Data Dase ModelView Controller Architecture Data Dase Controller (Servlet) Req process Data validation Model Business Logic Data Manipulation View (JSP) Response Generation
  • 79. Model I -Architecture Session EJB Servlet or JSP Client EntityEJB DB request response A single Servlet or JSP processes a HTTP request
  • 80.
  • 81. Model II Architecture Servlet DB request response Once servlet has verified HTTP request and obtained necessary data to formulate response,request is forwarded to a JSP for generating a web page whichis returned to client as response . Client Session EJB EntityEJB JSP Request forwarded contoller view
  • 82. Type 1: JDBC-ODBC Bridge driver
  • 84. Type 3: All Java/Net-protocol driver
  • 85.