Skip to main content

Posts

Showing posts from 2014

ADF Multi select LOV

1. In this approach all the selected values will be inserted in separate rows in table.Ex. if you select 3 value out of 10 in LOV then 3 rows will be inserted in table. No need to create the LOV in ViewObject. Create Entity and View for the table in which you want to store the multiple selected LOV values. Also create the read only view which has the LOV values which user will select. Ex. 1. PropertiesVO - VO in which value will be stored        2.PropertiesAvailableValuesRVO - VO in which provide LOV value. 2. First of all add af:selectManyChoice component to your page. 3. As shown in the below code create the binding,value and valueChangeListner in your bean and associate with this component. 4. Also create the f:selectItems and create the binding and value in bean same as done above. <af:selectManyChoice label="#{caseviewcontrollerBundle.PROPERTIES}"                                  id="cp1"                                   value ="#{page

1Z0-541 Webcenter Portal : Composer

Composer : 1. Whether or not page content is editable is determined when the content is developed. For example, if a task flow is editable, an Edit icon appears on the task flow's header or when you move your mouse pointer over the task flow. If a task flow is not editable, no Edit icon appears. 2. No component actions, such as the Actions menu, the Collapse icon, or the Resize icon, are active when the page editor is set to Source view. 3. You can enable the capabilities described in page view mode by adding the following Composer design-time components to a page: Panel Customizable, Show Detail Frame, Custom Actions, and Layout Customizable. 4. You can provide the capabilities described in page edit mode to your application by adding the following Composer design-time components to a page: Change Mode Link or Change Mode Button, Page Customizable, Panel Customizable, Show Detail Frame,Custom Actions and Layout Customizable. 5. If you restrict customization on a cont

1Z0-541 Webcenter Portal : Spaces

WebCenter Spaces : 1. Oracle WebCenter Spaces provides two work environments within a single application    Personal Spaces and Group Spaces. 2. Your personal space includes both predefined pages and any personal pages you create. 3. Group spaces support discrete communities of any size that are organized around an area of interest or a common goal. 4. Out-of-the-box group space templates include          Group Project,          Community of Interest,          And Blank. 5. The person who creates a group space is automatically that group space's moderator, and can grant any other user Moderator privileges. Users assigned the Moderator or equivalent role can Add or remove group space members Invite new members,Provide and update group space metadata  Such as the group space display name, description, and search keywords; and manage the services available to the group space. Additionally a moderator can configure a group space to allow self-registration of new memb

1Z0-541 Webcenter Portal : Framework

Webcenter Framework : 1. Iterative development lets you see changes to these components almost instantly upon a browser      refresh:  page definitions, navigation model, page hierarchy, existing JSPX files, page templates, resource  catalog, addition of task flows to pages, addition of portlets to pages 2. When an application is deployed to the Integrated WebLogic Server, the org.apache.myfaces.trinidad.CHECK_FILE_MODIFICATION flag is automatically set to true in the web.xml file on the server. This setting causes the server to automatically check the modification time of your JSP and skinning CSS files, and discard saved state when they change. This configuration occurs whether or not the iterative development feature is enabled. 3. When consuming Oracle JSF Portlet Bridge Portlets in your application, ADF attempts to share the skin between the consumer and producer. Therefore, if you are disabling compression on the consumer, you should also do that on the producer. Otherwis

ADF Faces Components

Following images gives you a little bit  idea of components in adf faces. 1. Common components :   2. Layouts : 3. Operations :

ADF Table Filter Customization

This is to explain how a query listener on an af:table component is used to intercept table queries so the developer can programmatically modify the query conditions provided by the application user.e.g. when using the table filter. Default query by ADF for filtering the result contains a map having parameters which are there in the table and their respective value's. In a page you have a table filters enabled. And if you want to override the filter query through bean use the following code. import java.util.Map; import javax.el.ELContext; import javax.el.ExpressionFactory; import javax.el.MethodExpression; import javax.faces.context.FacesContext; import oracle.adf.view.rich.event.QueryEvent; import oracle.adf.view.rich.model.FilterableQueryDescriptor; public class BackingBean {     public BackingBean() {     }     public void customQueryListner (QueryEvent queryEvent) {         // Add event code here...         try {             FilterableQueryDescriptor fq

