SlideShare a Scribd company logo
Enterprise Applications
& Tools/Methods to Develop them
Lecture Series Under IFS-PERA
collaboration
[2010]
Tharindu Weerasinghe [MSc.Eng, BSc.Eng (Hons), MIEEE, AMIESL]
Software Engineer, IFS R&D International
© 2010 IFS
ENTERPRISE APPLICATIONS
© 2009 IFS
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.
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.
Example ESAs
❑ Enterprise Resource Planning Systems (ERP)
❑Content Management Systems (CMS)
❑Human Resource Management Systems (HRM)
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)
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)
SOME TOOLS & TECHNOLOGIES
Related to ESAs
© 2009 IFS
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
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
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.
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 ☺
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.
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.
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
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
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.
Sample WEB APP using various technologies (contd.)
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…
JavaScript - Simple Sample (From W3Schools)
<!DOCTYPE html>
<html>
<head>
<script>
function myFunction()
{
alert("Hello World!");
}
</script>
</head>
<body>
<button onclick="myFunction()">Try it</button>
</body>
</html>
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.
Apache Ant – Sample XML build file
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
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.
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, ...).
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.
A Snap Shot of a Java SE application using MVC
(an internet example)
Multiple Views using the same model
(an internet example)
Controller in between Model & View
(an internet example)
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
THANK YOU!
tharindu.weerasinghe@ifsworld.com
© 2009 IFS
tharindu.weerasinghe@gmail.com
SPECIAL MENTION:
•All on-line material referred when preparing these slides.
© 2009 IFS
www.IFSWORLD.com
THIS DOCUMENT MAY CONTAIN STATEMENTS OF POSSIBLE FUTURE FUNCTIONALITY FOR IFS’S SOFTWARE PRODUCTS AND
TECHNOLOGY. SUCH STATEMENTS OF FUTURE FUNCTIONALITY ARE FOR INFORMATION PURPOSES ONLY AND SHOULD NOT BE
INTERPRETED AS ANY COMMITMENT OR REPRESENTATION. IFS AND ALL IFS PRODUCT NAMES ARE TRADEMARKS OF IFS. THE
NAMES OF ACTUAL COMPANIES AND PRODUCTS MENTIONED HEREIN MAY BE THE TRADEMARKS OF THEIR RESPECTIVE OWNERS.
© 2009 IFS

More Related Content

What's hot

Java & J2EE Struts with Hibernate Framework
Java & J2EE Struts with Hibernate FrameworkJava & J2EE Struts with Hibernate Framework
Java & J2EE Struts with Hibernate FrameworkMohit Belwal
 
Java for Recruiters
Java for RecruitersJava for Recruiters
Java for Recruitersph7 -
 
Introduction To NetBeans IDE
Introduction To NetBeans IDEIntroduction To NetBeans IDE
Introduction To NetBeans IDEMuhammad Ghazali
 
computer science JAVA ppt
computer science JAVA pptcomputer science JAVA ppt
computer science JAVA pptbrijesh kumar
 
A seminar report on core java
A  seminar report on core javaA  seminar report on core java
A seminar report on core javaAisha Siddiqui
 
Java fundamentals
Java fundamentalsJava fundamentals
Java fundamentalsOm Ganesh
 
Overview of Java
Overview of JavaOverview of Java
Overview of Javajosemachoco
 
Java buzzwords
Java buzzwordsJava buzzwords
Java buzzwordsramesh517
 
JAVA Training Syllabus Course
JAVA Training Syllabus CourseJAVA Training Syllabus Course
JAVA Training Syllabus CourseTOPS Technologies
 
Advance java prasentation
Advance java prasentationAdvance java prasentation
Advance java prasentationdhananajay95
 
basic core java up to operator
basic core java up to operatorbasic core java up to operator
basic core java up to operatorkamal kotecha
 

What's hot (20)

Java & J2EE Struts with Hibernate Framework
Java & J2EE Struts with Hibernate FrameworkJava & J2EE Struts with Hibernate Framework
Java & J2EE Struts with Hibernate Framework
 
130700548484460000
130700548484460000130700548484460000
130700548484460000
 
