Business Applications of Java
Java is a versatile programming language widely used in various business applications, particularly within e-commerce, data warehousing, and industrial automation. Its significant feature is portability, enabled by the Java Virtual Machine (JVM), which allows Java applications to run on different computer systems without needing rewrites. Major e-commerce platforms like eBay and Amazon leverage Java to enhance user interfaces and manage backend processes, highlighting its role in facilitating global transactions and data management.
In the realm of data warehousing and mining, Java is pivotal for businesses to analyze large datasets, helping them understand customer behavior and streamline operations. The language’s compatibility with technologies like XML and APIs aids in integrating diverse data systems, which is crucial for industries handling vast amounts of information. Additionally, Java supports the development of scalable enterprise applications through the Java Platform, Enterprise Edition (Java EE), which features Enterprise JavaBeans (EJB) for building complex, secure business solutions.
In industrial contexts, Java contributes to the efficiency of manufacturing processes by enabling automation and system integration, essential for modern agile manufacturing environments. Overall, Java's open standards and robust security frameworks make it a foundational technology for advancing e-business functions and operational efficiencies across various sectors.
On this Page
- Overview
- Applications of Java
- Applications
- Java on the World Wide Web
- eBay
- Amazon
- Java in Data Warehousing & Mining
- Metadata Issues
- Enterprise JavaBeans
- Java in Industrial Settings
- Integration
- Scalability
- Issues
- Java Security for E-Business Applications
- Authentication & Authorization
- Conclusion
- Terms & Concepts
- Bibliography
- Suggested Reading
Subject Terms
Business Applications of Java
This article examines the growing use of Java technology in business applications. The history of Java is briefly reviewed along with the impact of open standards on the growth of the World Wide Web. Key components and concepts of the Java programming language are explained including the Java Virtual Machine. Examples of how Java is being used by e-commerce leaders is provided along with an explanation of how Java is used to develop data warehousing, data mining, and industrial automation applications. The concept of metadata modeling and the use of Extendable Markup Language (XML) are also explained.
Keywords: Application Programming Interfaces (API's); Enterprise JavaBeans (EJB); Extendable Markup Language (XML); HyperText Markup Language (HTML); HyperText Transfer Protocol (HTTP); Java Authentication and Authorization Service (JAAS); Java Cryptography Architecture (JCA); Java Cryptography Extension (JCE); Java Programming Language; Java Virtual Machine (JVM); Java2 Platform, Enterprise Edition (J2EE); Metadata
Overview
According to Smith, "Open standards have driven the e-business revolution. Networking protocol standards, such as Transmission Control Protocol/Internet Protocol (TCP/IP), HyperText Transfer Protocol (HTTP), and the HyperText Markup Language (HTML) Web standards have enabled universal communication via the Internet and the World Wide Web" (2001, p. 4). As e-business continues to develop, several computing technologies are helping to promote its evolution.
The Java programming language and platform have emerged as major technologies for performing e-business functions. Java programming standards "have enabled portability of applications and the reuse of application components" across computing platforms. Sun Microsystems' Java Community Process continues to be a strong base for the growth of the Java infrastructure and language standards. This boom of open standards has opened new opportunities for designers and developers of applications and services (Smith, 2001, p. 4).
Java technology was first created as a computer programming system at Sun Microsystems in 1991. In an effort to show off the potential power of Java, the development team, known as the Green Team, created a simple interactive, handheld home-entertainment device controller. The device was designed for users to control their digital cable television programming. However, digital cable television was a relatively young industry at the time and was not prepared to take on a new technology. Then in 1995 the Netscape Navigator Internet browser was incorporating Java technology ("Learn about Java," 2007).
Applications of Java
Java has rather typical programming concepts and constructs. However, one of the unique features of Java is its portability and the common interface created through its external Java Virtual Machine (JVM). A virtual machine functions like an independent and self-contained operating environment. The JVM uses a software layer that allows applications written in Java to behave like they are actually a separate computer. This provides programmers with the ability to segregate Java based application, which, among other things, helps to reduce corruption of the application and provides for stronger application security (Matlis, 2006).
The JVM enables computers to be able to process more advanced applications. This is achieved because the internally executed JVM instructions actually do most of the work. The key benefit of Java is portability and the JVM can run on numerous different computer systems without needing to be reprogrammed for every computer. In addition, Java is an open standard programming language, which means that there is not a specific organization that controls the development of Java (Lazaridis, 2003).
Applications
Java on the World Wide Web
Java has found a place on some of the most popular websites in the world and the uses of Java continues to grow. Java applications not only provide unique user interfaces, they also help to power the backend of websites. Two e-commerce giants such as eBay and Amazon have been Java pioneers on the World Wide Web.
eBay
Founded in 1995, eBay provides a platform for e-commerce that can be used in most places in the world to support global sales and distribution as well as local selling abilities. eBay sites include the eBay marketplaces, PayPal, Skype, Rent.com, Shopping.com, and eBay Enterprise (formerly GSI Commerce). eBay uses Java almost everywhere. To address some security issues, eBay chose Sun Microsystems' Java System Identity Manager as the platform for upgrading its identity management system. The task at hand was to provide identity management for more than 27,000 eBay employees and contractors.
All eBay software developers work with Java applications every day. Java's "inherent portability" allows eBay to "move to new hardware to take advantage of new technology, packaging, or pricing," without having to rewrite Java code ("eBay drives explosive growth," 2007).
Amazon
Amazon.com (a large seller of books, CDs, and other products) has created a Web Service application that enables users to browse their product catalog and place orders. Amazon.com uses a Java application "that searches the Amazon catalog for books and other products whose subject or purpose matches a user-selected topic. The application displays ten books or products that match the chosen topic, and shows the author or manufacturer name, product title, list price, Amazon discount price, and any images relevant to the product. The user may optionally view the positive and negative reviews for the displayed item and make a buying decision" (Stearns & Garishakurthi, 2003, p. 1).
Java in Data Warehousing & Mining
Data is created through every day business processes such as production of items, consumption of supplies or resources, sales of goods or services, and customer service activities. In a consumer goods retailer, for example, data is created when inventory is ordered, sales are made in stores, employees clock in and out for work, and when accounts are paid or collected. The larger the retail operation the more data is created daily, and the more important it is for data to be accurate and readily available to support business processes.
Data storage has three major elements:
- The software used to manage stored data (most often database software);
- The technology used to store data (disk drives); and
- The networks that connect computers and computer users to data storage systems.
The importance of database software has increased over the last three decades and has enabled banks, retailers, and manufacturers to grow beyond small, local, brick-and-mortar operations into online global giants. The primary tool for managing large amounts of data is database software. IBM, Oracle, Microsoft, and other software companies offer a wide variety of database software packages. The packages are capable of managing from several thousand up to billions of pieces of data. Database software can operate on desktop and laptop computers as well as servers and giant mainframe complexes. Database software is used in virtually all industries especially those that are transaction focused and need to track large quantities of items or activities.
Although many companies currently benefit from data warehousing to support corporate decision making, new business intelligence approaches continue to emerge that can be powered by Java technology. There are many newly developed software capabilities that include data warehousing and data mining and are being used to collect, create, or analyze business intelligence. These applications can help businesses gain insight into how to retain customers, how customer purchasing patterns may vary and why they vary, as well as perhaps even predicting a customer's future buying behavior based on previous purchasing patterns.
To achieve such knowledge, business analysts must dig through vast amounts of relatively raw data including previous billing statements, shipping information, and perhaps even inventory patterns and inventory levels at different times of the year. One of the biggest challenges in this type of data collection is that this data could be spread across dozens of computer systems with potentially several different operating systems and several different database software packages, which creates obvious technical challenges that have been overcome with to Application Programming Interfaces (API's) and Extendable Markup Language (XML) technologies that can enable programmers to more readily create routines to ease the interchange of data between systems.
One example of the data warehousing and data mining applications is the travel industry. Travel and airline companies accumulate massive amounts of data about customer travel patterns including flight, hotel, and car rental activities. In addition, there are historical records of payment and billing transactions, which are used to mine or extract data from the various operational systems with a variety of Extract, Transform and Load tools (ETL). Using a data mining approach, this information can be periodically removed from databases and placed in spreadsheets or data files for statistical analysis packages. The data can then be used to perform marketing analysis and support sales campaigns (Mosher & Oh, 2007).
Metadata Issues
As databases proliferated, most of them were not well kept and often times not very developed. One of the big weaknesses caused by giving end-users the power and computing capabilities that enabled them to create distributed database is that the data dictionaries were not well developed. The data dictionary describes each data element in the database and does so in great detail including how the data originates and in many cases how it can or cannot be used.
As the use of database technology evolved over the last several decades it became obvious that metadata (which is data about data) formats and structures were vastly inconsistent even within an organization. Business intelligence developers rely on metadata to help them determine how they can define and manipulate data. Thus inconsistencies in metadata quality and structure become a challenge for the business intelligence developer and can cause very long delays when developing business intelligence applications.
To help programmers and other data analysis professionals bring more order to metadata, several information technology companies have started work on a Java Metadata Interface (JMI) standard including Sun Microsystems, International Business Machine, Oracle, and the SAS Institute.
Enterprise JavaBeans
The Java Platform, Enterprise Edition (Java EE), which was originally named Java2 Platform, Enterprise Edition (J2EE) until 2006 with the introduction of version 5, provides EnterpriseJavaBeans (EJB), which is an architecture in the creation of component-based business applications and enables programmers to develop scalable and secure business applications that can run on a wide variety of computer systems that support Java EE. The portability provided with Java EE frees developers to focus on the specific application because they do not need to spend time on the interaction between the EJB applications and the various computer systems on which it is deployed because Java EE manages that part of the computer environment.
Java in Industrial Settings
Most people view Java as programming language that is used by website developers to create functions such as interactivity and animation. Certainly many of the early uses of Java were focused solely on the World Wide Web. However, as Java matures and more developers become familiar with its utility, the use of Java has become more widespread. One of the things that have contributed to the growth in Java usage is that it is an object-oriented language like C++. This provides a great deal of efficiency during development and reduces the time required to develop complex applications. Java also provides efficient and effective automatic memory management. In addition, good software engineering practices are supported because there is a clear separation of interfaces.
As developers learned more about what they could do with Java and as new generations of control and automation equipment were developed the use of Java continued to increase. For example, many manufacturing plants are now designed to be reconfigurable manufacturing system (RMS). This allows production managers to conveniently reconfigure equipment and easily and quickly change system configurations to meet production and scheduling needs.
Integration
In general, computer controlled equipment on the factory floor was not previously designed to exchange information with enterprise management systems in the executive office. The need for agility and the pressure to be competitive has driven managers to implement new systems that help control manufacturing as well as provide data that is usable in controlling work flow and measuring organizational performance.
Companies that strive to be agile manufacturing, for example, rely heavily on automation. This includes enterprise resource planning (ERP) software systems that are readily capable of supporting an agile manufacturing environment including sales, service, human resource management, and logistics. These companies are also very dependent on the computerization of the design and manufacturing process through computer aided design (CAD), computer aided manufacturing (CAM), and computer aided engineering (CAE) software. The factory floor is now populated with computer numerical control of individual pieces of equipment as well as groups of equipment through numerical control (CNC). The systems can be somewhat tied together using computer integrated manufacturing (CIM) systems that connect and integrate the various machines and systems within the manufacturing process.
Java has helped developers design applications that can bring together data from different computer systems that have existing applications written in various different programming languages. This can ease the systems integration processes without pursuing expensive integration projects or developing totally new systems from scratch.
Scalability
One of the greatest benefits Java provides in the industrial environment is that applications developed in Java have high degrees of scalability. This means that in a manufacturing plant, embedded applications including computer based collection of automation data and computer supported manufacturing machine diagnostics can be readily supported with Java applications regardless of the number of pieces of equipment. This can help provide data on production-line readiness as well as operational efficiency. This in turn can provide production managers with greater control of the production line and thus make operations more economical and more profitable (Paula, 1997).
Issues
Java Security for E-Business Applications
To support the expansion of their computing boundaries, businesses have deployed Web application servers (WAS). A WAS differs from a traditional Web server because it provides a more flexible foundation for dynamic transactions and objects, partly through the exploitation of Java technology. Web servers are often occupied with servicing basic HTTP requests and serving up HTML pages and images. They also provide the output resulting from Common Gateway Interface (CGI ) scripts (Koved, 2001).
A WAS can be designed and configured to meet desired security specifications for Java servlets. This can help to manage the authentication and authorization processes necessary to maintain that desired level of security which can be supported with Java Authentication and Authorization Service (JAAS) modules. The authentication and authorization services can be programmed in Java code or a hand-off can be made to a different authentication or authorization infrastructure. When cryptography-based security infrastructures are being utilized, the security server can rely on Java Cryptography Architecture (JCA) and Java Cryptography Extension (JCE). The Web server can also be designed to provide a single sign-on to improve the user experience by not requiring additional authentication requests (Koved, 2001).
JAAS can be used manage an authentication process of the Java client based on preset security policies. When authentication succeeds the WAS security system interacts with the primary security server. The WAS authentication requirements can be made very complex and in a specific WAS environment this is useful because not all applications or solutions may very originate from different security product companies. In addition, many of the applications could even be served from computers that are running on different operating systems.
Authentication & Authorization
Web site security and the protection of data collected by websites, especially those collecting customer data and credit card information, has become and major concern for many e-commerce companies. Hacking of websites, theft of credit card information, and identity theft have all become frequent crimes over the last decade. This means that authentication and authorization are critical processes to assure that security is maintained and sensitive data is protected. Java technology is successfully handling authentication and authorization issues.
When managing web server and application security the requirements set for security will determine the kind of proof required for authentication. The JAAS authentication framework allows security managers to determine configurations settings for authenticators. This flexibility enables system administrators to configure, or plug in, the appropriate authenticators. The JAAS architecture also allows the various supported applications to remain independent from underlying authentication mechanisms. This makes it easier to deploy upgrades to security of modify authentication requirements for the applications independent from each other. The WAS environment is then able to pull together many different applications to meet the needs of a wide range of end-users in an enterprise wide information systems complex (Koved, 2001).
Conclusion
Open standards have driven the e-business revolution. As e-business continues to develop, various computing technologies help to drive its evolution. The Java programming language and platform have emerged as major technologies for performing e-business functions. Java programming standards have enabled portability of applications and the reuse of application components ("Learn about Java," 2007). Java uses many familiar concepts and constructs and allows portability by providing a common interface through an external Java Virtual Machine (JVM). Currently, Java technology can be found in networks and devices from the Internet and scientific supercomputers to laptops, cell phones, home game players and credit cards.
Java has found a place on some of the most popular websites in the world, and its applications not only provide unique user interfaces, they also help to power the backend of websites. While Java technology has been used extensively for client side access and in the presentation layer, it is also emerging as a significant tool for developing scalable server side programs. In addition the object-oriented language structure of Java greatly reduces the time required to develop new applications.
Terms & Concepts
Application Programming Interfaces (API's): The computer code that enables to different application software packages to exchange data.
Enterprise JavaBeans (EJB): A JEE component that is designed to perform a specific task.
Extendable Markup Language (XML): A markup language that is used to define content, data, or text in XML documents.
Hypertext Markup Language HTML: A markup language for hypertext documents on the Internet which enables web designers to embed images, sounds, video streams, and other content items in a web page.
Hypertext Transfer Protocol HTTP: The Internet protocol that allows users to retrieve hypertext objects from remote host computers.
Java Platform, Enterprise Edition (JEE): A programming language and feature rich system for developing and supporting enterprise applications.
Java Authentication and Authorization Service (JAAS): The Java service that supports the process of verifying the identity of a user, device, or other entity in a computer system, usually as a prerequisite to allowing access to resources in a system.
Java Cryptography Architecture (JCA): The cryptography framework and services used to secure applications, servers, and communications in the Java environment.
Java Virtual Machine (JVM): A self-contained computing environment that can function as if it was separate computer.
Metadata: Data about data kept in database systems and other computer-based applications.
Servlet: A Java program that adds to the functionality that a Web server provides to users.
Web Application Server: A computer on which an application written for the Internet is run.
Bibliography
eBay drives explosive growth using Sun Technology and Sun Services. (2007). Customer Snapshot. Retrieved August 15, 2007, from Sun Microsystems. http://www.sun.com/customers/index.xml?c=ebay.xml
Elmas, T., Qadeer, S., & Tasiran, S. (2010). Goldilocks: A race-aware java runtime. Communications of the ACM, 53, 85–92. Retrieved November 29, 2013, from EBSCO Online Database Business Source Premier. http://search.ebscohost.com/login.aspx?direct=true&db=buh&AN=55063023
Garcia, B. (2004) Sandia Corporation leverages Sun Java Studio Enterprise application framework to speed development. Retrieved August 15, 2007, from Sun.com. http://www.sun.com/software/customers/sandia.xml
Gong, L. (2011). Java security architecture revisited. Communications of the ACM, 54, 48–52. Retrieved November 29, 2013, from EBSCO Online Database Business Source Premier. http://search.ebscohost.com/login.aspx?direct=true&db=buh&AN=70368659
Java zero-day attack threats widening, security experts warn. (2012). CIO Insight, 1.Retrieved November 29, 2013, from EBSCO Online Database Business Source Premier. http://search.ebscohost.com/login.aspx?direct=true&db=buh&AN=89810714
Koved, L. (2001). Security challenges for Enterprise Java in an e-business environment. IBM Systems Journal, 40, 130-152. Retrieved August 15, 2007, from EBSCO Online Database Academic Search Premier. http://search.ebscohost.com/login.aspx?direct=true&db=aph&AN=4252414&site=ehost-live
Lazaridis, M. (2003). The Java man. Time Canada, 161, 46-47. Retrieved August 22, 2007, from EBSCO Online Database Business Source Premier. http://search.ebscohost.com/login.aspx?direct=true&db=buh&AN=9115954&site=ehost-live
Learn about java technology. (2007). Retrieved August 15, 2007, from Java.com. http://java.com/en/about/
Matlis, J. (2006). Virtual machines. Computerworld, 40, 38-38. Retrieved August 22, 2007, from EBSCO Online Database Academic Search Premier. http://search.ebscohost.com/login.aspx?direct=true&db=aph&AN=20613915&site=ehost-live
Mosher, C., & Oh, P. (2007) Java technology for business intelligence. Retrieved August 22, 2007, from Sun.com. http://www.sun.com/third-party/dw/whitepapers/java%5ftech%5ffor%5fbi.html
Paula, G. (1997). Java catches on for manufacturing. Mechanical Engineering, 119, 80-82. Retrieved August 21, 2007, from EBSCO Online Database Academic Search Premier. http://search.ebscohost.com/login.aspx?direct=true&db=aph&AN=1200963&site=ehost-live
Smith, R. (2001). Trends in e-business technologies. IBM Systems Journal, 40, 4-7. Retrieved August 15, 2007, from EBSCO Online Database Academic Search Premier. http://search.ebscohost.com/login.aspx?direct=true&db=aph&AN=4252378&site=ehost-live
Stearns, B., & Garishakurthi, R. (2003) Developing an Amazon Web Services client. Retrieved August 15, 2007, from Sun Microsystems, Inc. Sun Developer Network. http://java.sun.com/developer/technicalArticles/WebServices/amazonws/index.html
Suggested Reading
Another major Java panic. (2012). Network Security, 2012, 19–20. Retrieved November 29, 2013, from EBSCO Online Database Business Source Premier. http://search.ebscohost.com/login.aspx?direct=true&db=buh&AN=80182777
Beheshti, H., Salehi-Sangari, E., & Engstrom, A. (2006). Competitive advantage with e-business: A survey of large American and Swedish firms. Competitiveness Review, 16, 150-157. Retrieved August 29, 2007, from EBSCO Online Database Academic Search Premier. http://search.ebscohost.com/login.aspx?direct=true&db=aph&AN=21760462&site=ehost-live
Christ, R., Halter, S., Lynne, K., Meizer, S., Munroe, S., & Pasch, M. (2000). San Francisco performance: A case study in performance of large-scale Java applications. IBM Systems Journal, 39, 4-20. Retrieved August 15, 2007, from EBSCO Online Database Academic Search Premier. http://search.ebscohost.com/login.aspx?direct=true&db=aph&AN=2860671&site=ehost-live
Formica, A. (2005). Similarity of XML-schema elements supported by domain ontologies. International Journal of Software Engineering & Knowledge Engineering, 15, 117-130. Retrieved August 29, 2007, from EBSCO Online Database Academic Search Premier. http://search.ebscohost.com/login.aspx?direct=true&db=aph&AN=16719249&site=ehost-live
Greenberg, A. (2013). How to quarantine java like the disease that it's become. Forbes.Com, 13. Retrieved November 29, 2013, from EBSCO Online Database Business Source Premier. http://search.ebscohost.com/login.aspx?direct=true&db=buh&AN=86207213
Gu, W., Burns, N., Collins, M., & Wong, W. (2000). The evolution of a high-performing Java virtual machine. IBM Systems Journal, 39, 135-150. Retrieved August 22, 2007, from EBSCO Online Database Academic Search Premier. http://search.ebscohost.com/login.aspx?direct=true&db=aph&AN=2860677&site=ehost-live
Lo, E., Cheung, D., Ng, C., & Lee, T. (2006). WSIPL: An XML scripting language for integrating web service data and applications. Web Intelligence & Agent Systems, 4, 25-41. Retrieved August 29, 2007, from EBSCO Online Database Academic Search Premier. http://search.ebscohost.com/login.aspx?direct=true&db=aph&AN=20382845&site=ehost-live