The past days have been really interesting. During last Wednesday (november 24) we finished the XML topic, covering
- Generating XML from an Oracle Database,
- Managing XML data in an Oracle Database,
- XML type Views and
- executing SQL operations on XML.
These were very interesting topic indeed. Especially the generation of XML from the database and the SQL operations were interesting.
After this we went on to our next major topic: Web Services.
We covered the standards (SOAP WSDL and UDDI), security, reliability and interoperability, some J2EE stuff, JAX-RPC, SAAJ, JAXR and so on.
In order to cover all this, we had to create an Application Server from within JDeveloper, with a database connection to our locally installed Oracle Database.
We created SOAP messages and examined these using the HTTP Analyzer. We also dug a little into WSDL documents. Like the components a WSDL consists of:
- portType: description of the service, operations and messages involved
- message: description of the messages used, definition of data elements of an operation
- types: definition of data types being used
- binding: definition of communication protocols (in BPEL partnerlinks are used in stead of bindings)
- service: description of the service name and location and the context with which it can be accessed
Now, to be honest with you, this whole topic was so heavily Java-based, it didn’t quite attract me. Mainly because I am just an EBS DBA, and I don’t do much with Java development. I haven’t got any Java development background at all. Interestingly enough though to learn a little about it, but I am pretty sure I will not be directly involved in Java development, so you can imagine the relief when we finalized our Web Services topic, to move on to the – so far – most interesting main topic: BPEL.
We have been doing BPEL since last friday – two days now – and will be continuing tomorrow. The BPEL Part of this BootCamp is actually the same as the 3 day BPEL course provided by Oracle.
What have we done so far:
- we installed the BPEL Process Manager for Developers onto our machines,
- we created our first BPEL Processes
- plain old Hello World process.
- Invoking synchronous services
- E.g. CreditRating Web Service – to verify customer credit ratings
- Invoking asynchronous services
- E.g. Request a quote for an order
- Parallel Flows
- Request a quote for an order at multiple distributors
- Conditional Branching
- Based on the returned quote, select a distributor
- Exception Handling
- Negative credit rating, provided by the CreditRating Web Service, have to be handled to assign zero credit to the customer
- Transformation Services
- Transformation of an order into an order acknowledgement
- In our excercise we used a file adapter for reading incoming (XML) files and one for writing (XML) files
And that is where we are now. Tomorrow we will dig into the database adapters, incorporating Human Workflow Services, Sensors and E-mail Notifications.
By the end, we will have created a simplified version of a business process that processes orders from customers as well as batch orders, does credit rating, selects distributors, provides manual order approval and provides order fulfillment using XSLT transformation extracting data from a database using a database adapter.
Hope to be back soon.