• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Oracle Forms Integration with SOA
 

Oracle Forms Integration with SOA

on

  • 4,079 views

Oracle Forms Integration with SOA

Oracle Forms Integration with SOA

Statistics

Views

Total Views
4,079
Views on SlideShare
3,142
Embed Views
937

Actions

Likes
2
Downloads
168
Comments
1

3 Embeds 937

http://blogs.oracle.com 836
https://blogs.oracle.com 100
http://feeds.feedburner.com 1

Accessibility

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel

11 of 1 previous next

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
  • good
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Oracle Forms Integration with SOA Oracle Forms Integration with SOA Presentation Transcript

    • <Insert Picture Here>Oracle Forms Integration with SOADmitry NefedkinOracle ISV Migration Center FMW ConsultantDmitry.Nefedkin@oracle.com
    • ISV Migration Center Team• Who we Are ISV Migration Center Team is a team of senior technical consultants based in Eastern and Central Europe and represents Oracles technical investment for partners.• Mission Statement Enable partners to rapidly and successfully adopt and implement Oracle latest technology• What do we Offer Whether you are selling Oracle technology, building business solutions, including hosted Internet solutions or providing system integration and implementation services for Oracle technology, IMC Team can help you succeed.• How can we assist We offer a wide range of free services for partners such as one2one assistance, webinars, seminars and hands-on workshops. ISV Migration Center blog: http://blogs.oracle.com/imcContacts:Ruxandra Radulescu, ISV Migration Center Manager, EE&CISruxandra.radulescu@oracle.com
    • Agenda• Oracle Forms strategy & support policy <Insert Picture Here>• How can Forms be part of your SOA?• Calling an external service from Forms• Integrating Forms and BPEL PM – Oracle BPEL PM Overview – Forms – BPEL PM integration: example• Integrating Forms and Oracle Business Rules – Oracle Business Rules Overview – Forms - OBR integration: example• Integrating Forms and BI Publisher – Oracle BI Publisher Overview – Forms - BI Publisher integration: example• Try it by yourself
    • Oracle Forms Strategy• “…There are no plans to desupport Oracle Forms and Reports…” – Oracle Tools Statement of Direction – http://www.oracle.com/technology/products/forms/pdf/10g/Too lsSOD.pdf• Clear statement of direction – Upgrade • Move to the latest versions of Forms to ensure support, certification, use new features – Integrate • Use non-Forms technologies when/as the business dictates • Provide “Forms-like” experience for building with Java technologies
    • Lifetime Support Policy for Fusion Middleware• http://bit.ly/OFMLifetime
    • Agenda• Oracle Forms strategy & support policy <Insert Picture Here>• How can Forms be part of your SOA?• Calling an external service from Forms• Integrating Forms and BPEL PM – Oracle BPEL PM Overview – Forms – BPEL PM integration: example• Integrating Forms and Oracle Business Rules – Oracle Business Rules Overview – Forms - OBR integration: example• Integrating Forms and BI Publisher – Oracle BI Publisher Overview – Forms - BI Publisher integration: example• Try it by yourself
    • How can Forms be part of your SOA?• Use recent versions of Oracle Forms – Possible to integrate existing (or new) Forms applications with new or existing development using the SOA concepts.• With its support for Java and its integration into SOA, Forms provides an incremental approach for developers who need to extend their business platform to JEE.• This allows Oracle Forms customers to retain their investment in Oracle Forms while leveraging the opportunities offered by complementing technologies..
    • How can Forms be part of a Service OrientedArchitecture?Some areas where Forms can be integrated with SOA :• Use of external services – Functionality added to call from Forms to Java : • possible to use Web services and BPEL processes. That’s the topic of the presentation• Exposure of Oracle Forms business logic to the outside world – Moving Forms code out of Forms into a place where it can be reused by other applications. Detailed explanation of this approach is of the scope of the presentation
    • Agenda• Oracle Forms strategy & support policy <Insert Picture Here>• How can Forms be part of your SOA?• Calling an external service from Forms• Integrating Forms and BPEL PM – Oracle BPEL PM Overview – Forms – BPEL PM integration: example• Integrating Forms and Oracle Business Rules – Oracle Business Rules Overview – Forms - OBR integration: example• Integrating Forms and BI Publisher – Oracle BI Publisher Overview – Forms - BI Publisher integration: example• Try it by yourself
    • Calling out from Oracle FormsUse of external services• Oracle Forms can call out to Java on the server.• Oracle Forms can make use of Java beans on the client side and its native screen widgets can be customized with custom Java code (PJC).• We are concerned here with the functionality of calling out to Java code residing on the server. – With that functionality, Oracle Forms is able to call all kinds of external services such as Web services and be part of a BPEL process flow.
    • Calling out from Oracle Forms: calling Java code• The Java Importer is incorporated into the Forms Builder: – takes a class as an input – creates a PL/SQL package that acts as a wrapper around the Java class, making it possible to call Java code from a PL/SQL trigger or function/procedure.
    • Calling out from Oracle Forms: calling Java codeand finds all Java classes.
    • Calling out from Oracle Forms: calling Java code• Using the built-in packages ora_java and jni, the Importer will take a class definition like the following one and make a wrapper package;• The package will be created with the name of the class.• Each public Java function will have a corresponding PL/SQL function and each Java function returning void will result in a corresponding PL/SQL procedure
    • Calling out from Oracle Forms: calling Java codeAt runtime the class files needs to be accessible to the Formsruntime. Add either the full path to the directory where is the classfile or add the full path to the JAR file to the CLASSPATHenvironment variable in the .env file
    • Calling out from Oracle Forms: web services What is a Web Service? Points to UDDI descriptionRegistry WSDL Points to service Finds Describes Service Service Web Service SOAP Web Service Client (J2EE, PL/SQL, (J2EE, .NET, .NET,C/C++, PL/SQL …) Invokes with Legacy …) XML Messages
    • Calling out from Oracle Forms: web services Basic flow• Identify an external web service by WSDL• Generate java proxy client from WSDL• Package proxy into jar• Wrap client using Forms Java Importer• Call from Forms
    • Calling out from Oracle Forms: web servicesGenerating a java proxy
    • Calling out from Oracle Forms: web servicesPackage proxy into a jar file• Build and test the Web service proxy from within JDeveloper.• In order to call the Web service proxy from Forms, the proxy must be deployed to the file system as a JAR file
    • Calling out from Oracle Forms: web servicesWrap client using Forms Java Importer• You can import the proxy class into Forms and call its functions from PL/SQL code. The functions imported from the proxy are listed below:PACKAGE CurrencyConvertorSoapClient/* forms.soa.samples.CurrencyConvertorSoapClient */ IS -- -- DO NOT EDIT THIS FILE - it is machine generated! -- -- Constructor for signature ()V FUNCTION new RETURN ORA_JAVA.JOBJECT;……. -- Method: myConversionRate (Ljava/lang/String;Ljava/lang/String;)D FUNCTION myConversionRate( obj ORA_JAVA.JOBJECT, a0 VARCHAR2, a1 VARCHAR2) RETURN NUMBER;
    • Calling out from Oracle Forms: web servicesCode to call from Forms• The myConversionRate function takes two currency symbols and returns a number• The WHEN-BUTTON-PRESSED trigger code is listed below: declare myobj ORA_JAVA.JOBJECT; ex ORA_JAVA.JOBJECT; begin myobj := currencyconvertorsoapclient.new(); :block3.rate := currencyconvertorsoapclient.myconversionrate(myobj,:block3.from,:block3.to); exception WHEN ORA_JAVA.JAVA_ERROR then message(Unable to call out to Java, ||ORA_JAVA.LAST_ERROR); WHEN ORA_JAVA.EXCEPTION_THROWN then ex := ORA_JAVA.LAST_EXCEPTION; message(Exception.toString(ex)); end;
    • Agenda• Oracle Forms strategy & support policy <Insert Picture Here>• How can Forms be part of your SOA?• Calling an external service from Forms• Integrating Forms and BPEL PM – Oracle BPEL PM Overview – Forms – BPEL PM integration: example• Integrating Forms and Oracle Business Rules – Oracle Business Rules Overview – Forms - OBR integration: example• Integrating Forms and BI Publisher – Oracle BI Publisher Overview – Forms - BI Publisher integration: example• Try it by yourself
    • BPEL Process Manager: OverviewThe Orchestrator Web Service Portal Java Service ? Database Stored Procedures J2EE ERP SAP, Oracle, etc. BPEL User Tasks .NET
    • BPEL Process Manager: Overview Strengths of BPEL• Separation of business process definition from implementation – Orchestrates services – Abstracted from changes in services• Designed for long running processes• Built-in support for asynchronous interaction• Fault handling and compensating transactions• Extensible• Parallel flows• Conditional branching
    • BPEL Process Manager: Overview Based on standards• Uses and extends the web services model – WSDL for defining the interface – XML and WSDL typed variables – SOAP for communication• XML Schema for definitions• XPath for data querying• XSLT for transformations• WS-Addressing
    • BPEL Process Manager: Overview… And open• Web services / SOAP interface – The WSDL interface of the BPEL process will be used to start a new instance of the process from Oracle Forms.• Public Java API – Used internally as well • Example: Console – Used to query the worklist application from Oracle Forms
    • BPEL by example<process> <variables> <process> BPEL Flow 10:00am <partnerlink> <variable> start <sequence> <invoke> Get cust info <faultHandlers> Customer <invoke> Handle customer <flow> Service data exception <sequence> <invoke> <partnerLink> <flow> <receive> <invoke> </sequence> Send RFQ Send RFQ <sequence> <invoke> United Star Load Loan <receive> </sequence> <partnerLink> </flow> Receive quote <partnerLink> Receive quote <receive> <switch> </flow> <case> <sequence/> <switch> ? Select best vendor </case> <case> <sequence/> </case> end <switch> </process> 1:00am </sequence></process>
    • Human Workflow Architecture JDeveloper BPEL Designer Task Metadata Custom Human App Workflow WSDL Service Interface Supervisor Assign Work Assignee Update Tasks Task Worklist Process Owner Task Application CompleteBPEL Process Service Consumer Component Services (Non-BPEL) • Task Management Service • Identity Service Task data, forms, Attachments Users, Roles • Task Routing Service • Worklist Service Assignment, Dispatching Task query, Reporting Java POJO / EJB • User Metadata Service • Notification Service Java Rules, Work queues Email, Wireless API For Oracle employees and authorized partners only. Do not distribute to third parties. © 2010 Oracle Corporation – Proprietary and Confidential
    • Agenda• Oracle Forms strategy & support policy <Insert Picture Here>• How can Forms be part of your SOA?• Calling an external service from Forms• Integrating Forms and BPEL PM – Oracle BPEL PM Overview – Forms – BPEL PM integration: example• Integrating Forms and Oracle Business Rules – Oracle Business Rules Overview – Forms - OBR integration: example• Integrating Forms and BI Publisher – Oracle BI Publisher Overview – Forms - BI Publisher integration: example• Try it by yourself
    • Forms – BPEL PM integration: example• Oracle Forms can take part in a BPEL process flow as a manual process step or as an initiating step or both.• In the following example Forms is going to act both as an initiator and as a manual process step.• The process is for a consumer loan. The business flow diagram below outlines what the process looks like.
    • Forms – BPEL PM integration: example
    • Forms – BPEL PM integration: example •When the user clicks the Submit button the Forms application initiates the BPEL process flow described earlier using the BPEL Web Service Interface. •The process fetches Daves Social Security Number and then gets his credit rating.
    • Forms – BPEL PM integration: example• Next - collecting the offers from two different loan vendors, Star Loans and United Loans. – United Loans uses an automated process – Star Loan uses a manual process that is implemented using the Forms application.
    • Forms – BPEL PM integration: example• The loan officer at Star Loan queries the BPEL process and sees the new request. – He/she determines the appropriate interest rate and clicks the Approve button. – This will kick off the next step of the process where Dave has the opportunity to select the best offer.
    • Forms – BPEL PM integration: example• Dave sees the best loan offer in his application and can select it by clicking the Accept button. This will again cause Forms to communicate with the BPEL server and causes the process to conclude.
    • Agenda• Oracle Forms strategy & support policy <Insert Picture Here>• How can Forms be part of your SOA?• Calling an external service from Forms• Integrating Forms and BPEL PM – Oracle BPEL PM Overview – Forms – BPEL PM integration: example• Integrating Forms and Oracle Business Rules – Oracle Business Rules Overview – Forms - OBR integration: example• Integrating Forms and BI Publisher – Oracle BI Publisher Overview – Forms - BI Publisher integration: example• Try it by yourself
    • Oracle Business Rules Overview• True inference rules engine (based on Jess)• Available and usable independent of Oracle SOA/BPM• Tight integration with Oracle SOA/BPM• Usually positioned and used as part of SOA/BPM
    • Oracle Business Rules OverviewFacts• Facts are what you run against the rules – e.g. a loanRequest Fact• Fact Types – XML • e.g. input / output defined on Rule component creation – Java • Provides access to Java classes and their methods
    • Oracle Business Rules OverviewGlobals• Like a public static variable in Java – Constant / modifyable – e.g. v_carLoanLimit – Upper limit for car loans
    • Oracle Business Rules OverviewDictionary / Ruleset / Rule• Rules live in Rulesets• Rulesets live in Dictionaries – Rulesets are the container for Rules and Decision tables• Dictionaries are the containers for all Rule artifacts – can be linked to each other – e.g. Dict1 and Dict2 both linked to DictCommon to share common functions
    • Oracle Business Rules OverviewIF / THEN Rules
    • Oracle Business Rules Overview Decision Tables If CurrentDate.date = During Sale and CustomerOrder.vipStatus = Platinum or Silver and CustomerOrder.totalAmount >= 700 Then Discount = 15 and status = APPROVED List of Values or Ranges Set of Values or Ranges to compare withResolve overlap between R1 and R3 by overriding R3 with R1
    • Business Rules in SOA CompositeDifferent Usage Scenarios Stand Alone From Human Task From BPEL
    • Agenda• Oracle Forms strategy & support policy <Insert Picture Here>• How can Forms be part of your SOA?• Calling an external service from Forms• Integrating Forms and BPEL PM – Oracle BPEL PM Overview – Forms – BPEL PM integration: example• Integrating Forms and Oracle Business Rules – Oracle Business Rules Overview – Forms - OBR integration: example• Integrating Forms and BI Publisher – Oracle BI Publisher Overview – Forms - BI Publisher integration: example• Try it by yourself
    • Forms - OBR integration: exampleIn the following example Forms is going to use Oracle Business Rulesto check the Age of the requestor of a Loan.
    • Forms - OBR integration: example• When the user clicks the Submit button the Forms application calls the Decision Service using a Web Service proxy to execute a Rule.
    • Forms - OBR integration: exampleIf the Rule result is «Accepted» then the Formsapplication initiates the BPEL process flow describedearlier using the BPEL WebService Interface.
    • Forms - OBR integration: example
    • Agenda• Oracle Forms strategy & support policy <Insert Picture Here>• How can Forms be part of your SOA?• Calling an external service from Forms• Integrating Forms and BPEL PM – Oracle BPEL PM Overview – Forms – BPEL PM integration: example• Integrating Forms and Oracle Business Rules – Oracle Business Rules Overview – Forms - OBR integration: example• Integrating Forms and BI Publisher – Oracle BI Publisher Overview – Forms - BI Publisher integration: example• Try it by yourself
    • Oracle BI Publisher OverviewSimplified Report MaintenanceSeparate query, layout, and translation Data Logic Layout BI Publisher Report Translation output Flexibility Reduced maintenance
    • Oracle BI Publisher Overview Faster Development • Business users create layouts with familiar desktop tools • IT builds data model Report Templates XML Report OutputsMultiple Data Sources Rapid Development
    • Oracle BI Publisher Overview Multiple output formats & delivery destinations PDF Oracle 10g, HTML EmailOracle BI EE,Oracle BI Apps XSL Excel SQL Server Power Point Printer Layout Templates E-Business Flash Suite, PeopleSoft, BI Publisher RTF Fax JDE CSV • Word • Excel XML Repository OLAP • Acrobat • Flex • JDev • Others EDI EFT e-CommerceWeb Services Layout Tools Output Formats Destinations
    • Agenda• Oracle Forms strategy & support policy <Insert Picture Here>• How can Forms be part of your SOA?• Calling an external service from Forms• Integrating Forms and BPEL PM – Oracle BPEL PM Overview – Forms – BPEL PM integration: example• Integrating Forms and Oracle Business Rules – Oracle Business Rules Overview – Forms - OBR integration: example• Integrating Forms and BI Publisher – Oracle BI Publisher Overview – Forms - BI Publisher integration: example• Try it by yourself
    • Forms - BI Publisher integration: exampleCreate a client for the BIP Web Service• It is possible to integrate BI Publisher via Web Services in Oracle Forms – Create a proxy for the BIP Web Service with Oracle JDeveloper • Create a new Generic Application in JDeveloper • Create a Generic Project • Create a Web Service Proxy
    • Forms - BI Publisher integration: exampleCreate a client for the BIP Web Service• Choose as your WSDL Document URL the appropriate URL of your BI Publisher Server: http://<machine>:<port>/xmlpserver/services/PublicReportService ?wsdl
    • Forms - BI Publisher integration: exampleCreate a client for the BIP Web Service• The Web Service proxy is created• PublicReportServiceClient.java isopened in the code Editor
    • Forms - BI Publisher integration: exampleTesting the client for the BIP Web ServiceNow we will test the web service.• In PublicReportServiceClient.java : – find the line : // Add your code to call the desired methods. – For example add something like the following code fragment to call one of your BI Publisher Report and create it in your prefered output format to the file system.
    • Forms - BI Publisher integration: exampleTesting the client for the BIP Web Service
    • Forms - BI Publisher integration: exampleTesting the client for the BIP Web Service• C:temptest.pdf has been generated :
    • Forms - BI Publisher integration: exampleCalling the BIP report from Forms• To call the method runReport() from a Forms application we need some additional code because we should not: use the method main() from outside, modify the generated method runReport ().• There are two conceptual ways to do that: – write a wrapper class around PublicReportServiceClient.java – write an additional customized method in PublicReportServiceClient.java which we will call from outside• For reasons of simplicity, we’ll go the second way and add a method in PublicReportServiceClient.java:public void callRunReport (String reportPath, String username,String password, String format, String template, String outFile)
    • Forms - BI Publisher integration: exampleCalling the BIP report from Forms• Deploy the proxy in the jar file• Expose the necessary classes to Forms Builder• In the Forms Builder create a new Forms module and import the classes – bip_proxy.proxy.PublicReportServiceClient – java.lang.Exception
    • Forms - BI Publisher integration: exampleCalling the BIP report from Forms• The 2 following packages are created :• Define the application logic in Forms and call the BI Publisher web service by using the PL/SQL procedure PublicReportServiceClient.callRunReport()
    • Forms - BI Publisher integration: exampleCalling the BIP report from FormsThe file is generated to Oracle_Formsformswebutil on theapplication server and /webutil/ is a virtual path mapped toOracle_Formsformswebutil.
    • Forms - BI Publisher integration: example Calling the BIP report from Forms• Run the Form
    • Agenda• Oracle Forms strategy & support policy <Insert Picture Here>• How can Forms be part of your SOA?• Calling an external service from Forms• Integrating Forms and BPEL PM – Oracle BPEL PM Overview – Forms – BPEL PM integration: example• Integrating Forms and Oracle Business Rules – Oracle Business Rules Overview – Forms - OBR integration: example• Integrating Forms and BI Publisher – Oracle BI Publisher Overview – Forms - BI Publisher integration: example• Try it by yourself
    • Try it by yourself• Oracle ISV Migration Center FMW consultants can deliver “Oracle Forms Integration with SOA” workshop, where you can try to develop the samples by yourself on your laptops and also learn more details on this topic: – 3 days – 12 presentations – 9 labs Please contact Ruxandra Radulescu (ruxandra.radulescu@oracle.com ) if you would like to participate in the workshop.
    • Questions Dmitry Nefedkin Oracle ISV Migration Center FMW Consultant Dmitry.Nefedkin@oracle.com ISV Migration Center blog: http://blogs.oracle.com/imc©2010 Oracle Corporation