introduction java web framework and web server

24
Saunak Surani Open Mind Subject : J2EE

Upload: suranisaunak

Post on 05-Jul-2015

176 views

Category:

Documents


4 download

DESCRIPTION

In this slideshow i included all java web framework and web server.

TRANSCRIPT

Page 1: Introduction Java Web Framework and Web Server

Saunak Surani

Open Mind

Subject : J2EE

Page 2: Introduction Java Web Framework and Web Server

Who is ?

Page 3: Introduction Java Web Framework and Web Server

• The Application Server implements Java 2 Enterprise Edition (J2EE) 1.4 technology.

• The J2EE platform is a set of standard specifications that describe application components, APIs, and the runtime containers and services of an application server.

• J2EE applications are made up of components such as JavaServer Pages (JSP), Java servlets, and Enterprise JavaBeans (EJB) modules.

• These components enable software developers to build large-scale, distributed applications.

• Developers package J2EE applications in Java Archive (JAR) files (similar to zip files), which can be distributed to production sites.

• Administrators install J2EE applications onto the Application Server by deploying J2EE JAR files onto one or more server instances (or clusters of instances).

What is J2EE ?

Page 4: Introduction Java Web Framework and Web Server

Naming - A naming and directory service binds objects to names. A J2EE application can locate an object by looking up its Java Naming and Directory Interface (JNDI) name.

Security - The Java Authorization Contract for Containers (JACC) is a set of security contracts defined for the J2EE containers. Based on the client’s identity, containers can restrict access to the container’s resources and services.

Transaction management - A transaction is an indivisible unit of work. For example, transferring funds between bank accounts is a transaction. A transaction management service ensures that a transaction is either completed, or is rolled back.

Message Service - Applications hosted on separate systems can communicate with each other by exchanging messages using the Java™ Message Service (JMS). JMS is an integral part of the J2EE platform and simplifies the task of integrating heterogeneous enterprise applications.

J2EE Services

Contu..

Page 5: Introduction Java Web Framework and Web Server

In general, a framework is a real or conceptual structure intended to serve as a support or guide for the building of something that expands the structure into something useful.

In programming, a software framework is an abstraction in which software providing generic functionality can be selectively changed by programmer code, thus providing application specific software. It is a collection of software libraries/components providing a defined application programming interface (API).

In computer systems, a framework is often a layered structure indicating what kind of programs can or should be built and how they would interrelate.

Some computer system frameworks also include actual programs, specify programming interfaces, or offer programming tools for using the frameworks.

A framework may be for a set of functions within a system and how they interrelate; the layers of an operating system; the layers of an application subsystem; how communication should be standardized at some level of a network; and so forth. A framework is generally more comprehensive than a protocol and more prescriptive than a structure .

What is Framework ?

Page 6: Introduction Java Web Framework and Web Server

A framework, or software framework, is a platform for developing software applications.

It provides a foundation on which software developers can build programs for a specific platform.

For example, a framework may include predefined classes and functions that can be used to process input, manage hardware devices, and interact with system software.

This streamlines the development process since programmers don't need to reinvent the wheel each time they develop a new application.

A framework is similar to an application programming interface (API), though technically a framework includes an API.

As the name suggests, a framework serves as a foundation for programming, while an API provides access to the elements supported by the framework.

A framework may also include code libraries, a compiler, and other programs used in the software development process.

Contu..

Page 7: Introduction Java Web Framework and Web Server

inversion of control - In a framework, unlike in libraries or normal user applications, the overall program's flow of control is not dictated by the caller, but by the framework. default behavior

A framework has a default behavior - This default behavior must actually be some useful behavior and not a series of no-ops.

extensibility - A framework can be extended by the user usually by selective overriding or specialized by user code providing specific functionality.

non-modifiable framework code - The framework code, in general, is not allowed to be modified. Users can extend the framework, but not modify its code.

Frameworks contain key distinguishing features that separate them from normal libraries:

Contu..

Page 8: Introduction Java Web Framework and Web Server

ActiveX and .NET for Windows development.

Cocoa for Mac OS X, Cocoa Touch for iOS.

Android Application Framework for Android.

Several different types of software frameworks exist

Contu..

Page 9: Introduction Java Web Framework and Web Server

