Title: Comparing%20J2EE%20and%20.NET%20Frameworks
1Comparing J2EE and .NET Frameworks
- Puttam Reddy Venkata Karthik
- M.S. Defense
- Major Professor Dr. William Hankley
2Introduction
- Overview of J2EE and .Net frameworks
- Discussion of system and application
architectures of the frameworks - Analogies and differences between the frameworks
- J2EE and .Net Pet stores
- Sample Application Food and Nutrition Program
Proposal Application - Conclusion
3Overview of J2EE and .Net
- J2EE refers to a group of specifications,
frameworks, technologies, etc. - It does not as such refer to any specific
language. - Comprises of a number of programming and
scripting languages. - Cross-platform portability.
- Availability of open-source libraries.
- Huge server-side deployment base.
- Coverage for most W3C standards .
4Overview of J2EE and .Net contd.
- .Net is a framework developed by Microsoft.
- Used to build web and windows based applications.
- Uses several programming languages and libraries.
- Quickly build, deploy and manage applications.
- Consistent programming model.
- Direct support for security.
- Simplified development efforts.
- Easy application deployment and maintenance.
5J2EE System Architecture
6.NET System Architecture
7J2EE Application Architecture
8.NET Application Architecture
9Comparison between J2EE and .NET
FEATURE J2EE .NET
Type of Technology Standard Product
Middleware Vendors Oracle, IBM, BEA Systems and many others Microsoft
Web Pages and HTML JSPs ASP.NET
Middle-Tier Components EJBs .Net Managed Components
Database Connectivity JDBC ADO.NET
Execution Engine JVM (Java Virtual Machine) CLR (Common Language Runtime)
Portability Variety of Operating systems Windows
Interpreter JRE CLR
Language support JAVA Multiple Languages
Tools support Eclipse, JBuilder etc. Visual Studio.Net
10Comparison between J2EE and .NET contd.
- HTML generation
- J2EE JSPs and Servlets
- .NET ASP.NET under Internet Information Server
(IIS) - Transactions
- J2EE manual transaction management or automated
through containers - .NET manual transaction management or automated
through CLR
11Comparison between J2EE and .NET contd.
- Calling remote objects
- J2EE JNDI finds server-side components such as
EJBs or JMS queues. - .NET .Net remoting allows calls to remote
objects distributed across application domains,
processes, and machine boundaries. - Data Access
- J2EE Two main types of entity beans are used to
model persistent data which are container-managed
and bean-managed. - .NET A variety of data sources can be accessed
by developers through .Net's ADO.Net classes.
12Comparison between J2EE and .NET contd.
- Execution Engine
- J2EE Java source code compiles into
machine-independent byte code, which the JVM
interprets at runtime. - .NET The CLR environment executes .Net's
Microsoft Intermediate Language code. - Cross - platform portability
- J2EE J2EE offers complete cross-platform
portability. - .NET .Net only supports the Windows platform.
13Comparison between J2EE and .NET contd.
- Language support
- J2EE Only Java is supported.
- .NET - It is language independent and can use any
language once a mapping exists from that language
to IL. - Tools support
- J2EE Java features a plethora of tools
Eclipse, JBuilder, JDeveloper etc. - .NET Visual Studio .Net, the single IDE for
building .Net windows, web applications, or XML
Web services. - Vendor support
- J2EE Vendor support represents one of the major
strongholds of J2EE. - .NET Currently, .Net is a Microsoft platform.
14J2EE and .NET Pet stores
- Sample e-commerce application where customers can
buy pets online in various categories. - Ability to search and browse for products
through a website. - The J2EE Pet store documents the best practices,
design patterns, and architectural ideas for J2EE
applications. - Java Pet Store The main J2EE Blueprints
application. - Java Pet Store Administrator The administrator
module for the Java Pet Store. - Blueprints Mailer A mini-application that
presents some of the J2EE Blueprints design
guidelines in a smaller package.
15J2EE and .NET Pet stores contd.
- Similar application called the .NET Pet store has
been implemented in .NET using C and focuses
solely on the Java Pet store component. - The administration or mailer component were not
implemented. - Was built to compete with the J2EE version and
document .NETs own best practices for building
enterprise n-tier applications. - Further objectives include compare and contrast
code size and number of users supported when
implemented in .NET and J2EE - .NET version claims superiority over J2EE version
based on lines of code, response time, CPU
utilization and scalability.
16Pet store Use Case diagram
17Pet store session
- Homepage - This is the main page that loads when
the user first starts the application. - Category View - There are five top-level
categories Fish, Dogs, Reptiles, Cats, and
Birds. Each category has several products
associated to it. If we select Fish as the
category, we might see "Angelfish" etc. - Products - If you now select a product the
application will display all variants of the
product. Typically the product variant is either
male or female. - Product Details - Each product variant
(represented as items) will have a detailed view
that displays the product description, a product
image, price, and the quantity in stock. - Shopping Cart - This allows the user to
manipulate the shopping cart (add, remove, and
update line items). - Checkout - The checkout page displays the
shopping cart in a read-only view. - Login Redirect - When the user selects "Continue"
on the checkout page, they are redirected to
login page if they have not signed in yet. - Verify Sign In - After being authenticated onto
the site, the user is then redirected to the
credit card and billing address form. - Confirm Order - The billing and the shipping
addresses are displayed. - Commit Order - This is the final step in the
order-processing pipeline. The order is now
committed to the database at this point.
18Pet store statistics
19Pet store statistics
20Sample Application Food and Nutrition Program
Proposal Application
- Addition of a new module developed using .NET, C
and Oracle 10 g, to the existing FNP website. - Allows county agents throughout the state of
Kansas to submit online budget proposals and
review salaries and benefits information. - Generates in excess of 25 automated reports based
on different calculations. - Keeps track of changes made to applications
between fiscal years. - Stores information by county about proposals,
personnel information, collaborating agencies,
equipment used and proposed curriculum. - Minimizes need for manual data entry
- Provides several layers of user authentication.
- All data and reports are dynamically generated
based on user input.
21System Architecture
22Database Design
23Use Case Diagram
24Control flow diagram for County Agent
25Control flow diagram for System Administrator
26Enhancements
- Speed
- Reduction in lines of code
- Improved user navigation
- Ease of deployment
- Automated data and report generation
- Storage of view state in state server
- Cascading style sheets
27Testing ANTS Load
28Testing contd.
29Conclusion
- The .Net and J2EE frameworks were compared.
- A concise understanding of the two technologies
was obtained. - A comparison between The .Net and J2EE pet
stores, was drawn. - Results of published tests seem to indicate that
the .Net framework achieved better results. - Given that benchmarks are considered unreliable
because they are based on a specific set of
rules, no conclusion can be drawn from these
tests. - The design approaches to building an application
in the frameworks is different. - The .Net approach constructs a model based on the
database schema and is driven mostly by the
database implementation. - The J2EE framework focuses more intensely on an
object model, as demonstrated by the J2EE pet
store and all designs are influenced by the J2EE
design patterns.
30Conclusion contd.
- Given the features and capabilities of each
framework are similar to each other but
implemented in different ways, it is not
possible to conclude that one framework is better
than the other. - The most suitable conclusion to the .NET vs. J2EE
debate is that both frameworks will enjoy
widespread use and with the advent of
interoperability, it will be possible to get the
best of both these frameworks. - Also, a sample project was implemented in .Net,
which provides users with a dynamic and flexible
interface and furthers my understanding of the
.Net framework.
31