|HOME||EJB||JDBC||JNDI||Enterprise Portal Software|
Enterprise Systems - An Introduction
Few years back, computing servers were only used by a company's employees on an intranet. Today every company seems to be on the Internet. They have an order of magnitude: customers, suppliers, distributors and any one can access to their web site. That is, companies have been forced to move from local client/server or mainframe computing to a new world order of multi-tier computing paradigm. This automatically brings a new set of challenging issues to be sorted out efficiently. They are reliability, scalability, security, application development, transaction processing, web interface design and timely software development. Thus enterprises need robust technologies and tools to develop enterprise software. Here we have a brief look on what is all about enterprise computing in the computing arena.What is Enterprise Computing
Enterprise computing, an umbrella term used mostly to sell business systems development products, traditionally refers to the mission-critical systems on which a business depends. It almost always includes a database. The word "enterprise" most certainly does not communicate or represent a determinate content, an identifiable meaning, or a describable value. Nowadays almost all the technology product aimed at the business customer are marketed with the tag - the buzzword "enterprise".
It becomes necessary to understand the word "enterprise" within the context of enterprise software. The term "enterprise" overshadows the idea of business taken wholistically. An enterprise solution identifies common problem domains within a business and provides a shared infrastructure as a solution for those identified problems. Take the case of running a bank, which has several branches in different places with different cultures. But these differences in cultures and locations won't come in the way of identifying the common ground realities, such as accounts and customers. Looking at this business from an enterprise perspective means abstracting away from irrelevant differences in the way the individual branches function, and instead approaching the business from their common things.
Applying this view to design and development of software, an enterprise system provides the proper abstractions for business concepts that remain constant across a business so that they may be shared by all the different units within the company. In this Internet age, enterprise systems even can share the business concepts with vendors, clients and perspective customers also apart from the company. Thus enterprise solution are in high demand among business houses in these days. Here comes a list of requirements for a true enterprise system.
In order to bring out solutions to enterprise problems, an enterprise system must exhibit certain characteristics. The primary goal of an enterprise system is simply to be able to represent business concepts to any possible user. The user may be an another application within the same business, an XML interface for the business clients or even vendors, or a Web interface for customers. An enterprise system emphasize on providing an appropriate window for each audience without duplicating the effort required to capture the rules of business. An enterprise system must therefore meet these following requirements:Requirements for Enterprise Systems
An enterprise contains many resources that can be accessed by many types of users. Sensitive information often has to traverse on unprotected open networks, such as the Internet. This open environment forces every enterprise to design the relevant security requirements, specific mechanisms and infrastructure to meet the real threat. Although the quality assurances and implementation details may vary, all enterprises have to share some or all of the following characteristics:
1. Authentication - The means by which communicating entities prove to one another that they are acting on behalf of specific identities.
2. Access Control for sensitive resources - The means by which interactions with vital resources are limited to collections of users or programs for the purpose of enforcing integrity, confidentiality, or availability constraints
3. Data Integrity - The means used to prove that information could not have tampered with by any third part. That is, a recipient of data sent over an open network must be able to check whether the data gets manipulated on its way.
4. Data Privacy - The means used to ensure that information is made available only to users who are authorized to access it.
5. Non-repudiation - The means used to prove that a user performed some transaction such that the user can not deny it later.
6. Auditing - The means used to capture a tamper-resistant record of security related events for the purpose of being able to evaluate the effectiveness of security policies and mechanisms.Enterprise Computing by Java
The J2EE specification introduces the concept of enterprise applications. An enterprise application contain J2EE modules, which could be web applications, EJBs, application clients and applets. A J2EE Enterprise archive is packaged as a Java Archive file with a .ear filename extension.
The database is the heart of any enterprise system. The shared business objects that make up an enterprise need some way to make sure that they are saved across time. The database provides that storage mechanism. Any language that is going to claim to be an enterprise language therefore needs to have strong, reliable and robust database connectivity. Java fulfills this need by Java Database Connectivity (JDBC). This facility immensely helps to design and maintain a Web-based back-end database.
Towards enterprise computing, Java is really the only language in widespread use that can easily be used to build enterprise systems that meets the certain requirements in a robust and efficient manner. Java is a standards-based language. It has support for accessibility and internationalization and localization, including a Unicode basic character type, built into the language. Also Java has both database access and distributed computing at its core with a number of tested technologies.Advantages of J2EE Technologies
J2EE makes the Java language to embrace a number of server-side applications, such as Web-based and e-commerce applications. Apart from all the innovative and path-breaking features that Java provides, J2EE technologies brings some additional features most suitable for all enterprise systems.
At this time, JDBC seems to be filling the enterprise space more than the Web space. That trend will most likely continue as the future brings a Web-enabled, existing corporate database. In many respects, JDBC is bringing the traditional, complex multi-tiered world of Web-enablement back to the EAI problem domain.
Click for Java 2 Enterprise Edition to see how Java technology helps in realizing these requirements.