Voorstelling vd personen
Verwijzen naar ODTUG vorig jaar: variant van deze presentatie gebracht op de APEX SYMPOSIUM?? Dag … verwijzen naar CBO ?!
Wie is vanuit business standpunt geïnteresseerd en wie vanuit technische invalshoek? Wie programmeert er ?
Uitnodiging van de Gebruikersclub om geen technische/product-presentatie te doen.
Robuust framework: meer dan wizards doorlopen – heel wat out-of-the box features, maar APEX laat ook toe OUTSIDE the BOX te denken
FILMKES + Screenshots
Aankondiging op de website:
Tijdens de eerste presentatie maakt u kennis met Flightcare België (FCB), één van de bedrijven op de Brusselse luchthaven die de vluchtafhandeling van allerlei luchtvaartmaatschappijen verzorgt. Van grondafhandeling voor vliegtuigen tot passagier check-in, van vrachtafhandeling tot het laden van de vliegtuigen. Sinds 2007 heeft FCB APEX gekozen om heel specifieke, doch diverse data en functionele behoeften op een snelle en flexibele manier ter beschikking te stellen aan de business.Tijdens de presentatie lichten Olivier Dupont en Jan Huyzentruyt van iAdvise telkens aan de hand van een case een bepaalde functionaliteit toe, gevolgd door de technische oplossing. Een mooie kans dus om kennis te maken met de kracht van het framework en tegelijkertijd de oplossingen outside-the-box te leren kennen.
Bij vermelden
Deel van Cronos groep
enkel toegespitst op Oracle Technologie
IT is niet hun core-business … noodzakelijk kwaad ;-)
De rol van iAdvise: Apex geïntroduceerd; samenwerken; deeltijds Olivier 2d / week; de rest doen ze zelf
Hier vertellen hoe we daar van start zijn gegaan
Seminarie in 2007, POC aangeboden; een simpel voorbeeld: Zoeken van werknemers/persoonsgegevens; daarna een ODS (operationele datastore) waarbij ze alle vluchtgegevens vanuit een extern systeem opladen en kunnen raadplegen; dit is kapstok om andere applicaties aan op te hangen …
Tendens voor grotere applicaties (facturatie, …) bestaande pakketten, automatisering / ondersteuning vd dag dagelijkse business
Apex @ Flightcare: niet één groot mastodont project waar APEX als tool werd gekozen om dat project uit te werken.
Begonnen met iets kleins, en organisch gegroeid tot een verzameling van > 30 applicaties
Deze benadering zijn wij nog bij andere klanten van ons: bvb het Vlaams Parlement reeds van 2006 voor Apex gekozen (voor iets kleins), of Verhaert Space (KMO die in de ruimtevaart te situeren is) is hetzelfde aan het gebeuren.
Inspiratie voor jullie wat allemaal mogelijk is
Vermits IT geen core, zullen jullie merken dat look-and feel is niet belangrijkste criteria
Uit de >50 tal applicaties reeds in gebruik een aantal uitgepikt waarbij we telkens proberen te situeren, een korte demo geven (opgenomen) en waar opportuun technische uitleg
Verhaal Luik, Oostende, Charleroi
Alles in excel ingegeven, opgestuurd naar Brussel, iemand gaf die andere gegevens in soort van ODS: operationele data store van alle vluchtgegevens. Oorspronkelijk alleen voor Brussel, gevoed vanuit externe systemen.
Onze apex-applicatie uitbreiding om rechtstreeks die gegevens in ODS in te geven
That was it for the application portal wich i will usa as a basis for the rest of the presentation.
We now come to the Damage on Ground application, it isn’t a difficult application on the technical point of view but I want to give you a general sense of what kind of applications are running at the airport.
Integratie met andere media (foto’s)
The damage on Ground Application is an application that keeps track of any accident that happens on the airport.
Accidents do happen on an airport, and for flightcare it is important that when an accident happens and they are involved in it somehow, that they have proof of the damage. And then I autom+ly come to media like taking pictures.
Comming to my next application Airport security where I will elaborate more on integration of a third party systel
Technical: Integration Third Party System
Security has become one of the most important aspects, as well for enterprise applications as for international organizations. When talking about international organizations such as Flightcare, security laws and regulations are one of the major focus areas on an airport.
What you see on the photo is a badge reader, people working at the airport in Brussels need to carry their badge at all times to access restricted areas and identify themselves. So when a employee comes to a restricted door, he just badges and the system will validate of the employee can go further or not. The badge readers also functions as a type of clocking system. So when a user comes to works he badges in to indicate that he/she starts a shift.
Now the ApEx application that is made for the security can influence the badge readers and give people access to a specific door or revoke it. We interact with these badge readers with the Oracle database using FTP to send files to them.
Comming to my next application Airport security where I will elaborate more on integration of a third party systel
Technical: Integration Third Party System
Having many diffrent applications deployed we needed to have
Here you see the datamodel used and i’m not going into detail about this but basicly,
We have a table holding all applications, a table holding all the users and a table holding all the roles who can be reused by all applications.
Here you see a screenshot of the application that regulates the security of all the other ApEx Applications.
Each record or line you see here is actually an application.
When I navigate to the details of an application, I can see what users have access to this application
I can then for each users define what security roles he/she has
usability
To build such a menu we needed 2 things:
The first ting is that we needed to know what regions are on the page.
Once we know what regions are on the page, we need some technology to hide and show them.
Keeping in mind that we want this to be a generic solution, we want to reuse this solution at any page in any application.
The first thing we need is information about what regions are on the page.
We can use the ApEx dictionary views to get that information.
The view apex_application_page_regions will give us info about what regions are on the page.
We can even select the authorization of the region to check if the user may see it.
Now that we have all the information we need we can use the ApEx Javascript API to hide/show certain regions, you can find a more information about the API in the user manual of ApEx. The next functions were used to hide/show the regions:
ByClass: will return us an array of all regions
HideAllExcept: this will hide al regions except the region we selected in the menu
- Show: this function will show the hidden regions again
To implement the menu we need to do one thing:
Make a pl/SQL region on out page.
In this pl/sql region we will call a procedure that will draw the specific menu on our page.
We just give the right parameters to the procedure and it will produce the menu.
More info about this will be shown in the paper and on the iadvise blog.
Apex en Rapportering
Oracle Reports
Export to xls
Bi Publisher
Mailing via Bi Publisher
This application provides the user with his/here current task and next task. This application is vital for flightcare as they have hunderds of people working at the airport and some of them have to be very flexible while working. For example one employee can load bags at one time for one airplane but when he is done then he needs to go to an other airplane and offload bags there. Officers who oversee arrivals and departures regulate their people with an other application so they don’t have to call them every half houre with new instructions.
Before developing this application we had to take in account 2 limitations or requirements
No Browser available on the cuteposts and no software culd be installed
Some cuteposts don’t have a mouse so they must be fully accesible without it
For the first problem, no browser available and not possible to install software, we had a look at Mozilla Portable Edition.
This would allow us to just deploy an executable file nothing more
For the second problem, no mouse available we added a Page listener to every ApEx page
So when a ApEx page is loading we add a page listener to it that will listen for when a key is pressed.
Once a key is pressed we need to indentify what key it is,
You can find this list on the internet if you search for
What you see here is that when F9 is pressed the page will use an ApEx JavaScript function wich will submit your page to page processing.
The request SAVE is given so we can perform the needed processes and make them conditional to that request.
The same event is generated when pressing F4 with the request CANCEL
Oorspronkelijk Apex 3.0, nu apex 3.1
Infrastructuur in Spanje
Oracle HTTP server, zonder load balancing
Failover Cluster
With all this developed what does ApEx mean for myself and for my customer:
In this presentation we saw that it is a flexeble platform that you can easily integrate with third party systems.
for example we can influence badge readers around the airport
Many things are possible as long as developers think outside the box, don’t limit your applications to only report/forms.
We saw in the demo that we can even run applications without a mouse
Many more things are possible and I hope the rest of the days will proof this
thanks for yout attention
Like i said, think outside the box, anything is possible.