Java for Recruiters
Java for RecruitersJava for Recruiters
Java for Recruiters
 
Introduction To NetBeans IDE
Introduction To NetBeans IDEIntroduction To NetBeans IDE
Introduction To NetBeans IDE
 
Introduction to Java
Introduction to JavaIntroduction to Java
Introduction to Java
 
computer science JAVA ppt
computer science JAVA pptcomputer science JAVA ppt
computer science JAVA ppt
 
A seminar report on core java
A  seminar report on core javaA  seminar report on core java
A seminar report on core java
 
Java fundamentals
Java fundamentalsJava fundamentals
Java fundamentals
 
Presentation5
Presentation5Presentation5
Presentation5
 
Introduction to Core Java Programming
Introduction to Core Java ProgrammingIntroduction to Core Java Programming
Introduction to Core Java Programming
 
Overview of Java
Overview of JavaOverview of Java
Overview of Java
 
Java buzzwords
Java buzzwordsJava buzzwords
Java buzzwords
 
HTML for beginners
HTML for beginnersHTML for beginners
HTML for beginners
 
JAVA Training Syllabus Course
JAVA Training Syllabus CourseJAVA Training Syllabus Course
JAVA Training Syllabus Course
 
Introduction to java
Introduction to javaIntroduction to java
Introduction to java
 
Advance java prasentation
Advance java prasentationAdvance java prasentation
Advance java prasentation
 
Core java course syllabus
Core java course syllabusCore java course syllabus
Core java course syllabus
 
Advanced python
Advanced pythonAdvanced python
Advanced python
 
basic core java up to operator
basic core java up to operatorbasic core java up to operator
basic core java up to operator
 
GMR PROJECT PPT
GMR PROJECT PPTGMR PROJECT PPT
GMR PROJECT PPT
 

Similar to Introduction to Enterprise Applications and Tools

Ppt for Online music store
Ppt for Online music storePpt for Online music store
Ppt for Online music storeADEEBANADEEM
 
Java Training Ahmedabad , Introduction of java web development
Java Training Ahmedabad , Introduction of java web developmentJava Training Ahmedabad , Introduction of java web development
Java Training Ahmedabad , Introduction of java web developmentNicheTech Com. Solutions Pvt. Ltd.
 
Online test management system
Online test management systemOnline test management system
Online test management systemPrateek Agarwak
 
Advance Java Topics (J2EE)
Advance Java Topics (J2EE)Advance Java Topics (J2EE)
Advance Java Topics (J2EE)slire
 
WEB TECHNOLOGY Unit-3.pptx
WEB TECHNOLOGY Unit-3.pptxWEB TECHNOLOGY Unit-3.pptx
WEB TECHNOLOGY Unit-3.pptxkarthiksmart21
 
5 best Java Frameworks
5 best Java Frameworks5 best Java Frameworks
5 best Java FrameworksAegis Softtech
 
Java Training in Chennai
Java Training in Chennai Java Training in Chennai
Java Training in Chennai raj esaki
 
Web-Dev-Through-Python
Web-Dev-Through-PythonWeb-Dev-Through-Python
Web-Dev-Through-PythonRuchiNagar3
 
JavaScript New Tutorial Class XI and XII.pptx
JavaScript New Tutorial Class XI and XII.pptxJavaScript New Tutorial Class XI and XII.pptx
JavaScript New Tutorial Class XI and XII.pptxrish15r890
 
Java on Windows Azure
Java on Windows AzureJava on Windows Azure
Java on Windows AzureDavid Chou
 

Similar to Introduction to Enterprise Applications and Tools (20)

Ppt for Online music store
Ppt for Online music storePpt for Online music store
Ppt for Online music store
 
AJppt.pptx
AJppt.pptxAJppt.pptx
AJppt.pptx
 
Java Training Ahmedabad , Introduction of java web development
Java Training Ahmedabad , Introduction of java web developmentJava Training Ahmedabad , Introduction of java web development
Java Training Ahmedabad , Introduction of java web development
 
Online test management system
Online test management systemOnline test management system
Online test management system
 
Devjyotippt
DevjyotipptDevjyotippt
Devjyotippt
 
