Java Enterprise

By Sandeep Desai (http://www.thedesai.net)

 

Java is a language and a platform. There are large number of Java, Vendor specific and open source frameworks and APIs for developing thick applications, web applications and mobile applications

Java based APIs are JDBC, Servlets, JSP, JSF, EJB and Web Services. Some of the popular open sources API and frameworks available are Struts, Spring and Hibernate. Some vendor based frameworks are Oracle ADF

 

Web Applications can be rich client AJAX based or HTML based

 

Ant for building Java Applications

JUnit Java Testing Framework (See my sample)

 

Eclipse (Open Source IDE for Java UML etc)

Oracle JDeveloper

 

Apache Tomcat ervlet and JSP Container (pache Open Source)

Apache Axis (Java Web Services)

Apache Geronimo Application J2EE Server (Apache Open Source)

 

JavaRanch Java Community

 

Java Blueprints

Java Memory Management and Tuning

 

 

JDBC

 

 

J2EE Architecture

Even if you do client side validation, you should do server side validation to make sure that invalid data is not entered by customers

 

J2EE Patterns

 

Web Application Frameworks

 

 

Apache Struts

 

Struts is a configurable MVC framework that simplifies the job of developing web applications

Struts is a Model2 Framework

Struts Components

 

Struts

 

Apache Struts Tutorial

Struts Powerpoint Presentation

Free Jakarts Struts Live Book PDF

 

Java Server Faces is an alternative to Struts. MyFaces is Apache implementation of Java Server Faces

 

Spring

 

Spring is a J2EE framework and aims to simplify J2EE development

 

You can use all of Spring's functionality in any J2EE server, and most of it also in non-managed environments. A central focus of Spring is to allow for reusable business and data access objects that are not tied to specific J2EE services. Such objects can be reused across J2EE environments (web or EJB), standalone applications, test environments, etc without any hassle.

 

Spring has a layered architecture; all its functionality builds on lower levels. So you can e.g. use the JavaBeans configuration management without using the MVC framework or AOP support. But if you use the web MVC framework or AOP support, you'll find they build on the configuration framework, so you can apply your knowledge about it immediately.

 

Spring uses a setter based dependancy injection pattern (Inversion of Control)

 

My Spring AOP sample

An Introduction to AOP Programming with the Spring Framework by Russell Miles

Spring presentation at NEJUG

Pro Spring by Rob Harrop Jan Machacek

 

Java Server Faces

 

Java Server Faces Tutorial

 

Java Aspect Oriented Programming

 

The goal is to make the core logic simpler to write and test

 

AOP use cases

 

AOP terms

 

 

 

AOP Frameworks

 

AspectJ and Spring are the most popular AOP frameworks

 

AspectJ (1.2)

  Aspects and pointcuts are expressed in AspectJ language. Pre-compiler generates Java code. An .lst file specifies which Aspects apply to the subsystem. There is no runtime support for turning Aspects on or off. AJDT Eclipse plug-in is available

 

Spring AOP (1.2)

  Provides dynamic proxy-based approach to implementing AOP (using Java Reflection APIs). Target application classes must implemented interfaces. Uses springconfig.xml for Spring Framework and Spring AOP configuration. Uses AOP alliance. Pointcuts and advice are implemented using Spring's IOC (Inversion of control) framework. IOC is a POJO with a Java Bean setter method. Spring AOP comes with built in transaction and security support

 

JBoss AOP 1.1

 

 

http://ramnivas.com/ author of AspectJ In Action

 

Source Listings

 

See SCJP notes for Java Fundamentals

 

Fundamentals.java demonstrates primitive data types, arrays, controls etc

Objects.java inheritance, exceptions, inner classes

JavaCollections.java demonstrates how to create Lists, Sets and Hash Tables (Associative Arrays)

JavaThreads.java demonstrated how to create and use Threads

 

Java and JDBC, Oracle JDBC FAQ

 

Java 1.5 Basics

Java 1.5 Generics

Java 1.5 Enumerations

 

 

Java Basics and Sun Certified Java Programmer Notes

 

Java and XML

 

J2EE

 

J2EE is a set of API and services. The services are typically implemented in an Application server. The API/services for J2EE 1.3 are

 

 

SOA (Service Oriented Architecture)

 

SOA is a standards-based platform that lets you model, develop, find, and combine services into flexible business processes

 

Products needs for SOA

  • Process manager - An orchestration tool so you can plug them together
  • Message bus - A way for them to communicate with each other
  • Security  - Secure SOA, via WS Security & IDM
  • Monitoring – Useful to have a Real-time Activity Monitoring & Optimization
  •  

    Web services is a set of XML-based technologies (SOAP, UDDI, WSDL) that are the means by which interoperable application-to-application communication is carried out on the World Wide Web through a set of standard programmatic interfaces. Web services are a set of implementation technologies, whereas SOA is an architectural style or strategy. SOA uses web services

     

    SOAP Version 1.2 is a lightweight protocol intended for exchanging structured information in a decentralized, distributed environment. It uses XML technologies to define an extensible messaging framework providing a message construct that can be exchanged over a variety of underlying protocols. The framework has been designed to be independent of any particular programming model and other implementation specific semantics.

     

     

    Java Web Services

    Java Web Services Tutorial

    Java Blueprints Catalog

    Apache Web Services

    Web Services Org

     

    Books

     

    Designing Web Services with the J2EE(TM) 1.4 Platform: JAX-RPC, SOAP, and XML Technologies