Abstract


The growth of multimedia computing, followed by recent push towards World Wide Web publishing, is rapidly changing the multimedia industry. The multimedia industry both in typical and online field works under pressured; the need to use a growing diversity of multimedia computing tools in terms of planning, creating and reviewing content will help the industry in providing the world with globally competitive service. The media industry depends on technology partners in order to create multimedia-internet applications. Developers tend not to use Java when developing multimedia application (for movies, sound, music, images etc) on the web.” Is this statement correct? Defend your case by using examples or other alternatives. This paper hopes to answer that question by providing through analysis of JAVA application.


Introduction


            Personal computing, multimedia, and computer networks have experienced a tremendous development during the past decade. From expensive, stand-alone, MPC-1-compatible PCs that landed in the marketplace in the early 1990s to the popularization of the Internet (particularly the World Wide Web), the production, archival, and distribution of multimedia has evolved from few limited technologically devices, to a plethora of hardware and software available for these tasks. It is now possible to develop higher quality multimedia content, in less time, and distribute it to a much wider audience (using the Web as opposed to CD-ROMs) than anyone could have imagined a decade ago. The Internet has become ubiquitous and is quickly extending its arms to the wireless arena. The hunger for multimedia-rich content over the Web has fostered developments in many fields, from the technological infrastructure necessary to carry multimedia data, to the tools used to create, manage, and distribute multimedia content. Interactivity is the key concept in many such applications, such as games, maps, and distance learning applications.


What is JAVA?


            Java is an object-oriented programming language that is platform in dependent; this means that any Java program can be downloaded and run on all platforms even without modification. Java was developed and introduced by SUN Microsystems, and is widely used as client and server processing on the World Wide Web. It is developed and modeled after C++ programming language, with added feature that enhances programming such as “garbage collection”, which automatically free unused memory, multithreading, and the capability of a Java program to run using small amount of memory.


            Java is a programming language specifically developed for client and server networked computing or distributed environment particularly the Internet. Although, Java is designed and modeled after C++, it is much easier and simpler to use than C++ and enforces an Object Oriented Programming (OOP) model. Java is an object-oriented programming language. Objects as part of a class, can inherit code that is common to the class.  Java applications can run on a single computer and can also be distributed among various servers and clients in a network. It can also be used in building small application module or applet, which is commonly used in a web page. Applets make interaction between the web page user and the web page server possible. Applets are executed at clients rather than the server, making java applet run faster.


            Programs created on Java are portable in a network. Java programs are compiled into bytecode, which has the capability to run in a network on a server or client that has Java Virtual Machine. Java virtual machine interprets the bytecode into code that will be understandable in computer or machine language. Java code, unlike C++ and other languages, is robust. Java objects contains no references to external data, this ensures that an instruction cannot contain the particular address of data storage in other application or in the operating system; program instructions containing either of which can cause the program or the operating system to “crash”. The Java virtual machine ensures that code integrity. Java virtual machine includes an optional just-in-time compiler, which compiles bytecode into executable code.


             Even more importantly, is the fact that Java was designed to allow secure code execution across a network, even when the particular source is untrusted and may contain malicious codes. Unlike C++, Java has no pointer and cannot access arbitrary addresses in the memory.  Java was designed to make program coding easier and bug free.


Features of Java


            Java has two main features which particularly makes it suitable in creating web-based applications and other distributed network. The two best feature of java is its platform independence and security features. Other important features of java are:


·        Platform Independence


            Java programs can run on any platform without modification; making java       portable. This portability is because of the Virtual machine of java. When a           java program is compiled byte-code is created instead of executable file.


·        Security
Java is a secure language; it is actually one of the first programming languages to consider security as part of its design. Java provides a secure execution of program between cross-platforms.


·        Simple
Java considered a much simpler and easy to use object-oriented programming language if compared with the other popular programming language.


·        Distributed
Java is designed to make distributed computing easy with the networking capability integrated into the language.


·        Interpreted
Interpreter is needed by any programming language to run any program. The programs are compiled into Java Virtual Machine code called bytecode. The bytecode is machine independent and can to run on any machine that has a Java interpreter.


·        Reliability
Reliability and security go hand in hand. Without a reliable framework for program execution security cannot be implemented with any degree of assurance. Java provides multiple levels of reliability measures.


·        Robust
Robust means reliable; Java provides a lot of emphasis on early checking for possible errors.


·        Multithreaded
Multithreaded is the capability of a program to perform several tasks simultaneously within a program.


·        Dynamic
The Java programming language was designed to adapt to an evolving environment. New methods and properties can be added freely in a class without affecting their clients.


·        Other features




    • Arbitrary Graphics and data types



Java allows the server to draw pictures in a window on the client; allowing a web page to independently do anything a regular program is capable of. Java can write content handlers that can display any data format.




    • Less Load on the Server



CPU intensive scripts place a large load on a server, particularly at busy sites. With Java you can off-load the calculations to the client’s PC.




    • More User Interaction



