<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-GB">
	<id>https://luminoussheep.net/mediawiki/index.php?action=history&amp;feed=atom&amp;title=J2EE_API_and_Services</id>
	<title>J2EE API and Services - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://luminoussheep.net/mediawiki/index.php?action=history&amp;feed=atom&amp;title=J2EE_API_and_Services"/>
	<link rel="alternate" type="text/html" href="https://luminoussheep.net/mediawiki/index.php?title=J2EE_API_and_Services&amp;action=history"/>
	<updated>2026-04-16T19:03:42Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://luminoussheep.net/mediawiki/index.php?title=J2EE_API_and_Services&amp;diff=43&amp;oldid=prev</id>
		<title>Martin: Created page with &quot;== JEE 5 API and Services == http://java.sun.com/javaee/technologies/  Image:overview-j2eeArchitecture.gif   {| class=&quot;wikitable&quot; border=&quot;1&quot; cellspacing=&quot;0&quot; cellpadding=&quot;5...&quot;</title>
		<link rel="alternate" type="text/html" href="https://luminoussheep.net/mediawiki/index.php?title=J2EE_API_and_Services&amp;diff=43&amp;oldid=prev"/>
		<updated>2021-09-14T21:18:39Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;== JEE 5 API and Services == http://java.sun.com/javaee/technologies/  &lt;a href=&quot;/mediawiki/index.php?title=File:Overview-j2eeArchitecture.gif&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;File:Overview-j2eeArchitecture.gif (page does not exist)&quot;&gt;Image:overview-j2eeArchitecture.gif&lt;/a&gt;   {| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== JEE 5 API and Services ==&lt;br /&gt;