Advance Java Topics (J2EE)
Advance Java Topics (J2EE)Advance Java Topics (J2EE)
Advance Java Topics (J2EE)
 
WTA-MODULE-4.pptx
WTA-MODULE-4.pptxWTA-MODULE-4.pptx
WTA-MODULE-4.pptx
 
Krishnagopal Thogiti_Java
Krishnagopal Thogiti_JavaKrishnagopal Thogiti_Java
Krishnagopal Thogiti_Java
 
JAVA
JAVAJAVA
JAVA
 
WEB TECHNOLOGY Unit-3.pptx
WEB TECHNOLOGY Unit-3.pptxWEB TECHNOLOGY Unit-3.pptx
WEB TECHNOLOGY Unit-3.pptx
 
Getting Started with J2EE, A Roadmap
Getting Started with J2EE, A RoadmapGetting Started with J2EE, A Roadmap
Getting Started with J2EE, A Roadmap
 
Minor
MinorMinor
Minor
 
Javascript 01 (js)
Javascript 01 (js)Javascript 01 (js)
Javascript 01 (js)
 
5 best Java Frameworks
5 best Java Frameworks5 best Java Frameworks
5 best Java Frameworks
 
Java Training in Chennai
Java Training in Chennai Java Training in Chennai
Java Training in Chennai
 
Web-Dev-Through-Python
Web-Dev-Through-PythonWeb-Dev-Through-Python
Web-Dev-Through-Python
 
Java EE 7 introduction
Java EE 7  introductionJava EE 7  introduction
Java EE 7 introduction
 
Java ee introduction
Java ee introductionJava ee introduction
Java ee introduction
 
JavaScript New Tutorial Class XI and XII.pptx
JavaScript New Tutorial Class XI and XII.pptxJavaScript New Tutorial Class XI and XII.pptx
JavaScript New Tutorial Class XI and XII.pptx
 
Java on Windows Azure
Java on Windows AzureJava on Windows Azure
Java on Windows Azure
 

More from Tharindu Weerasinghe

Basics of Computer Networks in Sinhala
Basics of Computer Networks in SinhalaBasics of Computer Networks in Sinhala
Basics of Computer Networks in SinhalaTharindu Weerasinghe
 
Data Structures & Algorithms in Sinhala
Data Structures & Algorithms in SinhalaData Structures & Algorithms in Sinhala
Data Structures & Algorithms in SinhalaTharindu Weerasinghe
 
Object Oriended Programming in Sinhala
Object Oriended Programming in Sinhala Object Oriended Programming in Sinhala
Object Oriended Programming in Sinhala Tharindu Weerasinghe
 
Tips For A Better Undergraduate Research
Tips For A Better Undergraduate ResearchTips For A Better Undergraduate Research
Tips For A Better Undergraduate ResearchTharindu Weerasinghe
 
Cloud Conputing Basics and some Related Research Topics
Cloud Conputing Basics and some Related Research TopicsCloud Conputing Basics and some Related Research Topics
Cloud Conputing Basics and some Related Research TopicsTharindu Weerasinghe
 
Basic Concepts and Trends in Emerging Technologies
Basic Concepts and Trends in Emerging TechnologiesBasic Concepts and Trends in Emerging Technologies
Basic Concepts and Trends in Emerging TechnologiesTharindu Weerasinghe
 
Agile Languages for Rapid Prototyping
Agile Languages for Rapid PrototypingAgile Languages for Rapid Prototyping
Agile Languages for Rapid PrototypingTharindu Weerasinghe
 
Things to ponder before you start building [cooperate] software
Things to ponder before you start building [cooperate] softwareThings to ponder before you start building [cooperate] software
Things to ponder before you start building [cooperate] softwareTharindu Weerasinghe
 
How to make screens and the internet safe for Children
How to make screens and the internet safe for Children How to make screens and the internet safe for Children
How to make screens and the internet safe for Children Tharindu Weerasinghe
 
A Survey Study on Higher Education Trends among Sri Lankan IT Professionals
A Survey Study on Higher Education Trends among Sri Lankan IT ProfessionalsA Survey Study on Higher Education Trends among Sri Lankan IT Professionals
A Survey Study on Higher Education Trends among Sri Lankan IT ProfessionalsTharindu Weerasinghe
 
