Logo

Navigation
  • Home
  • Services
    • ERP Solutions
    • Implementation Solutions
    • Support and Maintenance Solutions
    • Custom Solutions
    • Upgrade Solutions
    • Training and Mentoring
    • Web Solutions
    • Production Support
    • Architecture Designing
    • Independent Validation and Testing Services
    • Infrastructure Management
  • Expertise
    • Microsoft Development Expertise
    • Mobile Development
    • SQL Server Database and BI
    • SAP BI, SAP Hana, SAP BO
    • Oracle and BI
    • Oracle RAC
  • Technical Training
    • Learn Data Management
      • Business Intelligence
      • Data Mining
      • Data Modeling
      • Data Warehousing
      • Disaster Recovery
    • Learn Concepts
      • Application Development
      • Client Server
      • Cloud Computing Tutorials
      • Cluster Computing
      • CRM Tutorial
      • EDI Tutorials
      • ERP Tutorials
      • NLP
      • OOPS
      • Concepts
      • SOA Tutorial
      • Supply Chain
      • Technology Trends
      • UML
      • Virtualization
      • Web 2.0
    • Learn Java
      • JavaScript Tutorial
      • JSP Tutorials
      • J2EE
    • Learn Microsoft
      • MSAS
      • ASP.NET
      • ASP.NET 2.0
      • C Sharp
      • MS Project Training
      • Silverlight
      • SQL Server 2005
      • VB.NET 2005
    • Learn Networking
      • Networking
      • Wireless
    • Learn Oracle
      • Oracle 10g
      • PL/SQL
      • Oracle 11g Tutorials
      • Oracle 9i
      • Oracle Apps
    • Learn Programming
      • Ajax Tutorial
      • C Language
      • C++ Tutorials
      • CSS Tutorial
      • CSS3 Tutorial
      • JavaScript Tutorial
      • jQuery Tutorial
      • MainFrame
      • PHP Tutorial
      • VBScript Tutorial
      • XML Tutorial
    • Learn Software Testing
      • Software Testing Types
      • SQA
      • Testing
  • Career Training
    • Career Improvement
      • Career Articles
      • Certification Articles
      • Conflict Management
      • Core Skills
      • Decision Making
      • Entrepreneurship
      • Goal Setting
      • Life Skills
      • Performance Development
      • Personal Excellence
      • Personality Development
      • Problem Solving
      • Relationship Management
      • Self Confidence
      • Self Supervision
      • Social Networking
      • Strategic Planning
      • Time Management
    • Education Help
      • Career Tracks
      • Essay Writing
      • Internship Tips
      • Online Education
      • Scholarships
      • Student Loans
    • Managerial Skills
      • Business Communication
      • Business Networking
      • Facilitator Skills
      • Managing Change
      • Marketing Management
      • Meeting Management
      • Process Management
      • Project Management
      • Project Management Life Cycle
      • Project Management Process
      • Project Risk Management
      • Relationship Management
      • Task Management
      • Team Building
      • Virtual Team Management
    • Essential Life Skills
      • Anger Management
      • Anxiety Management
      • Attitude Development
      • Coaching and Mentoring
      • Emotional Intelligence
      • Stress Management
      • Positive Thinking
    • Communication Skills
      • Conversation Skills
      • Cross Culture Competence
      • English Vocabulary
      • Listening Skills
      • Public Speaking Skills
      • Questioning Skills
    • Soft Skills
      • Assertive Skills
      • Influence Skills
      • Leadership Skills
      • Memory Skills
      • People Skills
      • Presentation Skills
    • Finding a Job
      • Etiquette Tips
      • Group Discussions
      • HR Interviews
      • Interview Notes
      • Job Search Tips
      • Resume Tips
      • Sample Resumes
 

Future of Java Technology

By Exforsys | on November 26, 2005 |
J2EE

Future of Java Technology

When Java was developed initially as OAK even its developers were not sure in which direction the technology will grow. And actually Java has taken an unexpected turn around as a development technology. It started its journey with embedded applications but people found it somewhat slow when compare to C++. Java made foray into web in the form of applets and ruled the world for sometime. But then came enterprise era with crusade of .NET and J2EE. In this article let us examine possible directions where there are chances Java will grow as development technology.

The Core (Dead???)

Some people say there is no need of separate Core Java, which is now known as J2SE. J2SE comprise of core Java components and libraries like core language library, utilities, SWT, Swing, Networking, Security etc.

For Thick Clients

Now-a-day people expect great performance from applications which are hosted over the net on some remote servers. Implementing thick client is one of the solutions to achieve better performance for such applications. Thick client means the implementation where client itself carries out some operations without interrupting server for small things. Java applets are most competitive candidate for thick clients. They can offer full-fledged stand-alone functionalities even though downloaded from a remote server.

As a Base

