|
AcademicEdge is available as open
standard Java/JEE component based enterprise application. The JEE
application requires a current Java Runtime Environment (JRE), Web
Application Server, Relational Database System, and LDAP Directory
Server.
What is a Web Application?
A web application consists of 3
layers:
-
The Presentation
Layer -- responsible for receiving incoming HTTP
request and forming the HTML responses
-
The Application
Layer -- responsible for the business logic, often
implemented in Enterprise Java Beans (EJB 3.0)
-
The Database Layer
-- responsible for storing data persistently in a
relational database system.
What
is an Application Server?
An Application Server
is used to develop and deploy Java/JEE applications
-- a JEE certified platform for developing and
deploying enterprise Java applications, Web
applications, and Portals. JBoss Application Server,
for example, provides the full range of JEE 1.4/1.5
features as well as extended enterprise services
including clustering, caching, and persistence.
-
JBoss
-
Oracle AS
-
Sun AS
-
WebLogic
-
WebSphere
-
Tomcat 5
-
Resin
-
Orion
-
Jonas
-
Jetty
-
JRun
-
Geranimo
What are Enterprise
Web Services?
In simple terms, Web services technology is a
collection of XML-based standards that provide a
means for passing information between applications
using XML documents. Web services allow businesses
to integrate business processes with suppliers,
customers, partners, etc. without regard to the IT
infrastructure on which each of these external
organizations is operating.
The term enterprise
Web Service refers to web services that are
available globally throughout the enterprise. For
example, a business could choose to share the
definition of a process with its' external partners
and provide the execution of that process as a Web
service. The business would own and maintain that
particular process, but others could participate in
the process without having the process running as a
local Web service.
The notion of
enterprise Web services extends beyond shared
process definition and execution. Content services,
which are typically dispersed, can now be accessible
to the enterprise as XML data.
Web services depend
on the ability of parties to communicate with each
other even if they are
using different information systems. XML, a markup
language that makes data portable, is a key
technology in addressing this need. Enterprises have
discovered the benefits of using XML for the
integration of data both internally for sharing
legacy data among departments and externally for
sharing data with other enterprises. As a result,
XML is increasingly being used for enterprise
integration applications, both in tightly coupled
and loosely coupled systems. Because of this data
integration ability, XML has become the underpinning
for Web-related computing.
Web services also
depend on the ability of enterprises using different
computing platforms to communicate with each other.
This requirement makes the Java platform, which
makes code portable, the natural choice for
developing Web services. This choice is even more
attractive as the new Java APIs for XML become
available, making it easier and easier to use XML
from the Java programming language.
In addition to data
portability and code portability, Web services need
to be scalable, secure, and efficient, especially as
they grow. The Java 2 Platform, Enterprise Edition
(JEE™) is specifically designed to fill just such
needs. It facilitates the really hard part of
developing Web services, which is programming the
infrastructure, or “plumbing.” This infrastructure
includes features such as security, distributed
transaction management, and connection pool
management, all of which are
essential for industrial strength Web services. And
because components are reusable, development time is
substantially reduced. Because XML and the Java
platform work so well together, they have come to
play a central role in Web services. In fact, the
advantages offered by the Java APIs for XML and the
JEE platform make them the ideal combination for
deploying Web services.
What is BPEL and
how it is used to create Business Process?
Business process
Execution Language (BPEL) is used to compose People,
Process and Information into a Business Process.
BPEL provides a flexible means to compose the
components into business processes in response to
changing operating environments. Business Process
consists of a Service Bus, a set of Service
Protocols, Service Descriptions and Service
Implementation. Corresponding technologies are: ESB
(Enterprise Service Bus), SOAP (Simple Object Access
Protocol), WSDL (Web Service Description Language)
and various programming languages (Java, C#, C++,
etc.).
What is a Java Servlet?
A servlet is a
Java programming language class used to extend the
capabilities of servers that host applications
access via a request-response programming model.
Although servlets can respond to any type of
request, they are commonly used to extend the
applications hosted by Web servers. For such
applications, Java Servlet technology defines
HTTP-specific servlet classes. Building Web pages on
the fly is useful (and commonly done) for a number
of reasons:
-
The Web page is
based on data submitted by the user. For example
the results pages from search engines are
generated this way, and programs that process
orders for e-commerce sites do this as well.
-
The data changes
frequently. For example, a weather-report or news
headlines page might build the page dynamically,
perhaps returning a previously built page if it is
still up to date.
The Web page uses
information from institution databases or other such
sources. For example, you would use this for making
a Web page at an on-line store that lists current
prices and number of items in stock.
What Is a Java Server
Page (JSP)?
A JSP page is
a text document that contains two types of text:
static template data, which can be expressed in any
text-based format, such as HTML, SVG, WML, and XML,
and JSP elements, which construct dynamic content.
The JSP elements in a
JSP page can be expressed in two syntaxes-standard
and XML-though any given file can only use one
syntax. A JSP page in XML syntax is an XML document
and can be manipulated by tools and APIs for XML
documents.
JavaServer Pages (JSP)
allows the separation of the dynamic part of web
pages from the static HTML. One writes the regular
HTML in the normal manner, and encloses the code for
the dynamic parts in special tags, most of which
start with "<%" and end with "%>".
For example, here is
a section of a JSP page that results in something
like "Thanks for using AcademicEdge" for a
URL of http://host/AcademicEdge.jsp?title=AcademicEdge
Thanks for using
<I><%=
request.getParameter("title") %></I>
What is
Model-View-Controller (MVC) Architecture?
The MVC architecture
is a widely used architectural approach for
interactive applications that separates
functionality among application objects so as to
minimize the degree of coupling between the objects.
To achieve this, it divides applications into three
layers: model, view, and controller. Each layer
handles specific tasks and has responsibilities to
the other layers:
The model
represents institution data and business logic or
operations that govern access and modification
of this institutional data. The model notifies views
when it changes and provides the ability for the
view to query the model about its state. It also
provides the ability for the controller to
access application functionality encapsulated by
the model. In a bookstore application, the
shopping cart and database helper object contain
the business logic for the application.
The view renders
the contents of a model. It gets data from the
model and specifies how that data should be
presented. It updates data presentation when the
model changes. A view also forwards user input
to a controller. The bookstore JSP pages format
the data stored in the session-scoped shopping
cart and the page-scoped database helper object.
The controller
defines application behavior. It dispatches user
requests and selects views for presentation. It
interprets user inputs and maps them into
actions to be performed by the model. In a Web
application, user inputs are HTTP GET and POST
requests. A controller selects the next view to
display based on the user interactions and the
outcome of the model operations. In the
bookstore application, the Dispatcher servlet is
the controller. It examines the request URL,
creates and initializes a session-scoped
JavaBeans component-the shopping cart-and
dispatches requests to view JSP pages. We use
Jakarta Struts for the design & development
controller in AcademicEdge software.
What is Jakarta
Struts?
Jakarta Struts is an
application development framework -- a set of
cooperating classes that constitute a reusable
design. A framework dictates an architecture for the
application -- its overall structure, partitioning
into classes and objects, and how the classes and
objects collaborate and their control.
What is Java Sever
Faces Technology?
Java Server
Faces technology is a server-side user interface
framework for Java technology-based Web
applications. The main components of JavaServer
Faces technology are:
An API for:
representing UI components and managing their
state; handling events, server side validation,
and data conversion; defining page navigation;
supporting internationalization and
accessibility; and providing extensibility for
all of these features.
A JavaServer
Pages (JSP) custom tag library for expressing UI
components within a JSP page.
One of the greatest
advantages of JavaServer Faces technology is that it
offers a clean separation between behavior and
presentation. Web applications built with JSP
technology partially achieve this separation.
However, a JSP application cannot map HTTP requests
to component-specific event handling or manage UI
elements as stateful objects on the server.
JavaServer Faces technology allows you to build Web
applications that implement finer-grained separation
of behavior and presentation traditionally offered
by client-side UI architectures.
The separation of
logic from presentation also allows each member of a
Web application development team to focus on their
piece of the development process, and provides a
simple programming model to link the pieces
together. For example, Page Authors with no
programming expertise can use JavaServer Faces
technology UI component tags to link to application
code from within a Web page without writing any
scripts.
What is XML?
XML, short for
eXtensible Markup Language, is a technology
developed by a working group of the World Wide Web
Consortium (W3C). XML emphasizes document structure,
which is distinct from the document presentation.
XML puts information in a form that is reusable in
many different ways, eliminating the need to conform
to a proprietary data format or specific operating
system. With XML, any type of structured information
can be passed seamlessly between different
applications and computing systems, which makes XML
an incredibly flexible, vendor-neutral, platform
independent technology. XML is actually a family of
standards emerging under W3C guidance that includes
modules and tools for performing specific task with
the XML markup language.
What is XML Schema?
XML Schemas provide a
standard syntax for defining the structure of how
the XML data is organized, which data types are
permissible, and what constraints might apply to
each element within an XML document (e.g. this
element is a date field of a specific format, the
field is required, etc.).
What is XPath?
XPath (XML Path Language) is a language for finding
information or elements (and attributes, processing
instructions, etc.) in an XML document. It was
created to provide a common syntax for querying and
addressing the contents of XML documents. The XPath
syntax consists of string-based expressions that
locate specific elements in an XML document and
return the value of the elements, attributes, etc.
that match the request as defined in the XPath
expression.
What is Document
Object Model (DOM)?
The Document Object Model, commonly referred to as
DOM, is another by-product of the W3C
recommendations for XML standards (or any content
with similar structure, such as HTML, SGML, etc.). A
DOM uses standard syntax to describe a document as a
hierarchical series of objects. It identifies each
element in an XML document as an individual object,
and defines the hierarchical relationship of those
objects within the document.
Role of JEE IDE.
AcademicEdge
student services software uses
an integrated development environment (IDE) for JEE application development. Traditional
JEE application development is quite involved and
time consuming. We use a suitable JEE IDE that allows rapid
design and development of industry standard JEE business application.
Some of the IDEs are: Eclipse, Oracle 10g, JBoss
IDE, and Sun Studio Creator. The resulting application consists of
Java classes, JSP files, HTML files and data base tables that work
in many application server (Oracle, JBoss, Tomcat,
etc.), database server (Oracle, DB2, MySQL), and
LDAP server.
These IDEs facilitate
development of AcademicEge components, expose them
as web services and compose them into
end-to-end business processes. |