Testimonials

What our customers are saying

"You're the best I have."


- D. Barton, Global Oracle Consulting Firm

about us

Service Delivery

Multiple ways to access M&S

M&S offers technology and process solutions through multiple offerings and vehicles. End-to-end solutions, training and mentoring, staffing, ongoing support.

read more

Effective and Efficient

Exceptional Results

M&S today reflects a rare combination of out-of-the-box thinkers, deep business acumen, enterprise architectural design/engineering, and software prowess.

contact us

From the M&S Blog...

Top 10 excuses why ADF has a slow(er than Oracle and organizations desire) uptake

So many of these are related, that I decided to simply list them in no specific order:

  1. “The technology changes/improves too rapidly, and I have fears of 1) ‘will what I am doing become old-school soon’ and 2) ‘is a new/better way of doing going to be released within a few months’.”
  2. “The documentation is daunting.”
  3. “The suggested pre-requisites and structured learning programs seem to change every few months.”
  4. “I have spent considerable time and money hiring smart coders that don’t take to 4GL development as readily.”
  5. “Code generating technologies have some negative connotations when it comes to code cleanliness, efficiency, and performance.”
  6. “There are ‘too many’ choices. Just show me the right way and the best practice.”
  7. “Deeper customization required to fit my specific implementation needs are much less 4GL and have a steeper development learning curve.”
  8. “There aren’t enough ‘experts’ readily available in the market that really know what they’re doing that would drive my ability to hire resources for low-to-medium cost, schedule a rapid delivery (ramp up, implement, deliver, support), or ensure what is being done is being done the ‘right way’.”
  9. “ADF is an end-to-end framework, so I need resources that understand the entire stack to be on the same page about the approach we are taking.”
  10. “This is nothing like anything I have worked with before.”

All this said, Oracle ADF is a core technology that any “Oracle shop” needs to seriously consider investing in at this point as Oracle itself continues to invest further in this as the baseline for both Fusion Middleware and Fusion Applications.

Knowing what organizations are facing with ADF helps us stay one step ahead of ensuring we can help you get to where you need to be, so contact us to find out more about how we can help.

Identity Management: From Oracle 10g to 11g – IdM, SSO, OAM

I have been running Oracle Identity Management 10g with heavy use of 10g SSO capabilities. Much of our web security architecture along with application authentication relies on this infrastructure. What do I do as development begins to shift from OracleAS to WebLogic, and our middleware stack goes from 10g to 11g? We will need to run 10g and 11g in production side-by-side for some period of time.

This is a question many of our customers are asking and it is understandable that there is confusion around this. Oracle hasn’t provided the clearest of answers, and in general, identity management initiatives are not for the faint of heart to tackle. The fact is that 11g identity management has begun a paradigm shift away from the 10g approach. The good news is that customers have options as they inevitably run 10g and 11g together in their environments since identity management solutions span across applications and nobody [I know of] decides to upgrade all of their enterprise applications at once.

In 11g, you have the option of integrating applications (i.e. ADF 11g applications) running on WebLogic with 10g SSO through identity asserters. This approach basically passes in header information to WebLogic that enables it to “trust” a user authenticated via 10g SSO much like it would trust AD or any other form of identity assertion. As you move to an 11g identity management stack, nowhere will you find 10g SSO as you know it. You will need to buy into the OAM (Oracle Access Manager) 11g model, which includes a robust enterprise access management approach in line with 11g applications that rely on J2EE security standards like JAAS.

Print REMOTE_USER CGI Variable in JSP on WebLogic 11g

There could be a number of reasons you want to verify the value of the REMOTE_USER variable in an app you are running in WebLogic. A quick way to check is by dropping in a JSP file that prints the value:

<html>
<body>
REMOTE_USER: <%= request.getRemoteUser() %>
</body>
</html>

Registering Oracle HTTP Server with Oracle WebLogic Server

For Fusion Middleware Control to be able to manage and monitor Oracle HTTP Server instances, they must be registered with the domain. To do this, you must register Oracle HTTP Server with Oracle WebLogic Server using the following command:

WEBHOST1> cd ORACLE_INSTANCE/bin
WEBHOST1> ./opmnctl registerinstance -adminHost  -adminPort 7001 -adminUsername weblogic