Apache Open JPA : Apache OpenJPA is a Java persistence project at The Apache Software Foundation that can be used as a stand-alone POJO persistence layer or integrated into any Java EE compliant container and many other lightweight frameworks, such as Tomcat and Spring.

Hibernate : Historically, Hibernate facilitated the storage and retrieval of Java domain objects via Object/Relational Mapping. Today, Hibernate is a collection of related projects enabling developers to utilize POJO-style domain models in their applications in ways extending well beyond Object/Relational Mapping.

Castor : Castor is an Open Source data binding framework for Java. It's the shortest path between Java objects, XML documents and relational tables. Castor provides Java-to-XML binding, Java-to-SQL persistence, and more.

Java Ultra-Lite Persistence : JULP is an ultra lite object-relational mapping framework (220KB)

Persistence frameworks in Java

Contu..

Page 10: Introduction Java Web Framework and Web Server

JDBM : JDBM is a transactional persistence engine for Java. It aims to be for Java what GDBM is for other languages (C/C++, Python, Perl, etc.): a fast, simple persistence engine. You can use it to store a mix of objects and BLOBs, and all updates are done in a transactionally safe manner. JDBM also provides scalable data structures, such as HTree and B+Tree, to support persistence of large object collections.

Speedo : Speedo is an open source implementation of the JDO (TM) specification.

Spring MVC : The Spring Framework is an open source application framework and inversion of control container for the Java platform. The framework's core features can be used by any Java application, but there are extensions for building web applications on top of the Java EE platform. Although the framework does not impose any specific programming model, it has become popular in the Java community as an alternative to, replacement for, or even addition to the Enterprise JavaBean (EJB) model.

Struts 1.x : Apache Struts was an open-source web application framework for developing

Java EE web applications. It uses and extends the Java Servlet API to encourage developers to adopt a model–view–controller (MVC) architecture. It was originally created by Craig McClanahan and donated to the Apache Foundation in May, 2000. Formerly located under the Apache Jakarta Project and known as Jakarta Struts, it became a top-level Apache project in 2005.

Contu..

Page 11: Introduction Java Web Framework and Web Server

Apache Axis : Apache Axis (Apache eXtensible Interaction System) is an open source, XML based

Web service framework. It consists of a Java and a C++ implementation of the SOAP server, and

various utilities and APIs for generating and deploying Web service applications. Using Apache Axis,

developers can create interoperable, distributed computing applications. Axis is developed under the

auspices of the Apache Software Foundation.

Apache Xerces : Xerces is Apache's collection of software libraries for parsing, validating, serializing

and manipulating XML. The library implements a number of standard APIs for XML parsing, including

DOM, SAX and SAX2. The implementation is available in Java, C++ and Perl programming languages.

Hibernate : Hibernate ORM (Hibernate in short) is an object-relational mapping library for the Java

language, providing a framework for mapping an object-oriented domain model to a traditional

relational database. Hibernate solves object-relational impedance mismatch problems by replacing

direct persistence-related database accesses with high-level object handling functions.

Hibernate's primary feature is mapping from Java classes to database tables (and from Java data

types to SQL data types). Hibernate also provides data query and retrieval facilities. It generates SQL calls

and relieves the developer from manual result set handling and object conversion. Applications using

Hibernate are portable to supported SQL databases with little performance overhead.

Contu..

Page 12: Introduction Java Web Framework and Web Server

JDOM : JDOM is an open source Java-based document object model for XML that was

designed specifically for the Java platform so that it can take advantage of its language

features. JDOM integrates with Document Object Model (DOM) and Simple API for XML

(SAX), supports XPath and XSLT. It uses external parsers to build documents. JDOM was

developed by Jason Hunter and Brett McLaughlin starting in March 2000.

Apache Velocity : Apache Velocity is a Java-based template engine that provides a

template language to reference objects defined in Java code. It is an open source

software project directed by the Apache Software Foundation and aims to ensure clean

separation between the presentation tier and business tiers in a Web application (the

model–view–controller design pattern).

JAX-WS : The Java API for XML Web Services (JAX-WS) is a Java programming language API for creating web services. JAX-WS is one of the Java XML programming APIs. It is part of

