adf emg xml datacontrol (openworld 2014)

38
ADF EMG XML Data Control Powerful and Easy ADF Data Control for XML data

Upload: wilfred-van-der-deijl

Post on 25-May-2015

462 views

Category:

Technology


1 download

DESCRIPTION

Oracle OpenWorld 2014 presentation launching the ADF EMG XML DataControl. A new (free) open source tool to work with any XML data in an Oracle ADF Application. Highly configurable and flexible.

TRANSCRIPT

Page 1: ADF EMG XML DataControl (OpenWorld 2014)

ADF EMGXML Data ControlPowerful and Easy ADF Data Control for XML data

Page 2: ADF EMG XML DataControl (OpenWorld 2014)

About Us

Richard OlrichsMNwww.olrichs.nl@richardolrichs

Wilfred van der DeijlThe Future Groupwww.redheap.com@wilfreddeijl

Page 3: ADF EMG XML DataControl (OpenWorld 2014)

AgendaShort introductionBrief historyAlternativesLive product demoTheoretical summary of the demo

Page 4: ADF EMG XML DataControl (OpenWorld 2014)

Short Introduction● Goal: An easy way to handle XML in ADF● Any XML element can be runtime data

○ XML payload in SOA/BPM Human Task○ SOAP Web Service response○ RESTful XML API○ XML column in database○ Static file○ and more

Page 5: ADF EMG XML DataControl (OpenWorld 2014)

Short IntroductionADF abstraction through Data Controls

Page 6: ADF EMG XML DataControl (OpenWorld 2014)

Short Introduction● XML Schema is the key● XML DataControl gets its structure from XSD● Runtime XML document can come from

anywhere○ Human task payload, Static resource, Web service,

or… wherever you like

Page 7: ADF EMG XML DataControl (OpenWorld 2014)

XML DataControl History● Development started at MN in August 2012● Adopted by Spir-it since March 2014● Open to the public

○ ADF EMG sub project○ https://adfxmldc.atlassian.net/wiki○ Available through Help > Check For Updates

Page 8: ADF EMG XML DataControl (OpenWorld 2014)

AlternativesCalling WebService from ADF

1. ADF WebService DataControl

2. JAX-WS Proxy with Bean DataControl

3. Programmatic Business Components

Page 9: ADF EMG XML DataControl (OpenWorld 2014)

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

Page 10: ADF EMG XML DataControl (OpenWorld 2014)

JAX-WS Proxy with Bean DCAlternatives

● Lots of work:○ Generate JAX-WS Proxy classes○ Domain POJO’s○ Mapper classes (and back).

● Labor intensive when services change

● JAX-WS Proxy cannot be used directly as bean DataControl○ Dates and enumerations not supported○ JAXBElement getters/setters not supported

Page 11: ADF EMG XML DataControl (OpenWorld 2014)

● Lot of work: ○ JAX-WS Proxy○ ViewObjects○ EntityObjects○ Mappers (and back)

● BC is very database (SQL) centric○ Commit, Rollback, Fault-In selects, locking,

connection pooling, etcetera● Requires extensive coding in ADF BC base

classes

Programmatic ADF BCAlternatives

Page 12: ADF EMG XML DataControl (OpenWorld 2014)

ADF EMG

ADF EMG

ADF EMG

Page 13: ADF EMG XML DataControl (OpenWorld 2014)

Demo TimeADF EMG XML DataControl

Page 14: ADF EMG XML DataControl (OpenWorld 2014)

ADF EMG XML DataControl● Minimal effort to setup, yet powerful and

customizable● JDeveloper 11.1.1 and 12.1.3

Page 15: ADF EMG XML DataControl (OpenWorld 2014)

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

Page 16: ADF EMG XML DataControl (OpenWorld 2014)

DataProvider Nesting● Plain DataProviders

○ WSDataProvider - Web Service○ ELDataProvider - Expression Language○ ResourceDataProvider - XML file from classpath

● Nesting DataProviders○ Can manipulate dynamic parameters going into the

nested dataprovider○ Get XML from nested provider and can manipulate it

before returning it to the caller

Page 17: ADF EMG XML DataControl (OpenWorld 2014)
Page 18: ADF EMG XML DataControl (OpenWorld 2014)

Nesting DataProviders● XSL Transformation● XML Schema Validation● Caching● Multi Nesting

○ UnionFilter - Combines result from multiple providers○ Build your own...

Page 19: ADF EMG XML DataControl (OpenWorld 2014)

WSDataProviderEmployeeService

<Employee> <Type>MGR</Type> …</Employee>

Page 20: ADF EMG XML DataControl (OpenWorld 2014)

WSDataProviderReferenceDataService

WSDataProviderEmployeeService

<Employee> <Type>MGR</Type> …</Employee>

<EmployeeTypes> <Type> <Code>MGR</Code> <Desc>Manager</Desc> </Type> …</EmployeeTypes>

Page 21: ADF EMG XML DataControl (OpenWorld 2014)

WSDataProviderReferenceDataService

WSDataProviderEmployeeService

UnionFilter

<Employee> <Type>MGR</Type> …</Employee>

<EmployeeTypes> <Type> <Code>MGR</Code> <Desc>Manager</Desc> </Type> …</EmployeeTypes>

<Union> <Employee> … </Employee> <EmployeeTypes> ... </EmployeeTypes></Union>

Page 22: ADF EMG XML DataControl (OpenWorld 2014)

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>

Page 23: ADF EMG XML DataControl (OpenWorld 2014)

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>

Page 24: ADF EMG XML DataControl (OpenWorld 2014)

Java Customizers● Java Classes with Annotations● Can alter structure and behavior of

datacontrol elements○ Calculated Attributes○ Transient Attributes○ Attribute Validation○ Element Validation○ Post Attribute Change○ Post Element Created○ Custom operations/methods

Page 25: ADF EMG XML DataControl (OpenWorld 2014)

Wiki - adfxmldc.atlassian.net/wiki

Page 26: ADF EMG XML DataControl (OpenWorld 2014)

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

Page 27: ADF EMG XML DataControl (OpenWorld 2014)

Questions

Page 28: ADF EMG XML DataControl (OpenWorld 2014)

Demo shots

Page 29: ADF EMG XML DataControl (OpenWorld 2014)

Creating Data Control

Page 30: ADF EMG XML DataControl (OpenWorld 2014)
Page 31: ADF EMG XML DataControl (OpenWorld 2014)
Page 32: ADF EMG XML DataControl (OpenWorld 2014)

Initial Data Controlin 2 minutes

Dynamic Parameter from DataControls.dcx

Page 33: ADF EMG XML DataControl (OpenWorld 2014)

Drag-DropData Control

onto Page

Dynamic Parameter value (typically from EL)

Page 34: ADF EMG XML DataControl (OpenWorld 2014)

Initial Task Flowin 5 minutes

Page 35: ADF EMG XML DataControl (OpenWorld 2014)

Which Data Collection is this customizing ?

Calculated (Read Only) Attribute

Transient (Read Write) Attribute

Attribute Validation

Page 36: ADF EMG XML DataControl (OpenWorld 2014)

Register Customization Class(es) with Data Control

Page 37: ADF EMG XML DataControl (OpenWorld 2014)

Calculated Attribute

Transient Attribute

Page 38: ADF EMG XML DataControl (OpenWorld 2014)

Transient Attribute

Calculated Attribute

Attribute Validation