<?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_Basics</id>
	<title>J2EE Basics - 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_Basics"/>
	<link rel="alternate" type="text/html" href="https://luminoussheep.net/mediawiki/index.php?title=J2EE_Basics&amp;action=history"/>
	<updated>2026-04-16T19:05:41Z</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_Basics&amp;diff=42&amp;oldid=prev</id>
		<title>Martin: Created page with &quot;Refernces: * http://java.sun.com/javaee/5/docs/tutorial/doc/ * http://java.sun.com/javaee/technologies/   == Web Component == * JSP - Script * Servlets - Class files (compiled...&quot;</title>
		<link rel="alternate" type="text/html" href="https://luminoussheep.net/mediawiki/index.php?title=J2EE_Basics&amp;diff=42&amp;oldid=prev"/>
		<updated>2021-09-14T21:18:10Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;Refernces: * http://java.sun.com/javaee/5/docs/tutorial/doc/ * http://java.sun.com/javaee/technologies/   == Web Component == * JSP - Script * Servlets - Class files (compiled...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Refernces:&lt;br /&gt;
* http://java.sun.com/javaee/5/docs/tutorial/doc/&lt;br /&gt;
* http://java.sun.com/javaee/technologies/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Web Component ==&lt;br /&gt;
* JSP - Script&lt;br /&gt;
* Servlets - Class files (compiled)&lt;br /&gt;
* JSF - Framework based on JSP + Servlets&lt;br /&gt;
&lt;br /&gt;
* Html + Server utility classes&lt;br /&gt;
** these are not considered web components but can be bundled with the web components&lt;br /&gt;
&lt;br /&gt;
- May include java beans that talk to the business tier&lt;br /&gt;
&lt;br /&gt;
=== Web Service support ===&lt;br /&gt;
&lt;br /&gt;
* web based application - open XML standards + transports&lt;br /&gt;
* JEE provides XML API and tools&lt;br /&gt;
&lt;br /&gt;
Web services - method + parameters&lt;br /&gt;
&lt;br /&gt;
Document oriented - document containing service data&lt;br /&gt;
&lt;br /&gt;
XML - cross platform, extensible, text based&lt;br /&gt;
&lt;br /&gt;
=== SOAP - Simple Object Access Protocol ===&lt;br /&gt;
&lt;br /&gt;
*Envelope* describes message and how to process&lt;br /&gt;
&lt;br /&gt;
*Body* Encoding rules to express app, defined data types, convention used to represent request and response&lt;br /&gt;
&lt;br /&gt;
==== WSDL - Web Service Definition Language ====&lt;br /&gt;
XML format for describing network services&lt;br /&gt;
* description, name, location, communication mechanism (transport)&lt;br /&gt;
* can be stored in UDDI or published - web&lt;br /&gt;
&lt;br /&gt;
UDDI + ebXML - allows publishing of services&lt;br /&gt;
&lt;br /&gt;
== Business Component ==&lt;br /&gt;
* EJB Enterprise beans that solve business needs&lt;br /&gt;
** Stores and retrieves information from the EIS (Enterprise Information System)&lt;br /&gt;
&lt;br /&gt;
== Enterprise Information System ==&lt;br /&gt;
may contain:&lt;br /&gt;
* ERP - Enterprise resource planning&lt;br /&gt;
* Mainframe transaction processing&lt;br /&gt;
* Database&lt;br /&gt;
* Other legacy&lt;br /&gt;
&lt;br /&gt;
== Java EE Containers ==&lt;br /&gt;
* component based - organises business logic into components &lt;br /&gt;
* provides underlying services&lt;br /&gt;
* requires assembly into a module and deployment&lt;br /&gt;
** specifying component settings for each component e.g. transaction management, JNDI, remote connectivity&lt;br /&gt;
* Transaction model allows relationships of methods to be defined&lt;br /&gt;
* JNDI - unified naming and lookup mechanism across directory services&lt;br /&gt;
* Remote connectivity - manages low level connectivity clients -&amp;gt; EJB&lt;br /&gt;
&lt;br /&gt;
Security can be configured differently in different environments&lt;br /&gt;
&lt;br /&gt;
Container manages non configurable items&lt;br /&gt;
* EJB + servlet live cycle&lt;br /&gt;
* DB pooling&lt;br /&gt;
* Persistence&lt;br /&gt;
* Access to JEE API&lt;br /&gt;
&lt;br /&gt;
JEE Server = EJB container + Web Container&lt;br /&gt;
&lt;br /&gt;
=== Deployment ===&lt;br /&gt;
* Functional components + optional deployment descriptors&lt;br /&gt;
* via platform specific tools - specifying user access + DB access&lt;br /&gt;
&lt;br /&gt;
=== Packaging ===&lt;br /&gt;
* JEE app = EAR file (Enterprise Archive - standard jar format)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 /Web module (.war)&lt;br /&gt;
 /Application client module (.jar)&lt;br /&gt;
 /Resource Adaptor (.rar)&lt;br /&gt;
 /EJB module (.jar)&lt;br /&gt;
 /META-INF/application.xml - JEE deployment configuration - root of web app, protable naming mappings&lt;br /&gt;
 /META-INF/sun-application.xml - runtime - app specific runtime e.g. caching options&lt;br /&gt;
