Tomando como base un post publicado por mi amigo Roel Hartman, es importante también conocer que nuevos paquetes o APIs podremos encontrar en la nueva versión 5.0 de Apex.
Aunque solo cuando finalmente esta versión sea liberada sabremos a ciencia cierta cuantos y cuales nuevos paquete o APIs tenemos disponibles, a la fecha y utilizando en la pantalla de comandos Sql la siguiente consulta:
select distinct s.synonym_name
from all_procedures p join all_synonyms s on p.object_name = s.table_name
where p.owner like ‘APEX%’
and s.synonym_name like ‘APEX%’
order by 1;
Y comparando contra el resultado de la misma consulta en la versión actual (4.2.5) de Apex, podemos ver que a la fecha, aparecen dos nuevos “amigos” en la colección. Ellos son:
APEX_JSON
APEX_ZIP
También podemos observar que desaparecen en la nueva versión:
APEX_INSTANCE_ADMIN
APEX_SITE_ADMIN_PRIVS
De las nuevas apariciones, APEX_ZIP permite crear y cargar un archivo comprimido, o bien, descomprimir y descargar un archivo y está basado en el trabajo de Anton Scheffer.
En el caso de APEX_JSON, puede ser usado para generar y analizar JSON a partir de PL/SQL. Y para quienes no estén familiarizados con JSON, este es un formato ligero para intercambiar datos, es además un subconjunto de la notación literal de objetos de Javascript que no requiere el uso de XML.
Un ejemplo del uso de JSON en comparación con su similar en XML y que define una barra de menú sería:
JSON:
1 2 3 4 5 6 7 8 9 10 11 12 |
{"menu": { "id": "file", "value": "File", "popup": { "menuitem": [ {"value": "New", "onclick": "CreateNewDoc()"}, {"value": "Open", "onclick": "OpenDoc()"}, {"value": "Close", "onclick": "CloseDoc()"} ] } } } |
XML:
1 2 3 4 5 6 7 |
<menu id="file" value="File"> <popup> <menuitem value="New" onclick="CreateNewDoc()" /> <menuitem value="Open" onclick="OpenDoc()" /> <menuitem value="Close" onclick="CloseDoc()" /> </popup> </menu> |