What is Web 2.0

Web 1.0 : Originally, the World Wide Web was conceived as a mechanism for presenting text and image-rich pages connected together by hyperlinks that anyone could access as long as he or she had a computer and online access. This essentially was Web 1.0. Web 1.5 : As the Web developed, it became clear that, in enterprise environments, a lot of information was held as structured information within business applications.Enterprise portals could link information from these sources; these portals became Web 1.5. Web 2.0 : As enterprise portals became more popular, the Web transformed from a pure information source to one that provides a variety of services, which have now become a vital part of a user’s day-to-day toolbox, both for personal and business use. As these new service concepts have emerged, users’ expectations of the interaction level have changed as well. In the Web 1.0 era, plain information pages were sufficient. However, today’s users expect highly interactive we

Introduction to Fussion Middleware

Main purpose of this writing is to give you a little bit introduction to Fussion Middleware Oracle Fusion Middleware is a collection of leading, standards-based software products. Which span a range of tools and services from Java EE and developer tools, to integration services,business intelligence, collaboration, and content management. The Fusion Middleware’s  architecture enables you to “drop and deploy” various Oracle Fusion Middleware products into your existing IT environments as shown in the diagram. Oracle Fusion Middleware’s modular approach also enables organizations to extend the value of existing middleware technologies and business applications from other software vendors like Microsoft, IBM, SAP.     Oracle WebLogic Server is the core, service-oriented architecture platform that underlies the Oracle Fusion Middleware components.The stack includes business processes, process management, content management, and business intelligence and enterprise pe

Introduction to Oracle WebCenter 11g

Oracle WebCenter 11g is an integrated set of products used to create composite applications, social applications,enterprise portals, collaborative communities and Internet/Intranet Web sites all built on a standards-based SOA.   Some of the Key benefits of Webcenter are   1. Reduces your development time. 2. Develop applications using industry standards that are supported in portals,Java EE, content integration, SOA. 3. Easily integrate your application into an existing infrastructure, such as content management,security, application server and database infrastructure. 4.You can extend your Java EE and SOA applications. WebCenter components : How did WebCenter comes to picture ? It started with JavaServer Faces (JSF) which offers you component-based development that provides benefits like drag-and-drop support and easy editing of component properties. Oracle’s Application Development Framework (ADF) provides another level of productivity you need as an enterpr

WebCenter Deployment Architecture

The main components of the deployment architecture are: • WebLogic Server • Portlets deployed in Portlet Container • Metadata storage for customization information • Enterprise Content Management solution with Content Adapters • WebCenter Services • WebCenter Search • Identity Management         WebLogic Server, which is a Java EE–compliant application server, is at the center of WebCenter. WebCenter applications are Java EE applications that are deployed to WebLogic Server. WebCenter Spaces is a prebuilt custom application using WebCenter Framework and Services. Portlets : WebCenter applications can consume portlets. Portlets are deployed into a Portlet Container and are accessed by various HTTP-based network protocols such as WSRP and SOAP. Oracle WebCenter supports several portlet APIs such as JSR 168 and PDK Java.   Metadata Services : WebCenter applications can be customized or personalized at run time. Customiza

SQL Query Tuning

Follwoing points need to be taken care while developing the ADf application.With these points we can improve the application perforemance. 1. Understanding of the Data, Business, and Application : First and most importanat point is to understand the data model properly,in terms of table dependency.If we are clear about relationship between tables then it will be easy to write query and implement the logic by using various clauses,conditions,joins.. 2. Simple is usually faster   :  instead of writing a very complex SQL qeries, if we break it into multiple simple SQL statements then the chances are quite high that the performance will improve. Make use of the EXPLAIN PLAN to see the query cost.  3. Joining tables in the proper order : Use proper joins between the tables.An improper join can result into performance issues. 4. Using Bind Variables, Stored Procs, and Packages : use proper bind variables where possible in queries.It will fetch the required results only and take l