&lt;br /&gt;
Deployment configuration can be changed without need to modify code and rebuild&lt;br /&gt;
&lt;br /&gt;
== Deployment roles ==&lt;br /&gt;
* Tool provider - provider of development, packaging tools&lt;br /&gt;
* Application component provider - develops beans/applets/clients etc&lt;br /&gt;
** Enterprise Bean developer&lt;br /&gt;
** Web component developer&lt;br /&gt;
** Application client developer - client jar file&lt;br /&gt;
* Application assembler - assembles war,jar files into ear + writes deployment descriptors&lt;br /&gt;
* Application deployer + administrator - configures deploys application, administers servers, JEE, network etc.&lt;br /&gt;
&lt;br /&gt;
== Simplifies System integration ==&lt;br /&gt;
* platform independent system integration solution&lt;br /&gt;
* unified application model across tiers with EJB&lt;br /&gt;
* simplified request/response - Servlets/JSP&lt;br /&gt;
* reliable security model - JAAS&lt;br /&gt;
* XML data interchange - JAXP, SAAJ, JAX-WS&lt;br /&gt;
* interoperability - JCA&lt;br /&gt;
* easy DB connectivity - JDBC&lt;br /&gt;
* enterprise application integration with JMS, JTA, JNDI&lt;br /&gt;
&lt;br /&gt;
== Protocols ==&lt;br /&gt;
Standard web based protocols:&lt;br /&gt;
* TCP&lt;br /&gt;
* HTTP 1.0&lt;br /&gt;
* SSL 3.0&lt;br /&gt;
* RMI (Remote Method Invocation) Serialisation + JRMP (Java Remote Messaging Protocol)&lt;br /&gt;
** OMG protocols (Object Management Group)&lt;br /&gt;
** CORBA (Common Object request Broker Architecture)&lt;br /&gt;
*** Defines interface in IDL (Interface Definition Language)&lt;br /&gt;
*** IDL compiled into client and server stubs&lt;br /&gt;
** ORB (Object Request Broker)&lt;br /&gt;
*** Communicates using IIOP (Internet Inter Orb Protocol)&lt;br /&gt;
Requires:&lt;br /&gt;
* Java IDL - idlj - hava compiler - generates java stubs from IDL&lt;br /&gt;
* RMI-IIOP - RMI implementation over IIOP&lt;br /&gt;
&lt;br /&gt;
From [URL=&amp;quot;http://en.wikipedia.org/wiki/RMI-IIOP&amp;quot;]wikipedia [/URL]&lt;br /&gt;
&lt;br /&gt;
Both CORBA and RMI-IIOP use the same GIOP communication standard. If required, it is possible to generate the IDL definitions for the involved RMI-IIOP data structures and use these definitions to arrange the interoperability between the RMI-IIOP and plain CORBA applications.&lt;br /&gt;
&lt;br /&gt;
There is a program that will generate the idl:&lt;br /&gt;
http://java.sun.com/j2se/1.4.2/docs/guide/rmi-iiop/rmi_iiop_pg.html&lt;br /&gt;
&lt;br /&gt;
So though RMI-IIOP is CORBA compiant it needs work for corba clients to integrate.&lt;br /&gt;
&lt;br /&gt;
java IDL is the typical way to integrate with an existing CORBA application. &lt;br /&gt;
&lt;br /&gt;
java EJB is RMI-IIOP and CORBA can integrate but needs IDL to be generated (with the help of rmic)&lt;br /&gt;
&lt;br /&gt;
http://java.sun.com/javase/6/docs/technotes/guides/idl/jidlFAQ.html&lt;br /&gt;
&lt;br /&gt;
* Java IDL - existing CORBA application - mainly CORBA/C++ based.&lt;br /&gt;
* RMI-JRMP - (Application Servers see below). Designed for java.&lt;br /&gt;
* RMI-IIOP - Used by Application Servers - part of spec. Mostly java based but want to maintain legacy applications.&lt;br /&gt;
&lt;br /&gt;
== Data formats ==&lt;br /&gt;
* HTML&lt;br /&gt;
* Image files: gif + jpeg&lt;br /&gt;
* JAR&lt;br /&gt;
* Class&lt;br /&gt;
* XML&lt;/div&gt;</summary>
		<author><name>Martin</name></author>
	</entry>
</feed>