Java: Risks, Benefits, and Potential Issues in Software Engineering, Slides of Introduction to Database Management Systems

The risks and benefits of using java for software engineering, including potential risks such as unclear standardization, microsoft and apple's impact, and security flaws. It also discusses the benefits of java's rapid evolution, compatibility with other languages and platforms, and its use in various industries. The document also includes a discussion on the future plans for java.

Typology: Slides

2012/2013

Uploaded on 05/15/2013

raaj
raaj 🇮🇳

4.6

(8)

92 documents

1 / 29

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
The Risks and Benefits of Software
Engineering with Java
Docsity.com
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d

Partial preview of the text

Download Java: Risks, Benefits, and Potential Issues in Software Engineering and more Slides Introduction to Database Management Systems in PDF only on Docsity!

The Risks and Benefits of Software

Engineering with Java†

Identifying Relevant Issues

Strongest Potential Risks

 Unclear Standardization - A Political Hot Potato

 Microsoft and Apple - Partnership’s Impact on

Java

 Security Flaws and Java - A Constant Concern

 Performance - Will (Has?) HotShot VM Solve

Problem?

 Portability and Look-and-Feel: Has Platform

In(De)pendence been Achieved?

Identifying Relevant Issues

Most Significant Potential Benefits

 Programming Language Interactions - Cross Compilation, Byte-Code Generators, Translators  Client/Server and DOC - CORBA, ORBs, JNI, Legacy/COTS  Database/Persistence - Interactions with Relational/OO DBS

ALL THREE INVOLVE ENTERPRISE COMPUTING!!!

Assessing Risks and Benefits

 Java is Rapidly Evolving

 What are the Key Issues that Software Managers and Engineers Must Understand to Successfully Utilize Java?

 What are the Strongest Potential Risks for Switching to Java?

 What Capabilities of Java Provide the Strongest Case for the Technology?

 How Quickly Can Software Professionals Learn Java?

 What are the Long-Term Benefits of Java?

 How Can Java Interact with PLs, Legacy, and COTS?

Potential Risk 1: Standardization

 Unsettled Issue May Impact on Potential of Java

 Standardization Needed by Business/Government

 Sun asked International Standards Organization (ISO) to Declare Java as International Standard

 However, Sun wanted to Retain Sole Ownership

 US Delegation Against this Move - Supported by HP, Intel, TI, IEEE, etc.

 Other Nations (France, Great Britain) Back Sun

 Final Vote 20-2 in Favor of Sun: November 14, 1997

 Current Status: Java Standard May be Turned Over to Third Party Independent of Sun

Potential Risk 1: Standardization

 Without a Single Standard, Companies May Only Support Subsets of Java

 For Example, Sun Suing Microsoft Claiming that Internet Explorer Omits Vital Parts of Java

 Does Microsoft’s Version of Java Contain Features/Capabilities not in Sun’s Version?

 Multiple and Varied Subsets will Destroy Platform Independence

 Why Should One Switch to Java if Multiple Versions of ‘Same’ Software Maintained for Different Platforms?

 This is a Significant Con that Must be Monitored!

Potential Risk 2: Microsoft/Apple

 Con: Competing/Incompatible Java Versions will Significantly and Adversely Reduce its Attractiveness

 IBM, Sun, and Netscape Announced an Alliance to Cooperate on Java to Counter Microsoft’s Move

 Striving for Compatibility on All Platforms Including Win95 and NT

Pro: Microsoft Move May Force Sun to Change their Standards Position

Unknown: Strength and Productivity of Alliances

Potential Risk 3: Security Flaws

 Announcements in Mainstream Press of Flaws in Netscape or Explorer

 Flaw in Browser (or Software Application) May Result in a Java Applet Causing Damage During Execution

 August 1997 Bug in Internet Explorer

 Permitted an Applet to Open Network Connection to a Server Different from its Origin

 Violates Java Security Model

 Bug in Explorer Rather Than Java

Potential Risk 4: Performance

 Java has Poor Performance Reputation

 Execution Speed May Differ Substantially Across Platforms

 One Solution: Third-Party JVM Customization (Kaffe)

 Another Solution: Microsoft’s Win95 Java Performs Better than Sun’s Win95 Version of Java

 Yet Another Solution: Sun’s HotSpot JVM in 1.2 with Just-in-Time Compilation

Con: Microsoft’s Own Version is Workable Assuming a Java Standard to Force Completeness!

Just-In-Time Compilation

Potential Risk 5 :

Portability and Look-and-Feel

 First Experience: CSE

 50+ Students given 41 “.class” Files and 4 “.java” Files with 3 weeks to Learn Java, html, and Modify/Extend Code  All But 1 or 2 Finished Project  CSE230 Now Java Based

 Platforms Utilized:  “.class/.java” Files Built on Solaris  Students Used Solaris, Win95/98/NT, Linux  Projects Graded on Solaris  Java Release Versions Caused Problems

 Successful from Learning/Course Perspective

 Students Indicated High Satisfaction with Project

Learning, Language, Environment 1 :

Similarity to C/C++/OO

 Non-OO Language Constructs of Java (Statements, Operators, Precedence, Declarations, etc.) Identical or Similar to C++

 OO Features Class, Inheritance, Exceptions - Strong Syntactic and Semantic Ties to C++

 Experience at UConn In Learning/Using Java

 30 Juniors/Seniors One Semester Significant Team Projects  50 Juniors Modify/Extend Existing Code Individual Project  50 Juniors with Java as CSE230 Language

 Background of SW Engineering, OO, and C++

Pro: Similarity to C++ and Ease of Learning!

Learning, Language, Environment 2 :

Teaching Perspective

 Java has Emerged as an Excellent Teaching Language  Platform Independence - Instructor Can Avoid HW/OS Differences  ‘Free’ Compilers Across Platforms: Students Use/Download Familiar Platforms!  Easy to Learn if Know C++  Enforcement of Abstraction and Modularization with Class/Package Paradigms  Hiding Allows Controlled Sharing Between Classes with Alternate Visibility Choices  Pro: OO Java More Robust /Versatile than C++

Learning, Language, Environment 2 :

Teaching Perspective

 In a University Setting Java is Easily Established on Existing Hardware with Ease and Without Cost

 Students have Downloaded and Installed Java on Win95, NT, and Linux

 Availability of Shareware IDEs Provides Powerful Tools that Assist in Effectively Utilizing Java

 Java APIs Support Breadth of Domains and Applications Including Business, Engineering, GUIs, Embedded Systems, Databases, etc.

Pro: Java in Classroom is a Strong Benefit!