OFM 11g Launch – The fusion ages kicked in

Oracle Fusion Middleware 11g has finally arrived and it’ll give as well developers as customers the possibility to implement bleeding edge technology throughout the Oracle Stack.

Just looking at the different features and functionalities that have been build into the stack is amazing and most of all, you can’t get round fusion anymore.

So let’s have a look at what fusion has to offer us (it’ll swipe you of your feet!):

  1. The BEA Integration Milestone:
    1. Weblogic Server will be the underlying backbone of all fusion applications, going from classic environments such as Forms, Reports to the web 2.0 environments such as Webcenter and ADF. What will this milestone offer us:
      1. Flexibility and agility by declarity of design
      2. Take decisions in real time by integrating analytics within the transactional context
      3. Power for the end-user so business and it can interact and collaborate whilst enabling end-users with a flexible, personalized and easy-to-use business oriented environment
      4. Ease-of-upgrade using automated tools to upgrade existing OC4J applications towards the new Web Logic Server
        1. Automated upgrade for soa components, webcenter applications, forms and reports applications
        2. Smart Upgrade for OC4J JEE Applications
          1. Descriptor analysis to report on recommended findings
          2. Upgrade all the pieces of configuration necessary (pick and choose)
      5. Consolidation and virtualization of the data-center to enable companies to maximize return on investment using the data grid
  • Budget can go to development instead of administration and management
  • Services-based delivery that will enable companies to re-use services throughout the enterprise using a standards based approach giving customers and partners the ability to work within a shared-service infrastructure
  • Unified management and monitoring capabilities within one environment and a rich user interface
  1. Enterprise Manager will be the window on the data-center!
  2. Fusion Middleware Control gives you the ability to manage multi-domains, policies, alerts, SLA and much more in a single environment.
  1. The Grid: A new model for efficient resource utilization:
    1. The Coherence in-memory data grid gives you the ability to paralyze computation across the grid
    2. Inherently use the grid for as well cpu as memory
    3. State-aware continuous availability for service infrastructure
    4. Software-only solution, no hardware costs necessary
    5. Off-heap storage = Significantly reduced coherence nodes
  2. Unified Security Model
    1. Using the Oracle Platform Security Services you can define a generic and integrated security model throughout the Oracle Stack = 1 Common Security Layer

So now we have the backbone of our infrastructure laid out, now it’s time to have a look at the different components that will offer these functionalities.

  1. SCA – Service Component Architecture:
    1. Composites will be key throughout this stack which will give you the possibility to deliver and reuse any service that has been built Enterprise-wide. When you’re talking about data services, business services, web services or even mediator services, it’ll all be managed within one environment. In other words ease of development, deployment, management using a unified approach for as well business and IT.
      1. These composite services can be re-used in different ways throughout the business and it lifecycle going from business dashboards, to side-by-side versioning on composite level, to global-policy management, to unified management and monitoring of each aspect and transactions within and E2E-context and much more.
    2. Integration of BEA products :
      1. OESB will become the mediator component within the Service Component Architecture used for basic routing between components
      2. OSB will become the new service bus that’ll offer routing, transformation, chaining of services and much more within SCA
    3. B2B, BAM, BPEL, Human Workflow, OSB can be hooked up into the SCA cloud using Adapter technology to enable business and it to focus on different aspects of the organization whilst holding the needed agility and flexibility throughout the entire development lifecycle.
    4. A unified BPM Platform which is fully BPMN 2.0 compliant and leverages BPM capabilities using a single environment for as well business as IT, namely Jdeveloper
      1. Integration of BPM Studio within Jdeveloper
      2. Share processes and services using the BPM Process Composer and business Catalog
      3. Easy-to-upgrade using the migration path provided when going from 10g to 11g
  2. Jdeveloper – The development environment for as well business and IT, a unique proposition
  • Integration of BPM Studio
  • Composite based development using Adapter-technology
  • ADF which will put a face on each application that needs to be delivered to end-users
    • ADF render kits for Ajax and Flash
    • ADF render kits to .png (talking bandwidth and performance into account)
    • ADF render kits for usability purposes (e.g. Screen reader-functionality)
  • Active Data Services Push
    • Data changes are pushed into the UI instead of needing to pull for data changes, using Coherence Cache Listeners and asynchronous calls
  • Application Lifecycle Management
    • Pluggable interface to quickly access documentation, bugs, reports etc. used throughout the stack
  • ADF Desktop Integration
    • Build transactional spreadsheets using the existing binding layer of ADF

