ADF EMG XML Data Control, OOW Presentation
-
Upload
richard-olrichs -
Category
Technology
-
view
340 -
download
0
description
Transcript of ADF EMG XML Data Control, OOW Presentation
ADF EMGXML Data ControlPowerful and Easy ADF Data Control for XML data
About Us
Richard OlrichsMNwww.olrichs.nl@richardolrichs
Wilfred van der DeijlThe Future Groupwww.redheap.com@wilfreddeijl
AgendaShort introductionBrief historyAlternatives
Live product demoTheoretical summary of the demo
Short Introduction● Goal: An easy way to handle XML in ADF● Any XML element can be runtime data
o XML payload in SOA/BPM Human Tasko SOAP Web Service responseo RESTful XML APIo XML column in databaseo Static fileo and more
Short IntroductionADF abstraction through Data Controls
Short Introduction● XML Schema is the key● XML DataControl gets its structure from XSD● Runtime XML document can come from
anywhereo Human task payload, Static resource, Web service,
or… wherever you like
XML DataControl History● Development started at MN in August 2012● Adopted by Spir-it since March 2014● Open to the public
o ADF EMG sub projecto https://adfxmldc.atlassian.net/wikio Available through Help > Check For Updates
AlternativesCalling WebService from ADF
1. ADF WebService DataControl
2. JAX-WS Proxy with Bean DataControl
3. Programmatic Business Components
ADF WebService DataControlAlternatives
● Not customizable, for simple web services● Dates and enumerations not supported● Only for simple web services like stock info
or weather info
JAX-WS Proxy with Bean DCAlternatives
● Lots of work:o Generate JAX-WS Proxy classeso Domain POJO’so Mapper classes (and back).
● Labor intensive when services change● JAX-WS Proxy cannot be used directly as
bean DataControlo Dates and enumerations not supportedo JAXBElement getters/setters not supported
● Lot of work: o JAX-WS Proxyo ViewObjectso EntityObjectso Mappers (and back)
● BC is very database (SQL) centrico Commit, Rollback, Fault-In selects, locking,
connection pooling, etcetera
● Requires extensive coding in ADF BC base classes
Programmatic ADF BCAlternatives
ADF EMG
ADF EMG
ADF EMG
Demo TimeADF EMG XML DataControl
ADF EMG XML DataControl● Minimal effort to setup, yet powerful and
customizable● JDeveloper 11.1.1 and 12.1.3
Powerful Providers● Data Provider - Fetch XML Element
● Customization - Supplies customization classes
● Type Mapper - Map XML to Java types
● Structure Provider - Builds DC structure from XSD
DataProvider Nesting● Plain DataProviders
o WSDataProvider - Web Serviceo ELDataProvider - Expression Languageo ResourceDataProvider - XML file from classpath
● Nesting DataProviderso Can manipulate dynamic parameters going into the
nested dataprovidero Get XML from nested provider and can manipulate it
before returning it to the caller
Nesting DataProviders● XSL Transformation● XML Schema Validation● Caching● Multi Nesting
o UnionFilter - Combines result from multiple providerso Build your own...
WSDataProviderEmployeeService
<Employee> <Type>MGR</Type> …</Employee>
WSDataProviderReferenceDataService
WSDataProviderEmployeeService
<Employee> <Type>MGR</Type> …</Employee>
<EmployeeTypes> <Type> <Code>MGR</Code> <Desc>Manager</Desc> </Type> …</EmployeeTypes>
WSDataProviderReferenceDataService
WSDataProviderEmployeeService
UnionFilter
<Employee> <Type>MGR</Type> …</Employee>
<EmployeeTypes> <Type> <Code>MGR</Code> <Desc>Manager</Desc> </Type> …</EmployeeTypes>
<Union> <Employee> … </Employee> <EmployeeTypes> ... </EmployeeTypes></Union>
WSDataProviderReferenceDataService
WSDataProviderEmployeeService
UnionFilter
XSLFilter
<Employee> <Type>MGR</Type> …</Employee>
<EmployeeTypes> <Type> <Code>MGR</Code> <Desc>Manager</Desc> </Type> …</EmployeeTypes>
<Employee> <Type>MGR</Type> <TypeDesc>Manager</TypeDesc> …</Employee>
<Union> <Employee> … </Employee> <EmployeeTypes> ... </EmployeeTypes></Union>
WSDataProviderReferenceDataService
WSDataProviderEmployeeService
CacheFilter
UnionFilter
XSLFilter
<Employee> <Type>MGR</Type> …</Employee>
<EmployeeTypes> <Type> <Code>MGR</Code> <Desc>Manager</Desc> </Type> …</EmployeeTypes>
<Employee> <Type>MGR</Type> <TypeDesc>Manager</TypeDesc> …</Employee>
<Union> <Employee> … </Employee> <EmployeeTypes> ... </EmployeeTypes></Union>
Java Customizers● Java Classes with Annotations● Can alter structure and behavior of
datacontrol elementso Calculated Attributeso Transient Attributeso Attribute Validationo Element Validationo Post Attribute Changeo Post Element Createdo Custom operations/methods
Wiki - adfxmldc.atlassian.net/wiki
Next StepsDownload from JDev Update Center and follow 5 Minute Getting Started from wiki
Subscribe to ADF EMG:
http://www.adfemg.org
Follow XML DataControl development:
https://adfxmldc.atlassian.net/wiki
Questions
Demo shots
Creating Data Control
Initial Data Controlin 2 minutes
Dynamic Parameter from DataControls.dcx
Drag-DropData Control
onto Page
Dynamic Parameter value (typically from EL)
Initial Task Flowin 5 minutes
Which Data Collection is this customizing ?
Calculated (Read Only) Attribute
Transient (Read Write) Attribute
Attribute Validation
Register Customization Class(es) with Data Control
Calculated Attribute
Transient Attribute
Transient Attribute
Calculated Attribute
Attribute Validation