These slides were used to teach the module "Introduction to Enterprise Applications and Tools" for the 3rd year undergraduates of the Department of Computer Engineering, University of Peradeniya in 2010.
3. What are enterprise applications?
❑ Enterprise software applications are software applications
used in business or government organizations.
❑Services provided by enterprise software are typically
business-oriented tools such as online shopping and online
payment processing, interactive product catalogue, automated
billing systems, security, content management, IT service
management, customer relationship management, resource
planning, business intelligence, HR management,
manufacturing, application integration, and forms automation.
4. Features
❑ More often than not, an Enterprise Software Application
(ESA) is used in many sites of an organization sometimes at
the same time. Thus it is obvious that ESAs should be web
based.
❑ An ESA performs business functions such as order
processing, procurement, production scheduling, customer
information management, and accounting/finances. It is
typically hosted on servers and provides simultaneous
services to a large number of users, typically over a computer
network. This is in contrast to a single-user application that is
executed on a user's personal computer and serves only one
user at a time.
5. Example ESAs
❑ Enterprise Resource Planning Systems (ERP)
❑Content Management Systems (CMS)
❑Human Resource Management Systems (HRM)
6. Little bit about ERP
❑ERP software is a complex software package that normally
comprises of components related to business areas of an
organization.
❑ERP software are used to computerize the business process
of an organization.
❑Main functional areas of an ERP system:
❑Distribution
❑Manufacturing
❑Maintenance
❑Engineering
❑Human Resource
❑Financials/Accounting
❑Some other services:
❑Data Migration, Integration (with other services and ERP systems)
7. Some techy terms related ESAs
❑ We know JAVA is the widely used language to develop ESAs.
We use JAVA Enterprise Editions. (JEE) Java has provided many
platforms and frameworks that the developers can work on
without thinking of the business process (it is encapsulated
there) JSP, Servlets, EJB and so on.
❑Application servers are heavily used in the ESA field.
❑Architectures like MVC, Struts are widely used.
❑Now we have .Net framework and its components in the field
and they are too popular elements…(ASP.Net MVC platform is
very popular)
9. Java Web Technologies
❑ Java has very strong web technologies.
❑Java web applications are running inside a container on
a server, not directly on a remote server. This container
runs on the server. The container provides a runtime
environment for Java web applications.
❑The container runs in the JVM (Java Virtual Machine).
❑In Java, we have 2 containers:
❑Web container
❑Java EE container
10. Java Web Technologies (contd…)
❑Typical web containers for Java is Tomcat or Jetty.
❑A web container supports the execution of Java servlets
and JavaServer Pages.
❑A Java EE container supports additional functionality for
example distribution of server load.
❑A software component which has w web container as
well as a Java EE container is called an Application
Server!
❑REFERENCE:
HTTP://WWW.VOGELLA.COM/ARTICLES/JAVAWEBTERMINOLOGY/ARTICLE.HTML
11. Application Server
❑It is like a virtual computer that hosts various types of
files and executables so that users can use that
environment, of course to deploy their files and run them.
❑It provides an environment where applications can run,
without considering what they do.
❑It is dedicated to the efficient execution of procedures
(programs, routines, scripts) for supporting the
construction of applications.
12. Example Application Servers
❑ JBOSS from Oracle (earlier Sun Microsystems)
❑J2EE server from Oracle (earlier Sun Microsystems)
❑TomCat from Apache
❑IIS from Microsoft
❑Windows Server Microsoft
❑Glassfish from NetBeans
❑And there are many more ☺
13. Java Web Applications
❑A Java web application is a collection of dynamic
resources (Servlets, JavaServer Pages, Normal Java
classes and JARS – Java Archives) and static resources
(HTML pages and pictures).
❑A Java web application can be deployed as a ".war" file.
The ".war" file is a zip file which contains the complete
content of the corresponding web application.
14. Java Servlets
❑ A servlet is a Java class that extends "HttpServlet" and
it is used to extend the capabilities of servers that host
applications accessed via a request-response
programming model.
❑Although servlets can respond to HTTP requests within
a web container.
15. JSP
❑JavaServer Pages (JSP) is a Java technology that helps
software developers to deal with dynamically generated
web pages based on HTML, XML, or other document
types.
❑JSPs contain HTML and Java code. The web container
compiles the JSP into a servlet at the first time of
accessing this JSP.
❑Please go to www.jsptut.com to get simple examples….
❑And also refer this:
❑http://www.vogella.com/articles/EclipseWTP/article.html
16. Sample WEB APP using various technologies
I would like you to refer the followings:
1. Simple hello world with Eclipse and JBoss
https://community.jboss.org/en/tools/blog/2010/12/10/simple-
cdi-hello-world-in-eclipse
2. An Intro to Eclipse and JBoss:
http://docs.jboss.org/jbosside/tutorial/build/en/html_single/
3. Creating Java servlets with Eclipse and Tomcat:
http://www.coreservlets.com/Apache-Tomcat-Tutorial/eclipse.html
17. Sample WEB APP using various technologies (contd.)
❑You can try simple examples (if you have not tasted Java
web based programming) with NetBeans IDE which provides
Glassfish server (in-built) and it’s easy to create a dynamic
web application.
❑You can download relevant Javax web APIs if your NetBeans
IDE doesn’t have an option to create a new JavaWEB
project!
* NetBeans allows you to connect several web servers.
19. JavaScript – Don’t think it is related to JAVA ☺
❑ JavaScript is a client-side scripting language, which is NOT
related to JAVA programming language.
❑JavaScript is very popular these days when it comes to
develop dynamic web pages. All modern HTML pages use
JavaScript.
❑JavaScript inserted HTML pages can be executed by all
modern web browsers.
❑Follow http://www.w3schools.com/js/ to learn more…
21. Apache Ant
❑Apache Ant is a software tool that automates software
build processes. That means, in simple terms, we can use
Ant to deploy many Java files and build the class files.
❑It is similar to Make but is implemented using the Java
language, requires the Java platform, and is best suited to
building Java projects.
❑The most noticeable difference between Ant and Make
is that Ant uses XML to describe the build process and its
dependencies, whereas Make uses Makefile format.
❑XML file is named build.xml by default.
23. MVC (Model – View – Control)
MODEL
• Holds the functionality of the
application (Business Logic)
• Notifies the changed Views
•Hides the application state
CONTROLLER
•Defines the behavior of the
application
•Selects Views for responses
•One controller for each functionality
•r
State Query
View
Selection
State Change
Change Notification
User Changes
VIEW
•Renders Models
• Requests updates from Models
•Sends user changes to Controller
•Allows controller to select Views
Method Invocations Method Invocations
24. Model
➢The model is independent of the user interface.
➢ It doesn't know if it's being used from a text-
based, graphical, or web interface.
25. View
➢This View doesn't know about the Controller,
except that it provides methods for registering a
Controller's listeners.
➢Other organizations are possible (e.g. the
Controller's listeners are non-private variables that
can be referenced by the View, the View calls the
Controller to get listeners, the View calls methods
in the Controller to process actions, ...).
26. Controller
➢The controller process the user requests. It is
implemented here as an Observer pattern -- the
Controller registers listeners that are called when
the View detects a user interaction.
➢Based on the user request, the Controller calls
methods in the View and Model to accomplish the
requested action.
27. A Snap Shot of a Java SE application using MVC
(an internet example)
30. Struts
•I would like you to read more on Struts.
•You need to practice Struts if you like to move with Java Web
Development.
•Get used to technologies like, Spring, Hibernate…
To learn struts, refer the following site:
http://www.exadel.com/tutorial/struts/5.2/guess/strutsintro.
html