A new article has popped up on the world wide web titled ‘Java is a Dead-End for Enterprise Apps‘ … this will certainly juice up some communities :-)
If you read along in the article you will find different interesting aspects regarding enterprise application development. The discussion that’s unveiled in the article regarding ‘Java is too complex for business application development’ is something I won’t get into. What I do find interesting in the article are the different technologies and frameworks being discussed such as JavaFX, Ajax, Spring, Hibernate, … and the focus on richer User Experience that leads to new frameworks and new insights.
The end-user wants to do more in his data entry / web applications … He wants to be able to interact in an intuitive and integrated way with co-workers, interchange data with other applications enterprise-wide and most of all reuse existing services within the company to reduce the manual workload.
In other words when we look at the applications of yesterday, today and tomorrow we see a steady leap towards interchangeability, interaction, social networking with a clear focus on Business Process Reengineering and let’s not forget most of all user-experience is key.
As mentioned in the article Business Process Modeling is becoming more and more a decisive factor in defining the strategy of a company and it’s IT development. In other words business process reengineering (BPR) is needed to rethink how work is done today within the organization in order to improve customer service, cut operation costs and improve agility and interchangeability.
For a more compelling story, have a look at: Java the Javatar … a must see for every IT consultant.
Tuesday I went to a session regarding migrating Oracle Discoverer to OBIEE which was a very interesting resume on do’s and don’ts when migrating.
First of all only metadata is migrated, not the reports itself. When you think about that is a logical approach as well because you don’t want all your front-end reports and logic to be delivered in OBI. OBI has a lot of more features which you wouldn’t be using when migrating as well metadata as reports.
Tip: Use different rpd-files when you have loads of data to resolve performance issues because BI Server reads through the whole rpd-file when starting up.
How to start migrating:
- Export ‘End User Layer’ in discoverer to a .eex file
- The migrate tool itseld is a windows based tool which you can use command-line to migrate the .eex file to an .rpd file. You can change the properties of the migration tool in the MigrationConfig.properties file.
- Copy the .rpd-file to your BI Server/Repository folder
- Define which .rpd-file to start-up with in the NQSConfig.INI file
- Update the .rpd-file online
- Login to your OBI-environment and open up the Answers-tab to look through the Subject Area and data that has been created using the .rpd file. From now on you start creating your own reports as a business user.
What isn’t migrated when opening the rpd-file in OBI EE:
- You have to reestablish the connection to your database
- You have to define a password for your Administrator user otherwise your BI Server won’t come up on your linux environment. This is a very important tip: because it takes a while to find out which error occured when you’ve migrated your discoverer metadata to an .rpd file and your BI Server crashes.
Yesterday I followed a session regarding OSB given by Jeff Davis, it was an interesting session with a lot of demo’s regarding using business services and proxy services.
Topics that we’re interesting to me during the session and I would like to share with the community:
- Coherence ships with OSB/Weblogic which gives you the possiblity to cache service results to speed up performance. As Jeff mentioned a case could be that your users need to get the latest financial results each day which is a long running business process. This process can be launched asynchronously when the user is logged on in the background. The result of the process is then put in the service cache so when the user needs the information it’s shown to him without delay. The Service Result Caching functionality is integrated within OSB 11G, Release 1.
- OSB 11g, Release 1 is also fully integrated with Enterprise Repository which gives you the possiblity to index all your existing services using your metadata such as XML, XSD, WSDL, … Using Enterprise Repository the impact of changes made to individual services is clear which makes your release management process a lot easier! Make sure to check out the features and functionality delivered by the Enterprise Repository to be able to govern your services throughout the enterprise.
- OSB12C (C stands for Cloud) is the next upcoming release of OSB which holds a lot of new interesting functionality such as templating/prototyping services, development is integrated within Jdeveloper, … The fact that the development will be integrated within Jdeveloper gives your development team the possibility to use one and only one IDE to have E2E development from database to business components, to services such as bpel, osb, external services, business rules untill the end-user interface
During the demo Jeff showed how you can expose functionality of an EJB 3.0/2.1 module as a service using business services and proxy services. You can transform from an EJB 3.0 business service to an EJB 2.1 Proxy Service using XQuery and the JEJB protocol.
This morning I went to a session of Steven Feuerstein: PL/SQl Developer, quiz thyself. A very interactive and fun presentation where the attendees had to answer questions regarding SQL and PL/SQL.
First we played a game of mastermind in which you can sharpen your deductive skills as Steven mentioned. Playing mastermind improves your skills to debug your code and eliminate factors out.
You can find all the material of his presentations and the quizes in the demo.zip file which is on his website (have a look at training, seminars).
Some items I’ve noted during the session:
How to continue past exceptions
- Use format_error_stack to display you errors instead of SQLERR using the DBMS_UTILITY package
- Use DBMS_ERRLOG.create_error_log to create an error log table based on your table on which your performing the DML on
- Surpress exceptions at row level => only possible way is when using log_errors()
- Exception raising is expensive in PL/SQL it’s better to trap exceptions
Performing bulk processing:
- Use forall to perform bulk processing instead of looping over cursors and performing DML within the loop
Ask for improvements for 12G release: Use the website ‘I love PL/SQL and …’ to add your suggestions regarding functionality to add in 12g release.
- plitblm holds all functions you can use when working with associative arrays
- format_error_backtrace gives you the possibility to get the line number where the error was raised. Have a look at Quest Error Manager to get the error-log framework
The entire session was very interesting, especially because it was a fun and practical game where you can teach thyself.
Me and my colleagues arrived saturday afternoon in San Francisco, we rushed to our hotel and after a refreshing shower after a whole day trip we went to our first event: drinking and eating ;o)
It was a fun event with a lot of benelux partners but we didn’t keep up very late because of the jet lag.
The next morning we went on a sailing trip with the Oracle Partners, had a nice lunch and then went to pick up our badges at Moscone West. As expected there are a lot of people attending Open World.
Regarding the Jet Lag, my internal clock is still running in the Belgium timezone … hopefully that’ll sort itself out asap ;o)
Today we’re going to start quizing ourselves with Steven Feuerstein …
To all, have a wonderfull Open World and don’t miss our session regarding Forms Modernisation Wednesday !
For the people, partners, customers attending Open World and interested in Forms and fusion technologies I’ve made a little resume of the interesting sessions you could attend:
- S315945 : Oracle Forms in the Middle of Middleware with Oracle Product Management – Wednesday, September 22, 13:00 | Marriott Marquis, Salon 9
- S317234 : Moving from Oracle Forms to Java and Oracle Application Development Framework – Tuesday, September 21, 09:30 | Hotel Nikko, Carmel
- S313982 : Forms2Future: Journey into the Future for Organizations on the Oracle Platform – Tuesday, September 21, 13:00 | Hotel Nikko, Golden Gate
- S313280 : PL/SQL Developer, Quiz Thyself! – Monday, September 20, 10:00 | Hotel Nikko, Bay View
Sessions regarding Fusion Middleware, Enterprise Architecture, Upgrading to 11g:
- S313466 : Oracle Fusion Middleware as an Enabler for Transformation and Innovation – Monday, September 20, 15:30 | Moscone West L3, Rm 3018
- S317629 : Best Practices in Enterprise Architecture: Case Studies – Tuesday, September 21, 17:00 | Moscone South, Rm 301
- S316135 : From Oracle Forms to a Service-Oriented Architecture with Oracle SOA Suite 11g – Tuesday, September 21, 17:00 | Marriott Marquis, Salon 9
- S317403 : Oracle Internet Application Server 10g to Oracle Fusion Middleware 11g R1 – Wednesday, September 22, 10:00 | Marriott Marquis, Salon 8
- S315685 : Stay Away If You Are Technical: This Is Oracle Fusion Middleware for Business – Sunday, September 19, 16:30 | Moscone West L2, Rm 2010
- S317474 : Oracle Fusion Middleware Application Server Roadmap – Monday, September 20, 11:00 | Marriott Marquis, Salon 9
- S316409 : Oracle Fusion Middleware Architecture: Choices, Choices, Choices – Monday, September 20, 17:00 | Marriott Marquis, Golden Gate B
- S316855 : Oracle Fusion Development Platform: Oracle JDeveloper and Oracle ADF Overview – Tuesday, September 21, 11:00 | Marriott Marquis, Salon 9
- S316075 : Telenet: The SOA Challenge – Tuesday, September 21, 14:00 | Marriott Marquis, Salon 4
- S316906 : Adding Web 2.0 Interfaces to Your Enterprise Applications: The Oracle Fusion Way – Thursday, September 23, 09:00 | Moscone West L3, Rm 3016
- S316615 : Migrate: Oracle Application Server Containers for J2EE to Oracle WebLogic Server – Sunday, September 19, 15:30 | Moscone West L2, Rm 2010
If you’ve got other interesting sessions to add, please comment so no one misses out on interesting tips, tricks during Oracle Open World.
Of course besides these sessions there are enough things to see, do and visit up and around San-Francisco such as the cable car, fisherman’s warf, bicking (preferably with a tandem … hilarious) on golden gate bridge, eat a delicious Cioppino, visit Sausalito, …
Hope to see you all there !
Forms modernization has a different angle for each customer or developer talking about it but for each angle the approach will always be the same: Think Big, Start Small.
When choosing forms modernization you should choose one topic at a time and define a short- and long-term planning with quick-wins as starting points.
Possible topics could be:
- UI modernization
- Service-enable existing functionality
- Integrate with existing applications, services
- Upgrade to enable latest event-driven functionality and entering the fusion ages
Let’s say the customers’ focus for modernization is service-enabling existing functionality, e.g. publish reusable pl/sql functionality as a service.
The approach to accomplish this would be an iterative, gradual approach in which the customer will go through one or more of the following steps:
- Create a portfolio of the existing pl/sql functionality
- Categorize those functionalities that could be externalized to other applications, partners, customers
- Rank those would-be services on impact, development time and business urgency
- Start with easy, highly visible services to show fast win
- Find the appropriate tooling
Performing these steps and using jdeveloper to externalize PL/SQL functionality as a service, the existing knowledge and investment in forms and pl/sql is kept whilst uplifting customer and developer satisfaction.
In other words: extending and uplifting existing forms applications to be trully in the middle of middleware is no myth it’s reality.