Using Oracle ADF EJB PersistObject

While demoing out some ADF faces functionality to the team, I forgot that in order to build a form to save an object to the DB using the persistObject method you should…

1. Build the ADF Parameter Form using the Object’s Constructors from the Data Control.

2. Bind a button to the persistObject data control….. drag the persistObject data control onto the page and select ADF Button.

3. On the Action Binding screen, in the value column provide #{bindings.ObjectIterator.currentRow.dataProvider} as the value for parameter or use the EL builder to find the Iterator used by the form and bind it to the button.

For more information on EJB PersistObject & MergeObject see http://blogs.oracle.com/adf/2011/01/difference_between_ejb_persist_merge_operation.html

ADF Table Row Selection Event Update Form

One of the UI requirements in a recent ADF project was to use an ADF Read-Only Table and its built-in functionality (row selection, filtering and sorting) to allow a user to find a row, select it, then automatically have a form on the same page be updated with the data from the row selected for updating and saving. Let’s run though how to implement this…

1. Build the ADF Read-Only table by dragging the appropriate data control onto the view. Ensure you enable the appropriate ADF behaviors on the Edit Table Columns screen. Row Selection is required, but Filtering & Sorting is optional depending on your needs.

2. Build your ADF Form using the same data control. Ensure your using the same Iterator as the table.

a. Bind your button to the appropriate ADF control to update the DB. For example if you’re using EJB 3.0/JPA then you should have a mergeObject data control that will save updates to object to the DB. In the Edit Action Binding screen make sure to use the same Iterator in your EL expression for the value of the action binding as your Table and form components.

b. Select the ADF container that contains your form components (for example af:panelFormLayout), and change its Behavior -> PartialTrigger property to the id of your table. This causes your form container to listen for any events that get fired from your table, and thus will refresh the form with the iterator’s currentRow (when the selection event get fired from the table).

3. Run the applicaiton and test, without any additonal work, it should look something like……

WebCenter 11g PS3 on WebSphere

I was slightly excited about WebCenter 11g PS3′s ability to run on IBM WebSphere — not because I run WebSphere, but because it could open the doors for WebCenter at places that run an IBM infrastructure. I was disappointed to find that I couldn’t even download the WebSphere trial from IBM’s site (see the accompanying video). Ironically, the [WebSphere] server that is serving the download produces an Internet Server 500 error. Yes, I verified that others also received the error. I’ll stick with WebLogic for now.

YouTube Preview Image

Oracle ADF vs. Other Java Web Frameworks

To extend on an earlier blog posts by a colleague here at M&S, I’m a firm believer in using different technologies in different situations. Trying to make a technology ‘work’ when another is clearly a better choice is very often a critical mistake. Reasons why these decisions get made are numerous (familiarity with a technology, existing infrastructure, etc). With that said, my own take on ADF vs. other Java web frameworks (such as Grails) is actual a lot more black & white than I thought it would be.

While ADF enables typical CRUD functionality quickly and efficiently, it’s abstraction from the actual underpinnings and code make the overall learning curve higher. Personally, I’d rather be forced to generate my own view code and Javascript, as this has become the most important part to any rich web application and understanding it’s technology at a granular level is critical. On the flip side, ADF is extremely flexible allowing you to mix and match model technologies that fit just about any business infrastructure, whereas most other frameworks typically limit your choices here. Additionally, ADF Faces provides about 100 rich, AJAX enabled UI components out of the box that have functionality such as sorting, filtering, and row selection, that you’d need to use jQuery or Prototype to handle elsewhere.

At this point, I asked myself, when would I use ADF vs. another conventional Java web framework? Here are the characteristics that I’ve come up with that best suit ADF or another Java web framework. What are your thoughts?

ADF Typical Project Characteristics

  • Enterprise
  • Internal / Intranet
  • Proprietary components ok (ADF Faces, ADF BC)
  • Style unimportant
  • Large datasets
  • Rapid development critical
  • Abstraction from underpinnings ok

Other Conventional Web Framework Project Characteristics

  • Startups / Consumer Web Apps
  • Internet
  • Style Important / particular UI requirements
  • Bulk UI changes probable
  • Open Source required
  • Dev team familiar with technology at a low level