Jdeveloper Driving force for Fusion technology?
Well, even if oracle is mainly a database company but with the new cutting edge technology called Fusion is having support for multiple things…
- Huge resources are offered
- Integration with other application is very smooth.
- Rich user interface
- Supported by Java, SOA and web 2.0
Oracle JDeveloper is the new edge tool that works for development. ‘J’ stands for java…it is true but it is not for java only. There is an easy wizard-based drag and drop application that provides page designers, simplified property inspectors, and palettes of UI components to take the building of UI pages into the realms of drag-and-drop and WYSIWYG.
Development of SOA services is driven through wizards and visual designers, so we don’t have to manually write configuration files one line at a time. In each of these cases, JDeveloper provides tooling that aids in the generation and manipulation of the source files.
Why the ADF framework?
ADF-Jdeveloper- Architecturekeeping the above points in mind, Oracle ADF was built specifically to address this requirement by bringing together several sub frameworks and standards to provide an end-to-end, metadata-driven framework for building online transactional processing (OLTP) business applications. It provides a flexible abstraction of common, but generic features over a more complex underlying layer.
well, there is some sophisticated feature also!! this is wizard-based, use case driven framework. This is implemented on metadata which is defined on XML. This metadata can be modified in a very simple and easy way through XML modification through Jdeveloper. The changing mode is simply drag and drop or a few mouse clicks.
It is a modified MVC-Model View Controller framework which supports Model, Object-relational mapping, default operation, validation through simulation, View, Lot of UI component sets, Rendering, programming, solid and changeable look and feels, task flow etc.
ADF -Application development Framework is best for Enterprise Application for the following reasons
- ADF Business Components
- ADF Faces Rich Client
- Data Visualization Components (DVT)
- Great Support for Web Services
- Business Process Execution Language (BPEL)
- Enterprise Service Bus (ESB)
- Extensible Markup Language (XML).
- drag and drop
- easy XML changes
- The less coding skill required while designing.
- Clean separation between code, logic and wizard. So application-specific logic-based codes can reside in separate beans.
- all most none of the cases you need to modify the source.
- Less manual touchpoint so less human error.
- The metadata is read at runtime and is not compiled at design time, we can swap in and out different metadata for different deployments without having to recompile all our Java code.
Important aspects of ADF:
This framework is divided into four major components.
- ADF-BC(ADF-Business component)- This makes the application highly database-centric. So any application can be built on top of the predefined database set.
- ADF Model(ADF): This is the component which acts the connector between view and business logic layer.
- ADF View(ADFv): This component creates a view on top of JSF. This is a very rich face of UI design
- ADF Controller(ADFc): This is the steering part of the ADF. It determines the flow and control transfer.
- JSF 2.0 Development With JDeveloper
- JPA and EJB Development with Oracle ADF
- Developing EJB/JPA Applications with Oracle JDeveloper 11g
Features of JDeveloper
- Oracle JDeveloper Development Experience
- Development Lifecycle with JDeveloper 11g
- The Java Code Editor Features
- Updated SubVersion Support
- UML Design with Oracle JDeveloper
- Developing Extensions for Oracle JDeveloper
Importance of Application Navigator in JDeveloper
When we talk about an advanced editor. We would like to get all the features at a click distance!!
JDeveloper is such an editor. It acts as a simple editor for beginners but same can a go-to editor for advanced users.
This post talks about the linkage between casual coder and advanced coder. Being casual coder we do not need to bother about the different sections of JDeveloper.
But when we advance further, we need to know a little bit about the different components.
Let’s define Application Navigator:
Application Navigator is the basic hierarchical component of JDeveloper which consists of
- Application Resources
- Data Controls
- Recently Opened files
having one-click features like-
- Expandable (selected component expandable)
- minimizable (selected component minimizable)
- Restorable (selected component restorable)
- drag and drop able (selected component drag and drop able to any side of the main editor)
This section talks about all the projects that are being worked on the undercurrent project scope.
It is also having its toolbar to
- Show project properties
- Refresh project list
- Filter current scope
- rearrange all projects
This section talks about resources like descriptor, connection metadata etc
This section gives a hierarchical view of all data related elements. It gives us feature to drag and drop functionality to create User Interface components on a page. It shows us the View object and methods related to data. As it is having a connection with the database it also provides a toolbar to refresh and display data.
Recently Opened Files:
As we are moving forward, we will be creating more and more pages/applications inside our main projects.
So we need a feature that will give an overview and open-able feature to open our created pages/application s very quickly. Yes, Jdeveloper gives this feature. One-click open feature for recently developed/opened files.Hope this helps!!
How to Create an Entity Object in JDeveloper?
In today’s- modern enterprise application consists of a frontend, user-facing part and a backend business service part. The frontend if made in web-based architecture follows the MVC (Model-view-Controller) pattern. Now we heard about this architecture but let me give you a brief introduction about MVC.
The View layer is interacting with the user, displaying data as well as receiving updates and user actions. The Controller layer is in charge of interpreting user actions and deciding which screens are presented to the user in which order. And the Model layer is representing the backend business services to the View and Controller, hiding the complexity of storing and retrieving data.
view–>user interface..It may not be a web interface. It could be a mobile, desktop application, PDA,iPad…I mean everything.
Model->logic storing business data and retrieving the same.
Controller->controls the page flow.
There are several other frameworks available to work on ADF. But the Oracle Fusion Applications, arguably
the biggest enterprise application development effort ever undertaken by mankind is developed on SOA based architecture.
The ADF Architecture:
EO(Entity Object): EOs are object-relational mapping. Relational tables are available in the application as java objects. We will have one EO for every database view.
EOs can cache information on Application server Which helps to balance the load on the database. entity objects are the middle-tier refection of database tables and database views, Associations are the refection of foreign key relationships between tables. An association represents a connection between two entity objects and allows ADF to relate data in one entity object with data in another. But if the database does not contain any foreign key, by the binding feature of JDeveloper we can make the association.
Entity object Java object that represents a row in a database table. It automatically handles data validation, storage and persistence.
Association Entity object associations define the relationships between two entity objects. The association can be read from defined database constraints or manually defined. Associations allow programmatic navigation between related objects to implement complex business rules as well as simplify building join queries over sets of related business data.
Now let me show you how to Create EO using JDeveloper
Step-1 Write click on your Model. You will get one pop up menu ..Select New option and click on it
Step-2 Select ADF Business Component Menu from the left side menu.
Step-3 Search for Entity Object in the right side list. Click on OK button.
Step-4- This is again a wizard to create EO. Provide EO name.
Step-5-Now it is time to provide the data source…We can provide data through two ways–
- Database Schema Object
- Service Interface
For the first option-Database Schema Object you can browse schema object.
Step-6 Click on Browse button to explore the database.
Objects can be-
- Materialized view
Step-7 Select one Database schema from the drop-down and select Object option for this test purpose I will select Table. Click on Query
Step-8- Select the correct table and click on the OK button. Click on Next
Step-9- This will open up the Attribute table. Click on Next
Step-10 This will open up the Attribute setting page. Here you can define for this Entity object What will be primary key and the select primary key for required field and click on Next.
Step-11 This is an optional step to provide any java class to add custom behaviour. Add Bean here or click on Next.
Step-12 This step is to create View Object and add Application module. Any EO is not attached to the Application module or not exposed to the Application module will not be accessible !!
Step-13 For this tutorial we will not attach VO and Application module. Click on Next. This will open up the Summary page. Click on Finish your Entity Object.
Bingo !!!! We have created the first Entity object. You can see the EO inside the model,
The details can be found right side in the TestEO.xml format.
You can change any settings here.
How You Can Make JDeveloper faster?
Most of the time developers struggle with the speed of JDeveloper. I visited several forums. I heard them saying that it sucks up RAM. So the next question comes..how we can make JDeveloper faster?
Well, let’s understand why JDeveloper is slow and eats up your RAM. When we install JDeveloper…It asks us to select a Role for further use. We generally select the Default Role.
Default Role gives us the support to use all the technologies. While giving us better support it loads lots of technologies into main memory.
Which is again not required for us.As I said it is a highly customizable environment. We can always customize it as per our need. One basic approach could be to change our Role!!
How to change the Role??
There are two ways you can change your role and tell JDeveloper what you need most.
1. Either when it asks to select the role on the first startup
2. Or you can navigate to tools–>Preferences and select your role.
This is how you can go ahead and change your role. My suggestion is to select a role which is best suited to you and your requirements.
JDeveloper will automatically customize itself based on that role and remove unwanted items (menus, preferences, galleries, fields, dialogue boxes etc). This process is called shaping (which can be controlled from the User Interface of the tool also.)
How to create a servlet in Jdeveloper?
This post talks about how to create servlet using Jdeveloper. I recommend you to download Jdeveloper (oracle) from Oracle site and use for creating Servlet.
Here is the step by step guide how to create Servlet in JDeveloper?
Step-1: Open JDeveloper
Step-2: Create new Application and Project
Create a new Application and Project by using + sign
Step-3: Provide the project name:
Step-4: Select Web tire and Choose Servlet:
Step-5 Choose Version:
Step-6 :Provide class and Package name:
Give servlet information like-class/packages content type.Also provide the implementation methods
like-doGet() /doPost() etc.
Based on this you will get the method in your editor for further customization.
Step-7: Provide mapping information:
Here we need to give the mapping information of a servlet and its URL pattern along with the implementation methods.
The URL pattern is an important aspect of Servlet…I will discuss in another post.
Click on OK to proceed
Step-8: Complete Servlet creation:
Notice a Sevlet1.java has been created under the project and one more folder called Web-content has been created. Inside that, there is one more folder called WEB-INF and a web.xml has been created.
This web.xml is the mapping file.
In the right side, you can check the code for the corresponding code has been generated which you can further customize.
Below are the links that give you one-touch tutorials on JSF.
- Oracle ADF Faces Components Quick Overview
- Oracle ADF Faces Skin Editor
- Oracle ADF Faces Runtime Capabilities
- Oracle ADF Data Visualizations Overview
- Oracle ADF Data Visualizations: Graph Interactivity
- Oracle ADF Data Visualizations: Maps, Gauges and Pivot Tables
- Oracle ADF Data Visualizations: The Hierarchical Viewer
- ADF Faces Development Experience
- ADF Data Visualization : Maps, Gauges and Pivot Table – Development Experience