Llevaba unos meses sin escribir y hoy me apetecía pasar por aquí.
Como sabéis, y si no lo sabes te invito a pasar, llevamos varias semanas con un mini curso de oData ABAP y SAP Fiori Elements en Youtube. Al mini curso le hemos llamado SAP Adoption Pet System.
Durante el curso, hemos ido viendo diferentes annotations pero… ¡en ningún momento hemos explicado que son!
¿Qué son las SAP Annotations?
Las anotaciones son una forma eficaz de ampliar los servicios OData. Al anotar un servicio, se agrega información que le dice a las aplicaciones cómo interpretar el servicio y sus datos. Esta información adicional puede ser puramente estática y descriptiva, o puede ser dinámica, es decir, una «fórmula» que permite a las aplicaciones calcular nuevos datos a partir de los datos proporcionados por el servicio.
Las anotaciones pueden ser proporcionadas por el diseñador/desarrollador del servicio oData e incrustado en los metadatos del servicio, o bien, pueden ser proporcionadas por el desarrollador de la aplicación SAPUI5 en un recurso web separado que hace referencia al servicio anotado.
Un ejemplo de anotación sería:
En esta annotation, estamos definiendo el aspecto que tendrá el UI.HeaderInfo (es utilizado para formatear el header de nuestra aplicación SAPUI5).
Debajo de la anotación UI.HeaderInfo, definimos una serie de atributos para formatear la UI como son el TypeName (Texto del nombe de nuestro Entity). TypeNamePlural (igual que el anterior pero en plural), Title (título que veremos en el header) y Description (texto que aparece justo debajo del título).
Estas anotaciones se pueden encontrar en el fichero metadata de nuestro servicio. Las aplicaciones SAPUI5 leeran la información del metadata, y añadiran la funcionalidad a la app (normalmente será una aplicación SAP Fiori Elements).
Conclusión
Las anotaciones (annotations) en los metadatos se pueden utilizar para definir características de un elemento de metadatos, como un servicio, tipo de entidad, propiedad, función, acción o parámetro.
Todas las anotaciones se expresan como elementos <Annotation> que nombran el término que se aplica a un elemento del modelo, así como el valor de este término. Aquí, el valor se describe mediante el atributo Path, que significa «seguir esta ruta en la entidad actual para encontrar el valor del término», es decir, el consumidor (normalmente una app) ahora sabe que la moneda ISO, por ejemplo, para la cantidad en la propiedad Precio se puede encontrar en la propiedad Moneda junto a la propiedad Price.
Gracias a SAP Fiori Elements y a las anotaciones, podemos accelerar nuestros desarrollos y llevar nuestra a aplicación a producción con menos esfuerzo. Pero no es todo oro lo que reluce, ya que si nuestra necesidad no encaja en ninguno de los floorplans de SAP Fiori Elements… Tendremos que desarrollar nuestra aplicación de SAPUI5 como se ha hecho siempre y, en este caso, poco nos aportará las annotations…