Development Tools

Does your web application have to be written in Java? Many developers believe that to be true, but as we will see, there are many options available to us as Oracle developers. Oracle provides numerous tools that allow us to leverage existing (or legacy) code into applications that can be deployed over the Web with minimal effort. In general, there are two types of web applications:

  • HTML-based Application code (residing on the server or in an Oracle database) producing a series of HTML pages. There is no limitation as to what language is used to generate these pages.

  • Applet-based Java code downloaded to the client s browser and executed there. Applets give the developer full control of the interface, but at a price ”the time needed to download the applet may be prohibitive for all but the most trivial of applications.

Except for Discoverer Plus and Portal, there is no development environment provided with Oracle Application Server 10 g .You will have to make a descision as to what technology to use when beginning your development. There is no one tool that is perfect for solving all of your development needs and virtually all organizations use a combination of different tools and technolgies. The most valuable developers in modern IT shops are those that are fluent in numerous technologies.

Choosing the right development tool is not an easy task and it is not a decision to enter into lightly. Human nature being what it is, people tend to gravitate to things they know and feel comfortable with. Some hard questions need to be answered before deciding on a technology, or a combination of technologies:

How Will Your Application Be Accessed?

It is not enough to deploy an application over the Web and not worry about how users will access it, although this was the original promise of browser-based applications. There are three basic ways of delivering your application, and each one of these will affect the development decisions you will need to make:

  • Intranet In this environment, users access the application over a network inside a company or organization, which uses software like that used on the Internet, but the intranet is for internal use only and is not accessible to the public. This option gives you the most flexibility in your development decisions as there is a good likelihood that all users of your application will have fast network connections and that your organization has standardized on a single browser.

  • Extranet In this environment, users access the application over a private network that uses the Internet protocols and the public telecommunication system to share a business s information, data, or operations with external suppliers, vendors , or customers. An extranet can be viewed as the external part of a company s intranet. Here, your development options begin to decrease, as there will be questions regarding browser types and firewall issues, which may block certain types of communications between the clients and server.

  • Internet In this environment, users can access the application from anywhere in the world. This option has the least amount of flexibility regarding your development decisions as the application will have to be generic enough to support all types of browsers and all types of access (dial-up, broadband, etc.). It will be almost impossible to deliver any applet-based application via this method.

How Complex Is the User Interface?

Applets give the developer the greatest control over the look and feel of the user interface. As mentioned before, this comes at a great price: namely, the time required to download the applet to the browser. In an intranet or extranet setting, this may be acceptable, but it will be virtually impossible to serve applets over the Internet. If the decision is to go with an HTML-based application, whether users can be productive with a standard interface or if sophisticated HTML tools (such as Dreamweaver) will need to be utilized to create something more complex must be determined.

What Types of Users Will Be Using Your Application?

In general, users can be broken into three categories:

  • Casual users For these users, speed is the most important factor. Casual users will probably demand that an application start with minimal load time and provide data access immediately. These users will usually be satisfied with HTML-based applications.

  • Heads-down users These users work with an application for an extended period of time, and a startup period of a minute will probably be acceptible in a tradeoff to the productivity gains realized throughout the day. These users may benefit from an Applet-based application.

  • Power users These users demand applications they can customize: either the interface of the application or the types queries and data used in the application. For these users, flexibility and interaction are the most important features, which will probably require an Applet-based application.

Oracle Forms

Oracle Forms is one of Oracle s oldest and most mature development products. It has been traditionally used to create client/server applications. It is similar in design and philosophy to Microsoft s Visual Basic development environment. Countless Forms-based applications are still in production environments around the world today.

As development efforts started moving towards web and browser-based deployments, the demand to create an environment that still supported Forms-based development ( preserving legacy code and knowledge) and introduced web deployment (eliminating the high cost of maintaining clients with mutilple operating systems, nonstandard configurations, etc.) began to grow. Oracle began developing technologies that allowed existing Forms to be served over the Web. These initial efforts were called cartridges and were designed to plug into the web server, enhancing its functionality.

