Wie komplex können APEX Applikationen denn werden? November 22, 2012 Madi Serban Product Manager PITSS
About the Presenter Madi Serban - Some Recent Projects Airas Intersoft, UK 600 Forms 10g to Forms 11g and ADF 11g Migration Designer-generated, very complex UI ADF Migration Days Education Provider, Germany Forms 6i to APEX Migration Complex Business Logic, Webutil, LDAP security US Health Care Provider Forms 6i to ADF 11g Migration Complex UI, Webutil, LDAP security, Reports PITSS.CON Oracle Forms Development in progress 2 x Year completed completed on-going
More than 15 years experience with Oracle technology Oracle Gold Partner Member of Oracle Modernization Alliance Oracle Forms Migration Partner Customer references around the world www.pitss.eu/references www.pitss.com/us/our-customers PITSS America LLC, www.pitss.com PITSS GmbH www.pitss.eu
What do we gooogle for? Comparing to Forms Forms 2006 = (Forms + APEX + ADF +??) 2012 * http://www.google.de/trends accessed on June 15, 2012
How complex can APEX applications get? Is there a maximum complexity for APEX? Example: Which Forms applications can be migrated to APEX? the number of modules is irrelevant what really matters is their complexity
Could a single technology solve all our needs? (Or how to become public enemy in one page) Forms? end users may not like applets we may not find enough Forms developers Java ADF? APEX? perceived as complicated learning path barrier for the developer community growth we may need a more complex transaction management long list of limitations, even if all have workarounds But what about MIXING technologies? - Commits - Multiple tabular forms/ interactive reports on 1 page - MDD, MDDD - interactive report no. of columns - >100 items on 1 page
How were database applications 10-20 years ago? Forms calling Forms calling Forms calling
How were database applications 10-20 years ago? Forms calling more Forms (50 here)
How were database applications 10-20 years ago? Forms calling even more Forms (>100 here) An average Forms application has 600 FMBs => Clustering => Multiple Technologies
How to mix technologies? Our customer s favorite recipe: Technology mix defined around functional clusters Main menu ADF Core, Back-End Forms11g Forms calling APEX calling ADF Intranet Web app APEX Partner app.net Customer online app Java ADF
Case Study 1: Forms to APEX Wie komplex können APEX Applikationen denn werden? Case Study 1 German Education Provider Migration from Forms 6i to APEX 4.1 Challenges: Medium complexity pages, but: Extremely complex business logic Complex transaction mechanism Co-existence with Forms applications Data access managed with dedicated database schemas and views Solution: Migration performed with PITSS.CON Application Cleaning Forms Business Logic to Database Application redesign to comply with APEX transaction mechanism Data access with VPD
Case Study 1: Forms to APEX Wie komplex können APEX Applikationen denn werden? Cleaning the Forms application In average, 30% of Forms objects are unused or redundant Who dares to touch a running system? Example: 45% less lines of code in a real-life, 600-FMB Designer application deleted unused objects grouped similar code in libraries
Case Study 1: Forms to APEX Wie komplex können APEX Applikationen denn werden? Business Logic to Database Packages Good for APEX: best practice Good for Forms: reduced size, maintenance Good for SOA: increasing code reuse Difficulty: separating DML from UI: DML to DB and UI to Forms/ APEX
Case Study 1: Forms to APEX Wie komplex können APEX Applikationen denn werden? Adapting to APEX Transaction Management Redefining Pages around Transactions What did this mean? Writing new specifications Obtaining end user acceptance (where possible) Development => almost full redesign for complex pages
Case Study 1: Forms to APEX Wie komplex können APEX Applikationen denn werden? Login Mechanism Needed: common security for Forms and APEX Forms: Dedicated database connection Difficulties: Both use common data and stored business logic Data is restricted dynamically in Forms, according to user connection APEX DB changes should not affect Forms current installation Solution: VPD on a separated schema for APEX
Case Study 1: Forms to APEX Wie komplex können APEX Applikationen denn werden? Login Mechanism Needed: common security for Forms and APEX Solution: VPD on a dedicated APEX schema. Forms application is unaffected. Forms APEX Multiple schemas: user1, user2, restricting data at runtime according to various conditions Forms Runtime Users View A Select where View B Select where View C Select where Where clause managed by VPD for the APEX application users (user1, user2, ) APEX Schema View A Select where VPD View B Select where VPD View C Select where VPD Forms Compile Schema View A Table A View B Table B View C Table C
Case Study 2: Forms to ADF Wie komplex können APEX Applikationen denn werden? Case Study 2: US Health Care Provider Migration from Forms 6i to ADF 11g Challenges: Very complex pages (Master-Detail-Detail-Detail) Very complex transaction mechanism Co-existence with Forms and Reports LDAP security Solution: Migration performed with PITSS.CON Application Cleaning Forms Business Logic to DB
Comparing APEX with Forms and ADF Same app: Master-detail for s_dept and s_emp tables APEX ADF Forms
Forms APEX APEX pages: navigator export script Master-detail page definition: Wie komplex können APEX Applikationen denn werden?
ADF APEX APEX pages: navigator export script Master-detail page definition: Wie komplex können APEX Applikationen denn werden? Model (data objects) View (user interface) Controller (bindings)
Demo: Integrating Technologies How can Forms, ADF and APEX (peacefully) co-exist? Forms ADF APEX!!! Passing Parameters!!! Functional Clustering Non-Oracle BI Publisher Reports!!! Transaction Management
So: Is there a maximum complexity for APEX? Well.. Maintenance cost is in direct proportion to the number of workarounds. This is because most workarounds are Hard-coded Difficult to migrate Difficult to debug Poorly supported Interacting with other workarounds. My answer Bottom line: When are projects suitable for APEX? Yours?? When APEX is used for its strengths, and not pushed beyond reasonable limits.
Thank you! Challenge us! Upgrade to Forms 11g Migration to ADF, APEX or Any-GUI Pilot/ Full migration projects PITSS International www.pitss.com mserban@pitss.de