A Survey Study on Higher Education Trends among Information Technology Prof...
A Survey Study  on  Higher Education Trends among Information Technology Prof...A Survey Study  on  Higher Education Trends among Information Technology Prof...
A Survey Study on Higher Education Trends among Information Technology Prof...Tharindu Weerasinghe
 
Professionalism and Industry Expectations related to IT industry
Professionalism and Industry Expectations related to IT industry  Professionalism and Industry Expectations related to IT industry
Professionalism and Industry Expectations related to IT industry Tharindu Weerasinghe
 

More from Tharindu Weerasinghe (20)

C Propgramming.pdf
C Propgramming.pdfC Propgramming.pdf
C Propgramming.pdf
 
Basics of Computer Networks in Sinhala
Basics of Computer Networks in SinhalaBasics of Computer Networks in Sinhala
Basics of Computer Networks in Sinhala
 
Data Structures & Algorithms in Sinhala
Data Structures & Algorithms in SinhalaData Structures & Algorithms in Sinhala
Data Structures & Algorithms in Sinhala
 
Object Oriended Programming in Sinhala
Object Oriended Programming in Sinhala Object Oriended Programming in Sinhala
Object Oriended Programming in Sinhala
 
Tips For A Better Undergraduate Research
Tips For A Better Undergraduate ResearchTips For A Better Undergraduate Research
Tips For A Better Undergraduate Research
 
Basics of Block Chain
Basics of Block ChainBasics of Block Chain
Basics of Block Chain
 
Basics of IoT
Basics of IoTBasics of IoT
Basics of IoT
 
REST API Basics
REST API BasicsREST API Basics
REST API Basics
 
Cloud Conputing Basics and some Related Research Topics
Cloud Conputing Basics and some Related Research TopicsCloud Conputing Basics and some Related Research Topics
Cloud Conputing Basics and some Related Research Topics
 
Basic Concepts and Trends in Emerging Technologies
Basic Concepts and Trends in Emerging TechnologiesBasic Concepts and Trends in Emerging Technologies
Basic Concepts and Trends in Emerging Technologies
 
Agile Languages for Rapid Prototyping
Agile Languages for Rapid PrototypingAgile Languages for Rapid Prototyping
Agile Languages for Rapid Prototyping
 
Things to ponder before you start building [cooperate] software
Things to ponder before you start building [cooperate] softwareThings to ponder before you start building [cooperate] software
Things to ponder before you start building [cooperate] software
 
How to make screens and the internet safe for Children
How to make screens and the internet safe for Children How to make screens and the internet safe for Children
How to make screens and the internet safe for Children
 
Different Concepts on Databases
Different Concepts on DatabasesDifferent Concepts on Databases
Different Concepts on Databases
 
A Survey Study on Higher Education Trends among Sri Lankan IT Professionals
A Survey Study on Higher Education Trends among Sri Lankan IT ProfessionalsA Survey Study on Higher Education Trends among Sri Lankan IT Professionals
A Survey Study on Higher Education Trends among Sri Lankan IT Professionals
 
A Survey Study on Higher Education Trends among Information Technology Prof...
A Survey Study  on  Higher Education Trends among Information Technology Prof...A Survey Study  on  Higher Education Trends among Information Technology Prof...
A Survey Study on Higher Education Trends among Information Technology Prof...
 
Professionalism and Industry Expectations related to IT industry
Professionalism and Industry Expectations related to IT industry  Professionalism and Industry Expectations related to IT industry
Professionalism and Industry Expectations related to IT industry
 
Triggers and Stored Procedures
Triggers and Stored ProceduresTriggers and Stored Procedures
Triggers and Stored Procedures
 
Database Intergrity
Database IntergrityDatabase Intergrity
Database Intergrity
 
Cursors in MySQL
Cursors in MySQL Cursors in MySQL
Cursors in MySQL
 

Recently uploaded

WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2
 
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoamOpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoamtakuyayamamoto1800
 
Designing for Privacy in Amazon Web Services
Designing for Privacy in Amazon Web ServicesDesigning for Privacy in Amazon Web Services
Designing for Privacy in Amazon Web ServicesKrzysztofKkol1
 
Cyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdfCyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdfCyanic lab
 
top nidhi software solution freedownload
top nidhi software solution freedownloadtop nidhi software solution freedownload
top nidhi software solution freedownloadvrstrong314
 
De mooiste recreatieve routes ontdekken met RouteYou en FME
De mooiste recreatieve routes ontdekken met RouteYou en FMEDe mooiste recreatieve routes ontdekken met RouteYou en FME
De mooiste recreatieve routes ontdekken met RouteYou en FMEJelle | Nordend
 
AI/ML Infra Meetup | ML explainability in Michelangelo
AI/ML Infra Meetup | ML explainability in MichelangeloAI/ML Infra Meetup | ML explainability in Michelangelo
AI/ML Infra Meetup | ML explainability in MichelangeloAlluxio, Inc.
 
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERRORTROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERRORTier1 app
 
Breaking the Code : A Guide to WhatsApp Business API.pdf
Breaking the Code : A Guide to WhatsApp Business API.pdfBreaking the Code : A Guide to WhatsApp Business API.pdf
Breaking the Code : A Guide to WhatsApp Business API.pdfMeon Technology
 
Agnieszka Andrzejewska - BIM School Course in Kraków
Agnieszka Andrzejewska - BIM School Course in KrakówAgnieszka Andrzejewska - BIM School Course in Kraków
Agnieszka Andrzejewska - BIM School Course in Krakówbim.edu.pl
 
How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?
How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?
How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?XfilesPro
 
Using IESVE for Room Loads Analysis - Australia & New Zealand
Using IESVE for Room Loads Analysis - Australia & New ZealandUsing IESVE for Room Loads Analysis - Australia & New Zealand
Using IESVE for Room Loads Analysis - Australia & New ZealandIES VE
 
GraphAware - Transforming policing with graph-based intelligence analysis
GraphAware - Transforming policing with graph-based intelligence analysisGraphAware - Transforming policing with graph-based intelligence analysis
GraphAware - Transforming policing with graph-based intelligence analysisNeo4j
 
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.ILBeyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.ILNatan Silnitsky
 
Into the Box 2024 - Keynote Day 2 Slides.pdf
Into the Box 2024 - Keynote Day 2 Slides.pdfInto the Box 2024 - Keynote Day 2 Slides.pdf
Into the Box 2024 - Keynote Day 2 Slides.pdfOrtus Solutions, Corp
 
Prosigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology SolutionsProsigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology SolutionsProsigns
 
Advanced Flow Concepts Every Developer Should Know
Advanced Flow Concepts Every Developer Should KnowAdvanced Flow Concepts Every Developer Should Know
Advanced Flow Concepts Every Developer Should KnowPeter Caitens
 
Accelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with PlatformlessAccelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with PlatformlessWSO2
 
Mastering Windows 7 A Comprehensive Guide for Power Users .pdf
Mastering Windows 7 A Comprehensive Guide for Power Users .pdfMastering Windows 7 A Comprehensive Guide for Power Users .pdf
Mastering Windows 7 A Comprehensive Guide for Power Users .pdfmbmh111980
 

Recently uploaded (20)

WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
 
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoamOpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
 
Designing for Privacy in Amazon Web Services
Designing for Privacy in Amazon Web ServicesDesigning for Privacy in Amazon Web Services
Designing for Privacy in Amazon Web Services
 
Cyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdfCyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdf
 
top nidhi software solution freedownload
top nidhi software solution freedownloadtop nidhi software solution freedownload
top nidhi software solution freedownload
 
De mooiste recreatieve routes ontdekken met RouteYou en FME
De mooiste recreatieve routes ontdekken met RouteYou en FMEDe mooiste recreatieve routes ontdekken met RouteYou en FME
De mooiste recreatieve routes ontdekken met RouteYou en FME
 
Top Mobile App Development Companies 2024
Top Mobile App Development Companies 2024Top Mobile App Development Companies 2024
Top Mobile App Development Companies 2024
 
AI/ML Infra Meetup | ML explainability in Michelangelo
AI/ML Infra Meetup | ML explainability in MichelangeloAI/ML Infra Meetup | ML explainability in Michelangelo
AI/ML Infra Meetup | ML explainability in Michelangelo
 
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERRORTROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
 
