





















Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
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
1 / 29
This page cannot be seen from the preview
Don't miss anything!






















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?
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!!!
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?
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
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!
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
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
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!
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
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!
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++
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!