feature Business Components for Java (BC4J)

Today's enterprises focus on gaining competitive advantage by rapidly developing and deploying component based applications that deliver unique benefits to the customer. Oracle Business Components for Java is a J2EE framework that dramatically simplifies the development, delivery, and customization of enterprise applications. This open and customizable framework provides built-in solutions for common application requirements thus allowing developers to focus on implementing their market specific business needs.

Product Summary

Oracle Business Components for Java is a standards-based, server-side framework for creating scalable, high-performance J2EE applications. The framework provides design-time facilities and runtime services to simplify the task of building, debugging, customizing, and reusing business components. The applications developed with Business Components for Java can be deployed on any J2EE platform and can be accessed from a wide variety of clients including Web browsers, professional desktop clients, XML clients, and wireless devices. 

Productive Framework for Enterprise Application Development

The Java 2, Enterprise Edition(J2EE TM) programming model provides developers with a set of core APIs and technologies for developing multi-tier applications that are scalable and portable. In real world applications, besides using the low level J2EE APIs, developers often find themselves implementing design patterns to address some of the design issues common to most multi-tier applications. Understanding these design issues and coming up with solutions for them can be extremely challenging and time consuming. Business Components for Java steps into this space by providing an application framework for J2EE developers which implements many common design patterns and helps real world application developers by providing 'out-of-the-box' solutions for tasks like object-relational mapping, validation, data access, network traffic minimization, and user interface binding.

  • Productively author and test business logic in components that automatically integrate with relational databases
  • Flexibly reuse business logic through multiple SQL-based views of data, supporting different application tasks
  • Efficiently access and update the views from JavaServer Pages (JSPs), Servlets, XML clients and Java GUI clients
  • Easily customize application functionality in layers without requiring modification of the delivered application

By eliminating the substantial coding and testing work related to common "application plumbing" facilities, Oracle Business Components for Java lets application developers focus full-time on implementing business solutions. The benefits of using this framework are immediate and obvious: reduced development cost, lower project risk, and shorter time-to-market.

It is important to note that while the framework handles all the common cases with its sophisticated built-in behavior, taking advantage of these benefits does not compromise your ability to control the way your application works. Since any automatic behavior provided by the framework can be easily overridden in your domain-specific components with a few strategic lines of code, you are never locked in to a certain way of doing things.

Object-Relational (O/R) Mapping

The O/R facilities provided by BC4J makes it easy to use Java objects to transparently store and retrieve data in a relational database. Wizards and UML modeling tools make it easy to reverse engineer database tables and views into Java objects.

  • Declarative support for Optimistic and Pessimistic locking
  • Support for Associations between mapped objects
  • Reusable user defined datatypes (Domains)
  • Seamless mapping for all Oracle9i datatypes
  • Re-entrant designer for visual mapping and editing
  • Support for SQL 92 compliant databases 
  • Stored procedures mapping
  • Ability to fine tune SQL for performance
  • NEW! UML modeling for business components
  • NEW! Synchronization of business components with the database schema
  • NEW! View objects based on any data source

Validation Model

Enforcing business rules is a critical part of any application and BC4J provides a framework to consistently develop and enforce validation rules across your applications. With Business Components for Java, rather than coding business logic into each client, you write it once in a reusable, domain-specific business component. Depending on the sophistication of your business rules you can perform validation at different levels in BC4J.

  • Consistent enforcement of business rules with reusable validation beans and domains
  • Built-in validation rules to validate against a list of values, range of values, database query, or Java method.
  • Default value logic for attributes
  • Automatic enforcement of validation logic at runtime
  • Support for development of custom validation rules that can be shared across the development group

Scalability and Performance

The Business Components for Java framework provides features such as resource pooling, network optimization, and disk spillover that are designed to enhance an application's performance and scalability.  Over the standard CORBA and EJB remoting architecture, BC4J implements additional optimizations to keep the number of network roundtrips between the client tier and the application tier to a minimum. Further, for JSP or servlet based applications deployed as a J2EE Web module, BC4J provides unique performance and scalability features: for example, declarative JDBC connection pooling, application module pooling, session state persistence, and disk spillover for large result sets.

  • Support for accessing result sets remotely with partial object-fetching and middle-tier caching
  • Optimized network traffic with client-side caching, bundling of client/server messages, and lazy server-synchronization
  • Simplified development packaging of components into coarse-grained application modules
  • Application module pooling
  • Configurable JDBC connection pooling
  • Forward-only and SQL-based view objects to avoid caching overhead when it is not needed
  • Session state persistence for failover
  • NEW! Runtime support for thread-safe application module instances
  • NEW! Statistics collection and logging for application module pools and connection pools
  • NEW! Support for configuring a pool to release resources after a period of high activity
  • NEW! Built-in monitoring of a running application using Oracle9iAS Enterprise Manager

