Pages - Menu

Saturday, September 14, 2013

Oracle SOA First Steps - BBS Project || Oracle SOA

Few Days ago, i decided to share a lot of useful information about Oracle SOA and my information will be in the form of BBS Project  - Banking Business Services and after finishing the plan of the project i finished the Technical Life Cycle of the First Phase of the project and Business Life Cycle.
today i show the DB Schema i build to be one source of data in our SOA project and also i finished the first XML Schema File for the main Web Service and will be the start point in our Real Live.
<?xml version=”1.0” encoding=”UTF-8”?>
<xsd:schema elementFormDefault=”qualified”
    targetNamespace=”http://xmlns.oracle.com/BANK_02/BANK_02/BANKBPEL”
    xmlns=”http://xmlns.oracle.com/BANK_02/BANK_02/BANKBPEL”
        xmlns:xsd=”http://www.w3.org/2001/XMLSchema”>
      
       <xsd:simpleType name=”Currency-type”>
       <xsd:restriction base=”xsd:string”>
       <xsd:maxLength value=”3”/>
       <xsd:enumeration value=”USD”/>
       <xsd:enumeration value=”SR”/>
       </xsd:restriction>
       </xsd:simpleType>
   
    <xsd:simpleType name=”Amount-Format”>
    <xsd:restriction base=”xsd:long”>
    <xsd:minInclusive value=”100”/>
    <xsd:maxInclusive value=”10000”/>
    </xsd:restriction>
    </xsd:simpleType>
   
    <xsd:simpleType name=”Message-Format”>
    <xsd:restriction base=”xsd:string”>
    <xsd:maxLength value=”200”/>
    </xsd:restriction>
    </xsd:simpleType>
   
    <xsd:complexType name=”Request-Type”>
        <xsd:sequence>
            <xsd:element name=”Account” type=”Account-Type”/>
            <xsd:element name=”Bank” type=”Bank-Type”/>
            <xsd:element name=”Requested-Amount” type=”Amount-Format”/>
            <xsd:element name=”Request-date” type=”xsd:date”/>
            <xsd:element name=”Currency” type=”Currency-type”/>
        </xsd:sequence>
    </xsd:complexType>
    <xsd:complexType name=”Response-Type”>
        <xsd:sequence>
            <xsd:element name=”Client-Name”>
            <xsd:simpleType>
            <xsd:restriction base=”xsd:string”>
            <xsd:maxLength value=”250”/>
            </xsd:restriction>
            </xsd:simpleType>
            </xsd:element>
           
            <xsd:element name=”Approved-Amount” type=”Amount-Format”/>
            <xsd:element name=”Currency” type=”Currency-type”/>
            <xsd:element name=”Status”>
            <xsd:simpleType>
            <xsd:restriction base=”xsd:string”>
            <xsd:length value=”1”/>
            </xsd:restriction>
            </xsd:simpleType>
            </xsd:element>
           
            <xsd:element name=”Response-Date” type=”xsd:date”/>
            <xsd:element name=”Message” type=”Message-Format”/>
        </xsd:sequence>
    </xsd:complexType>
    <xsd:complexType name=”Bank-Type”>
        <xsd:choice>
            <xsd:element name=”Bank-ID”>
            <xsd:simpleType>
            <xsd:restriction base=”xsd:long”>
            <xsd:totalDigits value=”2”/>
            </xsd:restriction>
            </xsd:simpleType>
            </xsd:element>
           
            <xsd:element name=”Bank-Name”>
            <xsd:simpleType>
            <xsd:restriction base=”xsd:string”>
            <xsd:maxLength value=”100”/>
            </xsd:restriction>
            </xsd:simpleType>
            </xsd:element>
        </xsd:choice>
    </xsd:complexType>
    <xsd:complexType name=”Account-Type”>
        <xsd:choice>
            <xsd:element name=”Account-No”>
           
            <xsd:simpleType>
            <xsd:restriction base=”xsd:long”>
            <xsd:maxInclusive value=”15”/>
            </xsd:restriction>
            </xsd:simpleType>
            </xsd:element>
           
            <xsd:element name=”IBAN”>
            <xsd:simpleType>
            <xsd:restriction base=”xsd:string”>
            <xsd:length value=”25”/>
            </xsd:restriction>
            </xsd:simpleType>
            </xsd:element>
        </xsd:choice>
    </xsd:complexType>
           
    <xsd:element name=”Bank-Request” type=”Request-Type” />
    <xsd:element name=”Bank-Response” type=”Response-Type” />
</xsd:schema>
Description
  • XSD file above contains the main Elements we will use in building the mail BPEL - SOA process and also WSDL File, Request & Response Elements mentioned in Business life Cycle attached in previous Article.
above photo shows the main structure of Oracle SOA - BPEL Process containing  Relations between between XML Schema,WSDL,External Service & BPEL Process and also contains the structure of each file.
  • Bank-Request is Main point to fire ur main process, it includes Elements like “Account No, IBAN,Bank ID,Name,Requested Amount …… “
  • Bank-Response is the main result of the process, and sure it contains Elements like “Client Name, Approved Amount , Currency , …….”
  • Simple & Complex Type, and all details to compose Request & Response in correct Way.
as Database considered to be one of the main Data Sources of SOA Project , i build a small structure to use in our projects to use it in building Rules & take Actions.
Description
Table : Banks, include Main Data of Banks
Table : Clients, include Clients Data such as id,name,degree & status.
Table : Accounts, include main Data of Client Accounts such as Account No & IBAN.
Table Black_List, include data of Black List Clients.
Table : Loans, Include Details of Loans taken by the clients.
Table : Loans_Level, Include Plan Level to Decision Taken.
Table : Transactions, Include D/C Transactions For Loans Taken.
Note : in the future, sometimes, we will include a lot of Stored DB procedures & Functions to achieve some goals in our process once we need.
- Latest Project Plan
Coming Article will include the first steps of build your professional Oracle SOA Applications and How to Handle & Control its files preparing to Achieve our Loan Business of BBS Project.

No comments:

Post a Comment