fondsprofiler @ union investment - the biggest apex project in the world
TRANSCRIPT
![Page 1: Fondsprofiler @ Union Investment - The biggest apex project in the world](https://reader035.vdocuments.us/reader035/viewer/2022070602/5875ce7e1a28ab8f438b4cad/html5/thumbnails/1.jpg)
|
FondsProfiler @ Union InvestmentThe biggest APEX project in the world?Niels de Bruijn, Business Unit Manager APEXOliver Lemm, Supervisor Competence Center APEX
Kscope 2013, June 26th
![Page 2: Fondsprofiler @ Union Investment - The biggest apex project in the world](https://reader035.vdocuments.us/reader035/viewer/2022070602/5875ce7e1a28ab8f438b4cad/html5/thumbnails/2.jpg)
| FondsProfiler @ Union Investment2
Introduction
Niels de Bruijn 36 year, married, two daughters living in Ratingen (nearby Düsseldorf) since 12/2003 @ MT AG (after 2 years @ Oracle)
- Senior Consultant > Supervisor > Business Unit Manager http://apex.mt-ag.com & http://www.apexsolutions.de you can find me on Skype, Xing, LinkedIn, Twitter, Facebook
![Page 3: Fondsprofiler @ Union Investment - The biggest apex project in the world](https://reader035.vdocuments.us/reader035/viewer/2022070602/5875ce7e1a28ab8f438b4cad/html5/thumbnails/3.jpg)
| FondsProfiler @ Union Investment3
Introduction
Oliver Lemm 32 year, married, two daughters living in Dinslaken since 02/2007 @ MT AG
- Junior Consultant > Consultant > Senior Consultant> Supervisor APEX
degree „Angewandte Informatik“ from the university of Duisburg-Essen architect and lead developer for APEX projects Blog http://oliverlemm.blogspot.de Twitter https://twitter.com/OliverLemm
![Page 4: Fondsprofiler @ Union Investment - The biggest apex project in the world](https://reader035.vdocuments.us/reader035/viewer/2022070602/5875ce7e1a28ab8f438b4cad/html5/thumbnails/4.jpg)
| FondsProfiler @ Union Investment4
APEX.MT-AG.COM
![Page 5: Fondsprofiler @ Union Investment - The biggest apex project in the world](https://reader035.vdocuments.us/reader035/viewer/2022070602/5875ce7e1a28ab8f438b4cad/html5/thumbnails/5.jpg)
| FondsProfiler @ Union Investment5 |
Agenda
1. About the Project2. Key Facts3. Technical Highlights4. Are you ready for doing big (APEX) projects?
![Page 6: Fondsprofiler @ Union Investment - The biggest apex project in the world](https://reader035.vdocuments.us/reader035/viewer/2022070602/5875ce7e1a28ab8f438b4cad/html5/thumbnails/6.jpg)
| FondsProfiler @ Union Investment6 |
About the Project
![Page 7: Fondsprofiler @ Union Investment - The biggest apex project in the world](https://reader035.vdocuments.us/reader035/viewer/2022070602/5875ce7e1a28ab8f438b4cad/html5/thumbnails/7.jpg)
| FondsProfiler @ Union Investment7
What is it all about (technically speaking)?
FondsProfiler contains the definition of 960 funds Intranet application used by 650+ registered active users
About the Project
Fund DefinitionAPEX 4.1 /DB 11gR2
Master Data
Enforcement of investment restrictions
Enforcement of benchmark definitions
Reporting
![Page 8: Fondsprofiler @ Union Investment - The biggest apex project in the world](https://reader035.vdocuments.us/reader035/viewer/2022070602/5875ce7e1a28ab8f438b4cad/html5/thumbnails/8.jpg)
| FondsProfiler @ Union Investment8 |
Key Facts
![Page 9: Fondsprofiler @ Union Investment - The biggest apex project in the world](https://reader035.vdocuments.us/reader035/viewer/2022070602/5875ce7e1a28ab8f438b4cad/html5/thumbnails/9.jpg)
| FondsProfiler @ Union Investment9
FondsProfiler
A single APEX 4.1 application that consists of: 67 pages, 344 tables, 366 views, 107 packages and 167 LOVs
Development time of 12 months Going live on 07/16/2012
Key Facts
![Page 10: Fondsprofiler @ Union Investment - The biggest apex project in the world](https://reader035.vdocuments.us/reader035/viewer/2022070602/5875ce7e1a28ab8f438b4cad/html5/thumbnails/10.jpg)
| FondsProfiler @ Union Investment10
Project Team
Employees of MT AG involved during the development phase: 8 - APEX (including PL/SQL experts) 2 - Data Modeling 4 - Interfaces
3 - Project Leaders 1 - Quality Assurance 1 - Admin
Project type: fixed price
Key Facts
![Page 11: Fondsprofiler @ Union Investment - The biggest apex project in the world](https://reader035.vdocuments.us/reader035/viewer/2022070602/5875ce7e1a28ab8f438b4cad/html5/thumbnails/11.jpg)
| FondsProfiler @ Union Investment11 |
Technical Highlights
![Page 12: Fondsprofiler @ Union Investment - The biggest apex project in the world](https://reader035.vdocuments.us/reader035/viewer/2022070602/5875ce7e1a28ab8f438b4cad/html5/thumbnails/12.jpg)
|12
Layout, Design, User Interaction
FondsProfiler @ Union Investment - n
Technical Highlights
![Page 13: Fondsprofiler @ Union Investment - The biggest apex project in the world](https://reader035.vdocuments.us/reader035/viewer/2022070602/5875ce7e1a28ab8f438b4cad/html5/thumbnails/13.jpg)
|13 FondsProfiler @ Union Investment - n
Technical Highlights
Implementation strategy for big projects
![Page 14: Fondsprofiler @ Union Investment - The biggest apex project in the world](https://reader035.vdocuments.us/reader035/viewer/2022070602/5875ce7e1a28ab8f438b4cad/html5/thumbnails/14.jpg)
|14
Implementation strategy for big projects
FondsProfiler @ Union Investment - n
Technical Highlights
site-specific-databaselayer concept predefined standard functions per page
- fetch/save/check Only a single manual fetch/save process per page
- increased maintainability Single “save” button per page although multiple regions Using an acronym for every template-name which is used
![Page 15: Fondsprofiler @ Union Investment - The biggest apex project in the world](https://reader035.vdocuments.us/reader035/viewer/2022070602/5875ce7e1a28ab8f438b4cad/html5/thumbnails/15.jpg)
|15
How to handle multiple MRUs on a single page
FondsProfiler @ Union Investment - o
Technical Highlights
![Page 16: Fondsprofiler @ Union Investment - The biggest apex project in the world](https://reader035.vdocuments.us/reader035/viewer/2022070602/5875ce7e1a28ab8f438b4cad/html5/thumbnails/16.jpg)
|16
How to handle multiple MRUs on a single page
FondsProfiler @ Union Investment - o
Technical Highlights
Multiple MRUs on a single page were necessary APEX collections were used to keep the changed values before the “Save”
button was clicked Handle general mru on global page / Page 0 Overloading apex_item package with own JavaScript/CSS Special functional handling when saving Using overlay when adding lines
![Page 17: Fondsprofiler @ Union Investment - The biggest apex project in the world](https://reader035.vdocuments.us/reader035/viewer/2022070602/5875ce7e1a28ab8f438b4cad/html5/thumbnails/17.jpg)
|17
The “Master Table”
FondsProfiler @ Union Investment - o
Technical Highlights
![Page 18: Fondsprofiler @ Union Investment - The biggest apex project in the world](https://reader035.vdocuments.us/reader035/viewer/2022070602/5875ce7e1a28ab8f438b4cad/html5/thumbnails/18.jpg)
|18
Which page contains which items and how do these map to the data model? Which items belong logically together?
- Validation attributes on group level (required?- max. size? - min/max allowed?)
The “Master Table”
FondsProfiler @ Union Investment - o
Technical Highlights
![Page 19: Fondsprofiler @ Union Investment - The biggest apex project in the world](https://reader035.vdocuments.us/reader035/viewer/2022070602/5875ce7e1a28ab8f438b4cad/html5/thumbnails/19.jpg)
|19
Ensuring that project guide lines are followed
FondsProfiler @ Union Investment - o
Technical Highlights
![Page 20: Fondsprofiler @ Union Investment - The biggest apex project in the world](https://reader035.vdocuments.us/reader035/viewer/2022070602/5875ce7e1a28ab8f438b4cad/html5/thumbnails/20.jpg)
|20
Ensuring that project guide lines are followed
Using APEX Repository, Metadata from Database and “Master Table” APEX
- Branches, Process, item, region, button, page- Names, Templates, Condition never, help text, alignment, lov
Database- Save_page, fetch_items, check_data, table and column mapped
Master Table- Item on page, compare in tables, reference tables contains data
FondsProfiler @ Union Investment - o
Technical Highlights
![Page 21: Fondsprofiler @ Union Investment - The biggest apex project in the world](https://reader035.vdocuments.us/reader035/viewer/2022070602/5875ce7e1a28ab8f438b4cad/html5/thumbnails/21.jpg)
|21
Ensuring that project guide lines are followed
FondsProfiler @ Union Investment - o
Technical Highlights
APEX Advisor
Project guidelines were documented- but as usual, nobody follows these, therefore:- QA-Tool was introduced - enforces the project specific guide lines
![Page 22: Fondsprofiler @ Union Investment - The biggest apex project in the world](https://reader035.vdocuments.us/reader035/viewer/2022070602/5875ce7e1a28ab8f438b4cad/html5/thumbnails/22.jpg)
|22
Validations
FondsProfiler @ Union Investment - n
Technical Highlights
![Page 23: Fondsprofiler @ Union Investment - The biggest apex project in the world](https://reader035.vdocuments.us/reader035/viewer/2022070602/5875ce7e1a28ab8f438b4cad/html5/thumbnails/23.jpg)
|23
Validations
FondsProfiler @ Union Investment - n
Technical Highlights
![Page 24: Fondsprofiler @ Union Investment - The biggest apex project in the world](https://reader035.vdocuments.us/reader035/viewer/2022070602/5875ce7e1a28ab8f438b4cad/html5/thumbnails/24.jpg)
|24
Validations
FondsProfiler @ Union Investment - n
Technical Highlights
Each page can be validated by a click on a button Saving data and checking data had to be separated Based on Master Table Type and if field is mandatory should be used
> 270 validations are performed- Simple ones like “is number?” > client-side check- Complex ones > server-side check by PL/SQL
either page-specific or by using a general package
All checks can also be performed at once!
![Page 25: Fondsprofiler @ Union Investment - The biggest apex project in the world](https://reader035.vdocuments.us/reader035/viewer/2022070602/5875ce7e1a28ab8f438b4cad/html5/thumbnails/25.jpg)
|25
Security Concept
FondsProfiler @ Union Investment - o
Technical Highlights
![Page 26: Fondsprofiler @ Union Investment - The biggest apex project in the world](https://reader035.vdocuments.us/reader035/viewer/2022070602/5875ce7e1a28ab8f438b4cad/html5/thumbnails/26.jpg)
|26
Security Concept
FondsProfiler @ Union Investment - o
Technical Highlights
Combined LDAP/local authentication used Triggers log every possible change Authenticated users may see every page
- jQuery renders appropriate fields read-only, depending on security settings- No server sided security, no checksum performed (accepted behavior)
Lock a set of data based on functional definition- Lock all pages related to fondsprofil based on time- Lock automatically the page and the related data
![Page 27: Fondsprofiler @ Union Investment - The biggest apex project in the world](https://reader035.vdocuments.us/reader035/viewer/2022070602/5875ce7e1a28ab8f438b4cad/html5/thumbnails/27.jpg)
|27
Querying the whole data model
FondsProfiler @ Union Investment - n
Technical Highlights
![Page 28: Fondsprofiler @ Union Investment - The biggest apex project in the world](https://reader035.vdocuments.us/reader035/viewer/2022070602/5875ce7e1a28ab8f438b4cad/html5/thumbnails/28.jpg)
|28
Querying the whole data model
FondsProfiler @ Union Investment - n
Technical Highlights
End user can query data model by using Interactive Reports- Each IR covers a section of business data- Based on a set of data and the definition of the Master Table another row had
to be selected Table functions used
![Page 29: Fondsprofiler @ Union Investment - The biggest apex project in the world](https://reader035.vdocuments.us/reader035/viewer/2022070602/5875ce7e1a28ab8f438b4cad/html5/thumbnails/29.jpg)
|29
Delta-Reporting
FondsProfiler @ Union Investment - o
Technical Highlights
![Page 30: Fondsprofiler @ Union Investment - The biggest apex project in the world](https://reader035.vdocuments.us/reader035/viewer/2022070602/5875ce7e1a28ab8f438b4cad/html5/thumbnails/30.jpg)
|30
Delta-Reporting
FondsProfiler @ Union Investment - o
Technical Highlights
Recursive mechanism based on foreign keys Using Master Table to determine dynamically Label Comparing two sets of data Collections were utilized to improve performance Building a direct link to the related APEX page where the attribute can be
maintained
![Page 31: Fondsprofiler @ Union Investment - The biggest apex project in the world](https://reader035.vdocuments.us/reader035/viewer/2022070602/5875ce7e1a28ab8f438b4cad/html5/thumbnails/31.jpg)
|31
Copy-Functionality
Copying a set of data relying on many tables (1-1,1-n,n-m) Different types of copy
- Using copy as a template- Using copy as a new version of old data
Master Table defines for each field if the field should be copied based on the copy type
FondsProfiler @ Union Investment - o
Technical Highlights
![Page 32: Fondsprofiler @ Union Investment - The biggest apex project in the world](https://reader035.vdocuments.us/reader035/viewer/2022070602/5875ce7e1a28ab8f438b4cad/html5/thumbnails/32.jpg)
| FondsProfiler @ Union Investment32 |
Are you ready for doing big (APEX) projects?
![Page 33: Fondsprofiler @ Union Investment - The biggest apex project in the world](https://reader035.vdocuments.us/reader035/viewer/2022070602/5875ce7e1a28ab8f438b4cad/html5/thumbnails/33.jpg)
| FondsProfiler @ Union Investment33
Joel on Software: 12 Steps to Better Code
1) Do you use source control?2) Can you make a build in one step?3) Do you make daily builds?4) Do you have a bug database?5) Do you fix bugs before writing new code?6) Do you have an up-to-date schedule?7) Do you have a spec?8) Do programmers have quiet working conditions?9) Do you use the best tools money can buy?10) Do you have testers?11) Do new candidates write code during their interview?12) Do you do hallway usability testing?
© 2000-2012 Joel Spolsky
Are you ready for doing big (APEX) projects?
![Page 34: Fondsprofiler @ Union Investment - The biggest apex project in the world](https://reader035.vdocuments.us/reader035/viewer/2022070602/5875ce7e1a28ab8f438b4cad/html5/thumbnails/34.jpg)
|
Enjoy the rest of the conference!MT AGBalcke-Dürr-Allee 940882 Ratingen
Telefon: +49 (0) 21 02 309 61-0Telefax: +49 (0) 21 02 309 61-10
E-Mail: [email protected]