Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
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