ADF LifeCycle

Intro : When a page is submitted and a new page requested, the application invokes both the ADF Faces page lifecycle, which extends the standard JSF request lifecycle, and the ADF page lifecycle. The extended JSF lifecycle handles submitting the values on the page, validating component values, navigating pages, displaying components on the resulting page, and saving and restoring state. The FacesServlet servlet manages the request processing lifecycle in JSF applications. It creates an object called FacesContext , which contains the information necessary for request processing, and invokes an object that executes the lifecycle. The ADF page lifecycle handles preparing and updating the data model , validating the data at the model layer, and executing methods on the business layer . It uses the binding container to make data available for easy referencing by the page during the current page request. With following example you will get the detailed idea about the ADF Lifecyle.

Improving ADF application Performance

Performance-issues using View Accessors and List of Values : The default behavior of the JDeveloper and ADF has a negative effect on the performance of your application with LOV's. For many cases we are showing some components as select one choice i.e. LOV which will be based on some VO.For that we create ViewAccessors. ex. Above screen shows the attribute(Descri) on which LOV is made with SomeVo. Suppose we have to define LOV in EmployeeVO on department_id attribute.For that we have to create one DepartmentVO and EmployeeVO. We will create 1 ViewAccessor for DepartmentVO based on department id in EmployeeVO. If you drag this EmployeeVO on your page you can see that executeQueryForCollection is called only once for EmployeeVO but for multiple times it is called for DepartmentVO. The query to determine the choice-list values for the DepartmentId is executed for every row in the EmployeeView. This is unnecessary and can have the performance impact of your app

Accessing the BindingContext through Servlet in ADF Application

Follow the following steps to access the BindingContext in your Servlet 1. Create one seprate pageDef file without any fragement or page.We don't have any option to create  pagedef directly without any page. So go to the folder(on the drive C/D) where you want to add pagedef inside the application and copy one existig pagedef and paste.Rename this copied file with new name ex. MyPageServletPageDef. After that in jDev you can see this file in the same folder where you created through backend. 2. Add the method binding or iterator binding which you want to access in the servlet on the created pageDef file that is MyPageServletPageDef. 3.Next step is to register this pagedef in DataBindings.cpx file.   Open your DataBindings.cpx  file code through source and add follwoing code ex. MyPageServlet is the servlet and  MyPageServletPageDef is the page definition file which we created. First create the id for your pageDef file inside the tag <pageDefinitionUsages> <pageD

Improving the ADF Application Performance

Following are some of the important points to increase the performance of your ADF Application. 1. In view object tuning section always set the fetchSize to value which will be greater than the no of rows you are showing on the grid Because Default fetchSize is 1 with this fetch size for each row it goes to DB and fetch the records, that is one by one as shown in above diagram. I you want to increase the performance set some value for this fetchSize attribute so that it will fetch the rows in batches.      If you are showing 10 rows in a grid then in that ViewObject set fetchSize as 11 (row needed+1).  FetchSize is nothing but how many rows have to be fetched from DB in one trip.Using this no of Db trips will be reduced. 2. Remove unwanted bindings from pagedef and refresh conditions on iterator(only keep the required value of this property). 3. Activation and Passivation :     - when you run your ADF application first time,bydefault ADF creates PS_TXN table in the

Collection in JAVA

Hi guys this post is specifically to give some introduction about collecton framework in java. Collection  :  Is an Interface in java and Collections : Is a class toString(), equal() and hashCode()  method introduction. 1.toString() : This method you can use if you want to read some meangifull text or data from your class.Overriding toString method ex. public String toString() {  return ("I am a Bob, but you can call me " + nickName + ". My shoe size is " + shoeSize);  } 2. "==" in java compares only the references to the object. But if you want to comapre the objects itselt then you need to use the equals() method. 3. equals() : use this method if you want to compare two objects of a class. ex. public boolean equals(Object o) {  if ((o instanceof Moof) && (((Moof)o).getMoofValue() == this.moofValue))   {          return true;  } else{      return false;       }  } 4. hashCode() : is used with equals method.If you wa