In other words SCA Suite, Webcenter Suite, Forms, Reports and Fusion Apps will use the same infrastructure which will enable the usage of consistent admin and management tools whilst leveraging capabilities of the infrastructure and database throughout the entire stack.

My 2 cents … Fusion has become a reality with unlimited functionality and features!
Working within a forms, JEE, DB or Apps environment, everyone will be using the same technologies throughout the stack … The fusion ages kicked in!

Fusion Design Fundamentals

Duncan Mills gave a great presentation on ODTUG regarding the Fusion Design Fundamentals which gave more insight in how to manage and start in Fusion Development.

The key take aways I found very interesting:

  • The Groundwork: 1. understand the fundamentals of the UI in which you’re aware of what ADF can and can’t do (don’t start designing in dreamweaver because you need to be able to hook it up into ADF. 2. Prototype it and make it sufficiently real which will also give your team and the customer a real case study of what the application can become. 3. Approach the framework and architecture with an open mind because the architectural approach is key.
  • What is the fusion blue print = View – Business Logic – Data (as what you would think working with an MVC-framework.
  • Educate your UI Designers: Use the Placeholder Data Control to mock data and services + show them the rea-site in which you have a sandbox available to plug and play with the different components + behaviour of the design is key when designing User Interfaces (e.g. what happens to the application when I resize the window)
  • Team organisation: a. Optimize team size so you can have expertise in specific technology areas (you can’t do that if the team’s to small, in that case they need to know more about the framework, as well UI as business logic for example). b. try to partition the skills: UI specialist, Service specialist, Orchestration Specialist, DB Specialist, SCM-build and release management. => more separation within the team so developers can specialize.
  • 2 trains of training: a. Create Subject Matter Experts that can mentor large teams (they create POC’s and get to know the framework). b. SWAT-team: mixture of architects and PM’s to get high level view of development teams and decide when to move up and escalate, e.g. in case of a bug
  • Source control and release management need a separate team in which Master Data Management is an integral part of dependency managment
  • Specific things you can do with the stack: a. Create your own Superclasses (Application Super Classes for ADF BC + UI Event Handler Superclasses). b. Use templates for the UI and taskflow using your pre-defined exception handlers. c. Use the skinning-technology to be able to change the look and feel of the UI in a general, generic way. d. Learn to love ADF Taskflows which is fundamental to create reusable stuff and to encapsulate a flow of information ( ADF Taskflow = Page flow on steriods; used for chunks of reusable UI with transactional state, private memory areas, … the true Web 2.0 experience). e. Work with the UI, not against it (think of geometry management, e.g. use decorativeBix which can be resized and stretched depending on the UI Specs) => don’t use absolute sizing or positioning. f. Document the UI patterns you’re using: e.g. master-detail, wizards, … the common patterns are documented on OTN: ADF Functional Patterns.
  • ADF 11G: You will have different source of template patterns to choose from (this is an awesome functionality in which you can choose to work with 1, 2 or 3 columns and each area can be defined upfront as being locked, stretchable, scrollable, …)

Another interesting part of the presentation, 5 laws to live by ;o):

  • Don’t write javascript because anything in Javascript can be hacked or bypassed (make use of the Client Side and Server Side Listener functionalities)
  • Don’t mix in html => stick to the components, avoid JSP Constructs (e.g. JSP include or JSTL) => in this way you can use any controller-layer possible and uplift performance
  • Minimize Use of CSS => use skinning technology and define custom styles in skin
  • Don’t write Custom SQL => try to do it declaratively using view and entity objects
  • Communicate ! Demo, document and share experiences

This was a really interesting presentation regarding the organisation of teams, how to use ADF and what the pitfalls can be.

ADF 11g – Take Aways

Monday morning I followed the session of Lucas Jellema, Putting a Smile on ADF Faces. The presentation was great, especially because Lucas created a demo with some of the features integrated that Steve Miranda had shown in the keynote session regarding Fusion Apps.

Take aways from this session:

  • A table can fetch data in an asynchronous request, so you can scroll throug records and the server will get more data as needed. In other words you don’t need to use the pre-defined row-set anymore which was necessary in previous versions, e.g. show 10 records at a time)
  • Client Side and Server Side support has been greatly improved so developers can tackle functionality where it’s supposed to happen. API’s are available to be able to work only on the Client Side or Server Side using Listeners. Using the Client Side scripting for example, you can now use javascript and client Side API’s instead of needing to use backing beans or managed beans. For Example using propertyListeners on the client side to trigger events.
  • You can embed tables inside the panelCollection-component to be able to change to look and feel of a table component, e.g. detach the table to a separate region to have more display-functionality. What you can do know is hide columns, filter on records at run-time which can give you the same dynamic look and feel as with using interactive reporting within Apex
  • Autosuggest-functionality to be able to get a list of valies according to the information the end-user has putted in. The event keys kan be intercepted by the Client Side Listener, calling the Server Side Listener which can then push the data to the Client Side
  • The Data Push mechanism or Active Data Services give you the ability to work on real-time data without the need to fetch the data yourself which is a great enhancement

