300 likes | 896 Views
Integrating SOA and the Application Development Framework. Shaun O’Brien Principal Product Manager – Oracle JDeveloper / ADF. Overview. Oracle Fusion Architecture Where do ADF and SOA live? How does ADF 11g improve on standard SOA integration models?
E N D
Integrating SOA and the Application Development Framework Shaun O’Brien Principal Product Manager – Oracle JDeveloper / ADF
Overview Oracle Fusion Architecture Where do ADF and SOA live? How does ADF 11g improve on standard SOA integration models? Expose ADF Business Components as SDO Web Services Customizing Human Task Flow activities Consuming Web Services utilizing the Web Service Datacontrol Business Component Eventing
Background: Oracle Fusion – What Is It? • Oracle Fusion Applications • Oracle’s next generation of enterprise applications • Oracle Fusion Middleware • Integrated standards-based middleware platform • Oracle Fusion Architecture • Recommended architecture for your custom applications
Background: What We Wanted – Business Drivers • Cutting Edge UI • Agility • System Integration • Standards • Scalability, Security, Portability • Time to market
Problem: The Development Challenge • On one side: • JPA, EJB, Ajax, JavaScript, BPEL, SOAP, WSDL, RMI, JNDI, JDBC, O/R, HTML, DOM…. • On the other side: • Thousands of developers • Most don’t know these technologies • Most come from 4GL background • Expecting a visual and declarative approach • Don’t have time to learn all these new technologies • Need to focus on their specific application needs • How do you make it easy and approachable?
The Solution - Oracle ADF Framework • Development framework that simplifies development of Java EE-based SOA applications • Abstract developers from technology complexities • Example - UI Components abstract from Ajax, Flash, Javascript, DOM • Provides end-to-end infrastructure solutions… • O/R Mapping, persistence, caching, controller, binding, UI framework, security • …and an easy way to use them • JDeveloper - Visual editors, Property editors, dialogs etc…
ADF Business Components A framework that simplifies developing Java EE business services for developers familiar with 4GL tools, declarative development, and relational databases • Simplify data access • Uses SQL based data views • Implement best practices • Easy customization
Business Component Features • Query by example any field • Master/Detail coordination • List of values • Calculated fields • Various validations • Exposing services • Range fetching • Transaction control • Locking mechanism • State management • All done declaratively without coding!
ADF Model - Data Binding • ADF Model • JSR-227 Data Controls • Service Oriented Interface • Abstract implementation from clients • Loose coupling between services and application • More Productivity • Drag and drop data binding • More Reusability for Services • Discover and share services
ADF View Business Logic Data User Interface ADF Faces components Business Services ADF Business Components DatabaseSchema Data Binding SDO Services
The Fusion Architecture Monitoring Human interaction Orchestration Policy evaluation View Business Logic Data User Interface ADF Faces components Business Services ADF Business Components DatabaseSchema Data Binding WebCenter SDO Services Events Mediator /BPEL Process Human WorkflowService RulesEngine Business ActivityMonitoring facts Assign Task results Task Complete
ADF to SOA Interactions Monitoring Human interaction Orchestration Policy evaluation View Business Logic Data User Interface ADF Faces components Business Services ADF Business Components DatabaseSchema Data Binding WebCenter SDO Services Events Mediator /BPEL Process Human WorkflowService RulesEngine Business ActivityMonitoring facts Assign Task results Task Complete
Binding JSF UI to SOA • The Java EE way • Write manage bean • Write JSF page code • Write EL to connect JSF components to manage bean • Write more manage bean logic to invoke actions • The Oracle way • ADF Binding – drag and drop
ADF 11g Built-in Data Controls ADF Business Components Java Class EJB URL (XML or CSV) Place Holder Web Service BAM Add your own
ADF and SOA Integration Points • Expose ADF BC into SCA • ADF BC Service interface wizard • Show/Interact human workflow tasks in ADF UI • Automatically generate ADF forms • Customize workflow task details through ADF UI • Invoke a composite from ADF UI • Use Web service data control based on the composite WSDL
BAM Data Control Expose BAM data Drag to the JSF page Push to the client with Oracle ADF Active Data Services
Exposing ADF BC to SCA/SDO Expose your DB access layer as services Simple wizard based definition SOA Adaptor
<Insert Picture Here> Demo Expose Business Components as Web Services
<Insert Picture Here> Demo Create Custom Human Task Page
Web Service Data Control Give WSDL Get Data Control Drag and drop to page
Business Component Eventing • Allows publishing of events to the SCA fabric from the Business Components tier. • Can be conditional or not • Any number of elements can be listeners for the event on the ESB.
The Fusion Architecture Monitoring Human interaction Orchestration Policy evaluation View Business Logic Data User Interface ADF Faces components Business Services ADF Business Components DatabaseSchema Data Binding WebCenter SDO Services Events Enterprise Service Bus Human WorkflowService RulesEngine Business ActivityMonitoring facts Assign Task results Task Complete
Creating a Business Component Event • Create Event Definition • Add Event Publication Rule • Create Conditions for Publication (optional)
<Insert Picture Here> Demo Adding Eventing to a Business Component
Summary ADF Binding Visual and declarative way to create UI on top of various services ADF Integration with SOA ADF BC SDO interface Human task lists forms generation Web service Data Control • <Insert Picture Here>
Q&A, Next Steps, and additional sources of help http://www.oracle.com/technology/products/jdev/index.html
Learn More Oracle.com/technology/jdev Download Tutorials Discussion forum Samples ADF Developer Guide http://download.oracle.com/otn_hosted_doc/jdeveloper/11gdemos/ADFInsider-SOA/OracleInsider-SOA.html More… <Insert Picture Here>