1 / 64

Oracle ADF: Drag and Drop Data Binding for J2EE Business Services

Oracle ADF: Drag and Drop Data Binding for J2EE Business Services. Steve Muench Technical Evangelist, Product Manager, Developer, Author Oracle Corporation. Business Data. Model / View / Controller Architecture. Business Services Layer. Business Objects. Business Service. Controller Layer.

caroun
Download Presentation

Oracle ADF: Drag and Drop Data Binding for J2EE Business Services

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Oracle ADF: Drag and Drop Data Binding for J2EE Business Services Steve Muench Technical Evangelist, Product Manager, Developer, AuthorOracle Corporation

  2. BusinessData Model / View / Controller Architecture Business Services Layer BusinessObjects Business Service Controller Layer BusinessServiceInterface Code User Input / Page FlowHandling Logic Query Results Collections of ValueObjects ModelLayer View Layer

  3. BusinessData Data Binding Ties M, V, and C Together Business Services Layer BusinessObjects Business Service Controller Layer BusinessServiceInterface Code User Input / Page FlowHandling Logic Query Results Collections of ValueObjects ModelLayer View Layer

  4. JSR 227: Bindings & Data Controls DataControl UI Control BusinessService yourDC €5008,00 ControlBinding salary employeesIter IteratorBinding Model Layer

  5. Control Binding Types Control Binding Value Binding Action Binding Tree Binding Range Binding Attributes Binding List Binding

  6. JSR 227: Bindings & Data Controls • What is the Model Layer? • View, Controller, Business Services "Glue" • Why a Declarative, Standard Approach? • Saves Repetive Coding • Enables Visual Design Tools BusinessComponents JSR 277Data Binding Layer Web Services JSP Toplink Swing EJB UIX/JSF JavaClasses

  7. D E M O N S T R A T I O N Quick Example of Declarative Data Binding For JSP and Swing

  8. JSR 227 Design Time Environment

  9. D E M O N S T R A T I O N Quick Example of Data Binding Using POJO's Mapped with Toplink

  10. How Does Data Binding Fit Into Your End-to-End Application Architecture? • J2EE is Warehouse of Technology Ingredients • JMS, JDBC, JAXP, SAX, JSP, EJB, Servlets,JAAS, JavaMail, JNDI, JTA, JCA • J2EE Does Not Prescribe anyEnd-to-End Application Architecture • What is the Recipe that's Right for Your App? • When Should You Use Which Technologies? • Hint: Your Choices Affect Application Performance! • Each DevelopmentTeam Must: • Combine Ingredients into a Custom Architecture • Enforce Use of the Architecture Across Team

  11. J2EE Design Patterns to the Rescue • Best Practice Techniques • Improve Performance • Increase Maintainability • Avoid Typical Problems • Application Architecture Ideas • What To Do In Which Tier • Which J2EE Technology When? • Paragraphs Of Text, Diagrams • Not Ready-to-use Code

  12. J2EE Design Patterns • Required for Any Real-World Application • Implementing Them Is: • Time Consuming • Tedious, Error Prone • Ongoing Testing, Debuging,Maintenance • Don't You Have An Application to Finish?

  13. J2EE Expert’s Advice “ Many common problems (beyond those addressed by J2EE application servers) have been solved well by open source or commercial packages and frameworks. By adopting an existing solution, we are free to devote all our effort to meeting business requirements. ” Page 166

  14. Write Your Own, or Off-the-Shelf ? • Most teams end up developing and supporting their own app-specific frameworks • Others make the investment to learn and use one or moreoff-the-shelf frameworks

  15. BusinessData Popular Framework-Based Techniques Struts Business Services Layer BusinessObjects Business Service Controller Layer BusinessServiceInterface Code User Input / Page FlowHandling Logic Query Results Collections of ValueObjects ModelLayer View Layer JSP + Taglibs

  16. BusinessData Model, Services, Data Access, Business Objects Often Hand-Coded Struts Business Services Layer BusinessObjects Business Service Controller Layer BusinessServiceInterface Code User Input / Page FlowHandling Logic Query Results Collections of ValueObjects ModelLayer ??? View Layer JSP + Taglibs

  17. Frameworks Can Simplify… • Business Objects • Persistence • Queries • Transaction Management • Data Access Objects Rich Clients Web and Wireless Clients Controller Model Business Services • Transactional Service Façades • Business Rules Enforcement • Client "Data Shaping" • Coordinating DAO's with BO's • State Management • Layered Customization

  18. Frameworks Can Simplify… • Interacting with Business Service Methods • Exposing Business Data to View/Controller Layers • Handling Updates Made to Business Data Rich Clients Web and Wireless Clients Controller Model Business Services

  19. Frameworks Can Simplify… • Business Service Location/Lookup and Pooling • Handling User Events and Request "Lifecycle" • Presenting/Internationalizing Messages & Errors • Page Navigation/Flow Rich Clients Web and Wireless Clients Controller Model Business Services

  20. Frameworks Can Simplify… • Swing Data Binding • Efficient 3-Tier Client/Server Communication Rich Clients Web and Wireless Clients Controller Model Business Services

  21. Over 2000 In-House Application Developers Gives Us Significant In-House Expertise • Oracle E-Business Suite Developers are Building… • Complex, Scalable J2EE Business Applications • With Web, Swing, and Web Services Interfaces • Targeting Intranet and Internet Deployment on J2EE • Using J2EE Design Patterns Frameworks • To Accelerate Implementation and Save on Testing

  22. J2EE Expert’s Advice for Strong Foundation Giving Most Flexibility, Best Performance • Lightweight "Inversion of Control" Container • JavaBean Based Components • Extending from Framework • Configured From XML Metadata • Constructed Using Factories • Solves Common Problems Once • Easier to Test Outside the J2EE Container Environment • Can Be Repurposed in BothJ2EE Web Tier and EJB Solutions

  23. Rich Clients Web and Wireless Clients Controller Model Business Services Oracle Application Development Framework (ADF) • Implements Standard J2EE Best Practices • Modular, Lightweight "Inversion of Control" Container • Model-View-Controller (MVC) Design Pattern • Focus on The Application, Not The “Plumbing” • Consolidation and Evolution of Proven Frameworks

  24. Oracle ADF Design Extensions • Visual • WYSIWYG Editors • UML Modelers • Structure Pane • Declarative • Property Inspector • XML Metadata • Synchronized • Code View & Design View Always Synchronized • No Separate Generation Step • Underlying Code Always Accessible

  25. ADF Architecture Overview Rich Clients Web and Wireless Clients Controller Model Business Services

  26. ADFApplication Module ADFView Object ADF Entity Object ADF Model Layer Enables Flexibility Rich Client Web / Wireless View Swing / JClient JSP ADF UIX JSF Controller Struts ADF Controller Model ADF Bindings ADF Data Control BusinessServices JavaClasses EJBSessionBeans WebServices ADF Metadata Services JDBC TopLinkQueries EJBFinders DataAccess PersistentBusinessObjects Java Classes EJB Entity Beans TopLink Mapping

  27. New Approach to Development • Select Your Development Approach • UML Modeling, Coding, Declarative Development • Select Your Deployment Platform • Any J2EE Application Server • Any SQL92 Database • Select Your Technology Combination • "My JDeveloper" • Technology Scopes

  28. Adding, Yet Simplifying Choices CHOICES Technology Scopes • UML • Swing, HTML • JSP • JSF • Apache Struts • ADF BusinessComponents • EJBs • Toplink • Ant, JUnit • CVS • Clearcase • Oracle SCM • Oracle 9iAS • JBoss, WLS • Profiling • Audit/Metrics • UML • HTML • JSF • Apache Struts • EJBs • Toplink • Ant, JUnit • CVS • Oracle 9iAS • Profiling • Audit/Metrics UI Project • JSP • Struts Extension Manager Model Project • Toplink Visual & Declarative “My JDeveloper”

  29. D E M O N S T R A T I O N Quick Example of Extension Manager, Technology Scopes, and Application Templates

  30. ADF Architecture Overview Rich Clients Web and Wireless Clients Controller Model Business Services

  31. Business Services Layer • Manages Persistence • O/R Mapping • Provides Filtered Views of Data • Custom Queries • Encapsulates Business Rules • Data Validation • Business Logic • Choices of Implementation • EJB, ADF Business Components, Web Services, Java Classes, TopLink

  32. Plain Java Classes Mapped with Oracle TopLink • TopLink Provides Architecture for Object/Relational Persistence • Sophisticated Out-of-Box Options to Map Java Classes to Any Kinds of Tables or XML • Integrated Mapping Editor

  33. TopLink: Define Custom Finder Queries

  34. Enterprise JavaBeans (EJB) • Services are EJB Session Beans • Business Objects are Entity Beans • Leverage Toplink Mapping for CMP • Integrated Environment toModel, Code, Test, Debug EJBs • Productively Develop EJBs • EJB Module Editor • Basic Design Patterns Support • Data Transfer Object • Session Façade • EJB Verifier

  35. J2EE Web Services • Web Services UML Modeling • TCP Packet Monitor • PL/SQL Web Service wizard • WS-I Compliance tester • ADF Data Control Binding • Interoperability with .NET

  36. ADF Business Components • Prescriptive Building Blocks for Service-Oriented Apps • Transactional Service Façades (ApplicationModule) • Task-Specific "Data Shaping" Components (ViewObject) • Business Objects with Rules Enforcement (EntityObject) • Used by Over 2000 Developers in Oracle Applications • For Corporate Developers, VAR's, and ISV's Lookingto Avoid Writing Their Own J2EE Application Framework for the Business Services Layer ApplicationModule ViewObject EntityObject

  37. ADF Business Components • Best-Practice App-Building Infrastructure For: • Coordinating Data Access Objects with BO's • Component Metadata (Prompts, Fmt Masks, Properties) • State Management • Efficient Remote Client Communication • Layered Customization • Use/Test Services as Lightweight Java Classes • Scalable & Performant with Optimized DB Interaction • Option to Deploy as EJB Session Beans, Web Services

  38. ApplicationModule ViewObject EntityObject Building Business Services with ADF BC Rich Client Web / Wireless View Swing / JClient JSP ADF UIX JSF Controller Struts ADF Controller Model ADF Bindings ADF Data Control BusinessServices PaymentPlan MgmtService SlowPayingCustomers LatePayments DataAccess PersistentBusinessObjects Payment Bill Customer

  39. Business Services Design Time • UML Modelers, Wizards, Editors • Database Schema • ADF Business Components • Enterprise JavaBeans • Web Services • Java Classes

  40. Drag and Drop Data Binding • Data Binding Palette • Expose any Business Service • Available to any View • Create UI components • Master/Detail • Table • Field, checkbox,…

  41. ADF Architecture Overview Rich Clients Web and Wireless Clients Controller Model Business Services

  42. UI Development • Visual editors • JSP and HTML • JavaServer Faces • ADF UIX • Swing (ADF JClient) • Component palette • Common binding • Property inspector • Structure pane

  43. Design and Code Sync • Design View / Code View • Available For All Components • Two-Way Synchronization

  44. ADF JClient • Rich Client user interface (JFC/Swing) • WYSIWYG Editor • Simplified Swing UI Layout • Best Practices Approach • UI Debugging

  45. JSP Visual Design • Synchronized JSP Visual Design with • Code Editor • Structure Pane • Property Inspector • Data Control/Component Palette • Integrated with JSTL/EL & Struts • Taglibs on Component Palette • Intuitive tag and EL rendering • Synchronized with Struts Page Flow • Universal ADF Databinding • Java Classes + Toplink • EJB + TopLink • Business Components • Web Services • Drag and Drop UI Components

  46. ADF Faces for JSF • JavaServer Faces (JSR-127) Components • Support Variety of Clients • Web Browsers, Mobile Devices • Rich Components, Layouts,and Render Kits • Powerful Runtime Features • Partial Page Rendering • Automatic Sorting • Look and Feel "Skinning"

  47. ADF Faces Early Access Release

More Related