Download IEEE Paper Template in A4 (V1) - Academic Science,International

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts
no text concepts found
Transcript
JAVA TO .NET MIGRATION
HIMANI SINGH, SATYA SINGH
Department of computer science and engineering
Raj Kumar Goel Institute of Technology for Women Ghaziabad (U.P.), India
[email protected]
[email protected]
Mr. Sunil Kumar
Assistant professor, department of computer science
Raj Kumar Goel Institute of Technology for Women Ghaziabad (U.P), India
[email protected]
PLATFORM MIGRATION
Abstract—
Microsoft’s .NET Framework and sun micro system’s java
Hotspot Virtual Machine are latest achievements in platforms
independent of underlying system. .NET Framework provides
the interoperability. .NET and java both the languages are
machine independent. Both the platforms provide runtime
environment.In both the languages the intermediate code is
translated into machine specific code at run time and then
executed.This approach opens oppurtunities for runtime
optimizations,manage code execution.
KEYWORDS-Migration, performance, c# and Java Languages.
1. INTRODUCTION
Application development process traditionally includes
compilation, which is usually done before deploying the
application to end user. If multiple platforms are to be
supported, then multiple versions of executable code need to
be rewritten for each of the platforms. Emergence of the
internet and its availability on all the platforms imposes the
need for machine-independent platform. It enables the same
code to be run on the various computers, regardless of the
operating system and Efforts to ease and simplify application
Emergence of deployment process resulted in emergence of
Sun’s Java, and Microsoft’s .NET platform. This trend
becomes even more popular with the emergence of various
mobile and hand-held devices, whose capabilities are different
from those of desktop systems. The basic idea behind these
platforms is to compile the code to the machine-independent
intermediate representation (Byte Code for Java, and
Microsoft Intermediate Language MSIL for .NET)
We recently completed a research project to identify the trends
and gain insights into development platform migrations.
Migration, in context of change in enterprise development
resources and the underlying tools and technologies used for
development. While changing development is not a superficial
exercise, particularly for larger enterprises using several
developed platforms. The blinded study of IT conducted
Professionals conducted in January 2011 by independent
research and consulting firm, which focussed mainly on the
two major development platform options for organizing
today: .NET and JAVA.
A higher incidence of companies migrating to .NET with 28%
more enterprises migrating from java to .NET than from .NET
to Java.
“As a whole, Companies have gone from 30% development
on Java to 15% development and shrinking.Whereas the .NET
platform is dramatically improving collaboration and creating
leverage, leading to massive application consolidation.”
2. JAVA PLATFORM
Java was the first platform which enables to run the same
program on different computer systems, regardless of
underlying operating system
Although some programming languages before Java were
supported under more operating systems, they still relied
on the system calls and graphic libraries. All parts of the
program that used these features needed to be re-designed for
each platform to be supported.
Java was the first platform which introduces new term
like Java Virtual Machine (JVM). In essence, the original
JVM was designed as graphic libraries.
Although java was design as an interpreted language, there is
nothing about Java that prevents on-the-fly compilation of byte
code into native code in order to boost performance. For this
reason, Sun began supplying its Hot Spot technology not
longer after Java’s initial release. A Just-In-Time (JIT)
compiler is provided by Hot Spot for byte code.
2.1 Code Interpretation
Java virtual machines normally interpret the input byte code.
The Code interpretation is the way of executing the code by
executing each input code
One by one. Inspite the virtual machine isn’t limited to
interpretation, i.e. the most common usage of the term virtual
machine (JVM). Any computer architecture –operating system
combination that has Java Virtual Machine implemented is
said to support Java platform.
3.1 .NET COMMON LANGUAGE RUNTIME (CLR)
It is the most important component of the .NET it is better
known as the runtime It provide runtime environment to run
the code and provide many service develop the application
easily. Services provided by CLR are: exception handling
security memory management compilation code security
During the compilation of code Just-In-Time compiler
performs simple optimization that don’t incur overhead. These
optimizations include method inlining constant folding,
constant and copy propagation, code hosting loop unrolling,
common sub-expression elimination, register Allocation and
peephole optimizations. The main disadvantage of this
approach is that during the install time code generation
performed by JIT compiler on the runtime cannot be applied,
and then the overall performance might decrease.
2.2 JIT Compilation
CONCLUSIONS AND GUIDANCE:
Compilation is done by virtual machines called Just-in-time
compilers (JITs). Instead of translating the program
instruction one by one, like by one. When method is
called for the first time for the execution, its complete
code is translated to machine code, and then executed.
Generated cod e is stored into a cache (code cache), so
that it can be re-used on subsequent calls to the method.
Just-in-time (JIT) compiler takes more time to compile on
first call to the method, but this pays out if the method is
executed many times.
2.3 Java Hot Spot Virtual Machine
Java Hot Spot Virtual machine takes advantage of the socalled 90/10 rule i.e., that program spends 90 % of the
time executing 10% of the code .Rather than compiling
Program method one by one like just-in-time (JIT)
Compiler can devote much more attention to compilation and
optimization of the performance-critical parts
of the
programme, without necessarily increasing the overall
compilation time.
3. .NET PLATFORM
NET
Framework is
an essential
component of the
Windows Operating system, which helps in creating
different application by integrating different
programming
languages. .NET platform provide secure environment in
which languages and libraries work together for running
programmes possibly written in multiple source language.
Language MSIL includes instruction on Loading, storing,
Initializing the code, and Calling methods on objects on
objects, as Well as Instructions for logical and arithmetic
operations, control like code compilation, memory. Language
integration, cross- language, exception handling enhanced
security, debugging and others.
Organizations are moving from java to .NET for a variety of
technical and business reasons, including platform stability and
reliability, vendor support, total cost of ownership, and staff
expertise and the availability of skills.
Their development teams and the newer resources that they
were bringing on board were able to become productive very
quickly and, taking advantage of Microsoft development tools
as well as extensive support and resources, make significant
development contributions.
Java and .NET framework provide means of executing
programs independently of the target system.
This is particularly useful for internet applications that need to
execute on any target computer.
REFERENCES:
[1] Bull J. M., Smith L. A., West head M. D., Hendy D. S., and
Davey R. A.” A Methodology for Benchmarking Java Grande
Applications.
[2] Do ngarra J., Wade R, and McMahan P.” LINPAC Benchmark,
http://www.netlib.org/benchmark/linpackjava,2000.
[3] Indian Institute of Science. Profile-guided optimizations for a
.NET JIT compiler,
http://purana.csa.iisc.ernet.in/~kapil/project.htm, November
2002.
[4] Mathew J. A., Codd ington P. D., and Hawick K. A. Analysis
And Development of Java Grande Benchmarks. In Proc. of
The ACM 1999 Java Grande Conference, San Francisco,
April1999.
[5]Microsoft Corporation. Performance Considerations for RunTime Technologies in the .NET Framework, MSDN Library.
http://msd n.microsoft.com/library/default.asp?url=/library/en
-us/dndotnet/html/dotnetperftechs.asp,August2001