And of course there’s lots more in the ADF 11g release that will enhance user friendliness and capabilities for the developer to give you a true Web 2.0 experience. The hierarchy viewer-component can be viewed already on the rea-side. Have a look at what ADF has to offer you in a sandbox-environment where you can start playing around with the functionality.

ADF EMG at ODTUG, OKUG, google-group …

This group is a place to discuss best practices and methodologies for JDeveloper ADF Enterprise development, including effort by “experts” in ADF to discuss high level issues than those discussed on the OTN JDeveloper Forums.

This effort is an overall part of getting ADF experts, advocates and programmers to start collaborating at user group events and OOW to get “ADF out there”.

What does the ADF EMG stand for?

Meanwhile, for those who are looking for something of substance, we’ve recently centralised previous efforts of the group from the Oracle Wiki to this group.

If you select the “Pages” link to the right of the Group window, it’ll list useful content including:

During the Middleware and SOA Session at the Sundown Sessions, we will be further discussing these deliverables and other aspects that have been mentioned on our group.

You can find more information regarding ADF EMG and the ACE program during ODTUG, at: http://www.odtugkaleidoscope.com/acedirector.html

Simon Haslam has submitted an Abstract regarding the ADF EMG take aways for OKUG as well. So if you can’t attend ODTUG, you certainly need to attend OKUG!

JSF/ADF and the browsers’ back button

When you’re developing a JSF or ADF Faces application and your giving your customer a first testing-experience, you’ll notice the browser’s back button is a very interesting functionality used by a lot of end-users.

JSF saves the state of every page loaded in a browser, which means everytime a user clicks the browser back button, JSF loads the saved state of the target page.

You will also notice that the application is behaving very weard and unpredictable and you as a developer will need to solve the problem.

Possible solutions:

  1. Integrate the needed java script functionality to display the application in a full screen window (back button isn’t displayed anymore)
  2. Define no-caching on your web application using the phaselistener (jsf api’s)
  3. The user needs to refresh the page he ‘backed to’ => maybe this isn’t an option when I’m talking about developers and customers ;o)
  4. Use ‘enableTokenValidation=false’ within an ADF Application
  5. Define the needed state- and session-parameters in your jsf’s configuration file, read following post

I still think, when talking to collegues, browsing the internet/communities etc., you need to tell the customer that when using the back button, unexpected behaviour can occure in the application. Using bread-crumbs, task-oriented applications, separate crud-pages, etc. the customer won’t be that easily temped to use the back-button.

SOA Suite 11g, Human Workflow – What to Expect

BPEL, Business Process Execution Language, is the expression language to automate business processes. As well system tasks as human tasks can be automated using a standardized approach.