Oracle Application Server 10 g includes a service called the Forms Server that is installed with the Business Intelligence and Forms option. It handles serving Oracle Forms over the Web, gathering metrics to assist in administration and tuning, and integration with Oracle s Identity Mangement features. There are numerous configuration parameters to modify virtually every aspect of the Forms environment on the Web. These parameters are discussed in detail in Chapter 6.

Starting with Oracle Forms 9 i (the current version is Oracle Forms 10 g ), Oracle no longer provided the Forms run time to deploy Forms in a traditional client-server environment. The only way to test an Oracle Form you have developed is to run it as a web form through a forms server provided with the Oracle Forms 10 g development environment. It was the final indication that Oracle believed (and still firmly believes) that web-based applications is where organizations will be putting their development resources in the future. 11 discuss integrating Forms with Oracle Application Server 10 g and Oracle Portal, respectively.

Oracle Reports

Much of what has been said about Oracle Forms also applies to Oracle Reports. It is a mature and stable product that allows developers to create reports quickly and easily. It also suffers from the high administration costs of deployment as Reports run-time libraries need to be installed and maintined on every machine that needs to run an Oracle Report. In response to this, Oracle developed cartridges for the Oracle Application Server (before Oracle standardized on Apache as its web server), which eventually became the Reports Server engine that is included with Oracle Application Server 10 g today. The Reports Server can be configured to integrate with Oracle s Identity Management features for security. Like Oracle Forms 9 i , every version of Oracle Reports since 9 i (the current version is Oracle Reports 10 g ) no longer provides the Reports run-time environment to run Oracle Reports in a traditional client/server environment. The only way to test a Report you have developed is to run it as a web report through a reports server provided with the Oracle Reports 10 g development environment.

Multiple Reports servers can be defined for each middle tier in Oracle Application Server 10 g . This gives another layer of scalability for your environment. If you wish to integrate Reports with Oracle Portal, calendars can be created in Portal to limit the access times for certain reports, Report servers, and printers. You can also use the Portal security model to limit access to any of these components . 11 discuss integrating Reports into Oracle Application Server 10 g and Oracle Portal, respectively.

Oracle Discoverer

As mentioned earlier in this chapter, Oracle Discoverer server contains a component to view and interact with Discoverer worksheets over the Web (Discoverer Viewer) and a component to create and modify Worksheets (Discoverer Plus). The ad-hoc capabilities of Discoverer can allow your developent staff to off-load report design and generation to power users. By putting the full capabilities of the Discoverer desktop on to the Web, Oracle makes the implementation of Discoverer a simple experience for most organizations.

Discoverer also integrates seamlessly with Oracle Portal via an internal portlet provider provided by Oracle called the Discoverer portlet. This portlet allows you to define the workbook and worksheet you wish to display, any parameters to be passed to the worksheet, and a refresh options setting that allows you to specify AUs: Okay to make active here? the length of time a particular report will be cached (in Portal s Cache, not the Web Cache). The Discoverer worksheet becomes a portlet and can have any of Portal s security and display properties applied to it.

Java Tools