To develop advanced components and tools one always need to use the base library. J2SE provides basic libraries like language features, utilities and networking APIs. Even J2EE and other Java technologies are extended or developed over the top of such base libraries. With the changing times, J2SE or Core Java is not going to lose its importance.

For Desktop

Sometimes back people started to believe that Java is meant for web applications only. Java still can make its mark as development technology for stand-along applications. The only drawback of Java for desktop applications is degraded performance. Modern hardware can easily overcome this drawback. But at the same time Java comes with many advantages that applies to stand alone applications too, like platform independence, scalability, easy to maintain, flexibility etc.

Enterprise

The enterprise form of Java, which is known as J2EE (Java 2 Enterprise Edition), is the most famous Java architecture in use in modern scenario. J2EE is a combination of many technologies bundled together to form a pack, which offers everything that is required to develop an enterprise application. It comes with features like flexibility, scalability, object orientation, security, persistence, caching, performance tuning and many more.

In Full Swing

At the time when .NET was launched in market people started to believe that .NET will enjoy monopoly in market of enterprise application development technologies. But Java made its comeback with J2EE as prominent technology for enterprise and web applications. It started offering everything compatible to .NET along with its age-old advantages like free of cost and platform independence. Because of such advantages more and more people started to select J2EE as their development technology to develop enterprise and web applications. It has been observed in one survey that the ratio of applications being developed using .NET and J2EE is 28-72. This shows importance of J2EE throughout the industry. Let us also analyze importance of components and technologies forming part of J2EE in enterprise applications.

  • JSP/Servlets : All applications developed over J2EE technology are using either Jsp (Java Serve Pages) or Sevlets directly or indirectly. Servlets are in use since a long time, as they were developed to provide a Java alternate to low speed CGI technology. Jsp was introduced to compete with ASP of Microsoft. Jsp provides easy to design layer over Servlets. In most cases Jsps and Servlets are used as view and controller layer of the application if the applications if going to be developed in multiple tires.
    .
  • EJB : Enterprise Java Beans better known, as Ejb is another important and most widely used J2EE technology. Usage of Ejb provides everything to the developer that is required for enterprise applications including container managed persistence, declarative transactions, caching, instance pooling, remote access etc. Ejb helps to make J2EE application more scalable. Most time Ejb is used to implement core business logic or the middle tier of the application. There is still a debate if Ejb is really significant for J2EE applications or not.
    .
  • JMS : Java Messaging Service offers asynchronous communication between Java objects. It provides a standard way of such communication between JVMs using remote calls too.
    .
  • JNDI : Java Naming and Directory Interface, which is widely used by Ejb, is one of the core components of J2EE. It makes possible to connect and access objects and resources fro directory services like LDap.

New Trends

People are always in search of implementing J2EE, a way that it can be used optimally. Several new frameworks, practices and design patterns are develop to make proper utilization of advantages of J2EE. Some of them are discussed here.

  • Design Patterns : For enterprise applications it is very important that they are well designed prior to start of their development phase because they are large in scale. And to design a J2EE application there is always need for years of experience and expertise over technology. Some of the design patterns are MVC (Model-View-Controller), DAO (Data Access Objects), Session Façade, Front Controller, Composite View and many more.
    .
  • Frameworks : Some organizations have developed their own frameworks over the top of J2EE. Purpose after developing such frameworks is to provide functionalities that are common for all applications so that applications can be developed within a short period of time. Also such frameworks implement best J2EE practices to achieve high performance and other advantages of J2EE. Some popular J2EE frameworks are Struts, Spring etc.
    .
  • J2EE Best Practices : People have found ways to utilize J2EE framework in such a way that it can perform at its best and also it can be utilized with its all advantages like scalability, easy to maintain, flexibility, remote access etc. Such practices are used by many developers and proven to be useful to achieve such goals in J2EE applications. and are also known as J2EE best practices. Most J2EE frameworks and design patterns are implemented in such a way that they implement some proven best practices.
    .
  • New Technologies : The Java community which is controlled by Sun keeps including new features and technologies to J2EE such as JFS (Java Faces Service), Java.net, Java gaming, Java AI etc.

Missing

It is not that J2EE has got everything that is required to develop an enterprise application for modern scenario. To compete with .NET it needs some more improvements in many areas.One major area is client side components. .NET comes with client side components those are rendered depending on type of browser used by the client. This features if going to be achieved by JFS but its implementation is not complete yet.

Another area where J2EE is lagging behind is, integration. It is not that you go and install some J2EE kit and start developing your application. You have install and plug-in many things to achieve your desired goals in a J2EE application. Java community should find a way to cop with this situation and provide more and more features and functionalities with its standard kits.

Real Hopes

There are some areas of communication and information where Java has proved it very useful. Java has a chance to grow more and achieve a lead in these areas.

Go Mobile

