34
| FondsProfiler @ Union Investment The biggest APEX project in the world? Niels de Bruijn, Business Unit Manager APEX Oliver Lemm, Supervisor Competence Center APEX Kscope 2013, June 26th

Fondsprofiler @ Union Investment - The biggest apex project in the world

Embed Size (px)

Citation preview

Page 1: Fondsprofiler @ Union Investment - The biggest apex project in the world

|

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

| 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

| 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

| FondsProfiler @ Union Investment4

APEX.MT-AG.COM

Page 5: Fondsprofiler @ Union Investment - The biggest apex project in the world

| 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

| FondsProfiler @ Union Investment6 |

About the Project

Page 7: Fondsprofiler @ Union Investment - The biggest apex project in the world

| 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

| FondsProfiler @ Union Investment8 |

Key Facts

Page 9: Fondsprofiler @ Union Investment - The biggest apex project in the world

| 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

| 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

| FondsProfiler @ Union Investment11 |

Technical Highlights

Page 12: Fondsprofiler @ Union Investment - The biggest apex project in the world

|12

Layout, Design, User Interaction

FondsProfiler @ Union Investment - n

Technical Highlights

Page 13: Fondsprofiler @ Union Investment - The biggest apex project in the world

|13 FondsProfiler @ Union Investment - n

Technical Highlights

Implementation strategy for big projects

Page 14: Fondsprofiler @ Union Investment - The biggest apex project in the world

|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

|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

|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

|17

The “Master Table”

FondsProfiler @ Union Investment - o

Technical Highlights

Page 18: Fondsprofiler @ Union Investment - The biggest apex project in the world

|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

|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

|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

|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

|22

Validations

FondsProfiler @ Union Investment - n

Technical Highlights

Page 23: Fondsprofiler @ Union Investment - The biggest apex project in the world

|23

Validations

FondsProfiler @ Union Investment - n

Technical Highlights

Page 24: Fondsprofiler @ Union Investment - The biggest apex project in the world

|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

|25

Security Concept

FondsProfiler @ Union Investment - o

Technical Highlights

Page 26: Fondsprofiler @ Union Investment - The biggest apex project in the world

|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

|27

Querying the whole data model

FondsProfiler @ Union Investment - n

Technical Highlights

Page 28: Fondsprofiler @ Union Investment - The biggest apex project in the world

|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

|29

Delta-Reporting

FondsProfiler @ Union Investment - o

Technical Highlights

Page 30: Fondsprofiler @ Union Investment - The biggest apex project in the world

|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

|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

| FondsProfiler @ Union Investment32 |

Are you ready for doing big (APEX) projects?

Page 33: Fondsprofiler @ Union Investment - The biggest apex project in the world

| 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

|

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]