http://java.sun.com/javaee/technologies/&lt;br /&gt;
&lt;br /&gt;
[[Image:overview-j2eeArchitecture.gif]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!EJB Container!!Web Container!!Application Client Container!!Applet Container&lt;br /&gt;
|-&lt;br /&gt;
| J2SE || J2SE || J2SE || J2SE&lt;br /&gt;
|-&lt;br /&gt;
|JAX-RPC ||JAX-RPC||JAX-RPC||&lt;br /&gt;
|-&lt;br /&gt;
|JAX-WS||JAX-WS||JAX-WS||&lt;br /&gt;
|-&lt;br /&gt;
|SAAJ||SAAJ||SAAJ||&lt;br /&gt;
|-&lt;br /&gt;
|Web Services||Web Services||Web Services||&lt;br /&gt;
|-&lt;br /&gt;
|WS Meta data||WS Meta data||WS Meta data||&lt;br /&gt;
|-&lt;br /&gt;
|StAX||StAX||StAX||&lt;br /&gt;
|-&lt;br /&gt;
|JAXR||JAXR||JAXR||&lt;br /&gt;
|-&lt;br /&gt;
|JMS||JMS||JMS||&lt;br /&gt;
|-&lt;br /&gt;
|Management||Management||Management||&lt;br /&gt;
|-&lt;br /&gt;
|Java Persistence||Java Persistence||Java Persistence||&lt;br /&gt;
|-&lt;br /&gt;
|Java Mail||Java Mail|| ||&lt;br /&gt;
|-&lt;br /&gt;
|JAF||JAF|| ||&lt;br /&gt;
|-&lt;br /&gt;
|JACC||JACC|| ||&lt;br /&gt;
|-&lt;br /&gt;
|Connectors||Connectors || ||&lt;br /&gt;
|-&lt;br /&gt;
|JTA||JTA|| ||&lt;br /&gt;
|-&lt;br /&gt;
|EJB|| || || &lt;br /&gt;
|-&lt;br /&gt;
| ||Java Server Faces|| ||&lt;br /&gt;
|-&lt;br /&gt;
| ||JSTL|| ||&lt;br /&gt;
|-&lt;br /&gt;
| ||Servlet || || &lt;br /&gt;
|- &lt;br /&gt;
| ||JSP || ||&lt;br /&gt;
|-&lt;br /&gt;
| || || Application client || &lt;br /&gt;
|-&lt;br /&gt;
| || || || Applet&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Services ==&lt;br /&gt;
===J2SE ===&lt;br /&gt;
===JAX-RPC===&lt;br /&gt;
* Web services SOAP 1.1&lt;br /&gt;
* [http://www.ibm.com/developerworks/webservices/library/ws-tip-jaxwsrpc.html comparison to JAX-WS] which is part of a [http://www.ibm.com/developerworks/views/webservices/libraryview.jsp?search_by=JAX-RPC+versus+JAX-WS&amp;amp;S_TACT=105AGX04&amp;amp;S_CMP=ART series]&lt;br /&gt;
* 90% of schema type covered - remainder mapped to SOAPElement - own mapping&lt;br /&gt;
* Synchronous&lt;br /&gt;
===JAX-WS===&lt;br /&gt;
* Replaces JAX-RPC&lt;br /&gt;
* Web services SOAP 1.1 and SOAP 1.2&lt;br /&gt;
* 100% schema type covered uses JAXB&lt;br /&gt;
* Supports asynchronous&lt;br /&gt;
* Supports message oriented&lt;br /&gt;
* dynamic server model&lt;br /&gt;
* MTOM - (Message Transmission Optimization Mechanism) [[Web Services]] attachment specification for efficient transmission of binary data. Uses XOP (XML-binary Optimized Packaging)&lt;br /&gt;
&lt;br /&gt;
===SAAJ===&lt;br /&gt;
Soap with Attachements API for Java&lt;br /&gt;
* Basis for JAX-RPC and JAX-WS low level API&lt;br /&gt;
* Support SOAP messaging (asynchronous)&lt;br /&gt;
&lt;br /&gt;
===Web Services===&lt;br /&gt;
===WS Meta data===&lt;br /&gt;
used with WS-Addressing, WSDL and WS-Policy for discovery about web service end point&lt;br /&gt;
* aids self configuration&lt;br /&gt;
* allows automated client&lt;br /&gt;
&lt;br /&gt;
===StAX===&lt;br /&gt;
Streaming API for XML&lt;br /&gt;
* Pull based streaming API for XML&lt;br /&gt;
* Reading/writing&lt;br /&gt;
&lt;br /&gt;
===JAXR===&lt;br /&gt;
Java API for XML Registries&lt;br /&gt;
* supports interacting with registries such as ebXML Registry and UDDI&lt;br /&gt;
* based on SAAJ&lt;br /&gt;
* can be used to exchange XML documents stored in registries&lt;br /&gt;
&lt;br /&gt;
===JMS===&lt;br /&gt;
Java Message Service&lt;br /&gt;
* Asynchronous messaging&lt;br /&gt;
* Supports transactions&lt;br /&gt;
Models:&lt;br /&gt;
* Publish subscribe&lt;br /&gt;
* Point to point&lt;br /&gt;
Loosely coupled, reliable&lt;br /&gt;
&lt;br /&gt;
Business component&lt;br /&gt;
&lt;br /&gt;
===Management===&lt;br /&gt;
===Java Persistence===&lt;br /&gt;
* standards based object to relational mapping&lt;br /&gt;
# javax.persistence - API&lt;br /&gt;
# Java Persistence Query Language - similar to SQL but operates on objects&lt;br /&gt;
# Object/Relational mapping&lt;br /&gt;
&lt;br /&gt;
====SDO Service Data Object====&lt;br /&gt;
Complimentary - for service oriented architecture - supports data formats other than relational models - OASIS spec (previously Web Data Objects)&lt;br /&gt;
* supports meta data so can represent object graph&lt;br /&gt;
&lt;br /&gt;
===Java Mail===&lt;br /&gt;
Mail API for sending SMTP and reading mail from IMAP/POP&lt;br /&gt;
Built with JAF&lt;br /&gt;
&lt;br /&gt;
===JAF===&lt;br /&gt;
JavaBeans Activation Framework&lt;br /&gt;
&lt;br /&gt;
* Enables finding the type of a piece of data, locate the object to encapsulate it and discover methods.&lt;br /&gt;
* Supports dynamic registering of types and actions&lt;br /&gt;
* Creates appropriate Java Bean component to perform operations&lt;br /&gt;
&lt;br /&gt;
used in Java Mail libraries to deserialise attachments in the mail to objects&lt;br /&gt;
&lt;br /&gt;
===Connectors ===&lt;br /&gt;
JCA Java EE Connector Architecture&lt;br /&gt;
* for tools vendors ans system integrators&lt;br /&gt;
Resource adaptors to support EIS&lt;br /&gt;
* one per EIS/DB type&lt;br /&gt;
* interacts with JEE resource manager&lt;br /&gt;
* performance oriented, secure, scalable, message baseed&lt;br /&gt;
* supports transactions, integration of web services to EIS&lt;br /&gt;
** JAX-WS and JAC complimentary technologies for EAI (Enterprise Application Integration)&lt;br /&gt;
* may be synchronous or asynchronous&lt;br /&gt;
====JDBC====&lt;br /&gt;
Java DataBase Connectivity API&lt;br /&gt;
* For Invoking QSL from java&lt;br /&gt;
* can be used from JSP/Servlet or EJB&lt;br /&gt;
Must conform to two specifications:&lt;br /&gt;
# Application API&lt;br /&gt;
# Service provider interface for resource manager&lt;br /&gt;
&lt;br /&gt;
===JTA===&lt;br /&gt;
Java Transaction API&lt;br /&gt;
* demarcation of transaction boundaries&lt;br /&gt;
* allows multiple resources to participate&lt;br /&gt;
* based on open API - X/Open XA&lt;br /&gt;
Default commit on one update - allows wrapping multiple updates&lt;br /&gt;
&lt;br /&gt;
Transaction manager (Transaction Processing monitor - TP monitor)&lt;br /&gt;
* Interacts with the resource manager&lt;br /&gt;
** API for container&lt;br /&gt;
* Client interacts to begin/commit/rollback transaction&lt;br /&gt;
** API for client (separate from container)&lt;br /&gt;
&lt;br /&gt;
===Java Server Faces===&lt;br /&gt;
Interface framework based on MVC&lt;br /&gt;
* JSP for display with custom tag libraries&lt;br /&gt;
* event model&lt;br /&gt;
* state management&lt;br /&gt;
* java beans with dependency injection&lt;br /&gt;
* expression language&lt;br /&gt;
Supports:&lt;br /&gt;
* input validation&lt;br /&gt;
* page navigation configuration&lt;br /&gt;
* managed model object creation&lt;br /&gt;
* data conversion between objects/components&lt;br /&gt;
Rendering model supporting different markup languages&lt;br /&gt;
* Renderkit - HTML 4.01&lt;br /&gt;
&lt;br /&gt;
===JSTL===&lt;br /&gt;
JavaServer Pages Standard Tag Library&lt;br /&gt;
* extends JSP adding a tag library&lt;br /&gt;
includes: &lt;br /&gt;
* loops&lt;br /&gt;
* xml processing&lt;br /&gt;
* conditional constructs&lt;br /&gt;
* internationalisation&lt;br /&gt;
* functions - string manipulation&lt;br /&gt;
* database&lt;br /&gt;
&lt;br /&gt;
===Servlet ===&lt;br /&gt;
Request response programming&lt;br /&gt;
&lt;br /&gt;
===JSP ===&lt;br /&gt;
Now includes [http://java.sun.com/products/jsp/reference/techart/unifiedEL.html expression language] (JSP 2.1) - simple way to access data objects&lt;br /&gt;
* deferred expressions - not immediatly evaluated&lt;br /&gt;
* set and get expressions - ability to access server side&lt;br /&gt;
* method expressions&lt;br /&gt;
&lt;br /&gt;
Mixes static data - html/xml/wml &amp;amp; jscp - scripting code for dynamic page construction&lt;br /&gt;
&lt;br /&gt;
=== JACC ===&lt;br /&gt;
Java Authorization Contract for Containers&lt;br /&gt;
&lt;br /&gt;
Allows third party authorisation tools to decide on access to J2EE resources&lt;br /&gt;
&lt;br /&gt;
Authenticated user makes a request to a web or a EJB resource&lt;br /&gt;
* security runtime decides on access. (access decision)&lt;br /&gt;
* JACC defines the permission object to be created&lt;br /&gt;
* policy context handlers are registered&lt;br /&gt;
* policy context identifier (contextID) is set&lt;br /&gt;
* call to the java.security.Policy implemented by the provider - makes the access decision&lt;br /&gt;
&lt;br /&gt;
=== EJB ===&lt;br /&gt;
Three types of Enterprise Beans&lt;br /&gt;
&lt;br /&gt;
* Session Beans&lt;br /&gt;
** transient conversation with client&lt;br /&gt;
* Entity Beans&lt;br /&gt;
** replaced by Java Persistence API&lt;br /&gt;
** persistence manager responsible for data being stored&lt;br /&gt;
* Message Driven Beans&lt;br /&gt;
** asynchronous business component&lt;br /&gt;
&lt;br /&gt;
=== JAXP ===&lt;br /&gt;
Java API for XML Processing&lt;br /&gt;
* processing via DOM&lt;br /&gt;
supports:&lt;br /&gt;
* SAX - Simple API for XML&lt;br /&gt;
* XSLT&lt;br /&gt;
* namespaces/schemas&lt;br /&gt;
&lt;br /&gt;
=== JNDI ===&lt;br /&gt;
Java Naming Directory Interface&lt;br /&gt;
* Common API to access LDAP, NDS, DNS, NIS&lt;br /&gt;
* Setting attributes or objects&lt;br /&gt;
* Searching for object by attributes&lt;br /&gt;
* can be configured by JNDI naming context and environment&lt;br /&gt;
** e.g. can change DB without change to source code&lt;br /&gt;
* includes system objects such as JTA for user transactions&lt;br /&gt;
* should exist in naming context e.g. java:/comp/env/ejb java:/comp/env/jdbc&lt;br /&gt;
* [http://java.sun.com/webservices/jaxr/faq.html relationship to JAX-R]&lt;br /&gt;
** The JAXR API needs richer metadata capabilities for classification and association, as well as richer query capabilities.&lt;br /&gt;
&lt;br /&gt;
=== JAAS ===&lt;br /&gt;
Java Authentication and Authorisation Service&lt;br /&gt;
* allows a java app to authenticate and authorise user or group&lt;br /&gt;
* is a instance of PAM - Pluggable Authentication Module&lt;br /&gt;
** extends java security architecture to support user based authentication&lt;/div&gt;</summary>
		<author><name>Martin</name></author>
	</entry>
</feed>