An Integrated Development Enivornment (IDE) is a development environment in which the tools have been integrated to collaborate with each other (e.g., the output of one tool can be used as the input to another tool). Attempting to build Java applications without an IDE using the free Java compiler provided in the Java Software Development Kit from Sun Microsystems is possible, but it is a less than optimal environment. Oracle s Java IDE, JDeveloper, has so many essential tools, only the hardiest of Java programmers would ever attempt to build production-quality Java applications without it. JDeveloper will be covered in Chapter 13, but a quick list of its prominent features include:

  • Three profiling modes that enables you to create a statistical analysis of the performance of your application with respect to its functionality both at compile time and run time, its use of memory in the Java heap, and the occurrence and duration of various events.

  • A public Extension SDK that enables its development environment to be extended and customized.

  • Native support for SQL, PL/SQL, and XML. This support includes syntax highlighting and code insight, as well as PL/SQL development, PL/SQL debugging, and SQL tuning. Additionally, JDeveloper provides direct access to the database, allowing you to view, create, modify, and delete tables, views, triggers, indexes, sequences, and more.

  • Robust debugging support for both Java and PL/SQL. Debugging in these two environments is seamlessly integrated when using an Oracle9 i database, providing the capability to step from Java code directly into PL/SQL code within the same debugging session.

  • Class diagrams. The goal of class modeling is to visualize classes or components, and the relationships between them, that comprise all or part of a system design. Classes and components modeled on a class diagram are synchronized to ensure that changes made to modeled elements are reflected in their implementation files, and that changes to the implementation files are visualized on the diagram.

  • Activity diagrams. Processes performed in a business or system can be visualized using modeled activities, flows, and states on activity diagrams. An activity can represent a single process, or it can represent a subactivity model (that is, the activity can be broken down into a set of subactivities which themselves form an activity model).

  • All aspects of EJB development from conception to implementation. EJB support includes: modeling and wizard-based development of EJB session, entity, and message-driven beans, the ability to add, edit, and delete EJBs and EJB properties using the EJB Module Editor, reverse-engineering of database tables and foreign key relationships as Container-Managed Persistence (CMP) entity beans and Container Managed Relationships (CMRs), the ability to test EJBs locally in the IDE, and the ability to check EJBs for deployment errors and inconsistencies using the EJB Verifier.

  • J2EE deployment, which allows developers to package and assemble J2EE modules into standard archives such as EJBs, JARs, WARs, and EARs. These archives can be deployed with a single-click to Oracle Application Server Containers for J2EE (OC4J).

  • A built-in J2EE Applications Framework. Oracle Business Components for Java (BC4J) is a standards-based, server-side framework for creating scalable, high-performance J2EE applications. The framework provides design-time facilities and run-time services to simplify the task of building, debugging, customizing, and reusing business components.

  • An application Development Framework (ADF). This is the most exciting new feature of JDeveloper for developers. The ADF is Oracle s solution to the ever-increasing complexity of the J2EE platform. Based on the Model-View-Controller (MVC) architecture, Oracle ADF lets application developers focus on the business domain rather than on the underlying technologies. By using visual, declarative, and guided-coding techniques, the framework allows application developers who are not J2EE experts to quickly become productive. The framework is based on industry standards allowing applications built with ADF to be deployed on any J2EE server and connect to any SQL database.

  • Integration of the TopLink Mapping Workbench. Oracle JDeveloper 10 g seamlessly integrates with the Mapping Workbench (see Figure 1-13), giving developers the ability to:

    • Automatically map descriptors

    • Generate database schemas from object models

    • Generate object models from database schemas

    • Generate both CMP and Bean-Managed Persistence (BMP) entity beans

    • Import an object model from any IDE or UML modeling tool

    • Connect and interact with any relational database with a JDBC-compliant driver

click to expand
Figure 1-13: The TopLink Mapping Workbench

HTML DB

HTML DB occupies a unique space in the world of Oracle web development. It is a web development tool, but it is not part of the Oracle Application Server 10 g product stack. The Oracle HTML DB engine is stored in the database, and its accessible via the HTTP server that comes standard with the Oracle 10 g database. It is intended primarily for simple web-based applications that do not require the sophisticated features provided with Application Server 10 g . HTML DB is composed of three main pieces:

  • Application Builder Application Builder helps you assemble an HTML user interface on top of database objects. The Oracle HTML DB engine takes care of presenting your application using templates and UI elements.

  • SQL Workshop SQL Workshop enables you to interact with the database through a web browser. With it, you can view or create database objects, run SQL commands, and query by example.

  • Data Workshop Data Workshop helps you import plain text and spreadsheet data into database tables and export data from database tables.

All HTML DB applications are displayed in your browser from data queried from the database, called application definitions. This metadata provides information about your application to the HTML DB engine, and therefore no code is generated (or needed). The Oracle HTML DB rendering engine reads the application definition and displays the application accordingly . Figure 1-14 shows an example of an HTML DB page.

click to expand
Figure 1-14: An HTML DB page


Oracle Application Server 10g Web Development
Oracle Application Server 10g Web Development (Oracle Press)
ISBN: 0072255110
EAN: 2147483647
Year: 2004
Pages: 192

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net