Finally Java allows for more interaction with the user. Java does not only allow a user to paint arbitrary data on the screen. It also allows collecting input from the user in the form of mouse clicks, keystrokes and the like. This lets you put almost any application on your web page that doesn’t require disk access.


Advantages of Java in Multimedia Applications


            Java is appropriate and an ideal tool for creating interactive multimedia applications that will run on the WWW, this is due to the reason that Java provides a means for downloading data and application software for displaying and processing multimedia file within the Internet. In addition, embedding Java applications (Applets) within HTML documents transforms a static web page into a fully interactive multimedia experience. Applets on Java Virtual Machine (JVM) within browsers allow safe program execution of interactive programs over the WWW. The majority of such programs are written in Java; this is due to the flexibility and interactive user interface and great potential of Java written program.


            Java Media Framework API (JMF) is a component of Java programming that allows audio, video, and other time-based media to be embedded to applications and applets built on Java language. JMF includes real-time network protocols that can capture, playback, and stream various multimedia formats; providing a powerful toolkit in developing a scalable and cross-platform Java application. JMF supports multiplexing wide range of codec, players, effects, capture, and other multimedia control mechanism. However, due to the complexity of JMF, it is quite difficult to understand.


Java in Multimedia Applications


            Communication through voice has always been a direct and traditional way of communicating. In a conventional classroom scenario, using voice in communication is efficient. But in today’s educational set-up, wherein online education or e-learning is becoming the prime educational teaching method; audio conference should be efficiently delivered. In a digital classroom, audio conference is based on client-server model, all conversation in the network are recorded, compressed and sent to network servers. When the server received all the audio source packets, the server then decompresses, mixes, and then finally transmits the audio packets to all the participants in the network. Voice conference is just a component of multimedia; multimedia is integrating audio and video data in an application.


            There is a growing trend in integrating multimedia in the Internet; this is proven by the increasing number of radio and television stations, and other companies around the globe beginning to offer multimedia content over the Internet. Examples is yahoo which has radio and television broadcast, as well as video streaming and entertaining games integrated in their website. In addition, some multimedia applications are capable in supporting active user feedback, or even user participation. Example of interactive multimedia is JMapView, which is a type of interactive map or Geographical Information System (GIS).


            Java applications on mobile phone are becoming a trend in today’s mobile industry. Java language is capable of producing mobile games for mobile phones; which is interactive and enjoyable. Video streaming is also possible trough java. Mobile Broadcast Service for handheld terminal allows a user to download and send multimedia file; this is the latest java-based multimedia application.


Java Multimedia Protocol



  • JSR 135 (Mobile Media API)


This protocol specifies a small-footprint (The API allows easy and simple access and control of basic audio and multimedia resources on devices with limited memory and processing capabilities) multimedia for Java, allowing simple and easy access in controlling basic audio and multimedia resources while addressing scalability



  • JSR 184 (bile 3D Graphics API)


            Provide a scalable, small-footprint, interactive 3D API for mobile devices



  • JSR 189 (JavaTM 3D API 1.4)


Adds a new large scale functionality to Java 3D. That includes programmable shading and advanced rendering techniques



  • JSR 309 (Media Server Control API)


This protocol provides a portable interface tool in creating media rich applications with IVR, Conferencing, Speech Recognition, and similar features.


 


Disadvantages of Java             The major disadvantage of Java is the speed of program execution. This can be cause by slow and limited bandwidth of the communications channel and the added delay caused by the network browser translating the byte code. Compiling java codes can consume some time and java as an interpreted language has a major disadvantage when it comes to speed. But with faster computers available, such issue should not be considered a problem.             Bergin (1996) complains that Java lacks templates, overloaded operators, and user-defined conversions. The latter two, he points out, are useful for making a user-defined type behave like a built-in type; although this complaint proves to be wrong in the next years to come.

Conclusion


            Java is receiving widespread interest in terms of usage, and it will undoubtedly become as an important useful internet development tool. Java supports a new programming paradigm, which allows programmers to create platform independent and web-executable program. Future development on web applications using java is very promising. Since the introduction of Java, major software companies (such as Microsoft, IBM, and Oracle) have been integrating Java programming into their web-based products.


            Java in multimedia applications is becoming a common trend; this is because of the capability of java language in multimedia performance and its practical web-based nature. Java makes multimedia application easy and secured.


            Java language has significant advantages in many industries not only for commerce but education. It allows students to easily learn object-oriented programming without complexity. It provides rigorous compile-time error checking. And it allows instructors to introduce students to GUI programming, networking, threads, and other important concepts used in modern-day software. Java introduced multimedia as an effective method for teaching; embedding both audio and video educational references in teaching. Java-based multimedia teaching provides an interactive environment that captures the logic of real-time education. Java is an excellent instrument for multimedia.



Credit:ivythesis.typepad.com


0 comments:

Post a Comment

 
Top