The upcoming release of 11g will have a lot of new features incorporated, in this blog-post I will elaborate on some of these functionalities in relation to 10g.

In 10g you could define business tasks, these tasks were driven by the business process. In 11g you can define todo-tasks as well, which can then be assigned to users or groups of users. This gives the business users more flexibility and a centralized approach for task management.

In 10g you could assign tasks to users or groups, in 11g you can assign tasks to application roles defined within your organisation. These application roles are defined in the enterprise repository which will give you the ability to govern these roles in one place.

In 10g you could integrate the business processes with a centralized business rules repository. This functionality is called ‘decision rules’ which could be incorporated within your process.

In 11g you have 2 different flavors of business rules integration, dynamically or state-based.

Dynamic invocation of business rules means the business objects and payload decide which flows need to be followed and which rules need to be checked.

The other approach, state-based routing, is the default way of executing business rules depending on the state of a fact or object. This functionality has been enhanced with the ability to go through different loops, depending on the state and state-flow of an object.

In 10g you had a pre-defined set of workflow views available when you open up ‘your tasks’ in the worklist application. In 11g you can define your own work queues and share these views with other users and groups. You could share the same data with other users or groups or share the definition of the view. You could for example define a view ‘My todo-tasks’ with a definition of the different colums and data you want to view. And share the definition with other members within the organisation. In this way you could define different working sets of tasks and have your own custom views defined in a standardized way.

In 11g workflow security has been enhanced with the following features:

  • Propagation of identity : you can promote ejb or soap bindings to a webservice
  • SAML Token based identity propagation for SOAP Services
  • Digitally sign tasks using certificates
  • Integration of Fine Grained Access Controle (FGAC), who can see and act on different parts within the tasks

In 10g you define different kinds of notifications within the business process, such as mail and sms integration. In 11g these User Messaging Services are enhanced so end-users can customize their messaging channels. When to they want to receive notifications and which devices need to be used, mail, sms, … Detection of auto-reply messages, badly formatted responses and spam are also included in 11g.

In 11g Fusion Desktop Integration is also introduced, which gives the business users the ability to integrate workflow within Office application. E.g. List the different tasks within Excel or initiate tasks from Excel using the Oracle ADF Desktop Integration Designer. In other words you have the ability to define bi-directional integration within SOA Suite and your office applications.

From my standpoint the re-designed UI, using ADF Based Rich Task Forms is the functionality we’ve been waiting for. The worklist application is build on top of the ADF RichClient Components. The automatic task form generation in 10g wasn’t based on ADF, which was very frustrating when using the worklist application in 10g. Using 11g gives the business users one common look and feel and the developers one standardized approach for building UI applications. Now you have the ability to customize the worklist application using the visual editor of Jdeveloper and the component pallette as if you were defining and tailoring and ADF application.

This makes the Worklist Application a graphically improved application, using the features available in ADF, e.g. partial page refresh, tree components, …

And of course monitoring and configuration using Enterprise Manager, EM, has been improved as well. In EM you can now track all processes, human tasks, service busses etc. in a unified manner with a detailed audit trail spanning all components. In the new Service Component Architecture, all components are seen as a service, which means you can now go through the entire service-chain within EM.

ODTUG Kaleidoscope 2009 – Must attend event of the year!

The previous year we went to ODTUG to talk about our quality assurance toolkit developed for ApEx. This year we’re going to talk about data integration services delivered using OBI EE, ODI and of course Oracle Warehouse Builder.

And I’m also very pleased to announce the ‘ADF Methodology for the Masses’ community will also present during this developers’ event.
During the sundown session of the ACE’s you will become more familiar with the program and of course we will try and provide the necessary take aways for everyone interested in ADF Development. If you’re interested in what we’ve achieved so far and would like to join our community to exchange experience and knowledge: the Oracle wiki page, the google group.

More than 150 technical sessions, more than 30 hands-on sessions and of course the chance to meet the community and exchange knowledge and experience … the ROI for any developer using Oracle technology is delivered during this conference.

So don’t hesitate, let’s register for ODTUG Kaleidoscope 2009 !

We’re attending, that’s for sure ;o)