Breaking the Code : A Guide to WhatsApp Business API.pdf
Breaking the Code : A Guide to WhatsApp Business API.pdfBreaking the Code : A Guide to WhatsApp Business API.pdf
Breaking the Code : A Guide to WhatsApp Business API.pdf
 
Agnieszka Andrzejewska - BIM School Course in Kraków
Agnieszka Andrzejewska - BIM School Course in KrakówAgnieszka Andrzejewska - BIM School Course in Kraków
Agnieszka Andrzejewska - BIM School Course in Kraków
 
How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?
How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?
How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?
 
Using IESVE for Room Loads Analysis - Australia & New Zealand
Using IESVE for Room Loads Analysis - Australia & New ZealandUsing IESVE for Room Loads Analysis - Australia & New Zealand
Using IESVE for Room Loads Analysis - Australia & New Zealand
 
GraphAware - Transforming policing with graph-based intelligence analysis
GraphAware - Transforming policing with graph-based intelligence analysisGraphAware - Transforming policing with graph-based intelligence analysis
GraphAware - Transforming policing with graph-based intelligence analysis
 
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.ILBeyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
 
Into the Box 2024 - Keynote Day 2 Slides.pdf
Into the Box 2024 - Keynote Day 2 Slides.pdfInto the Box 2024 - Keynote Day 2 Slides.pdf
Into the Box 2024 - Keynote Day 2 Slides.pdf
 
Prosigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology SolutionsProsigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology Solutions
 
Advanced Flow Concepts Every Developer Should Know
Advanced Flow Concepts Every Developer Should KnowAdvanced Flow Concepts Every Developer Should Know
Advanced Flow Concepts Every Developer Should Know
 
Accelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with PlatformlessAccelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with Platformless
 
Mastering Windows 7 A Comprehensive Guide for Power Users .pdf
Mastering Windows 7 A Comprehensive Guide for Power Users .pdfMastering Windows 7 A Comprehensive Guide for Power Users .pdf
Mastering Windows 7 A Comprehensive Guide for Power Users .pdf
 

Introduction to Enterprise Applications and Tools

  • 1. Enterprise Applications & Tools/Methods to Develop them Lecture Series Under IFS-PERA collaboration [2010] Tharindu Weerasinghe [MSc.Eng, BSc.Eng (Hons), MIEEE, AMIESL] Software Engineer, IFS R&D International © 2010 IFS
  • 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)
  • 8. SOME TOOLS & TECHNOLOGIES Related to ESAs © 2009 IFS
  • 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.
  • 18. Sample WEB APP using various technologies (contd.)
  • 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…
  • 20. JavaScript - Simple Sample (From W3Schools) <!DOCTYPE html> <html> <head> <script> function myFunction() { alert("Hello World!"); } </script> </head> <body> <button onclick="myFunction()">Try it</button> </body> </html>
  • 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.
  • 22. Apache Ant – Sample XML build file
  • 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)
  • 28. Multiple Views using the same model (an internet example)
  • 29. Controller in between Model & View (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
  • 31. THANK YOU! tharindu.weerasinghe@ifsworld.com © 2009 IFS tharindu.weerasinghe@gmail.com
  • 32. SPECIAL MENTION: •All on-line material referred when preparing these slides. © 2009 IFS
  • 33. www.IFSWORLD.com THIS DOCUMENT MAY CONTAIN STATEMENTS OF POSSIBLE FUTURE FUNCTIONALITY FOR IFS’S SOFTWARE PRODUCTS AND TECHNOLOGY. SUCH STATEMENTS OF FUTURE FUNCTIONALITY ARE FOR INFORMATION PURPOSES ONLY AND SHOULD NOT BE INTERPRETED AS ANY COMMITMENT OR REPRESENTATION. IFS AND ALL IFS PRODUCT NAMES ARE TRADEMARKS OF IFS. THE NAMES OF ACTUAL COMPANIES AND PRODUCTS MENTIONED HEREIN MAY BE THE TRADEMARKS OF THEIR RESPECTIVE OWNERS. © 2009 IFS