Flexible Deployment

Oracle9i Business Components for Java presents a productive programming model for application development that is tier-independent and completely based on J2EE standards. The framework enforces a strict logical separation of the client tier and the business logic tier, making it possible to deploy the same application in multiple configurations without modifying your code. BC4J supports the standard J2EE deployment modes: J2EE Web module, EJB session bean, CORBA objects, and local mode.

With BC4J you do not have to choose your deployment platform beforehand and also you can very easily switch platforms without making any changes to your code. 

  • Achieve logical separation of client, application, and database tiers by coding to the tier-independent client service APIs
  • Deploy the client, application, and database tiers in multiple physical configurations with no code changes
  • Protects your investment in the framework by providing the ability to switch the deployment platform at any stage
  • NEW! Single-click deployment to Oracle9i Application Server as a Web module or EJB module
  • Support for remote debugging of deployed applications
  • NEW! BC4J runtime libraries preinstalled in OC4J
  • NEW! Support for registering deployed components as Web services

Rich User Interface Support

BC4J makes it easy to bind JSP, Java Swing, wireless, and other XML clients to business components. The tier independent programming model ensures that the same application can be bound to different user interfaces without changing any code in the business logic tier.

For Java client development, JDeveloper provides JClient, a common client framework for building Java applications and applets for business components. JClient uses the model-view-controller architecture to allow you to bind standard Swing controls or any third party model-based controls to BC4J data sources. JClient also provides a number of composite controls, making it easy to design Java clients with richer functionality than the standard Swing controls provide. Using JClient's design time wizards you can quickly generate data-aware forms, which you can then customize with JDeveloper's user interface design tools.

For JSP/Servlet applications JDeveloper provides the BC4J Data Tag Library, a set of JSP 1.1 compliant tags for binding JSP pages to Business Components data sources. The BC4J data tags make it easy to design and build JSP database applications with complete control of both the HTML design and the database access operations. When using the data tags the developer does not have to write copious amounts of Java code to interact with BC4J data or customize the user interface. The client JSP application can mostly be comprised of HTML and JSP tags, giving JSP developers the flexibility to use their favorite visual HTML editors in conjunction with JDeveloper to design the exact appearance of their JSP application.

Layered Customization Support

Once you've developed and delivered an enterprise application, the person or company installing the software typically needs to tailor it to fit their needs. Oracle Business Components for Java offers a simple, innovative way to do this. All framework components have their Java implementation class cleanly separated from their XML component definition. Developers can extend both the Java class and the XML component definition to customize their applications. Further, the extended components can globally replace the original components across the application.

  • Extend the functionality of application components delivered without requiring source code modification. 
  • Globally substitute delivered component implementations with ones you have extended without requiring or modifying the delivered application. 
  • Upgrade applications with confidence that downstream customizations will neither be lost nor need to be manually reapplied 
  • NEW! Support for component inheritance with a discriminator attribute

Tight Integration with JDeveloper

Oracle JDeveloper provides integrated design-time support for the Business Components framework. The wizards, editors, and other integrated design tools in JDeveloper make it easy to model, develop, test, deploy, and debug BC4J applications.

  • Integrated wizards and component editors automatically maintain framework-related Java code and XML metadata.
  • Reverse-engineer entity objects and associations from existing database schema, or forward-engineer schema from entity objects.
  • BC4J browser for testing business components locally or remotely.

 

KEY FEATURES

BC4J Key Features
  • A framework for the productive development of J2EE applications
  • Object-relational mapping tools
  • Implementation of J2EE design patterns
  • Simple business logic authoring
  • Intelligent state management
  • Application module pooling and JDBC connection pooling
  • Universal client support
  • Deployment to any standard J2EE module
Key New Features
  • UML modeling support 
  • Single-click deployment to OC4J
  • Deployment of BC4J-based Web services 
  • Additional options for configuring connection and application module pools.
  • Design-time synchronization of business components with database schema
  • Support for polymorphic row sets
  • View object based on any data source
  • Many-to-many view links and associations

REFERENCES
For more information on BC4J, please visit these links: 

 

Top of Page
E-mail this page
Printer View Printer View
Oracle Is The Information Company About Oracle | Oracle RSS Feeds | Careers | Contact Us | Site Maps | Legal Notices | Terms of Use | Privacy