the Java EE platform from Sun Microsystems.

Java Server Faces – JSF : The most using web framework. Because of its component

architecture, the developer doesn’t need to mess with writing HTML, JavaScript etc to get

rich “AJAX” type of functionality. It also takes care of state and event management. It has

very less configuration too.

Contu..

Page 13: Introduction Java Web Framework and Web Server

GWT : Speed development. Easy to develop good, neat and “Browser independent” Ajax applications. Give more stress to pure browser independent .

Stripes : No Configurations . Annotation based programming makes coding more interesting and easy.

Struts2 : No more ActionForms! Use any JavaBean to capture form input or put properties directly on an Action class. Use both binary and String properties! and its enhanced and rich tags.

Wicket : Swing-like OO Component Model. This feature separates Wicket from all other frameworks .

Contu..

Page 14: Introduction Java Web Framework and Web Server

• Aranea Web Framework • RSF • Strecks • Hamlets • Google Web Toolkit • Aurora • ThinWire• AribaWeb • Playframework• JPublish

etc …

Page 15: Introduction Java Web Framework and Web Server

Servers for Java ?

Page 16: Introduction Java Web Framework and Web Server

Apache Geronimo application server

Glassfish Application Server

JBoss Application Sever

IBM - WebSphere Application Server – Software

BEA WebLogic Server

Sun GlassFish Enterprise Server

etc…

Contu..

Page 17: Introduction Java Web Framework and Web Server

A Java IDE (Integrated Development Environment) is a software application which enables users to more easily write and debug Java programs. Many IDEs provide features like syntax highlighting and code completion, which help the user to code more easily.

What is a Java IDE?

Page 18: Introduction Java Web Framework and Web Server

• Eclipse

• NetBeans

• JCreator

• Processing

• BlueJ

• JBuilder

Types of IDE :

• Geany

• IntelliJ IDEA

• JDeveloper

• jGRASP

• jEdit

• MyEclipse

• Visual Café

• Gel

• JIPE

• Zeus

Contu..

Page 19: Introduction Java Web Framework and Web Server

• Web services are client and server applications that communicate over the World Wide Web’s (WWW) HyperText Transfer Protocol (HTTP).

• As described by the World Wide Web Consortium (W3C), web services provide a standard means of interoperating between software applications running on a variety of platforms and frameworks.

• Web services are characterized by their great interoperability and extensibility, as well as their machine-processable descriptions, thanks to the use of XML.

• Web services can be combined in a loosely coupled way to achieve complex operations. Programs providing simple services can interact with each other to deliver sophisticated added-value services.

What Are Web Services?

Page 20: Introduction Java Web Framework and Web Server

1. “Big” Web Services : Big web services use XML messages that follow

the Simple Object Access Protocol (SOAP) standard, an XML

language defining a message architecture and message formats.

Such systems often contain a machine-readable description of the

operations offered by the service, written in the Web Services

Description Language (WSDL), an XML language for defining

interfaces syntactically.

2. RESTful Web Services : Representational State Transfer (RESTful) web

services. REST is well suited for basic, ad hoc integration scenarios.

RESTful web services, often better integrated with HTTP than SOAP-

based services are, do not require XML messages or WSDL service–API

definitions.

Types of Web Services :

Contu..

Page 21: Introduction Java Web Framework and Web Server

Service Oriented Architecture or SOA for short is a new architecture for the development of loosely coupled distributed applications.

In fact service-oriented architecture is collection of many services in the network. These services communicate with each other and the communications involves data exchange & even service coordination.

Earlier SOA was based on the DCOM or Object Request Brokers (ORBs).

Nowadays SOA is based on the Web Services.

What is Service-Oriented Architecture?

Page 22: Introduction Java Web Framework and Web Server

Due to its platform independence, it allows companies to use the software and hardware of their choice .

There is no threat of vendor lock-in .

SOA enables incremental development, deployment, and maintenance.

Companies can use the existing software (investments) and use SOA to build applications without replacing existing applications.

The training costs are low, so the available labor pool can be used for running the applications.

Why SOA?

Contu..

Page 23: Introduction Java Web Framework and Web Server

Questions?

Page 24: Introduction Java Web Framework and Web Server

Thnak You