Mobile phone applications are very wide scope area where Java is being used for its portability and independence. Most of mobile phones operate over Java implementations. Sun has its own implementations names as J2ME (Java 2 Micro Edition), but most mobile phone vendors have developed their own version of J2ME.

Apart from mobile phones Java applications are also significant for other small devices like palmtops, digital diaries etc. Because of its portability and independence from underlying hardware Java is being widely used to develop applications those can be accessed through small devices.

Embedded

This is the area for which Java programming language was initially intended for. But then people found it to be very slow for Embedded applications. But now a day Java is gaining more popularity to develop embedded applications. The reason after such popularity is its platform independence. The same embedded applications coded once can be used to control many different types of machines and devices. So the principle of reusability is gaining more popularity among embedded applications community and so Java.

Summary

After examining scope, usage and potential of different areas of Java technology we can summarize that it has still long way to go. Java has got a lot of potential to develop and grow in many areas. For existing areas like desktop applications and enterprise applications there are chances for Java to gain better role. Also it has got to grow in new areas of embedded applications in future.

« « .NET and J2EE – A Comparsion Study
Is Ejb really significant in enterprise applications? » »

Author Description

Avatar

Editorial Team at Exforsys is a team of IT Consulting and Training team led by Chandra Vennapoosa.

Free Training

RSSSubscribe 394 Followers
  • Popular
  • Recent
  • What You Should Know About Java XML

    July 25, 2006 - 0 Comment
  • New Features in Java 5 – From Programmers Point of View

    November 26, 2005 - 0 Comment
  • Determine the Effectiveness of your Java Software

    July 5, 2006 - 0 Comment
  • Why It is Important To Focus On Java Exceptions For Your Programs

    July 27, 2006 - 0 Comment
  • Performance Tuning of Java Applications

    December 2, 2005 - 0 Comment
  • How To Develop RFID Applications In Java

    July 8, 2006 - 0 Comment
  • Important Features of Java – Multithreading, AWT

    July 26, 2006 - 0 Comment
  • J2EE Overview

    December 6, 2005 - 0 Comment
  • How To Perform Class Loading With Java

    July 8, 2006 - 0 Comment
  • Servlet Basics

    December 6, 2005 - 0 Comment
  • Why It is Important To Focus On Java Exceptions For Your Programs

    July 27, 2006 - 0 Comment
  • Important Features of Java – Multithreading, AWT

    July 26, 2006 - 0 Comment
  • What You Should Know About Java XML

    July 25, 2006 - 0 Comment
  • What You Can Do To Deal With Java’s Memory Retention Problems

    July 22, 2006 - 0 Comment
  • Java Overview

    July 17, 2006 - 0 Comment
  • How To Use Java DB as Your Client Mobile Database

    July 14, 2006 - 0 Comment
  • How To Run J2ME Programs on Palm Devices

    July 14, 2006 - 0 Comment
  • Java Virtual Machine

    July 13, 2006 - 0 Comment
  • Quickly Develop Java Programs With Tapestry

    July 12, 2006 - 0 Comment
  • A Java TOC2 Class Which Can Contact Aim

    July 12, 2006 - 0 Comment

Exforsys e-Newsletter

ebook
 

Related Articles

  • Why It is Important To Focus On Java Exceptions For Your Programs
  • Important Features of Java – Multithreading, AWT
  • What You Should Know About Java XML
  • What You Can Do To Deal With Java’s Memory Retention Problems
  • Java Overview

Latest Articles

  • Project Management Techniques
  • Product Development Best Practices
  • Importance of Quality Data Management
  • How to Maximize Quality Assurance
  • Utilizing Effective Quality Assurance Strategies
  • Sitemap
  • Privacy Policy
  • DMCA
  • Trademark Information
  • Contact Us
© 2023. All Rights Reserved.IT Training and Consulting
This website uses cookies to improve your experience. We'll assume you're ok with this, but you can opt-out if you wish.AcceptReject Read More
Privacy & Cookies Policy

Privacy Overview

This website uses cookies to improve your experience while you navigate through the website. Out of these, the cookies that are categorized as necessary are stored on your browser as they are essential for the working of basic functionalities of the website. We also use third-party cookies that help us analyze and understand how you use this website. These cookies will be stored in your browser only with your consent. You also have the option to opt-out of these cookies. But opting out of some of these cookies may affect your browsing experience.
Necessary
Always Enabled
Necessary cookies are absolutely essential for the website to function properly. This category only includes cookies that ensures basic functionalities and security features of the website. These cookies do not store any personal information.
Non-necessary
Any cookies that may not be particularly necessary for the website to function and is used specifically to collect user personal data via analytics, ads, other embedded contents are termed as non-necessary cookies. It is mandatory to procure user consent prior to running these cookies on your website.
SAVE & ACCEPT